diff --git a/sdks/db/cached-method-objects/from-custom-request_30k.com_Milefy.yaml b/sdks/db/cached-method-objects/from-custom-request_30k.com_Milefy.yaml index a82db5437..409444e47 100644 --- a/sdks/db/cached-method-objects/from-custom-request_30k.com_Milefy.yaml +++ b/sdks/db/cached-method-objects/from-custom-request_30k.com_Milefy.yaml @@ -1,4 +1,4 @@ -hash: f5ceb295a0beff177aeb824b1ad2441634643d7d59f1a276d6a952cf22ad5509 +hash: 3abb3aaa7e361658c582a0a6c2c5d960e4031951a1bf88c2c077d5c7c495a570 methodObjects: - url: /programs method: getFrequentFlyerPrograms diff --git a/sdks/db/cached-method-objects/from-custom-request_relysia.com.yaml b/sdks/db/cached-method-objects/from-custom-request_relysia.com.yaml new file mode 100644 index 000000000..d7e8653f4 --- /dev/null +++ b/sdks/db/cached-method-objects/from-custom-request_relysia.com.yaml @@ -0,0 +1,2080 @@ +hash: 2f4cee64207fac577b4156d84411e6dacb8707609a73a52f17c6f63eb3f49caf +methodObjects: + - url: / + method: getData + httpMethod: get + tag: Utility + typeScriptTag: utility + description: '' + parameters: [] + responses: + - statusCode: '200' + description: Default Response + - url: /v1/issue + method: mintToken + httpMethod: post + tag: Smart Contracts + typeScriptTag: smartContracts + description: Mint a Token. + parameters: + - name: protocol + schema: string + required: false + description: '' + default: STAS + - name: reminting + schema: boolean + required: false + description: '' + default: 'false' + - name: walletId + schema: string + required: false + description: '' + - name: description + schema: string + required: true + description: '' + example: DESCRIPTION + - name: name + schema: string + required: true + description: '' + example: NAME + - name: protocolId + schema: string + required: true + description: '' + example: PROTOCOLID + default: STAS + - name: symbol + schema: string + required: true + description: '' + example: SYMBOL + - name: image + schema: string + required: true + description: '' + example: IMAGE + - name: tokenSupply + schema: number + required: true + description: '' + example: 0 + default: 3 + - name: decimals + schema: number + required: false + description: '' + default: 0 + - name: satsPerToken + schema: number + required: true + description: '' + example: 0 + default: 1 + - name: properties + schema: object + required: false + description: '' + - name: splitable + schema: boolean + required: false + description: '' + default: 'true' + - name: data + schema: object + required: false + description: '' + default: {} + - name: nftMetadataSerialNumberStart + schema: number + required: false + description: '' + - name: nftMetadataTotalSupply + schema: number + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/token/{id} + method: getTokenDetails + httpMethod: get + tag: Smart Contracts + typeScriptTag: smartContracts + description: Get STAS token details. + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/URI + method: resolveAddressInfo + httpMethod: get + tag: Utility + typeScriptTag: utility + description: Resolve address and paymail alias information. + parameters: + - name: uri + schema: string + required: true + description: '' + example: URI + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/signUp + method: createUserToken + httpMethod: post + tag: Authentication + typeScriptTag: authentication + description: User Registration. + parameters: + - name: email + schema: string + required: true + description: '' + example: EMAIL + - name: password + schema: string + required: true + description: '' + example: PASSWORD + - name: photo + schema: string + required: false + description: '' + - name: displayName + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: Successful response + - statusCode: '400' + description: Bad request + - url: /v1/auth + method: userLogin + httpMethod: post + tag: Authentication + typeScriptTag: authentication + description: Login Endpoint. + parameters: + - name: email + schema: string + required: true + description: '' + example: EMAIL + - name: password + schema: string + required: true + description: '' + example: PASSWORD + responses: + - statusCode: '200' + description: Successful response + - statusCode: '400' + description: Bad request + - url: /v1/password/change + method: changeUserPassword + httpMethod: post + tag: Authentication + typeScriptTag: authentication + description: Change password Endpoint + parameters: + - name: newPassword + schema: string + required: true + description: '' + example: NEWPASSWORD + responses: + - statusCode: '200' + description: Successful response + - statusCode: '400' + description: Bad request + - url: /v1/user + method: userAccount + httpMethod: delete + tag: Delete + typeScriptTag: delete + description: delete user account + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/user + method: getProfileDetails + httpMethod: get + tag: Identity + typeScriptTag: identity + description: Profile details. + parameters: + - name: oauth + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: Successful response + - statusCode: '400' + description: Bad request + - url: /v1/send + method: createTransactionToAddress + httpMethod: post + tag: Transactions + typeScriptTag: transactions + description: Transfer coins to an address. + parameters: + - name: walletId + schema: string + required: false + description: '' + - name: bundle + schema: boolean + required: false + description: '' + default: true + - name: dataArray + schema: array + required: true + description: '' + responses: + - statusCode: '200' + description: Successful response + - statusCode: '400' + description: Bad request + - url: /v1/rawtx + method: createRawTx + httpMethod: post + tag: Transactions + typeScriptTag: transactions + description: Build and return a rawTx + parameters: + - name: walletId + schema: string + required: false + description: '' + - name: dataArray + schema: array + required: true + description: '' + responses: + - statusCode: '200' + description: Successful response + - statusCode: '400' + description: Bad request + - url: /v1/migrateToken + method: migrateTokenRequest + httpMethod: post + tag: admin + typeScriptTag: admin + description: Migrate token + parameters: + - name: walletId + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/tokenMetrics + method: syncTokenFromBlockchain + httpMethod: get + tag: Utility + typeScriptTag: utility + description: sync token from blockchain + parameters: + - name: walletId + schema: string + required: false + description: '' + - name: force + schema: boolean + required: false + description: '' + default: false + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/drop + method: withdrawFromPrivateKey + httpMethod: post + tag: Transactions + typeScriptTag: transactions + description: Withdraws coins from PrivateKeys. + parameters: + - name: secretKey + schema: string + required: false + description: '' + - name: privateKey + schema: string + required: false + description: '' + - name: dataArray + schema: array + required: true + description: '' + responses: + - statusCode: '200' + description: Successful response + - statusCode: '400' + description: Bad request + - url: /v1/sweep + method: transferAssetsFromPrivateKey + httpMethod: post + tag: Transactions + typeScriptTag: transactions + description: Transfers all assets from PrivateKey to the User. + parameters: + - name: walletId + schema: string + required: false + description: '' + - name: items + schema: object + required: false + description: '' + responses: + - statusCode: '200' + description: Successful response + - statusCode: '400' + description: Bad request + - url: /v1/offer + method: createAtomicSwap + httpMethod: post + tag: Transactions + typeScriptTag: transactions + description: Create an Atomic Swap + parameters: + - name: walletId + schema: string + required: false + description: '' + - name: dataArray + schema: array + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/swap + method: acceptSwapOffer + httpMethod: post + tag: Transactions + typeScriptTag: transactions + description: Accepting atomic swap offers. + parameters: + - name: walletId + schema: string + required: false + description: '' + - name: dataArray + schema: array + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/exchangeOffer + method: createSwapOffer + httpMethod: post + tag: Transactions + typeScriptTag: transactions + description: Creates swap offer for exchange - returns swap ID + parameters: + - name: walletId + schema: string + required: false + description: '' + - name: dataArray + schema: array + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/exchangeSwap + method: acceptSwapOffer + httpMethod: post + tag: Transactions + typeScriptTag: transactions + description: Atomic Swap + parameters: + - name: walletId + schema: string + required: false + description: '' + - name: dataArray + schema: array + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/inspect + method: inspectAtomicSwapOffer + httpMethod: post + tag: Transactions + typeScriptTag: transactions + description: Inspect an atomic swap offer. + parameters: + - name: dataArray + schema: array + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/redeem + method: redeemTokens + httpMethod: post + tag: Smart Contracts + typeScriptTag: smartContracts + description: Smart contract Redemption. + parameters: + - name: walletId + schema: string + required: false + description: '' + - name: dataArray + schema: array + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/createWallet + method: createHdWalletOfChoice + httpMethod: get + tag: Wallets + typeScriptTag: wallets + description: Create a wallet. + parameters: + - name: walletTitle + schema: string + required: true + description: '' + example: WALLETTITLE + - name: mnemonicPhrase + schema: string + required: false + description: '' + - name: paymail + schema: string + required: false + description: '' + - name: paymailActivate + schema: boolean + required: false + description: '' + - name: type + schema: string + required: false + description: '' + - name: walletLogo + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: Successful response + - statusCode: '400' + description: Bad request + - url: /v1/metrics + method: getLatestUtxoState + httpMethod: get + tag: Utility + typeScriptTag: utility + description: Get the latest wallet UTXO state. + parameters: + - name: walletId + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/address + method: getAddressAndPaymail + httpMethod: get + tag: Wallets + typeScriptTag: wallets + description: Get your wallet address and paymail. + parameters: + - name: walletId + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: Successful response + - statusCode: '400' + description: Bad request + - url: /v1/allAddresses + method: getAllAddresses + httpMethod: get + tag: Wallets + typeScriptTag: wallets + description: Get all wallet addresses. + parameters: + - name: walletId + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: Successful response + - statusCode: '400' + description: Bad request + - url: /v1/balance + method: getBalance + httpMethod: get + tag: Wallets + typeScriptTag: wallets + description: Get your wallet balance. + parameters: + - name: walletId + schema: string + required: false + description: '' + - name: type + schema: string + required: false + description: '' + - name: currency + schema: string + required: false + description: '' + - name: nextPageToken + schema: string + required: false + description: '' + - name: compact + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: Successful response + - statusCode: '400' + description: Bad request + - url: /v1/leaderboard + method: getTokenOwnershipDetails + httpMethod: get + tag: Wallets + typeScriptTag: wallets + description: Get token ownership details + parameters: + - name: nextPageToken + schema: number + required: false + description: '' + - name: tokenId + schema: string + required: true + description: '' + example: TOKENID + responses: + - statusCode: '200' + description: Successful response + - statusCode: '400' + description: Bad request + - url: /v1/history + method: getTransactionHistory + httpMethod: get + tag: Wallets + typeScriptTag: wallets + description: Get your transaction history. + parameters: + - name: nextPageToken + schema: string + required: false + description: '' + - name: tokenId + schema: string + required: false + description: '' + - name: walletId + schema: string + required: false + description: '' + - name: type + schema: string + required: false + description: '' + - name: version + schema: string + required: false + description: '' + default: 1.0.0 + responses: + - statusCode: '200' + description: Successful response + - statusCode: '400' + description: Bad request + - url: /v1/wallets + method: allWallets + httpMethod: delete + tag: Delete + typeScriptTag: delete + description: to delete all wallet, this api will delete all wallets at once + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/wallets + method: listAvailableUserWallets + httpMethod: get + tag: Wallets + typeScriptTag: wallets + description: List of available user wallets. + parameters: + - name: oauth + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: Successful response + - statusCode: '400' + description: Bad request + - url: /v1/mnemonic + method: getMnemonicPhrase + httpMethod: get + tag: Wallets + typeScriptTag: wallets + description: Get your mnemonic phrase. + parameters: + - name: walletId + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: Successful response + - statusCode: '400' + description: Bad request + - url: /v1/pay + method: resolveInvoiceRequest + httpMethod: post + tag: Transactions + typeScriptTag: transactions + description: Pay an invoice request. + parameters: + - name: walletId + schema: string + required: false + description: '' + - name: uri + schema: string + required: true + description: '' + example: URI + - name: type + schema: string + required: true + description: '' + example: TYPE + - name: mainProtocol + schema: string + required: true + description: '' + example: MAINPROTOCOL + - name: outputs + schema: array + required: false + description: '' + - name: inputs + schema: array + required: false + description: '' + - name: modes + schema: object + required: false + description: '' + - name: network + schema: string + required: false + description: '' + - name: paymentUrl + schema: string + required: false + description: '' + - name: creationTimeStamp + schema: number + required: false + description: '' + - name: expirationTimeStamp + schema: number + required: false + description: '' + - name: memo + schema: string + required: false + description: '' + - name: isBSV + schema: boolean + required: false + description: '' + - name: peer + schema: string + required: false + description: '' + - name: peerData + schema: string + required: false + description: '' + - name: peerProtocol + schema: string + required: false + description: '' + - name: beneficiary + schema: object + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/initBeta + method: setupFeeManager + httpMethod: get + tag: admin + typeScriptTag: admin + description: Setup your Fee Manager. + parameters: + - name: mnemonic + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/feeMetricsBeta + method: getUtxoSet + httpMethod: get + tag: admin + typeScriptTag: admin + description: Get all feeManager UTXOs. + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/feeAddressBeta + method: getFeeManagerAddresses + httpMethod: get + tag: admin + typeScriptTag: admin + description: Get all Fee Manager addresses. + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/feeUtxoState + method: getFeeUtxoState + httpMethod: get + tag: admin + typeScriptTag: admin + description: Get current state of fee manager UTXOs + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/currencyConversion + method: convertSatoshiToFiat + httpMethod: get + tag: Utility + typeScriptTag: utility + description: Converts BSV satoshis to fiat currency. + parameters: + - name: satoshis + schema: string + required: true + description: '' + example: SATOSHIS + - name: currency + schema: string + required: true + description: '' + example: CURRENCY + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/notificationToken/{userId} + method: notificationToken + httpMethod: delete + tag: Delete + typeScriptTag: delete + description: Remove a notification token. + parameters: + - name: userId + schema: string + required: true + description: '' + example: USERID + - name: walletId + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/notificationToken/{userId} + method: updateToken + httpMethod: put + tag: Notifications + typeScriptTag: notifications + description: Update notification token. + parameters: + - name: userId + schema: string + required: true + description: '' + example: USERID + - name: walletId + schema: string + required: false + description: '' + - name: expoNotificationToken + schema: string + required: true + description: '' + example: EXPONOTIFICATIONTOKEN + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/sendNotification + method: sendNotification + httpMethod: post + tag: Notifications + typeScriptTag: notifications + description: Send a Notification + parameters: + - name: walletId + schema: string + required: false + description: '' + - name: type + schema: string + required: false + description: '' + default: to + - name: userAddress + schema: string + required: true + description: '' + example: USERADDRESS + - name: amount + schema: number + required: true + description: '' + example: 0 + - name: transactionType + schema: string + required: false + description: '' + default: BSV + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/invoice + method: createInvoiceRequest + httpMethod: post + tag: Transactions + typeScriptTag: transactions + description: Create an invoice. + parameters: + - name: description + schema: string + description: '' + - name: type + schema: string + description: '' + default: USD + - name: amount + schema: number + description: '' + - name: address + schema: string + description: '' + - name: expirationTimeInMinuts + schema: number + description: '' + default: 1 + - name: memo + schema: string + description: '' + - name: merchantData + schema: string + description: '' + - name: paymentOptions + schema: array + description: '' + - name: modeId + schema: string + description: '' + - name: beneficiary + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/paymentRequest/{invoiceId} + method: createInvoiceRequest + httpMethod: get + tag: Transactions + typeScriptTag: transactions + description: Create an Invoice + parameters: + - name: invoiceId + schema: string + required: true + description: '' + example: INVOICEID + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/paymentRequest/pay/{invoiceId} + method: settleInvoiceRequest + httpMethod: post + tag: Transactions + typeScriptTag: transactions + description: Settle an invoice request. + parameters: + - name: invoiceId + schema: string + required: true + description: '' + example: INVOICEID + - name: merchantData + schema: string + required: true + description: '' + example: MERCHANTDATA + - name: transaction + schema: string + required: true + description: '' + example: TRANSACTION + - name: refundTo + schema: string + required: false + description: '' + - name: memo + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/domain/generateToken + method: verifyDomainOwnership + httpMethod: post + tag: admin + typeScriptTag: admin + description: Generates a domain verification token + parameters: + - name: userId + schema: string + required: false + description: '' + - name: domain + schema: string + required: true + description: '' + example: DOMAIN + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/domain/{userId}/verifyToken + method: verifyDomainOwnership + httpMethod: post + tag: admin + typeScriptTag: admin + description: verify domain ownership + parameters: + - name: userId + schema: string + required: true + description: '' + example: USERID + - name: domain + schema: string + required: true + description: '' + example: DOMAIN + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/paymail/{paymailId} + method: getAddressInfo + httpMethod: get + tag: paymail + typeScriptTag: paymail + description: '' + parameters: + - name: paymailId + schema: string + required: true + description: '' + example: PAYMAILID + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/paymail + method: updateAddressInfo + httpMethod: put + tag: paymail + typeScriptTag: paymail + description: '' + parameters: + - name: walletId + schema: string + required: false + description: '' + - name: newPaymailId + schema: string + required: true + description: '' + example: NEWPAYMAILID + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/wallet + method: walletData + httpMethod: delete + tag: Delete + typeScriptTag: delete + description: >- + to delete a wallet, this api will delete your wallet and related data of + that walletId + parameters: + - name: walletId + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/paymail/activate + method: activateDeactivate + httpMethod: post + tag: paymail + typeScriptTag: paymail + description: to activate and deActivate paymail + parameters: + - name: walletId + schema: string + required: false + description: '' + - name: activate + schema: boolean + required: true + description: '' + example: true + default: true + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/reset/password + method: resetUserPasswordConfirmation + httpMethod: post + tag: Authentication + typeScriptTag: authentication + description: Password Reset. + parameters: + - name: email + schema: string + required: true + description: '' + example: EMAIL + responses: + - statusCode: '200' + description: Successful response + - statusCode: '400' + description: Bad request + - url: /v1/transpile + method: transpileSolidityCodeToScrypt + httpMethod: post + tag: Utility + typeScriptTag: utility + description: transpile solidity code to sCrypt. + parameters: + - name: force + schema: boolean + required: false + description: '' + default: 'false' + - name: sourceCode + schema: string + required: true + description: '' + example: SOURCECODE + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/compile + method: compileScryptToBitcoinScript + httpMethod: post + tag: Utility + typeScriptTag: utility + description: compile sCrypt code to Bitcoin Script. + parameters: + - name: sourceCode + schema: string + required: true + description: '' + example: SOURCECODE + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/post + method: postMessagesToBlockchain + httpMethod: post + tag: Utility + typeScriptTag: utility + description: Post Messages to the Blockchain. + parameters: + - name: customToken + schema: string + required: false + description: '' + - name: walletId + schema: string + required: false + description: '' + - name: dataArray + schema: array + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/lookup + method: getAssetBalance + httpMethod: post + tag: Utility + typeScriptTag: utility + description: Returns balance of all assets of Private Key + parameters: + - name: nextPageToken + schema: string + required: false + description: '' + - name: tokenId + schema: string + required: false + description: '' + - name: type + schema: string + required: false + description: '' + - name: currency + schema: string + required: false + description: '' + - name: compact + schema: boolean + required: false + description: '' + default: true + - name: maxResults + schema: number + required: false + description: '' + - name: privateKey + schema: string + description: '' + responses: + - statusCode: '200' + description: Successful response + - url: /v1/asm + method: uploadCustomAsmScripts + httpMethod: post + tag: Transactions + typeScriptTag: transactions + description: Upload custom ASM scripts in a transaction + parameters: + - name: walletId + schema: string + required: false + description: '' + - name: dataArray + schema: array + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/sign + method: signMessageToAddress + httpMethod: post + tag: Utility + typeScriptTag: utility + description: Sign a message to an address string + parameters: + - name: walletId + schema: string + required: false + description: '' + - name: dataArray + schema: array + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v2/balance + method: getBalances + httpMethod: get + tag: Wallets + typeScriptTag: wallets + description: Get your wallet balance. + parameters: + - name: nextPageToken + schema: string + required: false + description: '' + - name: tokenId + schema: string + required: false + description: '' + - name: symbol + schema: string + required: false + description: '' + - name: walletId + schema: string + required: false + description: '' + - name: type + schema: string + required: false + description: '' + - name: currency + schema: string + required: false + description: '' + - name: compact + schema: boolean + required: false + description: '' + default: true + - name: maxResults + schema: number + required: false + description: '' + responses: + - statusCode: '200' + description: Successful response + - statusCode: '400' + description: Bad request + - url: /v2/history + method: getTransactionHistory + httpMethod: get + tag: Wallets + typeScriptTag: wallets + description: Get your transaction history. + parameters: + - name: nextPageToken + schema: string + required: false + description: '' + - name: tokenId + schema: string + required: false + description: '' + - name: protocol + schema: string + required: false + description: '' + - name: limit + schema: string + required: false + description: '' + - name: walletId + schema: string + required: false + description: '' + - name: type + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: Successful response + - statusCode: '400' + description: Bad request + - url: /v2/token/{id} + method: getTokenDetails + httpMethod: get + tag: Smart Contracts + typeScriptTag: smartContracts + description: Get STAS token details. + parameters: + - name: id + schema: string + required: true + description: '' + example: ID + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v2/inspect + method: inspectAtomicSwapOffer + httpMethod: post + tag: Transactions + typeScriptTag: transactions + description: Inspect an atomic swap offer. + parameters: + - name: dataArray + schema: array + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v2/issue + method: mintToken + httpMethod: post + tag: Smart Contracts + typeScriptTag: smartContracts + description: Mint a Token. + parameters: + - name: protocol + schema: string + required: false + description: '' + - name: reminting + schema: boolean + required: false + description: '' + default: 'false' + - name: walletId + schema: string + required: false + description: '' + - name: type + schema: string + required: true + description: '' + example: TYPE + default: NFT + - name: description + schema: string + required: true + description: '' + example: DESCRIPTION + - name: name + schema: string + required: true + description: '' + example: NAME + - name: protocolId + schema: string + required: false + description: '' + default: STAS + - name: symbol + schema: string + required: true + description: '' + example: SYMBOL + - name: image + schema: string + required: true + description: '' + example: IMAGE + - name: tokenSupply + schema: number + required: true + description: '' + example: 0 + default: 3 + - name: decimals + schema: number + required: false + description: '' + default: 0 + - name: satsPerToken + schema: number + required: true + description: '' + example: 0 + default: 1 + - name: properties + schema: object + required: false + description: '' + - name: splitable + schema: boolean + required: false + description: '' + default: 'true' + - name: data + schema: object + required: false + description: '' + default: {} + - name: nftMetadataSerialNumberStart + schema: number + required: false + description: '' + - name: nftMetadataTotalSupply + schema: number + required: false + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v2/send + method: transferToAddress + httpMethod: post + tag: Transactions + typeScriptTag: transactions + description: Transfer coins to an address. + parameters: + - name: walletId + schema: string + required: false + description: '' + - name: bundle + schema: boolean + required: false + description: '' + default: true + - name: txPayloads + schema: array + required: true + description: '' + responses: + - statusCode: '200' + description: Operation completed successfully + - statusCode: '207' + description: Operation completed with partial success + - statusCode: '500' + description: Operation failed + - url: /v1/plan/{serviceType}/activate + method: activateServiceType + httpMethod: post + tag: quota + typeScriptTag: quota + description: '' + parameters: + - name: serviceType + schema: string + required: true + description: '' + example: SERVICETYPE + - name: chargeFrom + schema: string + required: false + description: '' + - name: serviceId + schema: string + required: true + description: '' + example: SERVICEID + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/plan/quota + method: updatePlanQuota + httpMethod: put + tag: quota + typeScriptTag: quota + description: '' + parameters: + - name: serviceType + schema: string + required: true + description: '' + example: SERVICETYPE + - name: serviceId + schema: string + required: true + description: '' + example: SERVICEID + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/plan/deactivate + method: deactivatePlan + httpMethod: put + tag: quota + typeScriptTag: quota + description: '' + parameters: + - name: serviceId + schema: string + required: true + description: '' + example: SERVICEID + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /admin/v1/setup + method: setupPost + httpMethod: post + tag: admin + typeScriptTag: admin + description: '' + parameters: + - name: projectName + schema: string + description: '' + - name: db_store_mode + schema: string + description: '' + - name: type + schema: string + description: '' + - name: paymailDomain + schema: string + description: '' + - name: firebaseConfig + schema: object + description: '' + - name: legal + schema: object + description: '' + - name: primaryDatabase + schema: string + description: '' + - name: supabaseConfig + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /admin/v1/setup/{serviceId} + method: deleteServiceSetup + httpMethod: delete + tag: admin + typeScriptTag: admin + description: '' + parameters: + - name: serviceId + schema: string + required: true + description: '' + example: SERVICEID + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /admin/v1/setup/{serviceId} + method: getServiceSetup + httpMethod: get + tag: admin + typeScriptTag: admin + description: '' + parameters: + - name: serviceId + schema: string + required: true + description: '' + example: SERVICEID + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /admin/v1/setup/{serviceId} + method: updateServiceSetup + httpMethod: put + tag: admin + typeScriptTag: admin + description: '' + parameters: + - name: serviceId + schema: string + required: true + description: '' + example: SERVICEID + - name: projectName + schema: string + description: '' + - name: db_store_mode + schema: string + description: '' + - name: type + schema: string + description: '' + - name: paymailDomain + schema: string + description: '' + - name: firebaseConfig + schema: object + description: '' + - name: legal + schema: object + description: '' + - name: supabaseConfig + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /admin/v1/setup/serviceIds + method: getServiceIds + httpMethod: get + tag: admin + typeScriptTag: admin + description: '' + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /admin/v1/metrics + method: createMetricsRecord + httpMethod: post + tag: admin + typeScriptTag: admin + description: '' + parameters: + - name: walletId + schema: string + required: true + description: '' + example: WALLETID + - name: userId + schema: string + required: true + description: '' + example: USERID + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /admin/v1/tokenMetrics + method: calculateTokenMetrics + httpMethod: post + tag: admin + typeScriptTag: admin + description: '' + parameters: + - name: userId + schema: string + required: true + description: '' + example: USERID + - name: walletId + schema: string + required: true + description: '' + example: WALLETID + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /admin/v1/plans + method: createPlan + httpMethod: post + tag: admin + typeScriptTag: admin + description: '' + parameters: + - name: serviceType + schema: string + required: true + description: '' + example: SERVICETYPE + - name: cost + schema: number + required: true + description: '' + example: 0 + - name: apiCallLimit + schema: number + required: true + description: '' + example: 0 + - name: feeManagerFundPerMonth + schema: number + required: true + description: '' + example: 0 + - name: unavailableApiList + schema: object + required: false + description: '' + - name: projectLimit + schema: number + required: false + description: '' + - name: serviceFeeManagerFillingLimit + schema: number + required: true + description: '' + example: 0 + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /admin/v1/plans/{serviceType} + method: deletePlanByServiceType + httpMethod: delete + tag: admin + typeScriptTag: admin + description: '' + parameters: + - name: serviceType + schema: string + required: true + description: '' + example: SERVICETYPE + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /admin/v1/plans/{serviceType} + method: getServiceTypePlans + httpMethod: get + tag: admin + typeScriptTag: admin + description: '' + parameters: + - name: serviceType + schema: string + required: true + description: '' + example: SERVICETYPE + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /admin/v1/plans/{serviceType} + method: updatePlanServiceType + httpMethod: put + tag: admin + typeScriptTag: admin + description: '' + parameters: + - name: serviceType + schema: string + required: true + description: '' + example: SERVICETYPE + - name: cost + schema: number + description: '' + - name: apiCallLimit + schema: number + description: '' + - name: feeManagerFundPerMonth + schema: number + description: '' + - name: unavailableApiList + schema: object + description: '' + - name: projectLimit + schema: number + description: '' + - name: serviceFeeManagerFillingLimit + schema: number + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /admin/v1/plan/list + method: listPlans + httpMethod: get + tag: admin + typeScriptTag: admin + description: Get list of available plans and their details also + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /upload + method: broadcastFileToBlockchain + httpMethod: post + tag: Utility + typeScriptTag: utility + description: Blockchain File Upload. + parameters: + - name: walletId + schema: string + required: false + description: '' + - name: fileUrl + schema: string + required: true + description: '' + example: FILEURL + - name: fileName + schema: string + required: true + description: '' + example: FILENAME + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /post + method: broadcastNoteToBlockchain + httpMethod: post + tag: Utility + typeScriptTag: utility + description: Post Messages to the Blockchain. + parameters: + - name: walletId + schema: string + required: false + description: '' + - name: notes + schema: array + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request + - url: /v1/bsvalias/id/{paymail} + method: getProfileDetails + httpMethod: get + tag: paymail + typeScriptTag: paymail + description: '' + parameters: + - name: paymail + schema: string + required: true + description: '' + example: PAYMAIL + responses: + - statusCode: '200' + description: Default Response + - url: /v1/bsvalias/address/{paymail} + method: resolveAddressInfo + httpMethod: post + tag: paymail + typeScriptTag: paymail + description: '' + parameters: + - name: paymail + schema: string + required: true + description: '' + example: PAYMAIL + - name: senderHandle + schema: string + required: true + description: '' + example: SENDERHANDLE + - name: dt + schema: string + required: true + description: '' + example: DT + - name: signature + schema: string + required: false + description: '' + - name: amount + schema: number + required: false + description: '' + - name: purpose + schema: string + required: false + description: '' + - name: senderName + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: Default Response + - url: /v1/bsvalias/verifypubkey/{paymail}/{pubkey} + method: verifyPubkey + httpMethod: post + tag: paymail + typeScriptTag: paymail + description: '' + parameters: + - name: paymail + schema: string + required: true + description: '' + example: PAYMAIL + - name: pubkey + schema: string + required: true + description: '' + example: PUBKEY + responses: + - statusCode: '200' + description: Default Response + - url: /v1/bsvalias/receive-transaction/{paymail} + method: receiveTransaction + httpMethod: post + tag: paymail + typeScriptTag: paymail + description: '' + parameters: + - name: paymail + schema: string + required: true + description: '' + example: PAYMAIL + - name: hex + schema: string + required: true + description: '' + example: HEX + - name: reference + schema: string + required: true + description: '' + example: REFERENCE + - name: metadata + schema: object + required: true + description: '' + responses: + - statusCode: '200' + description: Default Response + - url: /v1/bsvalias/p2p-payment-destination/{paymail} + method: createP2PPaymentDestination + httpMethod: post + tag: paymail + typeScriptTag: paymail + description: '' + parameters: + - name: paymail + schema: string + required: true + description: '' + example: PAYMAIL + - name: satoshis + schema: number + required: true + description: '' + example: 0 + responses: + - statusCode: '200' + description: Default Response + - url: /.well-known/bsvalias + method: getBsvAlias + httpMethod: get + tag: paymail + typeScriptTag: paymail + description: '' + parameters: [] + responses: + - statusCode: '200' + description: Default Response +numberOfSchemas: 197 +apiDescription: Relysia makes blockchain adoption frictionless and easy. diff --git a/sdks/db/cached-method-objects/from-custom-request_rivery.io.yaml b/sdks/db/cached-method-objects/from-custom-request_rivery.io.yaml new file mode 100644 index 000000000..66ebce640 --- /dev/null +++ b/sdks/db/cached-method-objects/from-custom-request_rivery.io.yaml @@ -0,0 +1,2259 @@ +hash: 3e391427c40c91b32b4403280adb5a106552daeabfaa5f028ada8ee22b03968b +methodObjects: + - url: /v1/accounts/{account_id}/environments/{environment_id}/dataframes + method: dataframes + httpMethod: get + tag: Dataframes + typeScriptTag: dataframes + description: Get Dataframes + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: itemsPerPage + schema: integer + required: false + description: The number of items per page in the paginated list. + default: 20 + - name: page + schema: integer + required: false + description: The current page number in the paginated list. + default: 1 + responses: + - statusCode: '200' + description: |- + Dataframe response properties to return as a paginated list + + - statusCode: '422' + description: '' + - url: /v1/accounts/{account_id}/environments/{environment_id}/dataframes + method: dataframe + httpMethod: post + tag: Dataframes + typeScriptTag: dataframes + description: Add Dataframe + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: connection_settings + schema: object + required: false + description: '' + - name: name + schema: string + required: true + description: '' + example: unique_name + responses: + - statusCode: '201' + description: |- + Dataframe response properties to return + + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/dataframes/{dataframe_name} + method: dataframe + httpMethod: delete + tag: Dataframes + typeScriptTag: dataframes + description: Delete Dataframe + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: dataframeName + schema: string + required: true + description: '' + example: DATAFRAME_NAME + responses: + - statusCode: '200' + description: '' + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/dataframes/{dataframe_name} + method: dataframe + httpMethod: get + tag: Dataframes + typeScriptTag: dataframes + description: Get Dataframe + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: dataframeName + schema: string + required: true + description: '' + example: DATAFRAME_NAME + responses: + - statusCode: '200' + description: |- + Dataframe response properties to return + + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/dataframes/{dataframe_name} + method: dataframe + httpMethod: put + tag: Dataframes + typeScriptTag: dataframes + description: Update Dataframe + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: dataframeName + schema: string + required: true + description: '' + example: DATAFRAME_NAME + - name: connection_settings + schema: object + description: '' + responses: + - statusCode: '200' + description: |- + Dataframe response properties to return + + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/dataframes/{dataframe_name}/download + method: dataframe + httpMethod: get + tag: Dataframes + typeScriptTag: dataframes + description: Download Dataframe + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: dataframeName + schema: string + required: true + description: '' + example: DATAFRAME_NAME + responses: + - statusCode: '202' + description: |- + Operation properties to return. + + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/dataframes/{dataframe_name}/clear + method: clearValues + httpMethod: post + tag: Dataframes + typeScriptTag: dataframes + description: Clear Dataframe Values + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: dataframeName + schema: string + required: true + description: '' + example: DATAFRAME_NAME + responses: + - statusCode: '202' + description: |- + Operation properties to return. + + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/activities_statistics + method: getStatistics + httpMethod: get + tag: Activities + typeScriptTag: activities + description: Get Activities Statistic + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: startTime + schema: string + required: true + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + - name: endTime + schema: string + required: true + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + - name: status + schema: array + required: false + description: A list of statuses to filter + - name: groupId + schema: array + required: false + description: The ID of the group to filter + - name: isScheduled + schema: string + required: false + description: >- + A flag that indicates whether the river is scheduled. If not set then + activities of all rivers will be returned + - name: search + schema: string + required: false + description: Get statistics for rivers that has the search query in their name + - name: riverType + schema: array + required: false + description: The river type + responses: + - statusCode: '200' + description: Activity statistics response + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_statistics + method: getRiverActivitiesStatistic + httpMethod: get + tag: Activities + typeScriptTag: activities + description: Get River Activities Statistic + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: riverCrossId + schema: string + required: true + description: '' + example: RIVER_CROSS_ID + - name: startTime + schema: string + required: true + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + - name: endTime + schema: string + required: true + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + - name: status + schema: array + required: false + description: '' + responses: + - statusCode: '200' + description: Statistics response + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_targets + method: getRiverActivityTargets + httpMethod: get + tag: Activities + typeScriptTag: activities + description: Get River Activities Targets + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: riverCrossId + schema: string + required: true + description: '' + example: RIVER_CROSS_ID + - name: startTime + schema: string + required: true + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + - name: endTime + schema: string + required: true + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + - name: runGroupId + schema: string + required: false + description: Filter by the run group ID + - name: subRiverId + schema: string + required: false + description: Filter by the sub river ID + - name: status + schema: array + required: false + description: A list of statuses. Only targets with those statuses will be returned + - name: sortBy + schema: string + required: false + description: Indicates by which parameter to sort the targets + - name: sortOrder + schema: string + required: false + description: '' + responses: + - statusCode: '200' + description: Target response + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_run_groups + method: listRunGroups + httpMethod: get + tag: Activities + typeScriptTag: activities + description: List River Activities Run Groups + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: riverCrossId + schema: string + required: true + description: '' + example: RIVER_CROSS_ID + - name: startTime + schema: string + required: true + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + - name: endTime + schema: string + required: true + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + - name: targetName + schema: string + required: false + description: Filter by the target table name + - name: subRiverId + schema: string + required: false + description: Filter by the sub river ID + - name: status + schema: array + required: false + description: >- + A list of statuses. Only run groups with this statuses will be + returned. + - name: cacheContextId + schema: string + required: false + description: Cache context id is an internal query parameter for cache purposes + - name: page + schema: integer + required: false + description: '' + default: 1 + - name: sortBy + schema: string + required: false + description: '' + - name: sortOrder + schema: string + required: false + description: '' + - name: itemsPerPage + schema: integer + required: false + description: '' + default: 50 + responses: + - statusCode: '200' + description: The response for the activity run groups + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_run_groups/{run_group_id} + method: getRunGroup + httpMethod: get + tag: Activities + typeScriptTag: activities + description: Get River Activities Run Groups + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: riverCrossId + schema: string + required: true + description: '' + example: RIVER_CROSS_ID + - name: runGroupId + schema: string + required: true + description: '' + example: RUN_GROUP_ID + responses: + - statusCode: '200' + description: The run group details with statistics + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_sub_rivers + method: getSubRiverActivities + httpMethod: get + tag: Activities + typeScriptTag: activities + description: Get River Activities Sub Rivers + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: riverCrossId + schema: string + required: true + description: '' + example: RIVER_CROSS_ID + - name: startTime + schema: string + required: true + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + - name: endTime + schema: string + required: true + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + - name: targetName + schema: string + required: false + description: Filter by the target table name + - name: runGroupId + schema: string + required: false + description: Filter by the run group ID + responses: + - statusCode: '200' + description: The response of the sub river + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs + method: getRiverRuns + httpMethod: get + tag: Activities + typeScriptTag: activities + description: Get River Activities Runs + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: riverCrossId + schema: string + required: true + description: '' + example: RIVER_CROSS_ID + - name: startTime + schema: string + required: true + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + - name: endTime + schema: string + required: true + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + - name: targetName + schema: string + required: false + description: Filter by the target table name + - name: runGroupId + schema: string + required: false + description: Filter by the run group ID + - name: subRiverId + schema: string + required: false + description: Filter by the sub river ID + - name: page + schema: integer + required: false + description: '' + default: 1 + - name: itemsPerPage + schema: integer + required: false + description: '' + default: 20 + - name: sortBy + schema: string + required: false + description: Indicates by which parameter to sort the runs + - name: sortOrder + schema: string + required: false + description: '' + - name: cacheContextId + schema: string + required: false + description: Cache context id is an internal query parameter for cache purposes + responses: + - statusCode: '200' + description: The activity run response + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id} + method: getRiverActivitiesRun + httpMethod: get + tag: Activities + typeScriptTag: activities + description: Get River Activities Run + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: riverCrossId + schema: string + required: true + description: '' + example: RIVER_CROSS_ID + - name: runId + schema: string + required: true + description: '' + example: RUN_ID + responses: + - statusCode: '200' + description: A run + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}/logic_steps + method: getLogicStepsStatus + httpMethod: get + tag: Activities + typeScriptTag: activities + description: Get River Activities Run Logic Steps + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: riverCrossId + schema: string + required: true + description: '' + example: RIVER_CROSS_ID + - name: runId + schema: string + required: true + description: '' + example: RUN_ID + responses: + - statusCode: '200' + description: run's logic step + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}/variables + method: getRunVariables + httpMethod: get + tag: Activities + typeScriptTag: activities + description: Get Activities Logic Variables + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: riverCrossId + schema: string + required: true + description: '' + example: RIVER_CROSS_ID + - name: runId + schema: string + required: true + description: '' + example: RUN_ID + responses: + - statusCode: '200' + description: The activities logic variables response + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}/logic_steps/{step_id}/logs + method: getLogicStepLogs + httpMethod: get + tag: Activities + typeScriptTag: activities + description: Get Activities Logic Step Log + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: riverCrossId + schema: string + required: true + description: '' + example: RIVER_CROSS_ID + - name: runId + schema: string + required: true + description: '' + example: RUN_ID + - name: stepId + schema: string + required: true + description: '' + example: STEP_ID + - name: iterationNumber + schema: integer + required: false + description: The step iteration number + default: 0 + responses: + - statusCode: '200' + description: run's logic step logs + - statusCode: '422' + description: '' + - url: /v1/accounts/{account_id}/environments/{environment_id}/activities + method: activities + httpMethod: get + tag: Activities + typeScriptTag: activities + description: Get Activities + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: startTime + schema: string + required: true + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + - name: endTime + schema: string + required: true + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + - name: status + schema: array + required: false + description: '' + - name: groupId + schema: array + required: false + description: The ID of the group to filter + - name: isScheduled + schema: string + required: false + description: >- + A flag that indicates whether the river is scheduled. If not set then + activities of all rivers will be returned + - name: page + schema: integer + required: false + description: '' + default: 1 + - name: itemsPerPage + schema: integer + required: false + description: '' + default: 20 + - name: cacheContextId + schema: string + required: false + description: Cache context id is an internal query parameter for cache purposes + - name: search + schema: string + required: false + description: Search for a specific river by river name + - name: sortBy + schema: string + required: false + description: '' + - name: sortOrder + schema: string + required: false + description: '' + - name: riverType + schema: array + required: false + description: The river type + responses: + - statusCode: '200' + description: General activities response + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}/logs + method: getRunLogs + httpMethod: get + tag: Activities + typeScriptTag: activities + description: Get Run Logs + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: riverCrossId + schema: string + required: true + description: '' + example: RIVER_CROSS_ID + - name: runId + schema: string + required: true + description: '' + example: RUN_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/versions + method: listVersions + httpMethod: get + tag: Rivers + typeScriptTag: rivers + description: List River Versions + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: riverCrossId + schema: string + required: true + description: '' + example: RIVER_CROSS_ID + - name: itemsPerPage + schema: integer + required: false + description: The number of items per page in the paginated list. + default: 20 + - name: page + schema: integer + required: false + description: The current page number in the paginated list. + default: 1 + responses: + - statusCode: '200' + description: |- + River Versions response. + + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/versions/{version_id} + method: getVersion + httpMethod: get + tag: Rivers + typeScriptTag: rivers + description: Get River Version + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: riverCrossId + schema: string + required: true + description: '' + example: RIVER_CROSS_ID + - name: versionId + schema: string + required: true + description: '' + example: VERSION_ID + responses: + - statusCode: '200' + description: |- + River Versions properties to return. + + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id} + method: river + httpMethod: delete + tag: Rivers + typeScriptTag: rivers + description: Delete River + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: riverCrossId + schema: string + required: true + description: '' + example: RIVER_CROSS_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id} + method: river + httpMethod: get + tag: Rivers + typeScriptTag: rivers + description: Get River + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: riverCrossId + schema: string + required: true + description: '' + example: RIVER_CROSS_ID + responses: + - statusCode: '200' + description: River properties to return + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id} + method: river + httpMethod: put + tag: Beta Endpoints + typeScriptTag: betaEndpoints + description: Edit River + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: riverCrossId + schema: string + required: true + description: '' + example: RIVER_CROSS_ID + - name: name + schema: string + required: true + description: '' + example: river_name + - name: kind + schema: undefined + required: false + description: '' + example: main_river + default: main_river + - name: type + schema: string + required: true + description: '' + example: TYPE + - name: group_id + schema: string + required: false + description: '' + example: 55fr7d4270fdca16cac18261 + - name: group_name + schema: string + required: false + description: '' + example: river_group_1 + - name: metadata + schema: object + required: false + description: '' + - name: settings + schema: object + required: false + description: '' + - name: properties + schema: undefined + required: true + description: '' + - name: schedulers + schema: array + required: false + description: '' + default: &ref_0 [] + - name: cross_id + schema: string + required: false + description: '' + - name: deployment_definition + schema: object + required: false + description: '' + responses: + - statusCode: '200' + description: River properties to return + - statusCode: '422' + description: '' + - url: /v1/accounts/{account_id}/environments/{environment_id}/rivers + method: rivers + httpMethod: get + tag: Rivers + typeScriptTag: rivers + description: List Rivers + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: page + schema: integer + required: false + description: The current page number in the paginated list. + default: 1 + - name: itemsPerPage + schema: integer + required: false + description: The number of items per page in the paginated list. + default: 20 + - name: groupName + schema: string + required: false + description: The river group name + - name: groupId + schema: array + required: false + description: The river group id + - name: name + schema: string + required: false + description: The river name + - name: schedule + schema: string + required: false + description: The river schedule status + - name: riverStatus + schema: array + required: false + description: The river status + - name: sortBy + schema: string + required: false + description: The river sort by filter + - name: sortOrder + schema: string + required: false + description: The river sort order filter + - name: riverType + schema: array + required: false + description: The river type + responses: + - statusCode: '200' + description: List rivers response object. + - statusCode: '422' + description: '' + - url: /v1/accounts/{account_id}/environments/{environment_id}/rivers + method: river + httpMethod: post + tag: Beta Endpoints + typeScriptTag: betaEndpoints + description: Add River + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: name + schema: string + required: true + description: '' + example: river_name + - name: kind + schema: undefined + required: false + description: '' + example: main_river + default: main_river + - name: type + schema: string + required: true + description: '' + example: TYPE + - name: group_id + schema: string + required: false + description: '' + example: 55fr7d4270fdca16cac18261 + - name: group_name + schema: string + required: false + description: '' + example: river_group_1 + - name: metadata + schema: object + required: false + description: '' + - name: settings + schema: object + required: false + description: '' + - name: properties + schema: undefined + required: true + description: '' + - name: schedulers + schema: array + required: false + description: '' + default: *ref_0 + - name: cross_id + schema: string + required: false + description: '' + - name: deployment_definition + schema: object + required: false + description: '' + responses: + - statusCode: '201' + description: River properties to return + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/cdc_config + method: deleteCdcConfig + httpMethod: delete + tag: Rivers + typeScriptTag: rivers + description: Delete Cdc Config + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: riverCrossId + schema: string + required: true + description: '' + example: RIVER_CROSS_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/cdc_config + method: getCdcConfig + httpMethod: get + tag: Rivers + typeScriptTag: rivers + description: Get Cdc Config + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: riverCrossId + schema: string + required: true + description: '' + example: RIVER_CROSS_ID + responses: + - statusCode: '200' + description: The cdc config request class. + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/cdc_config + method: setCdcConfig + httpMethod: post + tag: Rivers + typeScriptTag: rivers + description: Set Cdc Config + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: riverCrossId + schema: string + required: true + description: '' + example: RIVER_CROSS_ID + - name: config + schema: undefined + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/cancel_run + method: cancelRun + httpMethod: post + tag: Rivers + typeScriptTag: rivers + description: Cancel River Run + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: riverCrossId + schema: string + required: true + description: '' + example: RIVER_CROSS_ID + - name: run_id + schema: string + description: '' + - name: run_group_id + schema: string + description: '' + responses: + - statusCode: '202' + description: General response schema contains only details + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/run + method: river + httpMethod: post + tag: Rivers + typeScriptTag: rivers + description: Run River + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: riverCrossId + schema: string + required: true + description: '' + example: RIVER_CROSS_ID + - name: runSubRivers + schema: boolean + required: false + description: >- + A flag that indicates whether to run all active sub rivers of the + master river + default: false + responses: + - statusCode: '202' + description: >- + Run response properties to return + + The response is a list since in the case of sub rivers that are + multiple runs, + + and we want to be able to return them all + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/sub_rivers/{sub_river_id}/run + method: triggerSubRiverRun + httpMethod: post + tag: Rivers + typeScriptTag: rivers + description: Run Sub River + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: riverCrossId + schema: string + required: true + description: '' + example: RIVER_CROSS_ID + - name: subRiverId + schema: string + required: true + description: '' + example: SUB_RIVER_ID + responses: + - statusCode: '202' + description: >- + Run response properties to return + + The response is a list since in the case of sub rivers that are + multiple runs, + + and we want to be able to return them all + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/variables + method: getVariables + httpMethod: get + tag: Rivers + typeScriptTag: rivers + description: Get River Variables + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: riverCrossId + schema: string + required: true + description: '' + example: RIVER_CROSS_ID + - name: itemsPerPage + schema: integer + required: false + description: The number of items per page in the paginated list. + default: 20 + - name: page + schema: integer + required: false + description: The current page number in the paginated list. + default: 1 + responses: + - statusCode: '200' + description: >- + Final river variables paginated response for all variables in a single + river. + + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/variables + method: updateRiverVariable + httpMethod: put + tag: Rivers + typeScriptTag: rivers + description: Update River Variable + parameters: + - name: riverCrossId + schema: string + required: true + description: '' + example: RIVER_CROSS_ID + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: itemsPerPage + schema: integer + required: false + description: The number of items per page in the paginated list. + default: 20 + - name: page + schema: integer + required: false + description: The current page number in the paginated list. + default: 1 + - name: items + schema: array + required: true + description: '' + responses: + - statusCode: '200' + description: >- + Final river variables paginated response for all variables in a single + river. + + - statusCode: '422' + description: '' + - url: /v1/accounts/{account_id}/environments + method: environments + httpMethod: get + tag: Environments + typeScriptTag: environments + description: List Environments + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: includeDeleted + schema: boolean + required: false + description: '' + default: false + - name: isDeployableEnvironments + schema: boolean + required: false + description: '' + default: false + - name: itemsPerPage + schema: integer + required: false + description: The number of items per page in the paginated list. + default: 20 + - name: page + schema: integer + required: false + description: The current page number in the paginated list. + default: 1 + responses: + - statusCode: '200' + description: The list environments response to return as a paginated list + - statusCode: '422' + description: '' + - url: /v1/accounts/{account_id}/environments/{environment_id} + method: environment + httpMethod: get + tag: Environments + typeScriptTag: environments + description: Get Environment + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + responses: + - statusCode: '200' + description: |- + Environments properties to return. + + - statusCode: '422' + description: '' + - url: /v1/accounts/{account_id}/scim_provisioning + method: deleteScimProvisioning + httpMethod: delete + tag: Accounts + typeScriptTag: accounts + description: Delete Scim Provisioning + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + responses: + - statusCode: '204' + description: Successful Response + - statusCode: '422' + description: '' + - url: /v1/accounts/{account_id}/scim_provisioning + method: getScimProvisioningStatus + httpMethod: get + tag: Accounts + typeScriptTag: accounts + description: Get Scim Provisioning Status + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + responses: + - statusCode: '200' + description: SCIM token get status + - statusCode: '422' + description: '' + - url: /v1/accounts/{account_id}/scim_provisioning + method: addOrUpdateScimProvisioning + httpMethod: put + tag: Accounts + typeScriptTag: accounts + description: Add Or Update Scim Provisioning + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + responses: + - statusCode: '200' + description: SCIM Token create or update response. + - statusCode: '422' + description: '' + - url: /v1/accounts/{account_id}/environments/{environment_id}/audit_events + method: list + httpMethod: get + tag: Audit Events + typeScriptTag: auditEvents + description: List Audit Events + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: startTime + schema: string + required: false + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + - name: endTime + schema: string + required: false + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm If end_time is supplied without start_time + the start_time will be the previous day of the end_time + example: '2020-01-01T12:00:00' + - name: userId + schema: array + required: false + description: A list of users id's who initiated the event + example: 5eda28ee6b028e1ce7a2b5ed + - name: eventType + schema: array + required: false + description: A list of entity types + example: connections + - name: entityType + schema: array + required: false + description: A list of event types + example: delete + - name: entityLogicalKey + schema: string + required: false + description: A unique logical identifier of an entity, usually the cross_id + example: 5eda28ee6b028e1ce7a2b5ec + responses: + - statusCode: '200' + description: Audit events pagination response + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/audit_events/{event_id} + method: getById + httpMethod: get + tag: Audit Events + typeScriptTag: auditEvents + description: Get Audit Event + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: eventId + schema: string + required: true + description: The id of the audit event + example: eac285a5a9ae4ada9ccd49889a651e16 + responses: + - statusCode: '200' + description: Audit events response + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/connections/{connection_cross_id} + method: connection + httpMethod: delete + tag: Connections + typeScriptTag: connections + description: Delete Connection + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: connectionCrossId + schema: string + required: true + description: '' + example: CONNECTION_CROSS_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '422' + description: '' + - url: /v1/accounts/{account_id}/teams + method: teams + httpMethod: get + tag: Groups + typeScriptTag: groups + description: List Teams + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: page + schema: integer + required: false + description: '' + default: 1 + - name: itemsPerPage + schema: integer + required: false + description: '' + default: 20 + - name: displayName + schema: string + required: false + description: The internal display name of the team + example: Marketing team + - name: source + schema: string + required: false + description: >- + The team source local (https://api.rivery.io/documentation or external + (Active Directory) + example: rivery + - name: remoteDisplayName + schema: string + required: false + description: The remote display name of the team + example: Core team + - name: sortBy + schema: string + required: false + description: Sorted the results by attributes + - name: sortOrder + schema: string + required: false + description: '' + - name: teamId + schema: array + required: false + description: List of team ids + example: + - 65ce173412f5e196b2b9b163 + responses: + - statusCode: '200' + description: List user teams response + - statusCode: '422' + description: '' + - url: /v1/accounts/{account_id}/teams + method: team + httpMethod: post + tag: Groups + typeScriptTag: groups + description: Create Team + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: description + schema: string + required: false + description: '' + example: Some description + - name: display_name + schema: string + required: true + description: '' + example: Rivery Core Team + - name: environments + schema: object + required: false + description: '' + example: + 633ede20f1fc5500111fd7b3: + role: viewer + 5f887c764c40e5598f717676: + role: viewer + default: {} + - name: is_all_environment_admin + schema: boolean + required: false + description: '' + example: true + default: false + responses: + - statusCode: '200' + description: Base user team model properties to return. + - statusCode: '422' + description: '' + - url: /v1/accounts/{account_id}/teams/{team_id} + method: team + httpMethod: delete + tag: Groups + typeScriptTag: groups + description: Delete Team + parameters: + - name: teamId + schema: string + required: true + description: '' + example: TEAM_ID + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + responses: + - statusCode: '204' + description: Successful Response + - statusCode: '422' + description: '' + - url: /v1/accounts/{account_id}/teams/{team_id} + method: team + httpMethod: get + tag: Groups + typeScriptTag: groups + description: Get Team + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: teamId + schema: string + required: true + description: '' + example: TEAM_ID + responses: + - statusCode: '200' + description: Base user team model properties to return. + - statusCode: '422' + description: '' + - url: /v1/accounts/{account_id}/teams/{team_id} + method: team + httpMethod: patch + tag: Groups + typeScriptTag: groups + description: Patch Team + parameters: + - name: teamId + schema: string + required: true + description: '' + example: TEAM_ID + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: description + schema: string + description: '' + example: Some description + - name: display_name + schema: string + description: '' + example: Rivery Core Team + - name: environments + schema: object + description: '' + example: + 633ede20f1fc5500111fd7b3: + role: viewer + 5f887c764c40e5598f717676: + role: viewer + - name: is_all_environment_admin + schema: boolean + description: '' + example: true + responses: + - statusCode: '200' + description: Base user team model properties to return. + - statusCode: '422' + description: '' + - url: /v1/accounts/{account_id}/teams/{team_id} + method: team + httpMethod: put + tag: Groups + typeScriptTag: groups + description: Update Team + parameters: + - name: teamId + schema: string + required: true + description: '' + example: TEAM_ID + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: description + schema: string + description: '' + example: Some description + - name: display_name + schema: string + description: '' + example: Rivery Core Team + - name: environments + schema: object + description: '' + example: + 633ede20f1fc5500111fd7b3: + role: viewer + 5f887c764c40e5598f717676: + role: viewer + - name: is_all_environment_admin + schema: boolean + description: '' + example: true + default: false + responses: + - statusCode: '200' + description: Base user team model properties to return. + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/copy + method: river + httpMethod: post + tag: Beta Endpoints + typeScriptTag: betaEndpoints + description: Copy River + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: riverCrossId + schema: string + required: true + description: '' + example: RIVER_CROSS_ID + responses: + - statusCode: '201' + description: Copy river response + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/restore + method: river + httpMethod: put + tag: Beta Endpoints + typeScriptTag: betaEndpoints + description: Restore River Version + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: riverCrossId + schema: string + required: true + description: '' + example: RIVER_CROSS_ID + - name: version_id + schema: string + required: true + description: '' + example: 5f7d4270fdca16cac18261 + responses: + - statusCode: '200' + description: River properties to return + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/enable_cdc + method: cdc + httpMethod: post + tag: Beta Endpoints + typeScriptTag: betaEndpoints + description: Enable Cdc + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: riverCrossId + schema: string + required: true + description: '' + example: RIVER_CROSS_ID + responses: + - statusCode: '202' + description: |- + Operation properties to return. + + - statusCode: '422' + description: '' + - url: >- + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/disable_cdc + method: cdc + httpMethod: post + tag: Beta Endpoints + typeScriptTag: betaEndpoints + description: Disable Cdc + parameters: + - name: accountId + schema: string + required: true + description: '' + example: ACCOUNT_ID + - name: environmentId + schema: string + required: true + description: '' + example: ENVIRONMENT_ID + - name: riverCrossId + schema: string + required: true + description: '' + example: RIVER_CROSS_ID + responses: + - statusCode: '202' + description: |- + Operation properties to return. + + - statusCode: '422' + description: '' + - url: /v1/predefined_metadata/columns + method: getPredefinedColumns + httpMethod: get + tag: Beta Endpoints + typeScriptTag: betaEndpoints + description: Get Predefined Columns + parameters: + - name: datasourceId + schema: string + required: true + description: The datasource of the columns. + example: shopify + - name: report + schema: string + required: true + description: The report id + example: orders + - name: columnName + schema: string + required: false + description: Name of the column to filter + example: id + - name: itemsPerPage + schema: integer + required: false + description: The number of items per page in the paginated list. + default: 20 + - name: page + schema: integer + required: false + description: The current page number in the paginated list. + default: 1 + responses: + - statusCode: '200' + description: The response for the get predefined columns. + - statusCode: '422' + description: '' + - url: /v1/predefined_metadata/tables + method: listPredefinedTables + httpMethod: get + tag: Beta Endpoints + typeScriptTag: betaEndpoints + description: Get Predefined Tables + parameters: + - name: datasourceId + schema: string + required: true + description: The datasource of the columns. + example: shopify + - name: reportName + schema: string + required: false + description: Name of the report to filter + example: orders + - name: itemsPerPage + schema: integer + required: false + description: The number of items per page in the paginated list. + default: 20 + - name: page + schema: integer + required: false + description: The current page number in the paginated list. + default: 1 + responses: + - statusCode: '200' + description: The response for the get predefined tables. + - statusCode: '422' + description: '' + - url: /v1/predefined_metadata/metadata + method: getPredefinedMetadata + httpMethod: get + tag: Beta Endpoints + typeScriptTag: betaEndpoints + description: Get Predefined Metadata + parameters: + - name: datasourceId + schema: string + required: true + description: The datasource of the columns. + example: shopify + - name: reportId + schema: string + required: true + description: The report id + example: predefined_orders + responses: + - statusCode: '200' + description: The response for the get predefined metadata. + - statusCode: '422' + description: '' + - url: /v1/river_source/metadata + method: getSourceMetadata + httpMethod: get + tag: Beta Endpoints + typeScriptTag: betaEndpoints + description: Get Source Metadata + parameters: + - name: sourceName + schema: string + required: true + description: The source name + example: shopify + responses: + - statusCode: '200' + description: The response for the get source metadata. + - statusCode: '422' + description: '' +numberOfSchemas: 209 +apiDescription: > + + # Rivery API documentation + + + Welcome to the Rivery API Documentation. + + + Using the Rivery API, you can automate any single or group operations you + perform in the Rivery console. + + You can create, execute, and delete Rivers, create DataFrames, automate + processes, and more. + + The Rivery API is structured around REST. It accepts JSON request bodies, + returns JSON responses, + + and employs conventional HTTP response codes, authentication, and verbs to + access and use data through HTTP requests. + + + Consult our [Legacy API](https://api-docs.rivery.io/) documentation. + + + Please [contact our Support team](mailto:) if you have any + questions or concerns. + + + # Authorization + + ## Rivery API Token + + To generate a Bearer token, please check out [Rivery's + docs](https://docs.rivery.io/docs/rivery-api). + + + Every bearer token is a combination of account, environment, and scopes + attached. Every time the token is provided, + + the API compares its scopes with the request required scope. + + If the scope is not valid, an insufficient permissions (403) response code + returned. + + + ## Scopes + + A scope is defined as a combination of the entity in Rivery, and the operation + allowed to perform on the entity. + + + The entity can be any entity available via the API, for example - connection. + + An operation can be one of specific operations allowed for each scope. For + example: list or edit. + + Therefore, listing connections scope will be set as `connection:list`. + + Please make sure the Bearer token is has the right scopes attached for all of + the needed requests. diff --git a/sdks/db/cached-method-objects/from-custom-request_secoda.co.yaml b/sdks/db/cached-method-objects/from-custom-request_secoda.co.yaml new file mode 100644 index 000000000..a8e245425 --- /dev/null +++ b/sdks/db/cached-method-objects/from-custom-request_secoda.co.yaml @@ -0,0 +1,3365 @@ +hash: fe145b3dcab232ce6f91b8841a0598acc04722bfff6a88c70cd5e234794f078d +methodObjects: + - url: /integration/integrations + method: listActive + httpMethod: get + tag: Integrations + typeScriptTag: integrations + description: List Integrations + parameters: + - name: type + schema: string + description: The type of integrations to filter. + example: bigquery + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request. + - statusCode: '500' + description: Internal server error. + - url: /integration/integrations + method: createNewIntegration + httpMethod: post + tag: Integrations + typeScriptTag: integrations + description: Create a New Integration + parameters: + - name: name + schema: string + description: '' + example: Sample Integration + - name: type + schema: string + description: '' + example: custom + - name: teams + schema: array + description: '' + example: + - 4c0e07c0-306a-4f4e-8b2b-6a8d7a33d251 + - a5423e2e-93b8-4b2c-af3c-7b7f0eefea14 + - name: credentials + schema: object + description: '' + example: {} + responses: + - statusCode: '201' + description: '' + - statusCode: '400' + description: Bad request. + - statusCode: '500' + description: Internal server error. + - url: /integration/integrations/{integration_id} + method: getById + httpMethod: get + tag: Integrations + typeScriptTag: integrations + description: Get Integration by ID + parameters: + - name: integrationId + schema: string + required: true + description: The ID of the integration to retrieve. + example: d31e59c7-cd52-4398-9d6e-da313a7b7775 + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Integration not found. + - statusCode: '500' + description: Internal server error. + - url: /integration/integrations/{integration_id}/import_metadata + method: uploadMetadataCsv + httpMethod: post + tag: Integrations + typeScriptTag: integrations + description: Upload Integration Metadata (via CSV) + parameters: + - name: integrationId + schema: string + required: true + description: The ID of the integration to upload metadata for. + example: d31e59c7-cd52-4398-9d6e-da313a7b7775 + - name: file + schema: string + description: '' + example: path/to/your/file.csv + responses: + - statusCode: '200' + description: Integration metadata uploaded successfully. + - statusCode: '404' + description: Integration not found. + - statusCode: '500' + description: Internal server error. + - url: /integration/integrations/{integration_id}/import_jsonl_metadata + method: uploadJsonlMetadata + httpMethod: post + tag: Integrations + typeScriptTag: integrations + description: Upload Integration Metadata (via JSONL) + parameters: + - name: integrationId + schema: string + required: true + description: The ID of the integration to upload metadata and/or lineage for. + example: d31e59c7-cd52-4398-9d6e-da313a7b7775 + - name: resources_file + schema: string + required: true + description: '' + example: path/to/your/resources_file.jsonl + - name: lineages_file + schema: string + required: false + description: '' + example: path/to/your/lineages_file.jsonl + responses: + - statusCode: '200' + description: Integration JSONL file uploaded successfully. + - statusCode: '404' + description: Integration not found. + - statusCode: '500' + description: Internal server error. + - url: /table/databases + method: listAllActive + httpMethod: get + tag: Databases + typeScriptTag: databases + description: List Databases + parameters: + - name: title + schema: string + description: The title of the database to search for. + example: customers + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request. + - statusCode: '500' + description: Internal server error. + - url: /table/databases + method: createNewDatabase + httpMethod: post + tag: Databases + typeScriptTag: databases + description: Create a New Database + parameters: + - name: tags + schema: array + description: '' + example: &ref_0 + - 04654d61-4f64-4f08-b697-3915b5137c49 + - 429693a2-a5e7-4525-b413-ece5e96bc5b3 + - name: title + schema: string + description: '' + example: Sample Title + - name: description + schema: string + description: '' + example: This is a description for a sample table. + - name: integration + schema: string + description: '' + example: ca529385-fbc9-4934-afae-e372affe795b + - name: definition + schema: string + description: '' + example: \n# Castae illa\n\n## Finemque aequore\n\nLorem markdownum motus + - name: parent + schema: string + description: '' + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + - name: pii + schema: boolean + description: '' + example: false + - name: verified + schema: boolean + description: '' + example: true + - name: published + schema: boolean + description: '' + example: true + - name: teams + schema: array + description: '' + example: &ref_1 + - e8ac09ed-e51e-4e61-8eaf-59942c98c260 + - cca810f1-11c1-4117-bc23-20ae8020897f + - name: owners + schema: array + description: '' + example: &ref_2 + - 33733f42-8ff7-460b-9e20-50a2133d3bb0 + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + - name: collections + schema: array + description: '' + example: &ref_3 + - 3b2c7185-fb5d-4d94-89d4-3dae08e093a9 + - name: subscribers + schema: array + description: '' + example: &ref_4 + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + - name: properties + schema: object + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '400' + description: Bad request. + - statusCode: '500' + description: Internal server error. + - url: /table/databases/{database_id} + method: getById + httpMethod: get + tag: Databases + typeScriptTag: databases + description: Get Database by ID + parameters: + - name: databaseId + schema: string + required: true + description: The unique identifier of the database to retrieve. + example: 27498d73-db31-4a4e-8cf0-faccff1bed0f + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Database not found. + - statusCode: '500' + description: Internal server error. + - url: /table/schemas + method: listWithFilter + httpMethod: get + tag: Schemas + typeScriptTag: schemas + description: List Schemas + parameters: + - name: parent + schema: string + description: The ID of the parent database to filter by. + - name: title + schema: string + description: The title of the schema to filter by. + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request. + - statusCode: '500' + description: Internal server error. + - url: /table/schemas + method: createNewSchema + httpMethod: post + tag: Schemas + typeScriptTag: schemas + description: Create a New Schema + parameters: + - name: tags + schema: array + description: '' + example: *ref_0 + - name: title + schema: string + description: '' + example: Sample Title + - name: description + schema: string + description: '' + example: This is a description for a sample table. + - name: integration + schema: string + description: '' + example: ca529385-fbc9-4934-afae-e372affe795b + - name: definition + schema: string + description: '' + example: \n# Castae illa\n\n## Finemque aequore\n\nLorem markdownum motus + - name: parent + schema: string + description: '' + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + - name: pii + schema: boolean + description: '' + example: false + - name: verified + schema: boolean + description: '' + example: true + - name: published + schema: boolean + description: '' + example: true + - name: teams + schema: array + description: '' + example: *ref_1 + - name: owners + schema: array + description: '' + example: *ref_2 + - name: collections + schema: array + description: '' + example: *ref_3 + - name: subscribers + schema: array + description: '' + example: *ref_4 + - name: properties + schema: object + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '400' + description: Bad request. + - statusCode: '500' + description: Internal server error. + - url: /table/schemas/{schema_id} + method: getById + httpMethod: get + tag: Schemas + typeScriptTag: schemas + description: Get Schema by ID + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Schema not found. + - statusCode: '500' + description: Internal server error. + - url: /table/schemas/{schema_id} + method: updateById + httpMethod: patch + tag: Schemas + typeScriptTag: schemas + description: Update Schema by ID + parameters: + - name: tags + schema: array + description: '' + example: &ref_5 + - 04654d61-4f64-4f08-b697-3915b5137c49 + - 429693a2-a5e7-4525-b413-ece5e96bc5b3 + - name: description + schema: string + description: '' + example: This is a description for a sample table. + - name: definition + schema: string + description: '' + example: \n# Castae illa\n\n## Finemque aequore\n\nLorem markdownum motus + - name: pii + schema: boolean + description: '' + example: false + - name: verified + schema: boolean + description: '' + example: true + - name: published + schema: boolean + description: '' + example: true + - name: teams + schema: array + description: '' + example: &ref_6 + - e8ac09ed-e51e-4e61-8eaf-59942c98c260 + - cca810f1-11c1-4117-bc23-20ae8020897f + - name: owners + schema: array + description: '' + example: &ref_7 + - 33733f42-8ff7-460b-9e20-50a2133d3bb0 + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + - name: collections + schema: array + description: '' + example: &ref_8 + - 3b2c7185-fb5d-4d94-89d4-3dae08e093a9 + - name: subscribers + schema: array + description: '' + example: &ref_9 + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + - name: properties + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request. + - statusCode: '404' + description: Schema not found. + - statusCode: '500' + description: Internal server error. + - url: /table/tables + method: listTablesByFilter + httpMethod: get + tag: Tables + typeScriptTag: tables + description: List Tables + parameters: + - name: integrationId + schema: string + description: Integration ID + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + - name: parentId + schema: string + description: ID of the schema + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + - name: title + schema: string + description: Title of the table + example: Sample Table + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request. + - statusCode: '500' + description: Internal server error. + - url: /table/tables + method: createNewTable + httpMethod: post + tag: Tables + typeScriptTag: tables + description: Create a New Table + parameters: + - name: tags + schema: array + description: '' + example: *ref_0 + - name: title + schema: string + description: '' + example: Sample Title + - name: description + schema: string + description: '' + example: This is a description for a sample table. + - name: integration + schema: string + description: '' + example: ca529385-fbc9-4934-afae-e372affe795b + - name: definition + schema: string + description: '' + example: \n# Castae illa\n\n## Finemque aequore\n\nLorem markdownum motus + - name: parent + schema: string + description: '' + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + - name: pii + schema: boolean + description: '' + example: false + - name: verified + schema: boolean + description: '' + example: true + - name: published + schema: boolean + description: '' + example: true + - name: teams + schema: array + description: '' + example: *ref_1 + - name: owners + schema: array + description: '' + example: *ref_2 + - name: collections + schema: array + description: '' + example: *ref_3 + - name: subscribers + schema: array + description: '' + example: *ref_4 + - name: properties + schema: object + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '400' + description: Bad request. + - statusCode: '500' + description: Internal server error. + - url: /table/tables/{table_id} + method: deleteById + httpMethod: delete + tag: Tables + typeScriptTag: tables + description: Delete Table by ID + parameters: + - name: tableId + schema: string + required: true + description: ID of the table to delete + example: e7691426-2c2a-46b4-98e7-d09d0b82b2b1 + responses: + - statusCode: '204' + description: Table deleted successfully + - statusCode: '404' + description: Table not found. + - statusCode: '500' + description: Internal server error. + - url: /table/tables/{table_id} + method: getTableById + httpMethod: get + tag: Tables + typeScriptTag: tables + description: Get Table by ID + parameters: + - name: tableId + schema: string + required: true + description: ID of the table to retrieve + example: d935a76c-2125-4c30-9389-ef42fa7e23bb + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Table not found. + - statusCode: '500' + description: Internal server error. + - url: /table/tables/{table_id} + method: updateById + httpMethod: patch + tag: Tables + typeScriptTag: tables + description: Update Table by ID + parameters: + - name: tableId + schema: string + required: true + description: ID of the table to update + example: d935a76c-2125-4c30-9389-ef42fa7e23bb + - name: tags + schema: array + description: '' + example: *ref_5 + - name: description + schema: string + description: '' + example: This is a description for a sample table. + - name: definition + schema: string + description: '' + example: \n# Castae illa\n\n## Finemque aequore\n\nLorem markdownum motus + - name: pii + schema: boolean + description: '' + example: false + - name: verified + schema: boolean + description: '' + example: true + - name: published + schema: boolean + description: '' + example: true + - name: teams + schema: array + description: '' + example: *ref_6 + - name: owners + schema: array + description: '' + example: *ref_7 + - name: collections + schema: array + description: '' + example: *ref_8 + - name: subscribers + schema: array + description: '' + example: *ref_9 + - name: properties + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request. + - statusCode: '404' + description: Table not found. + - statusCode: '500' + description: Internal server error. + - url: /table/columns + method: getList + httpMethod: get + tag: Columns + typeScriptTag: columns + description: List Columns + parameters: + - name: integrationId + schema: string + description: Optional. Filter columns by integration identifier. + example: 6c69de0f-b269-4380-bcf5-0686de276b9e + - name: parentId + schema: string + description: >- + Optional. Filter columns by parent identifier. This could be the ID of + the table or of the parent column in the case of nested columns. + example: c444bc26-433e-4cd2-b3ee-f5a1fbb2caf8 + - name: title + schema: string + description: Optional. Filter columns by title of the column. + example: Sample Column + - name: tableTitle + schema: string + description: >- + Optional. Filter columns by title of the table that the columns belong + to. If several integrations have the same naming of tables, it is + recommended to combine this with the `integration_id`. + example: Sample Table + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad request. + - statusCode: '500' + description: Internal server error. + - url: /table/columns + method: createNewColumn + httpMethod: post + tag: Columns + typeScriptTag: columns + description: Create a New Column + parameters: + - name: tags + schema: array + description: '' + example: *ref_0 + - name: title + schema: string + description: '' + example: Sample Title + - name: description + schema: string + description: '' + example: This is a description for a sample table. + - name: integration + schema: string + description: '' + example: ca529385-fbc9-4934-afae-e372affe795b + - name: definition + schema: string + description: '' + example: \n# Castae illa\n\n## Finemque aequore\n\nLorem markdownum motus + - name: parent + schema: string + description: '' + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + - name: pii + schema: boolean + description: '' + example: false + - name: verified + schema: boolean + description: '' + example: true + - name: published + schema: boolean + description: '' + example: true + - name: teams + schema: array + description: '' + example: *ref_1 + - name: owners + schema: array + description: '' + example: *ref_2 + - name: collections + schema: array + description: '' + example: *ref_3 + - name: subscribers + schema: array + description: '' + example: *ref_4 + - name: properties + schema: object + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '400' + description: Bad request. + - statusCode: '500' + description: Internal server error. + - url: /table/columns/{column_id} + method: deleteById + httpMethod: delete + tag: Columns + typeScriptTag: columns + description: Delete Column by ID + parameters: + - name: columnId + schema: string + required: true + description: Identifier of the column to delete. + example: 8b2e01e0-603b-4559-8eac-4e16ecc61fc7 + responses: + - statusCode: '204' + description: Column deleted successfully. + - statusCode: '404' + description: Column not found. + - statusCode: '500' + description: Internal server error. + - url: /table/columns/{column_id} + method: getColumnById + httpMethod: get + tag: Columns + typeScriptTag: columns + description: Get Column by ID + parameters: + - name: columnId + schema: string + required: true + description: Identifier of the column to retrieve. + example: 8b2e01e0-603b-4559-8eac-4e16ecc61fc7 + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Column not found. + - statusCode: '500' + description: Internal server error. + - url: /table/columns/{column_id} + method: editById + httpMethod: patch + tag: Columns + typeScriptTag: columns + description: Edit Column by ID + parameters: + - name: columnId + schema: string + required: true + description: Identifier of the column to retrieve. + example: 8b2e01e0-603b-4559-8eac-4e16ecc61fc7 + - name: tags + schema: array + description: '' + example: *ref_5 + - name: description + schema: string + description: '' + example: This is a description for a sample table. + - name: definition + schema: string + description: '' + example: \n# Castae illa\n\n## Finemque aequore\n\nLorem markdownum motus + - name: pii + schema: boolean + description: '' + example: false + - name: verified + schema: boolean + description: '' + example: true + - name: published + schema: boolean + description: '' + example: true + - name: teams + schema: array + description: '' + example: *ref_6 + - name: owners + schema: array + description: '' + example: *ref_7 + - name: collections + schema: array + description: '' + example: *ref_8 + - name: subscribers + schema: array + description: '' + example: *ref_9 + - name: properties + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Column not found. + - statusCode: '500' + description: Internal server error. + - url: /dashboard/groups + method: list + httpMethod: get + tag: Dashboard Groups + typeScriptTag: dashboardGroups + description: List Dashboard Groups + parameters: + - name: title + schema: string + description: Filter groups by title + example: Sample Group + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /dashboard/groups + method: createNewGroup + httpMethod: post + tag: Dashboard Groups + typeScriptTag: dashboardGroups + description: Create a New Dashboard Group + parameters: + - name: tags + schema: array + description: '' + example: *ref_0 + - name: title + schema: string + description: '' + example: Sample Title + - name: description + schema: string + description: '' + example: This is a description for a sample table. + - name: integration + schema: string + description: '' + example: ca529385-fbc9-4934-afae-e372affe795b + - name: definition + schema: string + description: '' + example: \n# Castae illa\n\n## Finemque aequore\n\nLorem markdownum motus + - name: parent + schema: string + description: '' + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + - name: pii + schema: boolean + description: '' + example: false + - name: verified + schema: boolean + description: '' + example: true + - name: published + schema: boolean + description: '' + example: true + - name: teams + schema: array + description: '' + example: *ref_1 + - name: owners + schema: array + description: '' + example: *ref_2 + - name: collections + schema: array + description: '' + example: *ref_3 + - name: subscribers + schema: array + description: '' + example: *ref_4 + - name: properties + schema: object + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /dashboard/groups/{group_id} + method: getById + httpMethod: get + tag: Dashboard Groups + typeScriptTag: dashboardGroups + description: Get Dashboard Group by ID + parameters: + - name: groupId + schema: string + required: true + description: ID of the dashboard group to retrieve + example: 43d7c33d-ad74-4dfb-bfad-c172f6701afb + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Not Found + - statusCode: '500' + description: Internal Server Error + - url: /dashboard/dashboards + method: listWithFilter + httpMethod: get + tag: Dashboards + typeScriptTag: dashboards + description: List Dashboards + parameters: + - name: integrationId + schema: string + description: Filter by integration ID + example: cf103b47-8576-4467-ad34-384cd523abd9 + - name: parentId + schema: string + description: Filter by parent ID + example: 43d7c33d-ad74-4dfb-bfad-c172f6701afb + - name: title + schema: string + description: Filter by title + example: Sample Dashboard + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /dashboard/dashboards + method: createNewDashboard + httpMethod: post + tag: Dashboards + typeScriptTag: dashboards + description: Create a new Dashboard + parameters: + - name: tags + schema: array + description: '' + example: *ref_0 + - name: title + schema: string + description: '' + example: Sample Title + - name: description + schema: string + description: '' + example: This is a description for a sample table. + - name: integration + schema: string + description: '' + example: ca529385-fbc9-4934-afae-e372affe795b + - name: definition + schema: string + description: '' + example: \n# Castae illa\n\n## Finemque aequore\n\nLorem markdownum motus + - name: parent + schema: string + description: '' + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + - name: pii + schema: boolean + description: '' + example: false + - name: verified + schema: boolean + description: '' + example: true + - name: published + schema: boolean + description: '' + example: true + - name: teams + schema: array + description: '' + example: *ref_1 + - name: owners + schema: array + description: '' + example: *ref_2 + - name: collections + schema: array + description: '' + example: *ref_3 + - name: subscribers + schema: array + description: '' + example: *ref_4 + - name: properties + schema: object + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /dashboard/dashboards/{dashboard_id} + method: deleteById + httpMethod: delete + tag: Dashboards + typeScriptTag: dashboards + description: Delete Dashboard by ID + parameters: + - name: dashboardId + schema: string + required: true + description: The ID of the dashboard to delete. + example: 0b3938f4-692c-4d78-b40c-247c75dc6930 + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Not Found + - statusCode: '500' + description: Internal Server Error + - url: /dashboard/dashboards/{dashboard_id} + method: getById + httpMethod: get + tag: Dashboards + typeScriptTag: dashboards + description: Get Dashboard by ID + parameters: + - name: dashboardId + schema: string + required: true + description: The ID of the dashboard to retrieve. + example: 226dc8aa-fa8d-4646-8b11-6652cdc64065 + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Not Found + - statusCode: '500' + description: Internal Server Error + - url: /dashboard/dashboards/{dashboard_id} + method: updateById + httpMethod: patch + tag: Dashboards + typeScriptTag: dashboards + description: Update Dashboard by ID + parameters: + - name: dashboardId + schema: string + required: true + description: The ID of the dashboard to update. + example: 226dc8aa-fa8d-4646-8b11-6652cdc64065 + - name: tags + schema: array + description: '' + example: *ref_5 + - name: description + schema: string + description: '' + example: This is a description for a sample table. + - name: definition + schema: string + description: '' + example: \n# Castae illa\n\n## Finemque aequore\n\nLorem markdownum motus + - name: pii + schema: boolean + description: '' + example: false + - name: verified + schema: boolean + description: '' + example: true + - name: published + schema: boolean + description: '' + example: true + - name: teams + schema: array + description: '' + example: *ref_6 + - name: owners + schema: array + description: '' + example: *ref_7 + - name: collections + schema: array + description: '' + example: *ref_8 + - name: subscribers + schema: array + description: '' + example: *ref_9 + - name: properties + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Not Found + - statusCode: '500' + description: Internal Server Error + - url: /dashboard/charts + method: list + httpMethod: get + tag: Charts + typeScriptTag: charts + description: List Charts + parameters: + - name: integrationId + schema: string + description: Filter by integration ID + example: cf103b47-8576-4467-ad34-384cd523abd9 + - name: parentId + schema: string + description: Filter by parent ID + example: 226dc8aa-fa8d-4646-8b11-6652cdc64065 + - name: title + schema: string + description: Filter by title + example: Sample Chart + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /dashboard/charts + method: createNewChart + httpMethod: post + tag: Charts + typeScriptTag: charts + description: Create a new Chart + parameters: + - name: tags + schema: array + description: '' + example: *ref_0 + - name: title + schema: string + description: '' + example: Sample Title + - name: description + schema: string + description: '' + example: This is a description for a sample table. + - name: integration + schema: string + description: '' + example: ca529385-fbc9-4934-afae-e372affe795b + - name: definition + schema: string + description: '' + example: \n# Castae illa\n\n## Finemque aequore\n\nLorem markdownum motus + - name: parent + schema: string + description: '' + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + - name: pii + schema: boolean + description: '' + example: false + - name: verified + schema: boolean + description: '' + example: true + - name: published + schema: boolean + description: '' + example: true + - name: teams + schema: array + description: '' + example: *ref_1 + - name: owners + schema: array + description: '' + example: *ref_2 + - name: collections + schema: array + description: '' + example: *ref_3 + - name: subscribers + schema: array + description: '' + example: *ref_4 + - name: properties + schema: object + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /dashboard/charts/{chart_id} + method: deleteById + httpMethod: delete + tag: Charts + typeScriptTag: charts + description: Delete Chart by ID + parameters: + - name: chartId + schema: string + required: true + description: '' + example: 45813776-8934-442d-adf7-74ec921c53bf + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Not Found + - statusCode: '500' + description: Internal Server Error + - url: /dashboard/charts/{chart_id} + method: getById + httpMethod: get + tag: Charts + typeScriptTag: charts + description: Get Chart by ID + parameters: + - name: chartId + schema: string + required: true + description: The ID of the chart to retrieve. + example: 45813776-8934-442d-adf7-74ec921c53bf + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Not Found + - statusCode: '500' + description: Internal Server Error + - url: /dashboard/charts/{chart_id} + method: updateById + httpMethod: patch + tag: Charts + typeScriptTag: charts + description: Update Chart by ID + parameters: + - name: chartId + schema: string + required: true + description: The ID of the chart to update. + example: 45813776-8934-442d-adf7-74ec921c53bf + - name: tags + schema: array + description: '' + example: *ref_5 + - name: description + schema: string + description: '' + example: This is a description for a sample table. + - name: definition + schema: string + description: '' + example: \n# Castae illa\n\n## Finemque aequore\n\nLorem markdownum motus + - name: pii + schema: boolean + description: '' + example: false + - name: verified + schema: boolean + description: '' + example: true + - name: published + schema: boolean + description: '' + example: true + - name: teams + schema: array + description: '' + example: *ref_6 + - name: owners + schema: array + description: '' + example: *ref_7 + - name: collections + schema: array + description: '' + example: *ref_8 + - name: subscribers + schema: array + description: '' + example: *ref_9 + - name: properties + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Not Found + - statusCode: '500' + description: Internal Server Error + - url: /lineage/manual + method: listObjectsWithFiltering + httpMethod: get + tag: Lineage + typeScriptTag: lineage + description: List Lineage + parameters: + - name: fromEntityIn + schema: string + description: '' + example: 7879886b-9e0e-4d02-8b37-c7d3c496a587 + - name: toEntityIn + schema: string + description: '' + example: b500ef23-c9b4-4259-a87d-d77b8b588f06 + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /lineage/manual + method: createNewLineageManually + httpMethod: post + tag: Lineage + typeScriptTag: lineage + description: Create new Lineage + parameters: + - name: from_entity + schema: string + description: '' + example: 7879886b-9e0e-4d02-8b37-c7d3c496a587 + - name: to_entity + schema: string + description: '' + example: b500ef23-c9b4-4259-a87d-d77b8b588f06 + - name: direction + schema: string + description: '' + example: DOWNSTREAM + responses: + - statusCode: '201' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /lineage/manual/{lineage_id} + method: deleteById + httpMethod: delete + tag: Lineage + typeScriptTag: lineage + description: Delete Lineage by ID + parameters: + - name: lineageId + schema: string + required: true + description: The ID of the lineage entry to delete. + example: 34d983b3-bfe0-4b49-abea-0692c8be6693 + responses: + - statusCode: '204' + description: No Content + - statusCode: '404' + description: Not Found + - statusCode: '500' + description: Internal Server Error + - url: /lineage/manual/{lineage_id} + method: getById + httpMethod: get + tag: Lineage + typeScriptTag: lineage + description: Get Lineage by ID + parameters: + - name: lineageId + schema: string + required: true + description: The ID of the lineage entry to retrieve. + example: 34d983b3-bfe0-4b49-abea-0692c8be6693 + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Not Found + - statusCode: '500' + description: Internal Server Error + - url: /tag + method: list + httpMethod: get + tag: Tags + typeScriptTag: tags + description: List Tags + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /tag + method: createNewTag + httpMethod: post + tag: Tags + typeScriptTag: tags + description: Create a new Tag + parameters: + - name: description + schema: string + description: '' + example: This is a sample tag. + - name: name + schema: string + description: '' + example: Sample Tag + - name: color + schema: string + description: '' + example: '#4299E1' + responses: + - statusCode: '201' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /tag/{tag_id} + method: deleteById + httpMethod: delete + tag: Tags + typeScriptTag: tags + description: Delete Tag by ID + parameters: + - name: tagId + schema: string + required: true + description: The ID of the tag to delete. + example: 69e0b863-8bb8-47e1-b566-8b8d57441c70 + responses: + - statusCode: '204' + description: No Content + - statusCode: '404' + description: Not Found + - statusCode: '500' + description: Internal Server Error + - url: /tag/{tag_id} + method: getById + httpMethod: get + tag: Tags + typeScriptTag: tags + description: Get Tag by ID + parameters: + - name: tagId + schema: string + required: true + description: The ID of the tag to retrieve. + example: 69e0b863-8bb8-47e1-b566-8b8d57441c70 + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Not Found + - statusCode: '500' + description: Internal Server Error + - url: /tag/{tag_id} + method: updateById + httpMethod: patch + tag: Tags + typeScriptTag: tags + description: Update Tag by ID + parameters: + - name: tagId + schema: string + required: true + description: The ID of the tag to update. + example: 38040671-8f1d-4322-b895-4fd7b73317bf + - name: color + schema: string + required: true + description: '' + example: '#316650' + responses: + - statusCode: '204' + description: No Content + - statusCode: '404' + description: Not Found + - statusCode: '500' + description: Internal Server Error + - url: /user + method: list + httpMethod: get + tag: Users + typeScriptTag: users + description: List Users + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /user + method: createNewUser + httpMethod: post + tag: Users + typeScriptTag: users + description: Create a New User + parameters: + - name: first_name + schema: string + description: '' + example: Sample + - name: last_name + schema: string + description: '' + example: User + - name: email + schema: string + description: '' + example: sample@sample.com + - name: role + schema: string + description: '' + example: editor + - name: _role + schema: string + description: '' + example: editor + responses: + - statusCode: '201' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /user/{id} + method: deleteById + httpMethod: delete + tag: Users + typeScriptTag: users + description: Delete User by ID + parameters: + - name: id + schema: string + required: true + description: The ID of the user to delete. + example: 3131f219-16bb-4c95-853a-894ae12db42a + responses: + - statusCode: '204' + description: No Content + - statusCode: '404' + description: Not Found + - statusCode: '500' + description: Internal Server Error + - url: /user/{id} + method: getUserById + httpMethod: get + tag: Users + typeScriptTag: users + description: Get User by ID + parameters: + - name: id + schema: string + required: true + description: The ID of the user to retrieve. + example: 3131f219-16bb-4c95-853a-894ae12db42a + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Not Found + - statusCode: '500' + description: Internal Server Error + - url: /user/{id} + method: updateById + httpMethod: patch + tag: Users + typeScriptTag: users + description: Update User by ID + parameters: + - name: id + schema: string + required: true + description: The ID of the user to update. + example: 3131f219-16bb-4c95-853a-894ae12db42a + - name: first_name + schema: string + description: '' + example: Sample + - name: last_name + schema: string + description: '' + example: User + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '404' + description: User not found + - statusCode: '500' + description: Internal Server Error + - url: /auth/teams + method: getList + httpMethod: get + tag: Teams + typeScriptTag: teams + description: List Teams + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /auth/teams + method: createNewTeam + httpMethod: post + tag: Teams + typeScriptTag: teams + description: Create a New Team + parameters: + - name: description + schema: string + description: '' + example: This is the best team in this workspace. + - name: name + schema: string + description: '' + example: Test Team + - name: icon + schema: string + description: '' + example: 😀 + - name: type + schema: string + description: '' + example: OPEN + - name: sidebar_settings + schema: object + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /auth/teams/{id} + method: deleteById + httpMethod: delete + tag: Teams + typeScriptTag: teams + description: Delete Team by ID + parameters: + - name: id + schema: string + required: true + description: The ID of the team to delete. + example: 3131f219-16bb-4c95-853a-894ae12db42a + responses: + - statusCode: '204' + description: No Content + - statusCode: '404' + description: Not Found + - statusCode: '500' + description: Internal Server Error + - url: /auth/teams/{id} + method: getById + httpMethod: get + tag: Teams + typeScriptTag: teams + description: Get Team by ID + parameters: + - name: id + schema: string + required: true + description: The ID of the team to retrieve. + example: 3131f219-16bb-4c95-853a-894ae12db42a + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Not Found + - statusCode: '500' + description: Internal Server Error + - url: /auth/teams/{id} + method: updateById + httpMethod: patch + tag: Teams + typeScriptTag: teams + description: Update Team by ID + parameters: + - name: id + schema: string + required: true + description: The ID of the team to update. + example: 3131f219-16bb-4c95-853a-894ae12db42a + - name: name + schema: string + description: '' + example: New Team + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '404' + description: User not found + - statusCode: '500' + description: Internal Server Error + - url: /auth/group + method: list + httpMethod: get + tag: User Groups + typeScriptTag: userGroups + description: List User Groups + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /auth/group + method: createNewGroup + httpMethod: post + tag: User Groups + typeScriptTag: userGroups + description: Create a New User Group + parameters: + - name: description + schema: string + description: '' + example: Users responsible for keeping documentation up to date. + - name: name + schema: string + description: '' + example: Data Stewards + - name: icon + schema: string + description: '' + example: 😀 + - name: users + schema: array + description: '' + example: + - 33733f42-8ff7-460b-9e20-50a2133d3bb0 + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + responses: + - statusCode: '201' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /auth/group/{id} + method: deleteById + httpMethod: delete + tag: User Groups + typeScriptTag: userGroups + description: Delete User Group by ID + parameters: + - name: id + schema: string + required: true + description: The ID of the group to delete. + example: 3131f219-16bb-4c95-853a-894ae12db42a + responses: + - statusCode: '204' + description: No Content + - statusCode: '404' + description: Not Found + - statusCode: '500' + description: Internal Server Error + - url: /auth/group/{id} + method: getUserGroupById + httpMethod: get + tag: User Groups + typeScriptTag: userGroups + description: Get User Group by ID + parameters: + - name: id + schema: string + required: true + description: The ID of the group to retrieve. + example: 3131f219-16bb-4c95-853a-894ae12db42a + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Not Found + - statusCode: '500' + description: Internal Server Error + - url: /auth/group/{id} + method: updateById + httpMethod: patch + tag: User Groups + typeScriptTag: userGroups + description: Update User Group by ID + parameters: + - name: id + schema: string + required: true + description: The ID of the group to update. + example: 3131f219-16bb-4c95-853a-894ae12db42a + - name: name + schema: string + description: '' + example: New Group + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '404' + description: User not found + - statusCode: '500' + description: Internal Server Error + - url: /dictionary/terms + method: getListByTitle + httpMethod: get + tag: Terms + typeScriptTag: terms + description: List Dictionary Terms + parameters: + - name: title + schema: string + description: Filter terms by title (https://docs.secoda.co/ + example: Sample Dictionary Term + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /dictionary/terms + method: createNewTerm + httpMethod: post + tag: Terms + typeScriptTag: terms + description: Create a New Dictionary Term + parameters: + - name: tags + schema: array + description: '' + example: *ref_0 + - name: title + schema: string + description: '' + example: Sample Title + - name: description + schema: string + description: '' + example: This is a description for a sample table. + - name: integration + schema: string + description: '' + example: ca529385-fbc9-4934-afae-e372affe795b + - name: definition + schema: string + description: '' + example: \n# Castae illa\n\n## Finemque aequore\n\nLorem markdownum motus + - name: parent + schema: string + description: '' + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + - name: pii + schema: boolean + description: '' + example: false + - name: verified + schema: boolean + description: '' + example: true + - name: published + schema: boolean + description: '' + example: true + - name: teams + schema: array + description: '' + example: *ref_1 + - name: owners + schema: array + description: '' + example: *ref_2 + - name: collections + schema: array + description: '' + example: *ref_3 + - name: subscribers + schema: array + description: '' + example: *ref_4 + - name: properties + schema: object + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /dictionary/terms/{term_id} + method: deleteById + httpMethod: delete + tag: Terms + typeScriptTag: terms + description: Delete Dictionary Term by ID + parameters: + - name: termId + schema: string + required: true + description: The unique identifier of the dictionary term to delete + example: 61ce0a34-ce90-4f1a-a135-f122dcbed242 + responses: + - statusCode: '204' + description: Term deleted successfully + - statusCode: '404' + description: Term not found + - statusCode: '500' + description: Internal Server Error + - url: /dictionary/terms/{term_id} + method: getById + httpMethod: get + tag: Terms + typeScriptTag: terms + description: Get Dictionary Term by ID + parameters: + - name: termId + schema: string + required: true + description: The unique identifier of the dictionary term + example: 61ce0a34-ce90-4f1a-a135-f122dcbed242 + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Term not found + - statusCode: '500' + description: Internal Server Error + - url: /dictionary/terms/{term_id} + method: updateById + httpMethod: patch + tag: Terms + typeScriptTag: terms + description: Edit Dictionary Term by ID + parameters: + - name: termId + schema: string + required: true + description: The unique identifier of the dictionary term to edit + example: 61ce0a34-ce90-4f1a-a135-f122dcbed24 + - name: tags + schema: array + description: '' + example: *ref_5 + - name: description + schema: string + description: '' + example: This is a description for a sample table. + - name: definition + schema: string + description: '' + example: \n# Castae illa\n\n## Finemque aequore\n\nLorem markdownum motus + - name: pii + schema: boolean + description: '' + example: false + - name: verified + schema: boolean + description: '' + example: true + - name: published + schema: boolean + description: '' + example: true + - name: teams + schema: array + description: '' + example: *ref_6 + - name: owners + schema: array + description: '' + example: *ref_7 + - name: collections + schema: array + description: '' + example: *ref_8 + - name: subscribers + schema: array + description: '' + example: *ref_9 + - name: properties + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '404' + description: Term not found + - statusCode: '500' + description: Internal Server Error + - url: /collection/collections + method: listCollectionsByTitle + httpMethod: get + tag: Collections + typeScriptTag: collections + description: List Collections + parameters: + - name: title + schema: string + description: Filter collections by title (https://docs.secoda.co/ + example: Sample Collection + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /collection/collections + method: createNewCollection + httpMethod: post + tag: Collections + typeScriptTag: collections + description: Create a New Collection + parameters: + - name: tags + schema: array + description: '' + example: *ref_0 + - name: title + schema: string + description: '' + example: Sample Title + - name: description + schema: string + description: '' + example: This is a description for a sample table. + - name: integration + schema: string + description: '' + example: ca529385-fbc9-4934-afae-e372affe795b + - name: definition + schema: string + description: '' + example: \n# Castae illa\n\n## Finemque aequore\n\nLorem markdownum motus + - name: parent + schema: string + description: '' + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + - name: pii + schema: boolean + description: '' + example: false + - name: verified + schema: boolean + description: '' + example: true + - name: published + schema: boolean + description: '' + example: true + - name: teams + schema: array + description: '' + example: *ref_1 + - name: owners + schema: array + description: '' + example: *ref_2 + - name: collections + schema: array + description: '' + example: *ref_3 + - name: subscribers + schema: array + description: '' + example: *ref_4 + - name: properties + schema: object + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /collection/collections/{collection_id} + method: deleteById + httpMethod: delete + tag: Collections + typeScriptTag: collections + description: Delete Collection by ID + parameters: + - name: collectionId + schema: string + required: true + description: The unique identifier of the collection to delete + example: 3ea9a7c2-9538-46a0-899d-b2018c80113c + responses: + - statusCode: '204' + description: Collection deleted successfully + - statusCode: '404' + description: Collection not found + - statusCode: '500' + description: Internal Server Error + - url: /collection/collections/{collection_id} + method: getById + httpMethod: get + tag: Collections + typeScriptTag: collections + description: Get Collection by ID + parameters: + - name: collectionId + schema: string + required: true + description: The unique identifier of the collection + example: 3ea9a7c2-9538-46a0-899d-b2018c80113c + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Collection not found + - statusCode: '500' + description: Internal Server Error + - url: /collection/collections/{collection_id} + method: updateById + httpMethod: patch + tag: Collections + typeScriptTag: collections + description: Edit Collection by ID + parameters: + - name: collectionId + schema: string + required: true + description: The unique identifier of the collection to edit + example: 3ea9a7c2-9538-46a0-899d-b2018c80113c + - name: tags + schema: array + description: '' + example: *ref_5 + - name: description + schema: string + description: '' + example: This is a description for a sample table. + - name: definition + schema: string + description: '' + example: \n# Castae illa\n\n## Finemque aequore\n\nLorem markdownum motus + - name: pii + schema: boolean + description: '' + example: false + - name: verified + schema: boolean + description: '' + example: true + - name: published + schema: boolean + description: '' + example: true + - name: teams + schema: array + description: '' + example: *ref_6 + - name: owners + schema: array + description: '' + example: *ref_7 + - name: collections + schema: array + description: '' + example: *ref_8 + - name: subscribers + schema: array + description: '' + example: *ref_9 + - name: properties + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '404' + description: Collection not found + - statusCode: '500' + description: Internal Server Error + - url: /question/questions + method: getList + httpMethod: get + tag: Questions + typeScriptTag: questions + description: List Questions + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /question/questions + method: createNewQuestion + httpMethod: post + tag: Questions + typeScriptTag: questions + description: Create a New Question + parameters: + - name: tags + schema: array + description: '' + example: *ref_0 + - name: title + schema: string + description: '' + example: Sample Title + - name: description + schema: string + description: '' + example: This is a description for a sample table. + - name: integration + schema: string + description: '' + example: ca529385-fbc9-4934-afae-e372affe795b + - name: definition + schema: string + description: '' + example: \n# Castae illa\n\n## Finemque aequore\n\nLorem markdownum motus + - name: parent + schema: string + description: '' + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + - name: pii + schema: boolean + description: '' + example: false + - name: verified + schema: boolean + description: '' + example: true + - name: published + schema: boolean + description: '' + example: true + - name: teams + schema: array + description: '' + example: *ref_1 + - name: owners + schema: array + description: '' + example: *ref_2 + - name: collections + schema: array + description: '' + example: *ref_3 + - name: subscribers + schema: array + description: '' + example: *ref_4 + - name: properties + schema: object + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /question/questions/{question_id} + method: deleteById + httpMethod: delete + tag: Questions + typeScriptTag: questions + description: Delete Question by ID + parameters: + - name: questionId + schema: string + required: true + description: The unique identifier of the question to delete + example: 4272310f-0129-4982-8849-4b20edd3f2d5 + responses: + - statusCode: '204' + description: Question deleted successfully + - statusCode: '404' + description: Question not found + - statusCode: '500' + description: Internal Server Error + - url: /question/questions/{question_id} + method: getById + httpMethod: get + tag: Questions + typeScriptTag: questions + description: Get Question by ID + parameters: + - name: questionId + schema: string + required: true + description: The unique identifier of the question + example: 7795133a-6e36-4ef2-b95a-664babb99b71 + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Question not found + - statusCode: '500' + description: Internal Server Error + - url: /question/questions/{question_id} + method: updateById + httpMethod: patch + tag: Questions + typeScriptTag: questions + description: Edit Question by ID + parameters: + - name: questionId + schema: string + required: true + description: The unique identifier of the question to edit + example: 7795133a-6e36-4ef2-b95a-664babb99b71 + - name: tags + schema: array + description: '' + example: *ref_5 + - name: description + schema: string + description: '' + example: This is a description for a sample table. + - name: definition + schema: string + description: '' + example: \n# Castae illa\n\n## Finemque aequore\n\nLorem markdownum motus + - name: pii + schema: boolean + description: '' + example: false + - name: verified + schema: boolean + description: '' + example: true + - name: published + schema: boolean + description: '' + example: true + - name: teams + schema: array + description: '' + example: *ref_6 + - name: owners + schema: array + description: '' + example: *ref_7 + - name: collections + schema: array + description: '' + example: *ref_8 + - name: subscribers + schema: array + description: '' + example: *ref_9 + - name: properties + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '404' + description: Question not found + - statusCode: '500' + description: Internal Server Error + - url: /question/replies + method: listReplies + httpMethod: get + tag: Questions + typeScriptTag: questions + description: List Question Replies + parameters: + - name: questionId + schema: string + description: Filter replies by question_id (https://docs.secoda.co/ + example: 7795133a-6e36-4ef2-b95a-664babb99b71 + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /question/replies + method: createNewReply + httpMethod: post + tag: Questions + typeScriptTag: questions + description: Create a New Question Reply + parameters: + - name: definition + schema: string + description: '' + example: Replying to the question + - name: accepted_answer + schema: boolean + description: '' + example: false + - name: parent + schema: string + description: '' + example: 7795133a-6e36-4ef2-b95a-664babb99b71 + - name: owners + schema: array + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /question/replies/{reply_id} + method: deleteReplyById + httpMethod: delete + tag: Questions + typeScriptTag: questions + description: Delete Question Reply by ID + parameters: + - name: replyId + schema: string + required: true + description: The unique identifier of the reply to delete + example: 47f9d5ab-4ae1-4eea-a8b8-6d3847829b3f + responses: + - statusCode: '204' + description: Reply deleted successfully + - statusCode: '404' + description: Reply not found + - statusCode: '500' + description: Internal Server Error + - url: /question/replies/{reply_id} + method: getReplyById + httpMethod: get + tag: Questions + typeScriptTag: questions + description: Get Question Reply by ID + parameters: + - name: replyId + schema: string + required: true + description: The unique identifier of the reply + example: 47f9d5ab-4ae1-4eea-a8b8-6d3847829b3f + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Reply not found + - statusCode: '500' + description: Internal Server Error + - url: /question/replies/{reply_id} + method: editReplyById + httpMethod: patch + tag: Questions + typeScriptTag: questions + description: Edit Question Reply by ID + parameters: + - name: replyId + schema: string + required: true + description: The unique identifier of the reply to edit + example: 47f9d5ab-4ae1-4eea-a8b8-6d3847829b3f + - name: definition + schema: string + description: '' + example: Changing the answer. + - name: accepted_answer + schema: boolean + description: '' + example: false + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '404' + description: Reply not found + - statusCode: '500' + description: Internal Server Error + - url: /document + method: listDocumentsByTitle + httpMethod: get + tag: Documents + typeScriptTag: documents + description: List Documents + parameters: + - name: title + schema: string + description: Filter documents by title (https://docs.secoda.co/ + example: Sample Document + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /document + method: createNewDocument + httpMethod: post + tag: Documents + typeScriptTag: documents + description: Create a New Document + parameters: + - name: tags + schema: array + description: '' + example: *ref_0 + - name: title + schema: string + description: '' + example: Sample Title + - name: description + schema: string + description: '' + example: This is a description for a sample table. + - name: integration + schema: string + description: '' + example: ca529385-fbc9-4934-afae-e372affe795b + - name: definition + schema: string + description: '' + example: \n# Castae illa\n\n## Finemque aequore\n\nLorem markdownum motus + - name: parent + schema: string + description: '' + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + - name: pii + schema: boolean + description: '' + example: false + - name: verified + schema: boolean + description: '' + example: true + - name: published + schema: boolean + description: '' + example: true + - name: teams + schema: array + description: '' + example: *ref_1 + - name: owners + schema: array + description: '' + example: *ref_2 + - name: collections + schema: array + description: '' + example: *ref_3 + - name: subscribers + schema: array + description: '' + example: *ref_4 + - name: properties + schema: object + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /document/{document_id} + method: deleteById + httpMethod: delete + tag: Documents + typeScriptTag: documents + description: Delete Document by ID + parameters: + - name: documentId + schema: string + required: true + description: The unique identifier of the document to delete + example: 1f5c76c3-e7a3-406f-b51e-7ba220244f1b + responses: + - statusCode: '204' + description: Document deleted successfully + - statusCode: '404' + description: Document not found + - statusCode: '500' + description: Internal Server Error + - url: /document/{document_id} + method: getById + httpMethod: get + tag: Documents + typeScriptTag: documents + description: Get Document by ID + parameters: + - name: documentId + schema: string + required: true + description: The unique identifier of the document + example: 1f5c76c3-e7a3-406f-b51e-7ba220244f1b + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Document not found + - statusCode: '500' + description: Internal Server Error + - url: /document/{document_id} + method: updateById + httpMethod: patch + tag: Documents + typeScriptTag: documents + description: Edit Document by ID + parameters: + - name: documentId + schema: string + required: true + description: The unique identifier of the document to edit + example: 1f5c76c3-e7a3-406f-b51e-7ba220244f1b + - name: tags + schema: array + description: '' + example: *ref_5 + - name: description + schema: string + description: '' + example: This is a description for a sample table. + - name: definition + schema: string + description: '' + example: \n# Castae illa\n\n## Finemque aequore\n\nLorem markdownum motus + - name: pii + schema: boolean + description: '' + example: false + - name: verified + schema: boolean + description: '' + example: true + - name: published + schema: boolean + description: '' + example: true + - name: teams + schema: array + description: '' + example: *ref_6 + - name: owners + schema: array + description: '' + example: *ref_7 + - name: collections + schema: array + description: '' + example: *ref_8 + - name: subscribers + schema: array + description: '' + example: *ref_9 + - name: properties + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '404' + description: Document not found + - statusCode: '500' + description: Internal Server Error + - url: /query/queries + method: getList + httpMethod: get + tag: Queries + typeScriptTag: queries + description: List Queries + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /query/queries/{query_id} + method: getById + httpMethod: get + tag: Queries + typeScriptTag: queries + description: Get Query by ID + parameters: + - name: queryId + schema: string + required: true + description: The unique identifier of the query + example: 871fc00d-828b-4348-9353-c635313ee459 + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Query not found + - statusCode: '500' + description: Internal Server Error + - url: /monitors/monitors + method: listMonitors + httpMethod: get + tag: Monitors + typeScriptTag: monitors + description: List Monitors + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /monitors/monitors/{monitor_id} + method: getById + httpMethod: get + tag: Monitors + typeScriptTag: monitors + description: Get Monitor by ID + parameters: + - name: monitorId + schema: string + required: true + description: The unique identifier of the monitor + example: 871fc00d-828b-4348-9353-c635313ee459 + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Monitor not found + - statusCode: '500' + description: Internal Server Error + - url: /monitors/incidents + method: listIncidents + httpMethod: get + tag: Monitors + typeScriptTag: monitors + description: List Incidents + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /monitors/incident/{incident_id} + method: getIncidentById + httpMethod: get + tag: Monitors + typeScriptTag: monitors + description: Get Incident by ID + parameters: + - name: incidentId + schema: string + required: true + description: The unique identifier of the incident + example: 871fc00d-828b-4348-9353-c635313ee459 + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Incident not found + - statusCode: '500' + description: Internal Server Error + - url: /monitors/measurements + method: listMeasurements + httpMethod: get + tag: Monitors + typeScriptTag: monitors + description: List Measurements + parameters: + - name: monitor + schema: string + description: The unique identifier of the monitor + example: 871fc00d-828b-4348-9353-c635313ee459 + - name: incidentId + schema: string + description: The unique identifier of the incident + example: 40b3e4d3-3bf8-4ec4-ae87-56d1e738ca76 + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /event/category + method: list + httpMethod: get + tag: Event Categories + typeScriptTag: eventCategories + description: List Event Categories + parameters: + - name: title + schema: string + description: Filter event categories by title + example: Landing Page + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /event/category + method: createNewCategory + httpMethod: post + tag: Event Categories + typeScriptTag: eventCategories + description: Create a New Event Category + parameters: + - name: title + schema: string + description: '' + example: Landing Page + - name: integration + schema: string + description: '' + - name: teams + schema: array + description: '' + example: + - e8ac09ede51e4e618eaf59942c98c260 + responses: + - statusCode: '201' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /event/category/{event_category_id} + method: getById + httpMethod: get + tag: Event Categories + typeScriptTag: eventCategories + description: Get Event Category by Id + parameters: + - name: eventCategoryId + schema: string + required: true + description: ID of the event category to retrieve + example: 43d7c33dad744dfbbfadc172f6701afb + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Not Found + - statusCode: '500' + description: Internal Server Error + - url: /event/events + method: listEventsByFiltering + httpMethod: get + tag: Events + typeScriptTag: events + description: List Events + parameters: + - name: integrationId + schema: string + description: Filter by integration ID + example: cf103b4785764467ad34384cd523abd9 + - name: parentId + schema: string + description: Filter by parent ID + example: 43d7c33dad744dfbbfadc172f6701afb + - name: title + schema: string + description: Filter by title + example: Clicked + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /event/events + method: createNewEvent + httpMethod: post + tag: Events + typeScriptTag: events + description: Create a new Event + parameters: + - name: tags + schema: array + description: '' + example: *ref_0 + - name: title + schema: string + description: '' + example: Sample Title + - name: description + schema: string + description: '' + example: This is a description for a sample table. + - name: integration + schema: string + description: '' + example: ca529385-fbc9-4934-afae-e372affe795b + - name: definition + schema: string + description: '' + example: \n# Castae illa\n\n## Finemque aequore\n\nLorem markdownum motus + - name: parent + schema: string + description: '' + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + - name: pii + schema: boolean + description: '' + example: false + - name: verified + schema: boolean + description: '' + example: true + - name: published + schema: boolean + description: '' + example: true + - name: teams + schema: array + description: '' + example: *ref_1 + - name: owners + schema: array + description: '' + example: *ref_2 + - name: collections + schema: array + description: '' + example: *ref_3 + - name: subscribers + schema: array + description: '' + example: *ref_4 + - name: properties + schema: object + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /event/events/{event_id} + method: deleteById + httpMethod: delete + tag: Events + typeScriptTag: events + description: Delete Event by ID + parameters: + - name: eventId + schema: string + required: true + description: The ID of the event to delete. + example: EVENT_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Not Found + - statusCode: '500' + description: Internal Server Error + - url: /event/events/{event_id} + method: getById + httpMethod: get + tag: Events + typeScriptTag: events + description: Get Event by ID + parameters: + - name: eventId + schema: string + required: true + description: The ID of the event to retrieve. + example: 226dc8aafa8d46468b116652cdc64065 + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Not Found + - statusCode: '500' + description: Internal Server Error + - url: /event/events/{event_id} + method: updateById + httpMethod: patch + tag: Events + typeScriptTag: events + description: Update an Event by ID + parameters: + - name: eventId + schema: string + required: true + description: The ID of the event to update. + example: 226dc8aafa8d46468b116652cdc64065 + - name: tags + schema: array + description: '' + example: *ref_5 + - name: description + schema: string + description: '' + example: This is a description for a sample table. + - name: definition + schema: string + description: '' + example: \n# Castae illa\n\n## Finemque aequore\n\nLorem markdownum motus + - name: pii + schema: boolean + description: '' + example: false + - name: verified + schema: boolean + description: '' + example: true + - name: published + schema: boolean + description: '' + example: true + - name: teams + schema: array + description: '' + example: *ref_6 + - name: owners + schema: array + description: '' + example: *ref_7 + - name: collections + schema: array + description: '' + example: *ref_8 + - name: subscribers + schema: array + description: '' + example: *ref_9 + - name: properties + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Not Found + - statusCode: '500' + description: Internal Server Error + - url: /event/event_properties + method: listEventProperties + httpMethod: get + tag: Event Properties + typeScriptTag: eventProperties + description: List Event Properties + parameters: + - name: integrationId + schema: string + description: Filter by integration ID + example: cf103b4785764467ad34384cd523abd9 + - name: parentId + schema: string + description: Filter by parent ID + example: 43d7c33dad744dfbbfadc172f6701afb + - name: title + schema: string + description: Filter by title + example: 'true' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad Request + - statusCode: '500' + description: Internal Server Error + - url: /event/event_properties + method: createNewProperty + httpMethod: post + tag: Event Properties + typeScriptTag: eventProperties + description: Create a new Event Property + parameters: + - name: tags + schema: array + description: '' + example: *ref_0 + - name: title + schema: string + description: '' + example: Sample Title + - name: description + schema: string + description: '' + example: This is a description for a sample table. + - name: integration + schema: string + description: '' + example: ca529385-fbc9-4934-afae-e372affe795b + - name: definition + schema: string + description: '' + example: \n# Castae illa\n\n## Finemque aequore\n\nLorem markdownum motus + - name: parent + schema: string + description: '' + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + - name: pii + schema: boolean + description: '' + example: false + - name: verified + schema: boolean + description: '' + example: true + - name: published + schema: boolean + description: '' + example: true + - name: teams + schema: array + description: '' + example: *ref_1 + - name: owners + schema: array + description: '' + example: *ref_2 + - name: collections + schema: array + description: '' + example: *ref_3 + - name: subscribers + schema: array + description: '' + example: *ref_4 + - name: properties + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Not Found + - statusCode: '500' + description: Internal Server Error + - url: /event/event_properties/{event_property_id} + method: deleteById + httpMethod: delete + tag: Event Properties + typeScriptTag: eventProperties + description: Delete Event Property by ID + parameters: + - name: eventPropertyId + schema: string + required: true + description: The ID of the event property to delete. + example: EVENT_PROPERTY_ID + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Not Found + - statusCode: '500' + description: Internal Server Error + - url: /event/event_properties/{event_property_id} + method: getById + httpMethod: get + tag: Event Properties + typeScriptTag: eventProperties + description: Get Event Property by ID + parameters: + - name: eventPropertyId + schema: string + required: true + description: The ID of the event property to retrieve. + example: 226dc8aafa8d46468b116652cdc64065 + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Not Found + - statusCode: '500' + description: Internal Server Error + - url: /event/event_properties/{event_property_id} + method: updateByIdentifier + httpMethod: patch + tag: Event Properties + typeScriptTag: eventProperties + description: Update an Event Property by ID + parameters: + - name: eventPropertyId + schema: string + required: true + description: The ID of the event property to update. + example: 226dc8aafa8d46468b116652cdc64065 + - name: tags + schema: array + description: '' + example: *ref_5 + - name: description + schema: string + description: '' + example: This is a description for a sample table. + - name: definition + schema: string + description: '' + example: \n# Castae illa\n\n## Finemque aequore\n\nLorem markdownum motus + - name: pii + schema: boolean + description: '' + example: false + - name: verified + schema: boolean + description: '' + example: true + - name: published + schema: boolean + description: '' + example: true + - name: teams + schema: array + description: '' + example: *ref_6 + - name: owners + schema: array + description: '' + example: *ref_7 + - name: collections + schema: array + description: '' + example: *ref_8 + - name: subscribers + schema: array + description: '' + example: *ref_9 + - name: properties + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Not Found + - statusCode: '500' + description: Internal Server Error +numberOfSchemas: 66 +apiDescription: > + Use this API to programmatically use Secoda's data enablement features. With + these APIs, you can bring in resource metadata, build documentation pipelines, + and manage workspace settings programmatically. + + + To learn more about Secoda, visit the [Secoda + documentation](https://docs.secoda.co/). + + + To get in touch with Secoda, contact customer support at support@secoda.co. + + + ## Getting Started + + + ### Authentication + + + Secoda API's require an Authorization header with a Bearer token. You can + generate an API key in your workspace, as outlined + [here](https://docs.secoda.co/secoda-api/authentication). + + + ### Base URL + + + To determine the base URL of your API requests, please refer to the chart + below. + + + | Workspace URL | Base URL | + + | ---------------------- | ---------------------- | + + | app.secoda.co | api.secoda.co | + + | eu.secoda.co | eapi.secoda.co | + + | apac.secoda.co | aapi.secoda.co | + + + For teams with an On Premise or Managed instance with a custom domain, the + Base URL is the custom domain followed by `/api/v1`. + + + ## Helpful Information + + + Secoda’s APIs generally follow the CRUD pattern (Create, Read, Update, + Delete). The data elements that are managed with these APIs are called + Resources. Generally, each resource maps to an integration, with many set and + customizable properties called Metadata. + + + ### Important Terminology + + + **Workspace:** + + In Secoda, a workspace is the environment within the application where teams + can integrate resources and metadata and add documentation, either through the + UI or programatically through the API. + + + **Resource:** + + In Secoda, a resource is any entity that metadata can be added to. This + includes, but is not limited to, tables, dashboards, charts, columns, queries, + documents, dictionary terms, and more. + + + **Metadata:** + + In Secoda, metadata is the additional information you can provide to add + context to your resources. This includes descriptions, definitions, owners, + custom properties, and more. Metadata is the lifeblood of Secoda; the more you + put in, the more you'll get out of the tool! + + + ### Resource Heirarchy + + + Nearly all resources in Secoda can be nested under a parent. A resource has a + one to many relationship with its child. This means thats a parent resource + can have several children, but a child resource can only have one parent. + + + For Collections, Dictionary Terms, and Documents, the parent must be the same + resource type. However, there are two unique heirarchy structures that the + application expects when adding net new resources. + + + **Table Heirarchy:** Integration > Databases > Schemas > Tables > Columns > + Columns (if nested) + + + **Dashboard Heirarchy:** Integration > Groups > Dashboards > Charts diff --git a/sdks/db/cached-method-objects/from-custom-request_sellsy.com.yaml b/sdks/db/cached-method-objects/from-custom-request_sellsy.com.yaml new file mode 100644 index 000000000..857256661 --- /dev/null +++ b/sdks/db/cached-method-objects/from-custom-request_sellsy.com.yaml @@ -0,0 +1,9934 @@ +hash: 6c31e220de4b9a9b5b2f6cfa9591432d9a04348f161819c85853bfbcbe5710eb +methodObjects: + - url: /comments + method: getList + httpMethod: get + tag: Comments + typeScriptTag: comments + description: Comments List + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: embed + schema: array + description: > + Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: + `individuals.read`
- owner: `staffs.read`
- contact: + `contacts.read`
- related: by object type. Check the entire + documentation to verify the usual scopes requested for the types + returned + - name: order + schema: string + description: The order field + example: id + responses: + - statusCode: '200' + description: '' + - url: /comments + method: createComment + httpMethod: post + tag: Comments + typeScriptTag: comments + description: Create a comment + parameters: + - name: embed + schema: array + description: > + Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: + `individuals.read`
- owner: `staffs.read`
- contact: + `contacts.read`
- related: by object type. Check the entire + documentation to verify the usual scopes requested for the types + returned + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: verify + schema: boolean + description: >- + Flag to trigger validation only (set to true to validate payload + without persisting data) + responses: + - statusCode: '201' + description: Contains all properties + _embed for an Item endpoint + - statusCode: '204' + description: '' + - url: /comments/{id} + method: removeComment + httpMethod: delete + tag: Comments + typeScriptTag: comments + description: Delete a comment + parameters: [] + responses: + - statusCode: '204' + description: Comment deleted + - url: /comments/{id} + method: getDetails + httpMethod: get + tag: Comments + typeScriptTag: comments + description: Get comment details + parameters: + - name: embed + schema: array + description: > + Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: + `individuals.read`
- owner: `staffs.read`
- contact: + `contacts.read`
- related: by object type. Check the entire + documentation to verify the usual scopes requested for the types + returned + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: Contains all properties + _embed for an Item endpoint + - url: /comments/{id} + method: updateComment + httpMethod: put + tag: Comments + typeScriptTag: comments + description: Update a comment + parameters: + - name: embed + schema: array + description: > + Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: + `individuals.read`
- owner: `staffs.read`
- contact: + `contacts.read`
- related: by object type. Check the entire + documentation to verify the usual scopes requested for the types + returned + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: verify + schema: boolean + description: >- + Flag to trigger validation only (set to true to validate payload + without persisting data) + - name: description + schema: string + description: '' + example: Lorem ipsum dolor sit amet, consectetur adipiscing elit. + - name: timetracking + schema: undefined + description: '' + responses: + - statusCode: '200' + description: Contains all properties + _embed for an Item endpoint + - statusCode: '204' + description: '' + - url: /comments/search + method: searchComments + httpMethod: post + tag: Comments + typeScriptTag: comments + description: Search comments + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: embed + schema: array + description: > + Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: + `individuals.read`
- owner: `staffs.read`
- contact: + `contacts.read`
- related: by object type. Check the entire + documentation to verify the usual scopes requested for the types + returned + - name: order + schema: string + description: The order field + example: id + - name: filters + schema: object + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /companies + method: getList + httpMethod: get + tag: Companies + typeScriptTag: companies + description: Companies List + parameters: + - name: order + schema: string + description: The order field + example: id + - name: embed + schema: array + description: > + Example : `embed[]=invoicing_contact&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- main_contact, + dunning_contact, invoicing_contact: `contacts.read`
- + estimates,invoices,orders,deliveries: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is limited + to the 20 first results sorted in alphabetical order.
+ - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /companies + method: createNewCompany + httpMethod: post + tag: Companies + typeScriptTag: companies + description: Create a company + parameters: + - name: embed + schema: array + description: > + Example : `embed[]=invoicing_contact&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- main_contact, + dunning_contact, invoicing_contact: `contacts.read`
- + estimates,invoices,orders,deliveries: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is limited + to the 20 first results sorted in alphabetical order.
+ - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: verify + schema: boolean + description: >- + Flag to trigger validation only (set to true to validate payload + without persisting data) + - name: type + schema: string + required: true + description: '' + example: TYPE + - name: name + schema: string + required: true + description: '' + example: Example company + - name: email + schema: string + required: false + description: '' + example: contact@example-company.com + - name: website + schema: string + required: false + description: '' + example: http://example-company.com + - name: phone_number + schema: string + required: false + description: '' + example: '+33100000000' + - name: mobile_number + schema: string + required: false + description: '' + example: '+33600000000' + - name: fax_number + schema: string + required: false + description: '' + example: '+33100000000' + - name: legal_france + schema: object + required: false + description: '' + - name: capital + schema: string + required: false + description: '' + example: '4000' + - name: reference + schema: string + required: false + description: '' + example: CLI-1654 + - name: note + schema: string + required: false + description: '' + example: An handed-written note describing this company + - name: auxiliary_code + schema: string + required: false + description: '' + example: 0EX11C + - name: social + schema: object + required: false + description: '' + - name: rate_category_id + schema: integer + required: false + description: '' + example: 9956 + - name: accounting_code_id + schema: integer + required: false + description: '' + example: 12345 + - name: accounting_purchase_code_id + schema: integer + required: false + description: '' + example: 98556 + - name: owner_id + schema: integer + required: false + description: '' + example: 112 + - name: is_archived + schema: boolean + required: false + description: '' + example: false + - name: business_segment + schema: integer + required: false + description: '' + - name: number_of_employees + schema: integer + required: false + description: '' + - name: marketing_campaigns_subscriptions + schema: array + required: false + description: '' + - name: created + schema: string + required: false + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '204' + description: '' + - url: /companies/search + method: searchCompanies + httpMethod: post + tag: Companies + typeScriptTag: companies + description: Search companies + parameters: + - name: order + schema: string + description: The order field + example: id + - name: embed + schema: array + description: > + Example : `embed[]=invoicing_contact&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- main_contact, + dunning_contact, invoicing_contact: `contacts.read`
- + estimates,invoices,orders,deliveries: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is limited + to the 20 first results sorted in alphabetical order.
+ - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: filters + schema: object + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /companies/favourite-filters + method: listFavouriteFilters + httpMethod: get + tag: Companies + typeScriptTag: companies + description: List companies favourite filters + parameters: + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /companies/{id} + method: removeCompany + httpMethod: delete + tag: Companies + typeScriptTag: companies + description: Delete company + parameters: [] + responses: + - statusCode: '204' + description: Company deleted + - url: /companies/{id} + method: getInformations + httpMethod: get + tag: Companies + typeScriptTag: companies + description: Get Company + parameters: + - name: embed + schema: array + description: > + Example : `embed[]=invoicing_contact&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- main_contact, + dunning_contact, invoicing_contact: `contacts.read`
- + estimates,invoices,orders,deliveries: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is limited + to the 20 first results sorted in alphabetical order.
+ - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /companies/{id} + method: updateInformation + httpMethod: put + tag: Companies + typeScriptTag: companies + description: Update Company + parameters: + - name: embed + schema: array + description: > + Example : `embed[]=invoicing_contact&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- main_contact, + dunning_contact, invoicing_contact: `contacts.read`
- + estimates,invoices,orders,deliveries: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is limited + to the 20 first results sorted in alphabetical order.
+ - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: verify + schema: boolean + description: >- + Flag to trigger validation only (set to true to validate payload + without persisting data) + - name: name + schema: string + description: '' + example: Example company + - name: email + schema: string + description: '' + example: contact@example-company.com + - name: website + schema: string + description: '' + example: http://example-company.com + - name: phone_number + schema: string + description: '' + example: '+33100000000' + - name: mobile_number + schema: string + description: '' + example: '+33600000000' + - name: fax_number + schema: string + description: '' + example: '+33100000000' + - name: legal_france + schema: object + description: '' + - name: capital + schema: string + description: '' + example: '4000' + - name: reference + schema: string + description: '' + example: CLI-1654 + - name: note + schema: string + description: '' + example: An handed-written note describing this company + - name: auxiliary_code + schema: string + description: '' + example: 0EX11C + - name: social + schema: object + description: '' + - name: rate_category_id + schema: integer + description: '' + example: 9956 + - name: accounting_code_id + schema: integer + description: '' + example: 12345 + - name: accounting_purchase_code_id + schema: integer + description: '' + example: 98556 + - name: owner_id + schema: integer + description: '' + example: 112 + - name: is_archived + schema: boolean + description: '' + example: false + - name: business_segment + schema: integer + description: '' + - name: number_of_employees + schema: integer + description: '' + - name: marketing_campaigns_subscriptions + schema: array + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '204' + description: '' + - url: /companies/{companyId}/addresses + method: getAddresses + httpMethod: get + tag: Companies + typeScriptTag: companies + description: Get company addresses + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /companies/{companyId}/addresses + method: addAddress + httpMethod: post + tag: Companies + typeScriptTag: companies + description: Create a company address + parameters: + - name: verify + schema: boolean + description: >- + Flag to trigger validation only (set to true to validate payload + without persisting data) + - name: name + schema: string + required: true + description: '' + example: Main office + - name: address_line_1 + schema: string + required: true + description: '' + example: 30 Commercial Road + - name: address_line_2 + schema: string + required: false + description: '' + example: Finance and Accounting + - name: address_line_3 + schema: string + required: false + description: '' + example: Lighthouse Promotions + - name: address_line_4 + schema: string + required: false + description: '' + example: PO Box 215 + - name: postal_code + schema: string + required: true + description: '' + example: '75012' + - name: city + schema: string + required: true + description: '' + example: Paris + - name: country_code + schema: string + required: true + description: '' + example: FR + - name: is_invoicing_address + schema: boolean + required: false + description: '' + - name: is_delivery_address + schema: boolean + required: false + description: '' + - name: geocode + schema: object + required: false + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '204' + description: '' + - url: /companies/{companyId}/addresses/{id} + method: deleteAddress + httpMethod: delete + tag: Companies + typeScriptTag: companies + description: Delete a company address + parameters: [] + responses: + - statusCode: '204' + description: Address deleted + - url: /companies/{companyId}/addresses/{id} + method: getAddress + httpMethod: get + tag: Companies + typeScriptTag: companies + description: Get a company address + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /companies/{companyId}/addresses/{id} + method: updateAddress + httpMethod: put + tag: Companies + typeScriptTag: companies + description: Update a company address + parameters: + - name: verify + schema: boolean + description: >- + Flag to trigger validation only (set to true to validate payload + without persisting data) + - name: name + schema: string + description: '' + example: Main office + - name: address_line_1 + schema: string + description: '' + example: 30 Commercial Road + - name: address_line_2 + schema: string + description: '' + example: Finance and Accounting + - name: address_line_3 + schema: string + description: '' + example: Lighthouse Promotions + - name: address_line_4 + schema: string + description: '' + example: PO Box 215 + - name: postal_code + schema: string + description: '' + example: '75012' + - name: city + schema: string + description: '' + example: Paris + - name: country_code + schema: string + description: '' + example: FR + - name: is_invoicing_address + schema: boolean + description: '' + - name: is_delivery_address + schema: boolean + description: '' + - name: geocode + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '204' + description: '' + - url: /companies/{id}/payments + method: recordPayment + httpMethod: post + tag: Companies + typeScriptTag: companies + description: Record payment on a company + parameters: + - name: number + schema: string + required: false + description: '' + example: reference + - name: paid_at + schema: string + required: true + description: '' + example: '1970-01-01T00:00:00+00:00' + - name: payment_method_id + schema: integer + required: true + description: '' + example: 7 + - name: type + schema: string + required: true + description: '' + example: credit + - name: amount + schema: object + required: true + description: '' + - name: note + schema: string + required: false + description: '' + example: Invoice XXX paid + responses: + - statusCode: '201' + description: '' + - url: /companies/{id}/contacts + method: getContacts + httpMethod: get + tag: Companies + typeScriptTag: companies + description: Get a company contacts + parameters: + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: embed + schema: array + description: > + Example : `embed[]=delivery_address&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- + estimates,invoices,orders,deliveries: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is limited + to the 20 first results sorted in alphabetical order.
+ - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /companies/{companyId}/contacts/{contactId} + method: unlinkContact + httpMethod: delete + tag: Companies + typeScriptTag: companies + description: Unlink a contact of company + parameters: [] + responses: + - statusCode: '204' + description: Contact unlinked + - url: /companies/{companyId}/contacts/{contactId} + method: linkContact + httpMethod: post + tag: Companies + typeScriptTag: companies + description: Link a contact at one company + parameters: + - name: roles + schema: array + description: '' + example: + - main + - dunning + responses: + - statusCode: '200' + description: Contact already linked + - statusCode: '201' + description: Contact linked + - url: /companies/{companyId}/contacts/{contactId} + method: updateContactOfCompanyLink + httpMethod: put + tag: Companies + typeScriptTag: companies + description: Update a contact of company link + parameters: + - name: roles + schema: array + description: '' + example: + - main + - dunning + responses: + - statusCode: '200' + description: Contact updated + - url: /companies/{id}/custom-fields + method: getCustomFieldsList + httpMethod: get + tag: Companies + typeScriptTag: companies + description: Company custom fields List + parameters: + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /companies/{id}/custom-fields + method: updateCustomFields + httpMethod: put + tag: Companies + typeScriptTag: companies + description: Update Company custom fields + parameters: + - name: verify + schema: boolean + description: >- + Flag to trigger validation only (set to true to validate payload + without persisting data) + responses: + - statusCode: '200' + description: Company's custom fields updated + - statusCode: '204' + description: '' + - url: /companies/{companyId}/smart-tags + method: getSmartTagsList + httpMethod: get + tag: Companies + typeScriptTag: companies + description: Company smart tags List + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /companies/{companyId}/smart-tags + method: linkSmartTags + httpMethod: post + tag: Companies + typeScriptTag: companies + description: Link smart tags to company + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /companies/{companyId}/files + method: listFiles + httpMethod: get + tag: Companies + typeScriptTag: companies + description: List directories and files of a company + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /companies/{companyId}/files + method: attachFileToCompany + httpMethod: post + tag: Companies + typeScriptTag: companies + description: Attach file to a company + parameters: + - name: file + schema: string + required: true + description: '' + example: FILE + responses: + - statusCode: '201' + description: File schema + - url: /contacts/{id}/companies + method: getCompanies + httpMethod: get + tag: Contacts + typeScriptTag: contacts + description: Companies contact + parameters: + - name: id + schema: integer + required: true + description: Contact id + example: 0 + responses: + - statusCode: '200' + description: '' + - url: /smart-tags/{linkedtype}/autocomplete + method: autocompleteGet + httpMethod: get + tag: Smart Tags + typeScriptTag: smartTags + description: Smart tags autocomplete + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /smart-tags/{id} + method: deleteSmartTag + httpMethod: delete + tag: Smart Tags + typeScriptTag: smartTags + description: Delete a smart tags + parameters: [] + responses: + - statusCode: '200' + description: Smart tags deleted + - url: /custom-fields + method: getList + httpMethod: get + tag: Custom Fields + typeScriptTag: customFields + description: Custom Fields List + parameters: + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /custom-fields/{id} + method: getInformation + httpMethod: get + tag: Custom Fields + typeScriptTag: customFields + description: Get custom field + parameters: + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /custom-fields/search + method: search + httpMethod: post + tag: Custom Fields + typeScriptTag: customFields + description: Custom Fields Search + parameters: + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: filters + schema: object + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /estimates + method: getAll + httpMethod: get + tag: Estimates + typeScriptTag: estimates + description: Get all estimates + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: embed + schema: array + description: > + Example : `embed[]=payment_method_ids&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- payment_method_ids: `payments.read`
- company: + `companies.read`
- individual: `individuals.read`
- + contact: `contacts.read`
- cf.{custom_field_id} : + `custom-fields.read`
- smart_tags: `smart-tags.read`
+ Additionnally, the smart_tags embed is limited to the 20 first results + sorted in alphabetical order.
- related: by object type. Check + the entire documentation to verify the usual scopes requested for the + types returned

Aggregations on amounts only works + in addition with the currency filter + - name: order + schema: string + description: >- + The order field + + > Value `numero` is deprecated and will be deleted on the July 1st + 2022. Use `number` instead. + example: id + responses: + - statusCode: '200' + description: '' + - url: /estimates + method: createNewEstimate + httpMethod: post + tag: Estimates + typeScriptTag: estimates + description: Create estimate + parameters: + - name: embed + schema: array + description: > + Example : `embed[]=payment_method_ids&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- payment_method_ids: `payments.read`
- company: + `companies.read`
- individual: `individuals.read`
- + contact: `contacts.read`
- cf.{custom_field_id} : + `custom-fields.read`
- smart_tags: `smart-tags.read`
+ Additionnally, the smart_tags embed is limited to the 20 first results + sorted in alphabetical order.
- related: by object type. Check + the entire documentation to verify the usual scopes requested for the + types returned

Aggregations on amounts only works + in addition with the currency filter + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '201' + description: '' + - url: /estimates/search + method: searchEstimates + httpMethod: post + tag: Estimates + typeScriptTag: estimates + description: Search estimates + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: embed + schema: array + description: > + Example : `embed[]=payment_method_ids&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- payment_method_ids: `payments.read`
- company: + `companies.read`
- individual: `individuals.read`
- + contact: `contacts.read`
- cf.{custom_field_id} : + `custom-fields.read`
- smart_tags: `smart-tags.read`
+ Additionnally, the smart_tags embed is limited to the 20 first results + sorted in alphabetical order.
- related: by object type. Check + the entire documentation to verify the usual scopes requested for the + types returned

Aggregations on amounts only works + in addition with the currency filter + - name: order + schema: string + description: >- + The order field + + > Value `numero` is deprecated and will be deleted on the July 1st + 2022. Use `number` instead. + example: id + - name: filters + schema: object + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Validation and logic errors + - url: /estimates/{id}/custom-fields + method: listCustomFields + httpMethod: get + tag: Estimates + typeScriptTag: estimates + description: Estimate custom fields List + parameters: + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /estimates/{id}/custom-fields + method: updateCustomFields + httpMethod: put + tag: Estimates + typeScriptTag: estimates + description: Update Estimate custom fields + parameters: + - name: verify + schema: boolean + description: >- + Flag to trigger validation only (set to true to validate payload + without persisting data) + responses: + - statusCode: '200' + description: Estimate's custom fields updated + - statusCode: '204' + description: '' + - url: /estimates/favourite-filters + method: listFavouriteFilters + httpMethod: get + tag: Estimates + typeScriptTag: estimates + description: List estimates favourite filters + parameters: + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /estimates/{id} + method: getById + httpMethod: get + tag: Estimates + typeScriptTag: estimates + description: Get an estimate + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Estimate no found + - url: /estimates/{id} + method: updateEstimate + httpMethod: put + tag: Estimates + typeScriptTag: estimates + description: Update estimate + parameters: + - name: embed + schema: array + description: > + Example : `embed[]=payment_method_ids&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- payment_method_ids: `payments.read`
- company: + `companies.read`
- individual: `individuals.read`
- + contact: `contacts.read`
- cf.{custom_field_id} : + `custom-fields.read`
- smart_tags: `smart-tags.read`
+ Additionnally, the smart_tags embed is limited to the 20 first results + sorted in alphabetical order.
- related: by object type. Check + the entire documentation to verify the usual scopes requested for the + types returned

Aggregations on amounts only works + in addition with the currency filter + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /estimates/{id}/status + method: updateStatus + httpMethod: put + tag: Estimates + typeScriptTag: estimates + description: Update estimate status + parameters: + - name: embed + schema: array + description: > + Example : `embed[]=payment_method_ids&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- payment_method_ids: `payments.read`
- company: + `companies.read`
- individual: `individuals.read`
- + contact: `contacts.read`
- cf.{custom_field_id} : + `custom-fields.read`
- smart_tags: `smart-tags.read`
+ Additionnally, the smart_tags embed is limited to the 20 first results + sorted in alphabetical order.
- related: by object type. Check + the entire documentation to verify the usual scopes requested for the + types returned

Aggregations on amounts only works + in addition with the currency filter + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: status + schema: string + description: '' + example: sent + responses: + - statusCode: '200' + description: '' + - url: /estimates/compute + method: computeEstimate + httpMethod: post + tag: Estimates + typeScriptTag: estimates + description: Compute an estimate + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /estimates/{documentId}/files + method: getFilesForEstimate + httpMethod: get + tag: Estimates + typeScriptTag: estimates + description: List directories and files of an estimate + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /estimates/{documentId}/files + method: attachFile + httpMethod: post + tag: Estimates + typeScriptTag: estimates + description: Attach file to an estimate + parameters: + - name: file + schema: string + required: true + description: '' + example: FILE + responses: + - statusCode: '201' + description: File schema + - url: /estimates/{id}/payments + method: getPaymentsList + httpMethod: get + tag: Estimates + typeScriptTag: estimates + description: Estimate payments list + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /estimates/{documentId}/payments/{paymentId} + method: unlinkPayment + httpMethod: delete + tag: Estimates + typeScriptTag: estimates + description: Unlink payment from estimate + parameters: [] + responses: + - statusCode: '204' + description: Payment unlinked + - url: /estimates/{documentId}/payments/{paymentId} + method: linkPaymentToEstimate + httpMethod: post + tag: Estimates + typeScriptTag: estimates + description: Link payment to estimate + parameters: + - name: amount + schema: number + required: true + description: '' + example: 123.45 + responses: + - statusCode: '201' + description: '' + - url: /estimates/{id}/smart-tags + method: getSmartTagsList + httpMethod: get + tag: Estimates + typeScriptTag: estimates + description: Estimate smart-tags list + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /estimates/{id}/smart-tags + method: linkSmartTags + httpMethod: post + tag: Estimates + typeScriptTag: estimates + description: Link smart tags to estimate + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /estimates/{estimateId}/primes/{primeId} + method: unlinkPrime + httpMethod: delete + tag: Estimates + typeScriptTag: estimates + description: Unlink a prime from an estimate + parameters: [] + responses: + - statusCode: '204' + description: Prime unlinked + - statusCode: '403' + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + - statusCode: '404' + description: Requested prime was not applied on the document + - url: /estimates/{estimateId}/primes/{primeId} + method: linkPrimeToEstimate + httpMethod: post + tag: Estimates + typeScriptTag: estimates + description: Link prime to estimate + parameters: + - name: quantity + schema: integer + required: true + description: '' + example: 12 + - name: amount + schema: string + required: false + description: '' + example: '12.34' + responses: + - statusCode: '201' + description: Prime linked + - statusCode: '403' + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + - url: /estimates/{estimateId}/discount-incl-taxes/{discountId} + method: unlinkDiscountInclTaxes + httpMethod: delete + tag: Estimates + typeScriptTag: estimates + description: Unlink a discount including taxes from an estimate + parameters: [] + responses: + - statusCode: '204' + description: Discount unlinked + - statusCode: '403' + description: >- + Either Discounts on documents are not activated on your account or you + don't have the required privileges + - statusCode: '404' + description: Requested discount was not applied on the document + - url: /estimates/{estimateId}/discount-incl-taxes/{discountId} + method: linkDiscountIncludingTaxes + httpMethod: post + tag: Estimates + typeScriptTag: estimates + description: Link discount including taxes to estimate + parameters: + - name: quantity + schema: integer + required: true + description: '' + example: 12 + - name: amount + schema: string + required: false + description: '' + example: '12.34' + responses: + - statusCode: '201' + description: Discount linked + - statusCode: '403' + description: >- + Either discounts on documents are not activated on your account or you + don't have the required privileges + - url: /orders + method: getAll + httpMethod: get + tag: Orders + typeScriptTag: orders + description: Get all orders + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: embed + schema: array + description: Additional object included in the result + - name: order + schema: string + description: Order field + example: id + responses: + - statusCode: '200' + description: '' + - url: /orders + method: createOrder + httpMethod: post + tag: Orders + typeScriptTag: orders + description: Create an order + parameters: + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: embed + schema: array + description: Additional object included in the result + responses: + - statusCode: '201' + description: '' + - url: /orders/compute + method: calculateOrder + httpMethod: post + tag: Orders + typeScriptTag: orders + description: Compute an order + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /orders/{id} + method: getById + httpMethod: get + tag: Orders + typeScriptTag: orders + description: Get order + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /orders/{id} + method: updateById + httpMethod: put + tag: Orders + typeScriptTag: orders + description: Update an order + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /orders/search + method: searchOrders + httpMethod: post + tag: Orders + typeScriptTag: orders + description: Search orders + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: embed + schema: array + description: Additional object included in the result + - name: order + schema: string + description: Order field + example: id + - name: filters + schema: object + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /orders/{id}/payments + method: getPaymentsList + httpMethod: get + tag: Orders + typeScriptTag: orders + description: Order payments list + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /orders/{id}/smart-tags + method: listSmartTags + httpMethod: get + tag: Orders + typeScriptTag: orders + description: Order smart tags List + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /orders/{id}/smart-tags + method: linkSmartTags + httpMethod: post + tag: Orders + typeScriptTag: orders + description: Link smart tags to an order + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /orders/{id}/custom-fields + method: getCustomFieldsList + httpMethod: get + tag: Orders + typeScriptTag: orders + description: Order custom fields List + parameters: + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /orders/{id}/custom-fields + method: updateCustomFields + httpMethod: put + tag: Orders + typeScriptTag: orders + description: Update Order custom fields + parameters: + - name: verify + schema: boolean + description: >- + Flag to trigger validation only (set to true to validate payload + without persisting data) + responses: + - statusCode: '200' + description: Order's custom fields updated + - statusCode: '204' + description: '' + - url: /orders/favourite-filters + method: listFavouriteFilters + httpMethod: get + tag: Orders + typeScriptTag: orders + description: List orders favourite filters + parameters: + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /orders/{documentId}/payments/{paymentId} + method: unlinkPayment + httpMethod: delete + tag: Orders + typeScriptTag: orders + description: Unlink payment from order + parameters: [] + responses: + - statusCode: '204' + description: Payment unlinked + - url: /orders/{documentId}/payments/{paymentId} + method: linkPaymentToOrder + httpMethod: post + tag: Orders + typeScriptTag: orders + description: Link payment to order + parameters: + - name: amount + schema: number + required: true + description: '' + example: 123.45 + responses: + - statusCode: '201' + description: '' + - url: /orders/{documentId}/files + method: listFiles + httpMethod: get + tag: Orders + typeScriptTag: orders + description: List directories and files of an orders + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /orders/{documentId}/files + method: attachFileToOrder + httpMethod: post + tag: Orders + typeScriptTag: orders + description: Attach file to an order + parameters: + - name: file + schema: string + required: true + description: '' + example: FILE + responses: + - statusCode: '201' + description: File schema + - url: /orders/{orderId}/primes/{primeId} + method: unlinkPrime + httpMethod: delete + tag: Orders + typeScriptTag: orders + description: Unlink a prime from an order + parameters: [] + responses: + - statusCode: '204' + description: Prime unlinked + - statusCode: '403' + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + - statusCode: '404' + description: Requested prime was not applied on the document + - url: /orders/{orderId}/primes/{primeId} + method: linkPrimeToOrder + httpMethod: post + tag: Orders + typeScriptTag: orders + description: Link prime to order + parameters: + - name: quantity + schema: integer + required: true + description: '' + example: 12 + - name: amount + schema: string + required: false + description: '' + example: '12.34' + responses: + - statusCode: '201' + description: Prime linked + - statusCode: '403' + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + - url: /orders/{orderId}/discount-incl-taxes/{discountId} + method: unlinkDiscountInclTaxes + httpMethod: delete + tag: Orders + typeScriptTag: orders + description: Unlink a discount including taxes from an order + parameters: [] + responses: + - statusCode: '204' + description: Discount unlinked + - statusCode: '403' + description: >- + Either discounts on documents are not activated on your account or you + don't have the required privileges + - statusCode: '404' + description: Requested discount was not applied on the document + - url: /orders/{orderId}/discount-incl-taxes/{discountId} + method: linkDiscountInclTaxes + httpMethod: post + tag: Orders + typeScriptTag: orders + description: Link discount including taxes to order + parameters: + - name: quantity + schema: integer + required: true + description: '' + example: 12 + - name: amount + schema: string + required: false + description: '' + example: '12.34' + responses: + - statusCode: '201' + description: Discount linked + - statusCode: '403' + description: >- + Either discounts on documents are not activated on your account or you + don't have the required privileges + - url: /individuals + method: getList + httpMethod: get + tag: Individuals + typeScriptTag: individuals + description: Individuals List + parameters: + - name: order + schema: string + description: The order field + example: id + - name: embed + schema: array + description: > + Example : `embed[]=invoicing_address&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- main_contact, + dunning_contact, invoicing_contact: `contacts.read`
- + estimates,invoices,orders,deliveries: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is limited + to the 20 first results sorted in alphabetical order.
+ - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /individuals + method: createNewIndividual + httpMethod: post + tag: Individuals + typeScriptTag: individuals + description: Create an individual + parameters: + - name: embed + schema: array + description: > + Example : `embed[]=invoicing_address&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- main_contact, + dunning_contact, invoicing_contact: `contacts.read`
- + estimates,invoices,orders,deliveries: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is limited + to the 20 first results sorted in alphabetical order.
+ - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: verify + schema: boolean + description: >- + Flag to trigger validation only (set to true to validate payload + without persisting data) + - name: type + schema: string + required: true + description: '' + example: TYPE + - name: last_name + schema: string + required: true + description: '' + example: Martin + - name: first_name + schema: string + required: false + description: '' + example: Jean + - name: civility + schema: string + required: false + description: '' + example: mr + - name: email + schema: string + required: false + description: '' + example: jean.martin@personal-example.com + - name: website + schema: string + required: false + description: '' + example: http://personal-example.com + - name: phone_number + schema: string + required: false + description: '' + example: '+33100000000' + - name: mobile_number + schema: string + required: false + description: '' + example: '+33600000000' + - name: fax_number + schema: string + required: false + description: '' + example: '+33100000000' + - name: reference + schema: string + required: false + description: '' + example: IND-1654 + - name: note + schema: string + required: false + description: '' + example: An handed-written note describing this company + - name: auxiliary_code + schema: string + required: false + description: '' + example: 0EX11C + - name: social + schema: object + required: false + description: '' + - name: rate_category_id + schema: integer + required: false + description: '' + example: 9956 + - name: accounting_code_id + schema: integer + required: false + description: '' + example: 12345 + - name: accounting_purchase_code_id + schema: integer + required: false + description: '' + example: 98556 + - name: owner_id + schema: integer + required: false + description: '' + example: 112 + - name: is_archived + schema: boolean + required: false + description: '' + example: false + - name: marketing_campaigns_subscriptions + schema: array + required: false + description: '' + - name: sync + schema: object + required: false + description: '' + - name: created + schema: string + required: false + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '204' + description: '' + - url: /individuals/search + method: searchResults + httpMethod: post + tag: Individuals + typeScriptTag: individuals + description: Search individuals + parameters: + - name: order + schema: string + description: The order field + example: id + - name: embed + schema: array + description: > + Example : `embed[]=invoicing_address&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- main_contact, + dunning_contact, invoicing_contact: `contacts.read`
- + estimates,invoices,orders,deliveries: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is limited + to the 20 first results sorted in alphabetical order.
+ - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: filters + schema: object + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /individuals/favourite-filters + method: listFavouriteFilters + httpMethod: get + tag: Individuals + typeScriptTag: individuals + description: List individuals favourite filters + parameters: + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /individuals/{individualId}/files + method: listFilesOfIndividual + httpMethod: get + tag: Individuals + typeScriptTag: individuals + description: List directories and files of an individual + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /individuals/{individualId}/files + method: attachFile + httpMethod: post + tag: Individuals + typeScriptTag: individuals + description: Attach file to an individual + parameters: + - name: file + schema: string + required: true + description: '' + example: FILE + responses: + - statusCode: '201' + description: File schema + - url: /individuals/{id}/smart-tags + method: getSmartTagsList + httpMethod: get + tag: Individuals + typeScriptTag: individuals + description: Individual smart tags List + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /individuals/{id}/smart-tags + method: linkSmartTags + httpMethod: post + tag: Individuals + typeScriptTag: individuals + description: Link smart tags to individual + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /individuals/{id} + method: removeIndividual + httpMethod: delete + tag: Individuals + typeScriptTag: individuals + description: Delete Individual + parameters: [] + responses: + - statusCode: '204' + description: Individual deleted + - url: /individuals/{id} + method: getInfo + httpMethod: get + tag: Individuals + typeScriptTag: individuals + description: Get Individual + parameters: + - name: embed + schema: array + description: > + Example : `embed[]=invoicing_address&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- main_contact, + dunning_contact, invoicing_contact: `contacts.read`
- + estimates,invoices,orders,deliveries: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is limited + to the 20 first results sorted in alphabetical order.
+ - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /individuals/{id} + method: updateInfo + httpMethod: put + tag: Individuals + typeScriptTag: individuals + description: Update Individual + parameters: + - name: embed + schema: array + description: > + Example : `embed[]=invoicing_address&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- main_contact, + dunning_contact, invoicing_contact: `contacts.read`
- + estimates,invoices,orders,deliveries: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is limited + to the 20 first results sorted in alphabetical order.
+ - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: verify + schema: boolean + description: >- + Flag to trigger validation only (set to true to validate payload + without persisting data) + - name: last_name + schema: string + description: '' + example: Martin + - name: first_name + schema: string + description: '' + example: Jean + - name: civility + schema: string + description: '' + example: mr + - name: email + schema: string + description: '' + example: jean.martin@personal-example.com + - name: website + schema: string + description: '' + example: http://personal-example.com + - name: phone_number + schema: string + description: '' + example: '+33100000000' + - name: mobile_number + schema: string + description: '' + example: '+33600000000' + - name: fax_number + schema: string + description: '' + example: '+33100000000' + - name: reference + schema: string + description: '' + example: IND-1654 + - name: note + schema: string + description: '' + example: An handed-written note describing this company + - name: auxiliary_code + schema: string + description: '' + example: 0EX11C + - name: social + schema: object + description: '' + - name: rate_category_id + schema: integer + description: '' + example: 9956 + - name: accounting_code_id + schema: integer + description: '' + example: 12345 + - name: accounting_purchase_code_id + schema: integer + description: '' + example: 98556 + - name: owner_id + schema: integer + description: '' + example: 112 + - name: is_archived + schema: boolean + description: '' + example: false + - name: marketing_campaigns_subscriptions + schema: array + description: '' + - name: sync + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '204' + description: '' + - url: /individuals/{individualId}/addresses + method: getAddresses + httpMethod: get + tag: Individuals + typeScriptTag: individuals + description: Get individual addresses + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /individuals/{individualId}/addresses + method: createAddress + httpMethod: post + tag: Individuals + typeScriptTag: individuals + description: Create an individual address + parameters: + - name: verify + schema: boolean + description: >- + Flag to trigger validation only (set to true to validate payload + without persisting data) + - name: name + schema: string + required: true + description: '' + example: Main office + - name: address_line_1 + schema: string + required: true + description: '' + example: 30 Commercial Road + - name: address_line_2 + schema: string + required: false + description: '' + example: Finance and Accounting + - name: address_line_3 + schema: string + required: false + description: '' + example: Lighthouse Promotions + - name: address_line_4 + schema: string + required: false + description: '' + example: PO Box 215 + - name: postal_code + schema: string + required: true + description: '' + example: '75012' + - name: city + schema: string + required: true + description: '' + example: Paris + - name: country_code + schema: string + required: true + description: '' + example: FR + - name: is_invoicing_address + schema: boolean + required: false + description: '' + - name: is_delivery_address + schema: boolean + required: false + description: '' + - name: geocode + schema: object + required: false + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '204' + description: '' + - url: /individuals/{individualId}/addresses/{id} + method: deleteAddress + httpMethod: delete + tag: Individuals + typeScriptTag: individuals + description: Delete an individual address + parameters: [] + responses: + - statusCode: '204' + description: Address deleted + - url: /individuals/{individualId}/addresses/{id} + method: getAddress + httpMethod: get + tag: Individuals + typeScriptTag: individuals + description: Get an individual address + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /individuals/{individualId}/addresses/{id} + method: updateAddress + httpMethod: put + tag: Individuals + typeScriptTag: individuals + description: Update an individual address + parameters: + - name: verify + schema: boolean + description: >- + Flag to trigger validation only (set to true to validate payload + without persisting data) + - name: name + schema: string + description: '' + example: Main office + - name: address_line_1 + schema: string + description: '' + example: 30 Commercial Road + - name: address_line_2 + schema: string + description: '' + example: Finance and Accounting + - name: address_line_3 + schema: string + description: '' + example: Lighthouse Promotions + - name: address_line_4 + schema: string + description: '' + example: PO Box 215 + - name: postal_code + schema: string + description: '' + example: '75012' + - name: city + schema: string + description: '' + example: Paris + - name: country_code + schema: string + description: '' + example: FR + - name: is_invoicing_address + schema: boolean + description: '' + - name: is_delivery_address + schema: boolean + description: '' + - name: geocode + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '204' + description: '' + - url: /individuals/{id}/payments + method: recordPayment + httpMethod: post + tag: Individuals + typeScriptTag: individuals + description: Record payment on an individual + parameters: + - name: number + schema: string + required: false + description: '' + example: reference + - name: paid_at + schema: string + required: true + description: '' + example: '1970-01-01T00:00:00+00:00' + - name: payment_method_id + schema: integer + required: true + description: '' + example: 7 + - name: type + schema: string + required: true + description: '' + example: credit + - name: amount + schema: object + required: true + description: '' + - name: note + schema: string + required: false + description: '' + example: Invoice XXX paid + responses: + - statusCode: '201' + description: '' + - url: /individuals/{id}/contacts + method: getContacts + httpMethod: get + tag: Individuals + typeScriptTag: individuals + description: Get an individual contacts + parameters: + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: embed + schema: array + description: > + Example : `embed[]=delivery_address&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- + estimates,invoices,orders,deliveries: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is limited + to the 20 first results sorted in alphabetical order.
+ - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /individuals/{individualId}/contacts/{contactId} + method: deleteLinkBetweenContactAndIndividual + httpMethod: delete + tag: Individuals + typeScriptTag: individuals + description: Delete link between contact and individual + parameters: [] + responses: + - statusCode: '204' + description: Delete link between contact and individual + - url: /individuals/{individualId}/contacts/{contactId} + method: linkContactToIndividual + httpMethod: post + tag: Individuals + typeScriptTag: individuals + description: Link contact to individual + parameters: [] + responses: + - statusCode: '200' + description: Contact already link + - statusCode: '201' + description: Contact was link to individual + - url: /individuals/{id}/custom-fields + method: getCustomFields + httpMethod: get + tag: Individuals + typeScriptTag: individuals + description: Individual custom fields List + parameters: + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /individuals/{id}/custom-fields + method: updateCustomFields + httpMethod: put + tag: Individuals + typeScriptTag: individuals + description: Update Individual custom fields + parameters: + - name: verify + schema: boolean + description: >- + Flag to trigger validation only (set to true to validate payload + without persisting data) + responses: + - statusCode: '200' + description: Individual's custom fields updated + - statusCode: '204' + description: '' + - url: /activities/crm + method: getActivity + httpMethod: get + tag: CRM Activities + typeScriptTag: crmActivities + description: Get the CRM activity + parameters: + - name: order + schema: string + description: The order field + example: date + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: embed + schema: array + description: >- + Additional object included in the result.
Aggregations + by date only works with due_date filter :
- For + aggregations.by_day_and_event, maximum interval of due_date is 90 days +
- For aggregations.by_month_and_event, maximum interval of + due_date is 365 days + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /activities/crm/search + method: searchActivity + httpMethod: post + tag: CRM Activities + typeScriptTag: crmActivities + description: Search in CRM activity + parameters: + - name: order + schema: string + description: The order field + example: date + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: embed + schema: array + description: >- + Additional object included in the result.
Aggregations + by date only works with due_date filter :
- For + aggregations.by_day_and_event, maximum interval of due_date is 90 days +
- For aggregations.by_month_and_event, maximum interval of + due_date is 365 days + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: filters + schema: object + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - statusCode: '206' + description: '' + - url: /activities/crm/export + method: exportActivitySearch + httpMethod: post + tag: CRM Activities + typeScriptTag: crmActivities + description: Export the CRM activity + parameters: + - name: order + schema: string + description: The order field + example: date + - name: direction + schema: string + description: The order direction + default: asc + responses: + - statusCode: '202' + description: Accepted + - url: /activities/crm/metas + method: getMetaInfo + httpMethod: get + tag: CRM Activities + typeScriptTag: crmActivities + description: Get meta informations for activity + parameters: [] + responses: + - statusCode: '200' + description: The listing meta + - url: /custom-activities/{id} + method: deleteCustomActivity + httpMethod: delete + tag: Custom Activities + typeScriptTag: customActivities + description: Delete Custom Activity + parameters: [] + responses: + - statusCode: '204' + description: No Content + - url: /custom-activities/{id} + method: getInformation + httpMethod: get + tag: Custom Activities + typeScriptTag: customActivities + description: Get Custom Activity + parameters: [] + responses: + - statusCode: '200' + description: Custom Activity Object + - url: /custom-activities/{id} + method: editCustomActivity + httpMethod: put + tag: Custom Activities + typeScriptTag: customActivities + description: Update Custom Activity + parameters: + - name: id + schema: string + description: '' + example: xZk348lb2 + - name: type_id + schema: string + description: '' + example: vJ340fF1 + - name: action + schema: string + description: '' + example: Jean-pierre has opened a new ticket on Xeno. + - name: relation + schema: object + description: '' + - name: date + schema: string + description: '' + example: '1970-01-01T00:00:00+00:00' + default: Current datetime + - name: author + schema: object + description: '' + - name: created + schema: string + description: '' + example: '1970-01-01T00:00:00+00:00' + - name: updated + schema: string + description: '' + example: '1970-01-01T00:00:00+00:00' + responses: + - statusCode: '200' + description: Custom Activity Object + - url: /custom-activities + method: getList + httpMethod: get + tag: Custom Activities + typeScriptTag: customActivities + description: Customs Activities List + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: order + schema: string + description: The order field + example: date + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + responses: + - statusCode: '200' + description: '' + - url: /custom-activities + method: createActivity + httpMethod: post + tag: Custom Activities + typeScriptTag: customActivities + description: Create Custom Activity + parameters: + - name: id + schema: string + description: '' + example: xZk348lb2 + - name: type_id + schema: string + description: '' + example: vJ340fF1 + - name: action + schema: string + description: '' + example: Jean-pierre has opened a new ticket on Xeno. + - name: relation + schema: object + description: '' + - name: date + schema: string + description: '' + example: '1970-01-01T00:00:00+00:00' + default: Current datetime + - name: author + schema: object + description: '' + - name: created + schema: string + description: '' + example: '1970-01-01T00:00:00+00:00' + - name: updated + schema: string + description: '' + example: '1970-01-01T00:00:00+00:00' + responses: + - statusCode: '201' + description: Custom Activity Object + - url: /custom-activities/search + method: performSearch + httpMethod: post + tag: Custom Activities + typeScriptTag: customActivities + description: Search Custom Activities + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: order + schema: string + description: The order field + example: id + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: filters + schema: object + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /custom-activity-types/{id} + method: getType + httpMethod: get + tag: Custom Activities + typeScriptTag: customActivities + description: Get Custom Activity Type + parameters: [] + responses: + - statusCode: '200' + description: Represents a type of custom activity + - url: /custom-activity-types/{id} + method: updateType + httpMethod: put + tag: Custom Activities + typeScriptTag: customActivities + description: Update Custom Activity Type + parameters: + - name: id + schema: string + required: false + description: '' + example: xZk348lb2 + - name: name + schema: string + required: true + description: '' + example: Xeni + - name: created + schema: string + required: false + description: '' + example: '1970-01-01T00:00:00+00:00' + - name: updated + schema: string + required: false + description: '' + example: '1970-01-01T00:00:00+00:00' + - name: author + schema: object + required: false + description: '' + responses: + - statusCode: '200' + description: Represents a type of custom activity + - url: /custom-activity-types + method: getList + httpMethod: get + tag: Custom Activities + typeScriptTag: customActivities + description: Custom Activity Types List + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: order + schema: string + description: The order field + example: id + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + responses: + - statusCode: '200' + description: '' + - url: /custom-activity-types + method: createType + httpMethod: post + tag: Custom Activities + typeScriptTag: customActivities + description: Create Custom Activity Type + parameters: + - name: id + schema: string + required: false + description: '' + example: xZk348lb2 + - name: name + schema: string + required: true + description: '' + example: Xeni + - name: created + schema: string + required: false + description: '' + example: '1970-01-01T00:00:00+00:00' + - name: updated + schema: string + required: false + description: '' + example: '1970-01-01T00:00:00+00:00' + - name: author + schema: object + required: false + description: '' + responses: + - statusCode: '201' + description: Represents a type of custom activity + - url: /scopes + method: listScopes + httpMethod: get + tag: API Management + typeScriptTag: apiManagement + description: Scopes List + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /scopes/tree + method: getScopesTree + httpMethod: get + tag: API Management + typeScriptTag: apiManagement + description: Get Scopes Tree + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /clients + method: listClients + httpMethod: get + tag: API Management + typeScriptTag: apiManagement + description: List OAuth clients + parameters: + - name: offset + schema: undefined + description: The pagination offset + responses: + - statusCode: '200' + description: '' + - url: /clients + method: createOAuthClient + httpMethod: post + tag: API Management + typeScriptTag: apiManagement + description: Create OAuth client + parameters: [] + responses: + - statusCode: '201' + description: '' + - url: /clients/{id} + method: deleteOAuthClient + httpMethod: delete + tag: API Management + typeScriptTag: apiManagement + description: Delete OAuth client + parameters: [] + responses: + - statusCode: '204' + description: Client deleted + - url: /clients/{id} + method: getOAuthClient + httpMethod: get + tag: API Management + typeScriptTag: apiManagement + description: Get OAuth client + parameters: [] + responses: + - statusCode: '200' + description: The OAuth client for Sellsy API + - url: /clients/{id} + method: updateOAuthClient + httpMethod: put + tag: API Management + typeScriptTag: apiManagement + description: Update OAuth client + parameters: [] + responses: + - statusCode: '200' + description: The OAuth client for Sellsy API + - url: /personal-access-tokens + method: listPersonalAccessTokens + httpMethod: get + tag: API Management + typeScriptTag: apiManagement + description: List personal access tokens + parameters: + - name: offset + schema: undefined + description: The pagination offset + responses: + - statusCode: '200' + description: '' + - url: /personal-access-tokens + method: createPersonalAccessToken + httpMethod: post + tag: API Management + typeScriptTag: apiManagement + description: Create personal access token + parameters: + - name: name + schema: string + required: true + description: '' + example: MyToken + - name: user_id + schema: undefined + required: true + description: '' + example: 1257 + - name: scopes + schema: array + required: true + description: '' + example: + - companies.read + - companies.write + responses: + - statusCode: '201' + description: '' + - url: /personal-access-tokens/metas + method: getPersonalAccessTokensMeta + httpMethod: get + tag: API Management + typeScriptTag: apiManagement + description: Get meta informations for personal access tokens + parameters: [] + responses: + - statusCode: '200' + description: The personal access tokens metas + - url: /personal-access-tokens/{id} + method: deletePersonalAccessToken + httpMethod: delete + tag: API Management + typeScriptTag: apiManagement + description: Delete personal access token + parameters: [] + responses: + - statusCode: '204' + description: Personal access token deleted + - url: /personal-access-tokens/{id} + method: getOAuthToken + httpMethod: get + tag: API Management + typeScriptTag: apiManagement + description: Get personal access token + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /accounting-codes + method: getCodes + httpMethod: get + tag: Accounting + typeScriptTag: accounting + description: Get accounting codes + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: order + schema: string + description: The order field + example: code + responses: + - statusCode: '200' + description: '' + - url: /accounting-codes + method: createCode + httpMethod: post + tag: Accounting + typeScriptTag: accounting + description: Create an accounting code + parameters: + - name: code + schema: string + required: true + description: '' + example: '411000' + - name: label + schema: string + required: false + description: '' + example: Provision of services + - name: views + schema: array + required: false + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '400' + description: Code already exists + - statusCode: '403' + description: Module is not accessible + - url: /accounting-codes/{id} + method: deleteCode + httpMethod: delete + tag: Accounting + typeScriptTag: accounting + description: Delete an accounting code + parameters: [] + responses: + - statusCode: '204' + description: Accounting code deleted + - statusCode: '403' + description: Module is not accessible + - url: /accounting-codes/search + method: searchCodes + httpMethod: post + tag: Accounting + typeScriptTag: accounting + description: Search accounting codes + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: order + schema: string + description: The order field + example: code + - name: filters + schema: object + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /accounting-journal/{type} + method: journalList + httpMethod: get + tag: Accounting + typeScriptTag: accounting + description: Get accounting journal + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: embed + schema: array + description: >- + Additional object included in the result.
Aggregations + by date only works with due_date filter :
- For + aggregations.by_day_and_event, maximum interval of due_date is 90 days +
- For aggregations.by_month_and_event, maximum interval of + due_date is 365 days + responses: + - statusCode: '200' + description: '' + - url: /accounting-journal/{type}/search + method: journalSearch + httpMethod: post + tag: Accounting + typeScriptTag: accounting + description: Search accounting journal + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: embed + schema: array + description: >- + Additional object included in the result.
Aggregations + by date only works with due_date filter :
- For + aggregations.by_day_and_event, maximum interval of due_date is 90 days +
- For aggregations.by_month_and_event, maximum interval of + due_date is 365 days + - name: filters + schema: object + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /accounting-journal/{type}/metas + method: journalMetaGet + httpMethod: get + tag: Accounting + typeScriptTag: accounting + description: Get meta informations for accounting journal + parameters: [] + responses: + - statusCode: '200' + description: The listing meta + - url: /accounting-journal/{type}/export + method: journalExport + httpMethod: post + tag: Accounting + typeScriptTag: accounting + description: Export accounting journal + parameters: [] + responses: + - statusCode: '202' + description: Accepted + - url: /taxes + method: getList + httpMethod: get + tag: Taxes + typeScriptTag: taxes + description: Taxes list + parameters: + - name: order + schema: string + description: The order field + example: id + - name: embed + schema: array + description: | + Additional object included in the result. + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: includeEcotax + schema: boolean + description: Include ecotaxes in the response + responses: + - statusCode: '200' + description: '' + - url: /taxes + method: createTax + httpMethod: post + tag: Taxes + typeScriptTag: taxes + description: Create tax + parameters: + - name: embed + schema: array + description: | + Additional object included in the result. + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: rate + schema: number + required: true + description: '' + example: 20 + - name: label + schema: string + required: true + description: '' + example: TVA + - name: before_sibling + schema: integer + required: false + description: '' + example: 57 + responses: + - statusCode: '201' + description: '' + - url: /taxes/search + method: searchTaxes + httpMethod: post + tag: Taxes + typeScriptTag: taxes + description: Search taxes + parameters: + - name: order + schema: string + description: The order field + example: id + - name: embed + schema: array + description: | + Additional object included in the result. + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: filters + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - url: /taxes/{id} + method: removeTax + httpMethod: delete + tag: Taxes + typeScriptTag: taxes + description: Delete tax + parameters: [] + responses: + - statusCode: '204' + description: Tax deleted + - url: /taxes/{id} + method: getTaxInfo + httpMethod: get + tag: Taxes + typeScriptTag: taxes + description: Get Tax + parameters: + - name: embed + schema: array + description: | + Additional object included in the result. + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: includeEcotax + schema: boolean + description: Include ecotaxes in the response + responses: + - statusCode: '200' + description: '' + - url: /taxes/{id} + method: updateTaxInfo + httpMethod: put + tag: Taxes + typeScriptTag: taxes + description: Update tax + parameters: + - name: embed + schema: array + description: | + Additional object included in the result. + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: includeEcotax + schema: boolean + description: Include ecotaxes in the response + - name: rate + schema: number + description: '' + example: 20 + - name: label + schema: string + description: '' + example: TVA + - name: before_sibling + schema: integer + description: '' + example: 57 + responses: + - statusCode: '200' + description: '' + - url: /taxes/accounting-codes + method: getAccountingCodes + httpMethod: get + tag: Taxes + typeScriptTag: taxes + description: Taxes accounting codes list + parameters: + - name: order + schema: string + description: The order field + example: id + - name: embed + schema: array + description: | + Additional object included in the result. + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /taxes/{id}/accounting-codes + method: getAccountingCodesList + httpMethod: get + tag: Taxes + typeScriptTag: taxes + description: Tax accounting codes list + parameters: + - name: order + schema: string + description: The order field + example: id + - name: embed + schema: array + description: | + Additional object included in the result. + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /taxes/{id}/accounting-codes + method: updateAccountingCodes + httpMethod: put + tag: Taxes + typeScriptTag: taxes + description: Update tax accounting codes + parameters: + - name: embed + schema: array + description: | + Additional object included in the result. + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: debit_vat + schema: object + description: '' + - name: collection_vat + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - url: /rate-categories + method: getList + httpMethod: get + tag: Rate Categories + typeScriptTag: rateCategories + description: Rate categories list + parameters: + - name: order + schema: string + description: The order field + example: id + - name: embed + schema: array + description: | + Additional object included in the result. + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /rate-categories + method: createCategory + httpMethod: post + tag: Rate Categories + typeScriptTag: rateCategories + description: Create rate category + parameters: + - name: embed + schema: array + description: | + Additional object included in the result. + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: label + schema: string + required: true + description: '' + example: Tarif HT + - name: includes_taxes + schema: boolean + required: false + description: '' + example: true + default: false + - name: currency + schema: string + required: false + description: '' + example: EUR + - name: tax_id + schema: integer + required: false + description: '' + example: 3822666 + - name: accounting_code_id + schema: integer + required: false + description: '' + example: 1160745 + - name: discount_accounting_code_id + schema: integer + required: false + description: '' + example: 1160745 + - name: default_layouts + schema: object + required: false + description: '' + - name: price + schema: undefined + required: false + description: '' + responses: + - statusCode: '201' + description: '' + - statusCode: '402' + description: Quotas limit reached on your current plan + - url: /rate-categories/{id} + method: removeCategory + httpMethod: delete + tag: Rate Categories + typeScriptTag: rateCategories + description: Delete Rate category + parameters: [] + responses: + - statusCode: '204' + description: Rate category deleted + - url: /rate-categories/{id} + method: getCategory + httpMethod: get + tag: Rate Categories + typeScriptTag: rateCategories + description: Get rate category + parameters: + - name: embed + schema: array + description: | + Additional object included in the result. + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /rate-categories/{id} + method: updateRateCategory + httpMethod: put + tag: Rate Categories + typeScriptTag: rateCategories + description: Update a rate category + parameters: + - name: embed + schema: array + description: | + Additional object included in the result. + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: label + schema: string + description: '' + example: Tarif HT + - name: includes_taxes + schema: boolean + description: '' + example: true + default: false + - name: currency + schema: string + description: '' + example: EUR + - name: tax_id + schema: integer + description: '' + example: 3822666 + - name: accounting_code_id + schema: integer + description: '' + example: 1160745 + - name: discount_accounting_code_id + schema: integer + description: '' + example: 1160745 + - name: default_layouts + schema: object + description: '' + - name: price + schema: undefined + description: '' + responses: + - statusCode: '200' + description: '' + - url: /payments/methods/{id} + method: getMethod + httpMethod: get + tag: Payments + typeScriptTag: payments + description: Get the payment method + parameters: + - name: id + schema: string + required: true + description: Payment method id + example: ID + responses: + - statusCode: '200' + description: '' + - url: /payments/methods + method: getMethods + httpMethod: get + tag: Payments + typeScriptTag: payments + description: List of all payment methods + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: order + schema: string + description: The order field + example: rank + responses: + - statusCode: '200' + description: '' + - url: /payments/methods/search + method: searchMethods + httpMethod: post + tag: Payments + typeScriptTag: payments + description: Search methods of payment + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: order + schema: string + description: The order field + example: rank + - name: filters + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - url: /ocr/pur-invoice + method: listPurchaseInvoices + httpMethod: get + tag: Purchase (https://api.sellsy.com/doc/v2/ + typeScriptTag: purchaseHttps:ApiSellsyComDocV2 + description: Ocr List - Purchase invoices + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: order + schema: string + description: The order field + example: completed_at + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + responses: + - statusCode: '200' + description: '' + - url: /ocr/pur-invoice/search + method: searchDocument + httpMethod: post + tag: Purchase (https://api.sellsy.com/doc/v2/ + typeScriptTag: purchaseHttps:ApiSellsyComDocV2 + description: Search OCR - Purchase invoices + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: order + schema: string + description: The order field + example: completed_at + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: filters + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - url: /ocr/pur-invoice/metas + method: getMetadata + httpMethod: get + tag: Purchase (https://api.sellsy.com/doc/v2/ + typeScriptTag: purchaseHttps:ApiSellsyComDocV2 + description: Get Metadata for purchase invoice OCR + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /contacts + method: getList + httpMethod: get + tag: Contacts + typeScriptTag: contacts + description: Contacts List + parameters: + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: embed + schema: array + description: > + Example : `embed[]=delivery_address&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- + estimates,invoices,orders,deliveries: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is limited + to the 20 first results sorted in alphabetical order.
+ - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /contacts + method: createContact + httpMethod: post + tag: Contacts + typeScriptTag: contacts + description: Create a contact + parameters: + - name: embed + schema: array + description: > + Example : `embed[]=delivery_address&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- + estimates,invoices,orders,deliveries: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is limited + to the 20 first results sorted in alphabetical order.
+ - name: verify + schema: boolean + description: >- + Flag to trigger validation only (set to true to validate payload + without persisting data) + responses: + - statusCode: '201' + description: '' + - statusCode: '204' + description: '' + - url: /contacts/search + method: searchContacts + httpMethod: post + tag: Contacts + typeScriptTag: contacts + description: Search contacts + parameters: + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: embed + schema: array + description: > + Example : `embed[]=delivery_address&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- + estimates,invoices,orders,deliveries: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is limited + to the 20 first results sorted in alphabetical order.
+ - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: filters + schema: object + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /contacts/favourite-filters + method: listFavouriteFilters + httpMethod: get + tag: Contacts + typeScriptTag: contacts + description: List contacts favourite filters + parameters: + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /contacts/{id} + method: removeContact + httpMethod: delete + tag: Contacts + typeScriptTag: contacts + description: Delete contact + parameters: [] + responses: + - statusCode: '204' + description: Contact deleted + - url: /contacts/{id} + method: getInformations + httpMethod: get + tag: Contacts + typeScriptTag: contacts + description: Get contact + parameters: + - name: embed + schema: array + description: > + Example : `embed[]=delivery_address&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- + estimates,invoices,orders,deliveries: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is limited + to the 20 first results sorted in alphabetical order.
+ - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /contacts/{id} + method: updateContactInfo + httpMethod: put + tag: Contacts + typeScriptTag: contacts + description: Update contact + parameters: + - name: embed + schema: array + description: > + Example : `embed[]=delivery_address&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- + estimates,invoices,orders,deliveries: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is limited + to the 20 first results sorted in alphabetical order.
+ - name: verify + schema: boolean + description: >- + Flag to trigger validation only (set to true to validate payload + without persisting data) + responses: + - statusCode: '200' + description: '' + - statusCode: '204' + description: '' + - url: /contacts/{contactId}/addresses + method: getAddresses + httpMethod: get + tag: Contacts + typeScriptTag: contacts + description: Get contact addresses + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /contacts/{contactId}/addresses + method: createAddress + httpMethod: post + tag: Contacts + typeScriptTag: contacts + description: Create a contact address + parameters: + - name: name + schema: string + required: true + description: '' + example: Main office + - name: address_line_1 + schema: string + required: true + description: '' + example: 30 Commercial Road + - name: address_line_2 + schema: string + required: false + description: '' + example: Finance and Accounting + - name: address_line_3 + schema: string + required: false + description: '' + example: Lighthouse Promotions + - name: address_line_4 + schema: string + required: false + description: '' + example: PO Box 215 + - name: postal_code + schema: string + required: true + description: '' + example: '75012' + - name: city + schema: string + required: true + description: '' + example: Paris + - name: country_code + schema: string + required: true + description: '' + example: FR + - name: is_invoicing_address + schema: boolean + required: false + description: '' + - name: is_delivery_address + schema: boolean + required: false + description: '' + - name: geocode + schema: object + required: false + description: '' + responses: + - statusCode: '201' + description: '' + - url: /contacts/{contactId}/addresses/{id} + method: deleteAddress + httpMethod: delete + tag: Contacts + typeScriptTag: contacts + description: Delete a contact address + parameters: [] + responses: + - statusCode: '204' + description: Address deleted + - url: /contacts/{contactId}/addresses/{id} + method: getAddressById + httpMethod: get + tag: Contacts + typeScriptTag: contacts + description: Get a contact address + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /contacts/{contactId}/addresses/{id} + method: updateAddress + httpMethod: put + tag: Contacts + typeScriptTag: contacts + description: Update a contact address + parameters: + - name: name + schema: string + description: '' + example: Main office + - name: address_line_1 + schema: string + description: '' + example: 30 Commercial Road + - name: address_line_2 + schema: string + description: '' + example: Finance and Accounting + - name: address_line_3 + schema: string + description: '' + example: Lighthouse Promotions + - name: address_line_4 + schema: string + description: '' + example: PO Box 215 + - name: postal_code + schema: string + description: '' + example: '75012' + - name: city + schema: string + description: '' + example: Paris + - name: country_code + schema: string + description: '' + example: FR + - name: is_invoicing_address + schema: boolean + description: '' + - name: is_delivery_address + schema: boolean + description: '' + - name: geocode + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - url: /contacts/{contactId}/custom-fields + method: getCustomFields + httpMethod: get + tag: Contacts + typeScriptTag: contacts + description: Contact custom fields List + parameters: + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /contacts/{contactId}/custom-fields + method: updateCustomFields + httpMethod: put + tag: Contacts + typeScriptTag: contacts + description: Update contact custom fields + parameters: + - name: verify + schema: boolean + description: >- + Flag to trigger validation only (set to true to validate payload + without persisting data) + responses: + - statusCode: '200' + description: Contact's custom fields updated + - statusCode: '204' + description: '' + - url: /contacts/{contactId}/files + method: listDirectoriesAndFiles + httpMethod: get + tag: Contacts + typeScriptTag: contacts + description: List directories and files of a contact + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /contacts/{contactId}/files + method: attachFileToContact + httpMethod: post + tag: Contacts + typeScriptTag: contacts + description: Attach file to a contact + parameters: + - name: file + schema: string + required: true + description: '' + example: FILE + responses: + - statusCode: '201' + description: File uploaded + - url: /contacts/{contactId}/smart-tags + method: getSmartTags + httpMethod: get + tag: Contacts + typeScriptTag: contacts + description: Contact smart tags List + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /contacts/{contactId}/smart-tags + method: linkSmartTags + httpMethod: post + tag: Contacts + typeScriptTag: contacts + description: Link smart tags to contact + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /accounts/conformities + method: getInvoicingState + httpMethod: get + tag: Conformities + typeScriptTag: conformities + description: Retrieve invoicing conformity state + parameters: [] + responses: + - statusCode: '200' + description: Invoice conformity state informations + - url: /accounts/conformities + method: activateInvoiceConformity + httpMethod: post + tag: Conformities + typeScriptTag: conformities + description: Activate invoice conformity (https://api.sellsy.com/doc/v2/ + parameters: + - name: confirm_final_change + schema: boolean + required: true + description: '' + example: true + responses: + - statusCode: '201' + description: Invoice conformity state informations + - statusCode: '403' + description: Conformity has already been activated + - url: /document-layouts + method: getAllLayouts + httpMethod: get + tag: Document Layouts + typeScriptTag: documentLayouts + description: Get all document layouts + parameters: + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + responses: + - statusCode: '200' + description: '' + - url: /accounts/documents + method: getInvoicesAndCreditNotes + httpMethod: get + tag: Documents + typeScriptTag: documents + description: Get your invoices and credit notes + parameters: + - name: order + schema: string + description: The order field + example: date + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + responses: + - statusCode: '200' + description: '' + - url: /opportunities/{id} + method: removeOpportunity + httpMethod: delete + tag: Opportunities + typeScriptTag: opportunities + description: Delete an Opportunity + parameters: [] + responses: + - statusCode: '204' + description: Opportunity deleted + - url: /opportunities/{id} + method: getOpportunity + httpMethod: get + tag: Opportunities + typeScriptTag: opportunities + description: Get Opportunity + parameters: + - name: embed + schema: array + description: > + Example : `embed[]=assigned_staffs&embed[]=cf.1542&embed[]=acl`
+ Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: + `individuals.read`
- assigned_staffs: `staffs.read`
- + contacts: `contacts.read`
- estimates, invoices, orders, + deliveries, proformas, creditnotes: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is limited + to the 20 first results sorted in alphabetical order.
+ - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: Describe opportunity object + - url: /opportunities/{id} + method: updateInformation + httpMethod: put + tag: Opportunities + typeScriptTag: opportunities + description: Update Opportunity + parameters: + - name: embed + schema: array + description: > + Example : `embed[]=assigned_staffs&embed[]=cf.1542&embed[]=acl`
+ Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: + `individuals.read`
- assigned_staffs: `staffs.read`
- + contacts: `contacts.read`
- estimates, invoices, orders, + deliveries, proformas, creditnotes: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is limited + to the 20 first results sorted in alphabetical order.
+ - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: verify + schema: boolean + description: >- + Flag to trigger validation only (set to true to validate payload + without persisting data) + - name: name + schema: string + description: '' + example: New website + - name: owner_id + schema: integer + description: '' + - name: status + schema: string + description: '' + example: won + default: open + - name: pipeline + schema: integer + description: '' + example: 9763 + - name: step + schema: integer + description: '' + example: 299 + - name: amount + schema: string + description: '' + example: '72000.99' + - name: probability + schema: integer + description: '' + example: 75 + - name: source + schema: integer + description: '' + example: 1 + - name: due_date + schema: string + description: '' + example: '2020-02-01' + - name: note + schema: string + description: '' + - name: main_doc_id + schema: integer + description: '' + example: 22 + - name: assigned_staff_ids + schema: array + description: '' + example: + - 133 + - 299 + - name: contact_ids + schema: array + description: '' + example: + - 222 + - 876 + - name: related + schema: array + description: '' + responses: + - statusCode: '200' + description: Describe opportunity object + - statusCode: '204' + description: '' + - url: /opportunities/{id}/step-rank + method: updateRankStep + httpMethod: patch + tag: Opportunities + typeScriptTag: opportunities + description: Update opportunity's rank and/or step + parameters: + - name: before_sibling + schema: integer + required: false + description: '' + example: 57 + - name: step + schema: integer + required: true + description: '' + example: 299 + responses: + - statusCode: '204' + description: Opportunity's rank updated + - url: /opportunities + method: getList + httpMethod: get + tag: Opportunities + typeScriptTag: opportunities + description: Get Opportunities + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: embed + schema: array + description: > + Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: + `individuals.read`
- assigned_staffs: `staffs.read`
- + contacts: `contacts.read`
- estimates, invoices, orders, + deliveries, proformas, creditnotes: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is limited + to the 20 first results sorted in alphabetical order.
+ - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: order + schema: string + description: The order field + example: id + responses: + - statusCode: '200' + description: '' + - url: /opportunities + method: createNewOpportunity + httpMethod: post + tag: Opportunities + typeScriptTag: opportunities + description: Create an opportunity + parameters: + - name: embed + schema: array + description: > + Example : `embed[]=assigned_staffs&embed[]=cf.1542&embed[]=acl`
+ Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: + `individuals.read`
- assigned_staffs: `staffs.read`
- + contacts: `contacts.read`
- estimates, invoices, orders, + deliveries, proformas, creditnotes: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is limited + to the 20 first results sorted in alphabetical order.
+ - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: verify + schema: boolean + description: >- + Flag to trigger validation only (set to true to validate payload + without persisting data) + responses: + - statusCode: '201' + description: Describe opportunity object + - statusCode: '204' + description: '' + - url: /opportunities/{opportunityId}/files + method: listFiles + httpMethod: get + tag: Opportunities + typeScriptTag: opportunities + description: List directories and files of an opportunity + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /opportunities/{opportunityId}/files + method: attachFileToOpportunity + httpMethod: post + tag: Opportunities + typeScriptTag: opportunities + description: Attach file to an opportunity + parameters: + - name: file + schema: string + required: true + description: '' + example: FILE + responses: + - statusCode: '201' + description: File schema + - url: /opportunities/search + method: searchOpportunities + httpMethod: post + tag: Opportunities + typeScriptTag: opportunities + description: Search Opportunities + parameters: + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: embed + schema: array + description: > + Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: + `individuals.read`
- assigned_staffs: `staffs.read`
- + contacts: `contacts.read`
- estimates, invoices, orders, + deliveries, proformas, creditnotes: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is limited + to the 20 first results sorted in alphabetical order.
+ - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: filters + schema: object + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /opportunities/favourite-filters + method: listFavouriteFilters + httpMethod: get + tag: Opportunities + typeScriptTag: opportunities + description: List opportunities favourite filters + parameters: + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /opportunities/sources + method: getSourcesList + httpMethod: get + tag: Opportunities + typeScriptTag: opportunities + description: Get Opportunity Sources + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: order + schema: string + description: The order field + example: id + default: rank + responses: + - statusCode: '200' + description: '' + - url: /opportunities/sources/search + method: searchSources + httpMethod: post + tag: Opportunities + typeScriptTag: opportunities + description: Search Opportunity Sources + parameters: + - name: order + schema: string + description: The order field + example: id + default: rank + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: filters + schema: object + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /opportunities/categories/{sourceCategoryId}/sources + method: listCategorySources + httpMethod: get + tag: Opportunities + typeScriptTag: opportunities + description: Get Opportunity Category Sources + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: order + schema: string + description: The order field + example: id + default: rank + responses: + - statusCode: '200' + description: '' + - url: /opportunities/pipelines + method: listPipelines + httpMethod: get + tag: Opportunities + typeScriptTag: opportunities + description: Get Opportunity Pipelines + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: order + schema: string + description: The order field + example: id + default: rank + responses: + - statusCode: '200' + description: '' + - url: /opportunities/pipelines/search + method: searchPipelines + httpMethod: post + tag: Opportunities + typeScriptTag: opportunities + description: Search Opportunity Pipelines + parameters: + - name: order + schema: string + description: The order field + example: id + default: rank + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: filters + schema: object + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /opportunities/pipelines/{pipelineId}/steps + method: getPipelineSteps + httpMethod: get + tag: Opportunities + typeScriptTag: opportunities + description: Get Opportunity Pipeline Steps + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: order + schema: string + description: The order field + example: id + default: rank + - name: embed + schema: array + description: > + Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- opportunities_number: `opportunities.read` + responses: + - statusCode: '200' + description: '' + - url: /opportunities/pipelines/{pipelineId}/steps/search + method: searchPipelineSteps + httpMethod: post + tag: Opportunities + typeScriptTag: opportunities + description: Search Opportunity Pipeline Steps + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: order + schema: string + description: The order field + example: id + default: rank + - name: embed + schema: array + description: > + Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- opportunities_number: `opportunities.read` + - name: filters + schema: object + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /opportunities/steps/search + method: searchPipelineSteps + httpMethod: post + tag: Opportunities + typeScriptTag: opportunities + description: Search All Opportunity Pipeline Steps + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: order + schema: string + description: The order field + example: id + default: rank + - name: embed + schema: array + description: > + Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- opportunities_number: `opportunities.read` + - name: filters + schema: object + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /opportunities/categories + method: listCategories + httpMethod: get + tag: Opportunities + typeScriptTag: opportunities + description: Get Opportunities Categories List + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: embed + schema: array + description: Additional object included in the result + responses: + - statusCode: '200' + description: '' + - url: /opportunities/categories/{id} + method: getCategory + httpMethod: get + tag: Opportunities + typeScriptTag: opportunities + description: Get Opportunities Category + parameters: [] + responses: + - statusCode: '200' + description: Opportunities Category + - url: /opportunities/{id}/custom-fields + method: getCustomFields + httpMethod: get + tag: Opportunities + typeScriptTag: opportunities + description: Opportunity custom fields List + parameters: + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /opportunities/{id}/custom-fields + method: updateCustomFields + httpMethod: put + tag: Opportunities + typeScriptTag: opportunities + description: Update opportunity custom fields + parameters: + - name: verify + schema: boolean + description: >- + Flag to trigger validation only (set to true to validate payload + without persisting data) + responses: + - statusCode: '200' + description: Opportunity's custom fields updated + - statusCode: '204' + description: '' + - url: /opportunities/{id}/smart-tags + method: getSmartTags + httpMethod: get + tag: Opportunities + typeScriptTag: opportunities + description: Opportunity smart-tags list + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /opportunities/{id}/smart-tags + method: linkSmartTags + httpMethod: post + tag: Opportunities + typeScriptTag: opportunities + description: Link smart tags to opportunity + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /tasks/{id} + method: removeTask + httpMethod: delete + tag: Tasks + typeScriptTag: tasks + description: Delete a task + parameters: [] + responses: + - statusCode: '204' + description: Task deleted + - url: /tasks/{id} + method: getById + httpMethod: get + tag: Tasks + typeScriptTag: tasks + description: Get a task + parameters: + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: embed + schema: array + description: > + Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: + `individuals.read`
- owner, assigned_staffs: `staffs.read`
+ - contact: `contacts.read`
- related: by object type. Check the + entire documentation to verify the usual scopes requested for the + types returned + responses: + - statusCode: '200' + description: '' + - url: /tasks/{id} + method: updateTaskById + httpMethod: put + tag: Tasks + typeScriptTag: tasks + description: Update a task + parameters: + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: embed + schema: array + description: > + Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: + `individuals.read`
- owner, assigned_staffs: `staffs.read`
+ - contact: `contacts.read`
- related: by object type. Check the + entire documentation to verify the usual scopes requested for the + types returned + - name: title + schema: string + description: '' + example: Meeting + - name: description + schema: string + description: '' + example: Monthly meeting with consulting team + - name: is_private + schema: boolean + description: '' + default: false + - name: due_date + schema: string + description: '' + example: '2020-01-01T00:00:00+01:00' + - name: status + schema: string + description: '' + example: todo + - name: assigned_staff_ids + schema: array + description: '' + - name: label_id + schema: integer + description: '' + - name: related + schema: array + description: '' + - name: owner_id + schema: integer + description: '' + - name: priority + schema: integer + description: '' + responses: + - statusCode: '200' + description: '' + - url: /tasks + method: getList + httpMethod: get + tag: Tasks + typeScriptTag: tasks + description: Tasks List + parameters: + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: embed + schema: array + description: > + Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: + `individuals.read`
- owner, assigned_staffs: `staffs.read`
+ - contact: `contacts.read`
- related: by object type. Check the + entire documentation to verify the usual scopes requested for the + types returned + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /tasks + method: createTask + httpMethod: post + tag: Tasks + typeScriptTag: tasks + description: Create a task + parameters: + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: embed + schema: array + description: > + Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: + `individuals.read`
- owner, assigned_staffs: `staffs.read`
+ - contact: `contacts.read`
- related: by object type. Check the + entire documentation to verify the usual scopes requested for the + types returned + responses: + - statusCode: '201' + description: '' + - url: /tasks/search + method: searchTasks + httpMethod: post + tag: Tasks + typeScriptTag: tasks + description: Search Tasks + parameters: + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: embed + schema: array + description: > + Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: + `individuals.read`
- owner, assigned_staffs: `staffs.read`
+ - contact: `contacts.read`
- related: by object type. Check the + entire documentation to verify the usual scopes requested for the + types returned + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: filters + schema: object + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /tasks/labels + method: getLabels + httpMethod: get + tag: Tasks + typeScriptTag: tasks + description: Get tasks labels + parameters: + - name: order + schema: string + description: The order field + example: rank + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /calendar-events/labels + method: getLabels + httpMethod: get + tag: Calendar + typeScriptTag: calendar + description: Get calendar events labels + parameters: + - name: order + schema: string + description: The order field + example: rank + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /staffs/{id} + method: getStaff + httpMethod: get + tag: Staffs + typeScriptTag: staffs + description: Get Staff + parameters: + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: embed + schema: array + description: > + Additional object included in the result.

If current user + visibility on staffs is restricted, embed will not be available.

Each embed object may require different oauth2 scopes than + the main endpoint:
- licenses: `accounts.read`
- profile: + `staffs.read`
- account: `staffs.read`
- user: + `staffs.read`
- subscriptions: `accounts.read`
- features: + `accounts.read` + responses: + - statusCode: '200' + description: '' + - statusCode: '404' + description: Staff not found. Depending on your subscription plan + - url: /staffs/{id} + method: updateInformation + httpMethod: put + tag: Staffs + typeScriptTag: staffs + description: Update Staff + parameters: + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: embed + schema: array + description: > + Additional object included in the result.

If current user + visibility on staffs is restricted, embed will not be available.

Each embed object may require different oauth2 scopes than + the main endpoint:
- licenses: `accounts.read` + - name: lastname + schema: string + description: '' + example: Smith + - name: firstname + schema: string + description: '' + example: John + - name: email + schema: string + description: '' + example: john@example-company.com + - name: phone_number + schema: string + description: '' + example: '+33100000000' + - name: mobile_number + schema: string + description: '' + example: '+33600000000' + - name: fax_number + schema: string + description: '' + example: '+33500000000' + - name: civility + schema: string + description: '' + example: mrs + - name: position + schema: string + description: '' + example: Sales manager + - name: profile + schema: integer + description: '' + example: 3443 + - name: team + schema: integer + description: '' + example: -1 + - name: job + schema: integer + description: '' + example: -1 + - name: timezone + schema: string + description: '' + example: Europe/Paris + - name: language + schema: string + description: '' + example: fr + - name: licenses + schema: array + description: '' + - name: is_active + schema: boolean + description: '' + example: true + responses: + - statusCode: '200' + description: '' + - url: /staffs + method: getList + httpMethod: get + tag: Staffs + typeScriptTag: staffs + description: Get Staffs + parameters: + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: embed + schema: array + description: > + Additional object included in the result.

If current user + visibility on staffs is restricted, embed will not be available.

Each embed object may require different oauth2 scopes than + the main endpoint:
- licenses: `accounts.read` + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: order + schema: string + description: Field on which to sort the data + example: id + responses: + - statusCode: '200' + description: '' + - url: /staffs + method: createStaff + httpMethod: post + tag: Staffs + typeScriptTag: staffs + description: Create a staff + parameters: + - name: lastname + schema: string + required: true + description: '' + example: Smith + - name: firstname + schema: string + required: true + description: '' + example: John + - name: email + schema: string + required: true + description: '' + example: john@example-company.com + - name: phone_number + schema: string + required: false + description: '' + example: '+33100000000' + - name: mobile_number + schema: string + required: false + description: '' + example: '+33600000000' + - name: fax_number + schema: string + required: false + description: '' + example: '+33500000000' + - name: civility + schema: string + required: true + description: '' + example: mrs + - name: position + schema: string + required: false + description: '' + example: Sales manager + - name: profile + schema: integer + required: true + description: '' + example: 3443 + - name: team + schema: integer + required: true + description: '' + example: -1 + - name: job + schema: integer + required: true + description: '' + example: -1 + - name: timezone + schema: string + required: true + description: '' + example: Europe/Paris + - name: language + schema: string + required: true + description: '' + example: fr + - name: first_connection_onboarding + schema: boolean + required: true + description: '' + example: true + - name: licenses + schema: array + required: false + description: '' + responses: + - statusCode: '201' + description: '' + - url: /staffs/search + method: searchList + httpMethod: post + tag: Staffs + typeScriptTag: staffs + description: Search Staffs + parameters: + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: embed + schema: array + description: > + Additional object included in the result.

If current user + visibility on staffs is restricted, embed will not be available.

Each embed object may require different oauth2 scopes than + the main endpoint:
- licenses: `accounts.read` + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: order + schema: string + description: Field on which to sort the data + example: id + - name: filters + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - url: /teams + method: listTeams + httpMethod: get + tag: Staffs + typeScriptTag: staffs + description: Team List + parameters: + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + responses: + - statusCode: '200' + description: '' + - url: /profiles + method: getProfilesList + httpMethod: get + tag: Staffs + typeScriptTag: staffs + description: Profiles list + parameters: + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + responses: + - statusCode: '200' + description: '' + - url: /files/{id} + method: removeFile + httpMethod: delete + tag: Files + typeScriptTag: files + description: Delete file + parameters: [] + responses: + - statusCode: '204' + description: File deleted + - url: /files/{id} + method: getById + httpMethod: get + tag: Files + typeScriptTag: files + description: Get file + parameters: [] + responses: + - statusCode: '200' + description: File schema + - url: /files/{id} + method: moveFileToDirectory + httpMethod: patch + tag: Files + typeScriptTag: files + description: Move a file to a new directory + parameters: + - name: type + schema: string + required: true + description: '' + example: opportunity + - name: id + schema: integer + required: true + description: '' + example: 1 + responses: + - statusCode: '204' + description: File moved + - statusCode: '409' + description: Conflict + - url: /search + method: searchObjects + httpMethod: get + tag: Listings + typeScriptTag: listings + description: Search + parameters: + - name: q + schema: string + required: true + description: The search field + example: John + - name: type + schema: array + description: | + Filter search by object type or subtype. + - `ex with types: type[]=contact&type[]=company` + - `ex with subtypes: type[]=company.client&type[]=item.product` + - `ex with both: type[]=company&type[]=item.product` + - name: limit + schema: integer + description: >- + The pagination limit. On a default search (without the `type` + parameter), the limit parameter is not used because the limit is + automatically calculated in relation to the relevance of the search + results. + default: 25 + responses: + - statusCode: '200' + description: '' + - url: /calendar-events + method: getEventsList + httpMethod: get + tag: Calendar + typeScriptTag: calendar + description: Calendar events List + parameters: + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: embed + schema: array + description: > + Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: + `individuals.read`
- owner: `staffs.read`
- contact: + `contacts.read`
- related, participants: by object type. Check + the entire documentation to verify the usual scopes requested for the + types returned + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /calendar-events + method: createEvent + httpMethod: post + tag: Calendar + typeScriptTag: calendar + description: Create a calendar event + parameters: + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: embed + schema: array + description: > + Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: + `individuals.read`
- owner: `staffs.read`
- contact: + `contacts.read`
- related, participants: by object type. Check + the entire documentation to verify the usual scopes requested for the + types returned + - name: title + schema: string + required: true + description: '' + example: Meeting + - name: description + schema: string + required: false + description: '' + example: Monthly meeting with consulting team + - name: datetime_start + schema: string + required: true + description: '' + example: '2020-01-01T00:00:00+01:00' + - name: datetime_end + schema: string + required: true + description: '' + example: '2020-01-01T00:00:00+01:00' + - name: is_private + schema: boolean + required: false + description: '' + default: false + - name: all_day + schema: boolean + required: false + description: '' + default: false + - name: label_id + schema: integer + required: true + description: '' + example: 0 + - name: provider_calendar + schema: string + required: false + description: '' + example: myemail@gmail.com + - name: participants + schema: array + required: false + description: '' + - name: related + schema: array + required: false + description: '' + - name: created + schema: string + required: false + description: '' + - name: priority + schema: integer + required: false + description: '' + default: 0 + responses: + - statusCode: '201' + description: '' + - url: /calendar-events/{id} + method: deleteEvent + httpMethod: delete + tag: Calendar + typeScriptTag: calendar + description: Delete calendar event + parameters: [] + responses: + - statusCode: '204' + description: Calendar event deleted + - url: /calendar-events/{id} + method: getEvent + httpMethod: get + tag: Calendar + typeScriptTag: calendar + description: Get calendar event + parameters: + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: embed + schema: array + description: > + Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: + `individuals.read`
- owner: `staffs.read`
- contact: + `contacts.read`
- related, participants: by object type. Check + the entire documentation to verify the usual scopes requested for the + types returned + responses: + - statusCode: '200' + description: '' + - url: /calendar-events/{id} + method: updateEvent + httpMethod: put + tag: Calendar + typeScriptTag: calendar + description: Update calendar event + parameters: + - name: title + schema: string + description: '' + example: Meeting + - name: description + schema: string + description: '' + example: Monthly meeting with consulting team + - name: datetime_start + schema: string + description: '' + example: '2020-01-01T00:00:00+01:00' + - name: datetime_end + schema: string + description: '' + example: '2020-01-01T00:00:00+01:00' + - name: is_private + schema: boolean + description: '' + default: false + - name: all_day + schema: boolean + description: '' + default: false + - name: label_id + schema: integer + description: '' + - name: provider_calendar + schema: string + description: '' + example: myemail@gmail.com + - name: participants + schema: array + description: '' + - name: related + schema: array + description: '' + - name: priority + schema: integer + description: '' + responses: + - statusCode: '200' + description: '' + - url: /calendar-events/search + method: searchEvent + httpMethod: post + tag: Calendar + typeScriptTag: calendar + description: Search calendar event + parameters: + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: embed + schema: array + description: > + Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: + `individuals.read`
- owner: `staffs.read`
- contact: + `contacts.read`
- related, participants: by object type. Check + the entire documentation to verify the usual scopes requested for the + types returned + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: filters + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - url: /activities/search + method: performSearch + httpMethod: post + tag: Activities + typeScriptTag: activities + description: Search in activity + parameters: + - name: order + schema: string + description: The order field + example: due_date + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: embed + schema: array + description: > + Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: + `individuals.read`
- author: `staffs.read`
- + object_related: by object type. Check the entire documentation to + verify the usual scopes requested for the types returned + responses: + - statusCode: '200' + description: '' + - url: /timeline/{type}/{id}/search + method: searchTimelineActivity + httpMethod: post + tag: Activities + typeScriptTag: activities + description: Timeline search + parameters: + - name: order + schema: string + description: The order field + example: due_date + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: embed + schema: array + description: > + Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: + `individuals.read`
- author: `staffs.read`
- + object_related: by object type. Check the entire documentation to + verify the usual scopes requested for the types returned + - name: filters + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - url: /phone-calls/{id} + method: deletePhoneCall + httpMethod: delete + tag: PhoneCalls + typeScriptTag: phoneCalls + description: Delete a phoneCall + parameters: [] + responses: + - statusCode: '204' + description: PhoneCall deleted + - url: /phone-calls/{id} + method: getPhoneCall + httpMethod: get + tag: PhoneCalls + typeScriptTag: phoneCalls + description: Get a phoneCall + parameters: + - name: embed + schema: array + description: > + Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: + `individuals.read`
- owner: `staffs.read`
- contact: + `contacts.read`
- related: by object type. Check the entire + documentation to verify the usual scopes requested for the types + returned + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /phone-calls/{id} + method: updatePhoneCall + httpMethod: put + tag: PhoneCalls + typeScriptTag: phoneCalls + description: Update a phoneCall + parameters: + - name: embed + schema: array + description: > + Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: + `individuals.read`
- owner: `staffs.read`
- contact: + `contacts.read`
- related: by object type. Check the entire + documentation to verify the usual scopes requested for the types + returned + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: description + schema: string + description: '' + example: >- + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do + eiusmod tempor + - name: owner_id + schema: integer + description: '' + - name: topic + schema: integer + description: '' + - name: result + schema: string + description: '' + - name: source + schema: string + description: '' + - name: duration + schema: integer + description: '' + example: 12345 + - name: date + schema: string + description: '' + example: '2020-01-01T00:00:00+01:00' + - name: related + schema: array + description: '' + - name: priority + schema: integer + description: '' + responses: + - statusCode: '200' + description: '' + - url: /phone-calls + method: getList + httpMethod: get + tag: PhoneCalls + typeScriptTag: phoneCalls + description: PhoneCalls List + parameters: + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: embed + schema: array + description: > + Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: + `individuals.read`
- owner: `staffs.read`
- contact: + `contacts.read`
- related: by object type. Check the entire + documentation to verify the usual scopes requested for the types + returned + responses: + - statusCode: '200' + description: '' + - url: /phone-calls + method: createPhoneCall + httpMethod: post + tag: PhoneCalls + typeScriptTag: phoneCalls + description: Create a phone call + parameters: + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: embed + schema: array + description: > + Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: + `individuals.read`
- owner: `staffs.read`
- contact: + `contacts.read`
- related: by object type. Check the entire + documentation to verify the usual scopes requested for the types + returned + responses: + - statusCode: '201' + description: '' + - url: /phone-calls/search + method: searchList + httpMethod: post + tag: PhoneCalls + typeScriptTag: phoneCalls + description: Search phoneCalls + parameters: + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: embed + schema: array + description: > + Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: + `individuals.read`
- owner: `staffs.read`
- contact: + `contacts.read`
- related: by object type. Check the entire + documentation to verify the usual scopes requested for the types + returned + - name: filters + schema: object + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /emails/{id} + method: getDetails + httpMethod: get + tag: Emails + typeScriptTag: emails + description: Get Email + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '206' + description: '' + - url: /emails/threads/{id} + method: getThreadEmails + httpMethod: get + tag: Emails + typeScriptTag: emails + description: Get Emails Thread + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /email/authenticate + method: getDnsData + httpMethod: get + tag: Emails + typeScriptTag: emails + description: Get email's domain DNS data + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /email/domain/validate + method: validateDns + httpMethod: post + tag: Emails + typeScriptTag: emails + description: Validate email's DNS + parameters: + - name: domain + schema: string + description: '' + example: domain.com + responses: + - statusCode: '200' + description: '' + - statusCode: '400' + description: Bad Request + - url: /webhooks + method: getList + httpMethod: get + tag: Webhooks + typeScriptTag: webhooks + description: Get Webhooks + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /webhooks + method: createWebhook + httpMethod: post + tag: Webhooks + typeScriptTag: webhooks + description: Create Webhook + parameters: + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '201' + description: '' + - url: /webhooks/search + method: searchWebhooksList + httpMethod: post + tag: Webhooks + typeScriptTag: webhooks + description: Search Webhooks + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: filters + schema: object + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /webhooks/{id} + method: deleteWebhook + httpMethod: delete + tag: Webhooks + typeScriptTag: webhooks + description: Delete Webhook + parameters: [] + responses: + - statusCode: '204' + description: Webhook deleted + - url: /webhooks/{id} + method: getWebhook + httpMethod: get + tag: Webhooks + typeScriptTag: webhooks + description: Get Webhook + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /webhooks/{id} + method: updateInformation + httpMethod: put + tag: Webhooks + typeScriptTag: webhooks + description: Update Webhook + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /webhooks/events + method: listEvents + httpMethod: get + tag: Webhooks + typeScriptTag: webhooks + description: List Webhook Events + parameters: [] + responses: + - statusCode: '200' + description: List available webhook events + - url: /units + method: getAll + httpMethod: get + tag: Units + typeScriptTag: units + description: Get Units + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /currencies + method: getAll + httpMethod: get + tag: Currencies + typeScriptTag: currencies + description: Get currencies + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /countries + method: getList + httpMethod: get + tag: Countries + typeScriptTag: countries + description: Get countries list + parameters: + - name: language + schema: string + description: translation of the country name + default: fr + responses: + - statusCode: '200' + description: '' + - url: /settings/subscription + method: getDetails + httpMethod: get + tag: Subscription + typeScriptTag: subscription + description: Get my Sellsy subscription informations + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /items + method: getList + httpMethod: get + tag: Items + typeScriptTag: items + description: Items List + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: order + schema: string + description: Order field + example: id + responses: + - statusCode: '200' + description: '' + - url: /items + method: createItem + httpMethod: post + tag: Items + typeScriptTag: items + description: Create an item + parameters: + - name: description + schema: string + required: false + description: '' + example: T-shirt 90% coton + - name: type + schema: string + required: true + description: '' + example: TYPE + - name: name + schema: string + required: false + description: '' + example: lorem ipsum + - name: reference + schema: string + required: true + description: '' + example: ref0123 + - name: reference_price + schema: string + required: false + description: '' + example: '19.99' + - name: purchase_amount + schema: string + required: false + description: '' + example: '8.25' + - name: is_reference_price_taxes_free + schema: boolean + required: false + description: '' + example: true + - name: tax_id + schema: integer + required: false + description: '' + example: 354 + - name: unit_id + schema: integer + required: false + description: '' + example: 952 + - name: category_id + schema: integer + required: false + description: '' + example: 123 + - name: standard_quantity + schema: string + required: false + description: '' + example: '3' + - name: is_name_included_in_description + schema: boolean + required: false + description: '' + example: true + - name: accounting_code_id + schema: integer + required: false + description: '' + example: 321 + - name: accounting_purchase_code_id + schema: integer + required: false + description: '' + example: 123 + - name: accounting_analytic_code + schema: string + required: false + description: '' + example: divers + responses: + - statusCode: '201' + description: '' + - url: /items/search + method: searchItems + httpMethod: post + tag: Items + typeScriptTag: items + description: Search items + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: order + schema: string + description: Order field + example: id + - name: filters + schema: object + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /items/favourite-filters + method: listFavouriteFilters + httpMethod: get + tag: Items + typeScriptTag: items + description: List items favourite filters + parameters: + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /items/{id} + method: removeItem + httpMethod: delete + tag: Items + typeScriptTag: items + description: Delete item + parameters: [] + responses: + - statusCode: '204' + description: Item deleted + - url: /items/{id} + method: getById + httpMethod: get + tag: Items + typeScriptTag: items + description: Get an item + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /items/{id} + method: updateItem + httpMethod: put + tag: Items + typeScriptTag: items + description: Update an item + parameters: + - name: description + schema: string + description: '' + example: T-shirt 90% coton + - name: name + schema: string + description: '' + example: lorem ipsum + - name: reference + schema: string + description: '' + example: ref0123 + - name: reference_price + schema: string + description: '' + example: '19.99' + - name: purchase_amount + schema: string + description: '' + example: '8.25' + - name: is_reference_price_taxes_free + schema: boolean + description: '' + example: true + - name: tax_id + schema: integer + description: '' + example: 354 + - name: unit_id + schema: integer + description: '' + example: 952 + - name: category_id + schema: integer + description: '' + example: 123 + - name: standard_quantity + schema: string + description: '' + example: 3 + - name: is_name_included_in_description + schema: boolean + description: '' + example: true + - name: accounting_code_id + schema: integer + description: '' + example: 321 + - name: accounting_purchase_code_id + schema: integer + description: '' + example: 123 + responses: + - statusCode: '200' + description: '' + - url: /items/{id}/prices + method: getPricesList + httpMethod: get + tag: Items + typeScriptTag: items + description: Get item prices + parameters: + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + responses: + - statusCode: '200' + description: '' + - url: /items/{id}/prices + method: updatePricesList + httpMethod: put + tag: Items + typeScriptTag: items + description: Update item prices + parameters: + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + responses: + - statusCode: '200' + description: '' + - url: /items/{id}/declinations + method: getDeclinationsList + httpMethod: get + tag: Items + typeScriptTag: items + description: Declinations List + parameters: + - name: filters + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - url: /staffs/{id}/licenses + method: removeLicenses + httpMethod: delete + tag: Staffs + typeScriptTag: staffs + description: Delete licenses + parameters: [] + responses: + - statusCode: '204' + description: licenses deleted + - url: /staffs/{id}/licenses + method: updateLicenses + httpMethod: put + tag: Staffs + typeScriptTag: staffs + description: Put staff licenses + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /quotas + method: getCorpQuotas + httpMethod: get + tag: Quotas + typeScriptTag: quotas + description: Get Quotas + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /batch + method: requestCreate + httpMethod: post + tag: Batch + typeScriptTag: batch + description: Batch request + parameters: [] + responses: + - statusCode: '207' + description: '' + - url: /notifications + method: getUserNotifications + httpMethod: get + tag: Notifications + typeScriptTag: notifications + description: Get User Notifications + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /notifications/search + method: searchUserNotifications + httpMethod: post + tag: Notifications + typeScriptTag: notifications + description: Search User Notifications + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: filters + schema: object + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /notifications/{id} + method: deleteNotification + httpMethod: delete + tag: Notifications + typeScriptTag: notifications + description: Delete notification + parameters: [] + responses: + - statusCode: '204' + description: notification deleted + - url: /notifications/{id}/mark-as-read + method: markAsRead + httpMethod: patch + tag: Notifications + typeScriptTag: notifications + description: Mark notification as read + parameters: + - name: read + schema: boolean + required: true + description: '' + example: true + responses: + - statusCode: '204' + description: notification read status updated + - url: /notifications/mark-all-as-read + method: markAllAsRead + httpMethod: patch + tag: Notifications + typeScriptTag: notifications + description: Mark all unread notifications as read + parameters: [] + responses: + - statusCode: '204' + description: notifications read status updated + - url: /notifications/settings + method: getSettings + httpMethod: get + tag: Notifications + typeScriptTag: notifications + description: Get Notifications settings + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /notifications/settings + method: updateSettings + httpMethod: put + tag: Notifications + typeScriptTag: notifications + description: Update Notifications settings + parameters: + - name: subscriptions + schema: array + description: '' + - name: do_not_disturb + schema: object + description: '' + responses: + - statusCode: '200' + description: '' + - url: /invoices/{id} + method: getById + httpMethod: get + tag: Invoices + typeScriptTag: invoices + description: Get invoice + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /invoices/{id} + method: updateInvoiceById + httpMethod: put + tag: Invoices + typeScriptTag: invoices + description: Update invoice + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /invoices + method: list + httpMethod: get + tag: Invoices + typeScriptTag: invoices + description: Invoices List + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: embed + schema: array + description: Additional object included in the result + - name: order + schema: string + description: Order field + example: id + responses: + - statusCode: '200' + description: '' + - url: /invoices + method: createNewInvoice + httpMethod: post + tag: Invoices + typeScriptTag: invoices + description: Create invoice + parameters: + - name: embed + schema: array + description: Additional object included in the result + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '201' + description: '' + - url: /invoices/search + method: searchInvoices + httpMethod: post + tag: Invoices + typeScriptTag: invoices + description: Search invoices + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: embed + schema: array + description: Additional object included in the result + - name: order + schema: string + description: Order field + example: id + - name: filters + schema: object + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /invoices/favourite-filters + method: listFavouriteFilters + httpMethod: get + tag: Invoices + typeScriptTag: invoices + description: List invoices favourite filters + parameters: + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /invoices/compute + method: computeInvoice + httpMethod: post + tag: Invoices + typeScriptTag: invoices + description: Compute an invoice + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /invoices/{id}/smart-tags + method: getSmartTagsList + httpMethod: get + tag: Invoices + typeScriptTag: invoices + description: Invoice smart-tags list + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /invoices/{id}/smart-tags + method: linkSmartTags + httpMethod: post + tag: Invoices + typeScriptTag: invoices + description: Link smart tags to invoice + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /invoices/{id}/validate + method: validateInvoice + httpMethod: post + tag: Invoices + typeScriptTag: invoices + description: Validate Invoice + parameters: + - name: date + schema: string + description: '' + example: '2022-01-01' + responses: + - statusCode: '200' + description: '' + - url: /invoices/{id}/credit-notes + method: getCreditNotes + httpMethod: get + tag: Invoices + typeScriptTag: invoices + description: Get credit notes linked to invoice + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /invoices/{invoiceId}/credit-notes/{creditNoteId} + method: unlinkCreditNote + httpMethod: delete + tag: Invoices + typeScriptTag: invoices + description: Unlink a credit note from an invoice + parameters: [] + responses: + - statusCode: '204' + description: Document unlinked + - url: /invoices/{invoiceId}/credit-notes/{creditNoteId} + method: linkCreditNote + httpMethod: post + tag: Invoices + typeScriptTag: invoices + description: Link a credit note to an invoice + parameters: + - name: amount + schema: string + required: true + description: '' + example: '12.66' + responses: + - statusCode: '200' + description: '' + - url: /invoices/{id}/payments + method: getPaymentsList + httpMethod: get + tag: Invoices + typeScriptTag: invoices + description: Invoice payments list + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /invoices/{documentId}/payments/{paymentId} + method: unlinkPayment + httpMethod: delete + tag: Invoices + typeScriptTag: invoices + description: Unlink payment from invoice + parameters: [] + responses: + - statusCode: '204' + description: Payment unlinked + - url: /invoices/{documentId}/payments/{paymentId} + method: linkPaymentToInvoice + httpMethod: post + tag: Invoices + typeScriptTag: invoices + description: Link payment to invoice + parameters: + - name: amount + schema: number + required: true + description: '' + example: 123.45 + responses: + - statusCode: '201' + description: '' + - url: /invoices/{documentId}/files + method: listFiles + httpMethod: get + tag: Invoices + typeScriptTag: invoices + description: List directories and files of an invoice + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /invoices/{documentId}/files + method: attachFile + httpMethod: post + tag: Invoices + typeScriptTag: invoices + description: Attach file to an invoice + parameters: + - name: file + schema: string + required: true + description: '' + example: FILE + responses: + - statusCode: '201' + description: File schema + - url: /invoices/{id}/custom-fields + method: getCustomFields + httpMethod: get + tag: Invoices + typeScriptTag: invoices + description: Invoice custom fields List + parameters: + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /invoices/{id}/custom-fields + method: updateCustomFields + httpMethod: put + tag: Invoices + typeScriptTag: invoices + description: Update Invoice custom fields + parameters: + - name: verify + schema: boolean + description: >- + Flag to trigger validation only (set to true to validate payload + without persisting data) + responses: + - statusCode: '200' + description: Invoice's custom fields updated + - statusCode: '204' + description: '' + - url: /invoices/{invoiceId}/primes/{primeId} + method: unlinkPrime + httpMethod: delete + tag: Invoices + typeScriptTag: invoices + description: Unlink a prime from an invoice + parameters: [] + responses: + - statusCode: '204' + description: Prime unlinked + - statusCode: '403' + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + - statusCode: '404' + description: Requested prime was not applied on the document + - url: /invoices/{invoiceId}/primes/{primeId} + method: linkPrimeToInvoice + httpMethod: post + tag: Invoices + typeScriptTag: invoices + description: Link prime to invoice + parameters: + - name: quantity + schema: integer + required: true + description: '' + example: 12 + - name: amount + schema: string + required: false + description: '' + example: '12.34' + responses: + - statusCode: '201' + description: Prime linked + - statusCode: '403' + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + - url: /invoices/{invoiceId}/discount-incl-taxes/{discountId} + method: unlinkDiscountIncludingTaxes + httpMethod: delete + tag: Invoices + typeScriptTag: invoices + description: Unlink a discount including taxes from an invoice + parameters: [] + responses: + - statusCode: '204' + description: Discount unlinked + - statusCode: '403' + description: >- + Either discounts on documents are not activated on your account or you + don't have the required privileges + - statusCode: '404' + description: Requested discount was not applied on the document + - url: /invoices/{invoiceId}/discount-incl-taxes/{discountId} + method: linkDiscountIncludingTaxes + httpMethod: post + tag: Invoices + typeScriptTag: invoices + description: Link discount including taxes to invoice + parameters: + - name: quantity + schema: integer + required: true + description: '' + example: 12 + - name: amount + schema: string + required: false + description: '' + example: '12.34' + responses: + - statusCode: '201' + description: Discount linked + - statusCode: '403' + description: >- + Either discounts on documents are not activated on your account or you + don't have the required privileges + - url: /credit-notes/{id} + method: getById + httpMethod: get + tag: Credit Notes + typeScriptTag: creditNotes + description: Get credit note + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /credit-notes/{id} + method: updateNote + httpMethod: put + tag: Credit Notes + typeScriptTag: creditNotes + description: Update credit note + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /credit-notes + method: getList + httpMethod: get + tag: Credit Notes + typeScriptTag: creditNotes + description: Credit notes List + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: embed + schema: array + description: Additional object included in the result + - name: order + schema: string + description: Order field + example: id + responses: + - statusCode: '200' + description: '' + - url: /credit-notes + method: createCreditNote + httpMethod: post + tag: Credit Notes + typeScriptTag: creditNotes + description: Create credit note + parameters: + - name: embed + schema: array + description: Additional object included in the result + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '201' + description: '' + - url: /credit-notes/search + method: searchCreditNotes + httpMethod: post + tag: Credit Notes + typeScriptTag: creditNotes + description: Search credit notes + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: embed + schema: array + description: Additional object included in the result + - name: order + schema: string + description: Order field + example: id + - name: filters + schema: object + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /credit-notes/favourite-filters + method: listFavouriteFilters + httpMethod: get + tag: Credit Notes + typeScriptTag: creditNotes + description: List credit-notes favourite filters + parameters: + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /credit-notes/compute + method: computeCreditNote + httpMethod: post + tag: Credit Notes + typeScriptTag: creditNotes + description: Compute a credit note + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /credit-notes/{id}/smart-tags + method: getSmartTagsList + httpMethod: get + tag: Credit Notes + typeScriptTag: creditNotes + description: Credit note smart-tags list + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /credit-notes/{id}/smart-tags + method: linkSmartTags + httpMethod: post + tag: Credit Notes + typeScriptTag: creditNotes + description: Link smart tags to credit note + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /credit-notes/{id}/validate + method: validateCreditNote + httpMethod: post + tag: Credit Notes + typeScriptTag: creditNotes + description: Validate credit note + parameters: + - name: date + schema: string + description: '' + example: '2022-01-01' + responses: + - statusCode: '200' + description: '' + - url: /credit-notes/{id}/custom-fields + method: listCustomFields + httpMethod: get + tag: Credit Notes + typeScriptTag: creditNotes + description: Credit note custom fields List + parameters: + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /credit-notes/{id}/custom-fields + method: updateCustomFields + httpMethod: put + tag: Credit Notes + typeScriptTag: creditNotes + description: Update credit note custom fields + parameters: + - name: verify + schema: boolean + description: >- + Flag to trigger validation only (set to true to validate payload + without persisting data) + responses: + - statusCode: '200' + description: Credit note's custom fields updated + - statusCode: '204' + description: '' + - url: /credit-notes/{id}/invoices + method: getLinkedInvoices + httpMethod: get + tag: Credit Notes + typeScriptTag: creditNotes + description: Get invoices linked to credit note + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /credit-notes/{creditNoteId}/invoices/{invoiceId} + method: unlinkInvoice + httpMethod: delete + tag: Credit Notes + typeScriptTag: creditNotes + description: Unlink an invoice from a credit note + parameters: [] + responses: + - statusCode: '204' + description: Document unlinked + - url: /credit-notes/{creditNoteId}/invoices/{invoiceId} + method: linkInvoice + httpMethod: post + tag: Credit Notes + typeScriptTag: creditNotes + description: Link an invoice to a credit note + parameters: + - name: amount + schema: string + required: true + description: '' + example: '12.66' + responses: + - statusCode: '200' + description: '' + - url: /credit-notes/{id}/payments + method: getPaymentsList + httpMethod: get + tag: Credit Notes + typeScriptTag: creditNotes + description: Credit note payments list + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /credit-notes/{documentId}/payments/{paymentId} + method: unlinkPayment + httpMethod: delete + tag: Credit Notes + typeScriptTag: creditNotes + description: Unlink payment from credit note + parameters: [] + responses: + - statusCode: '204' + description: Payment unlinked + - url: /credit-notes/{documentId}/payments/{paymentId} + method: linkPayment + httpMethod: post + tag: Credit Notes + typeScriptTag: creditNotes + description: Link payment to credit note + parameters: + - name: amount + schema: number + required: true + description: '' + example: 123.45 + responses: + - statusCode: '201' + description: '' + - url: /credit-notes/{documentId}/files + method: getDirectoryFiles + httpMethod: get + tag: Credit Notes + typeScriptTag: creditNotes + description: List directories and files of a credit note + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /credit-notes/{documentId}/files + method: attachFileToCreditNote + httpMethod: post + tag: Credit Notes + typeScriptTag: creditNotes + description: Attach file to an credit note + parameters: + - name: file + schema: string + required: true + description: '' + example: FILE + responses: + - statusCode: '201' + description: File schema + - url: /credit-notes/{creditNoteId}/primes/{primeId} + method: unlinkPrimeFromNote + httpMethod: delete + tag: Credit Notes + typeScriptTag: creditNotes + description: Unlink a prime from a credit note + parameters: [] + responses: + - statusCode: '204' + description: Prime unlinked + - statusCode: '403' + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + - statusCode: '404' + description: Requested prime was not applied on the document + - url: /credit-notes/{creditNoteId}/primes/{primeId} + method: linkPrimeToCreditNote + httpMethod: post + tag: Credit Notes + typeScriptTag: creditNotes + description: Link prime to credit note + parameters: + - name: quantity + schema: integer + required: true + description: '' + example: 12 + - name: amount + schema: string + required: false + description: '' + example: '12.34' + responses: + - statusCode: '201' + description: Prime linked + - statusCode: '403' + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + - url: /credit-notes/{creditNoteId}/discount-incl-taxes/{discountId} + method: unlinkDiscountInclTaxes + httpMethod: delete + tag: Credit Notes + typeScriptTag: creditNotes + description: Unlink a discount including taxes from a credit note + parameters: [] + responses: + - statusCode: '204' + description: Discount unlinked + - statusCode: '403' + description: >- + Either discounts on documents are not activated on your account or you + don't have the required privileges + - statusCode: '404' + description: Requested discount was not applied on the document + - url: /credit-notes/{creditNoteId}/discount-incl-taxes/{discountId} + method: linkDiscountToCreditNote + httpMethod: post + tag: Credit Notes + typeScriptTag: creditNotes + description: Link discount including taxes to credit note + parameters: + - name: quantity + schema: integer + required: true + description: '' + example: 12 + - name: amount + schema: string + required: false + description: '' + example: '12.34' + responses: + - statusCode: '201' + description: Discount linked + - statusCode: '403' + description: >- + Either discounts on documents are not activated on your account or you + don't have the required privileges + - url: /payments/{id} + method: deletePayment + httpMethod: delete + tag: Payments + typeScriptTag: payments + description: Delete payment + parameters: [] + responses: + - statusCode: '204' + description: Payment deleted + - url: /payments/{id} + method: getPaymentById + httpMethod: get + tag: Payments + typeScriptTag: payments + description: Get a payment + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /payments + method: getList + httpMethod: get + tag: Payments + typeScriptTag: payments + description: Get payments + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: embed + schema: array + description: Optional objects added through the embed parameter + - name: order + schema: string + description: The order field + example: paid_date + responses: + - statusCode: '200' + description: '' + - url: /payments/search + method: searchPayments + httpMethod: post + tag: Payments + typeScriptTag: payments + description: Search payments + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: embed + schema: array + description: Optional objects added through the embed parameter + - name: order + schema: string + description: The order field + example: paid_date + - name: filters + schema: object + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /settings/email + method: getSettings + httpMethod: get + tag: Emails + typeScriptTag: emails + description: Get email settings + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /settings/email + method: updateSettings + httpMethod: put + tag: Emails + typeScriptTag: emails + description: Update email settings + parameters: + - name: signature + schema: undefined + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /settings/email/tags + method: getAvailableTagsForSettings + httpMethod: get + tag: Emails + typeScriptTag: emails + description: Get available tags for email signature settings + parameters: [] + responses: + - statusCode: '200' + description: List of available email tags to insert in email signature content + - url: /fiscal-years + method: getList + httpMethod: get + tag: Fiscal Year + typeScriptTag: fiscalYear + description: Get fiscal years + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /languages + method: getAccountLanguages + httpMethod: get + tag: Language + typeScriptTag: language + description: Get the account languages + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /directories + method: createDirectory + httpMethod: post + tag: Files + typeScriptTag: files + description: Create directory + parameters: [] + responses: + - statusCode: '201' + description: Directory schema + - statusCode: '404' + description: Parent not found + - statusCode: '409' + description: Directory already exists + - url: /directories/{id} + method: deleteDirectoryAndItems + httpMethod: delete + tag: Files + typeScriptTag: files + description: Delete the directory and all items attached + parameters: [] + responses: + - statusCode: '204' + description: Directory deleted + - statusCode: '403' + description: Cannot delete this directory + - url: /directories/{id} + method: getDirectory + httpMethod: get + tag: Files + typeScriptTag: files + description: Get directory + parameters: + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: Directory schema + - url: /directories/{id} + method: updateDirectory + httpMethod: put + tag: Files + typeScriptTag: files + description: Update directory + parameters: + - name: description + schema: string + description: '' + - name: name + schema: string + description: '' + responses: + - statusCode: '200' + description: Directory schema + - statusCode: '403' + description: Cannot modify this directory + - statusCode: '409' + description: Directory already exists + - url: /directories/{id}/files + method: listDirectoryContents + httpMethod: get + tag: Files + typeScriptTag: files + description: List directories and files in a directory + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /directories/{id}/files + method: attachToDirectory + httpMethod: post + tag: Files + typeScriptTag: files + description: Attach file to a directory + parameters: + - name: file + schema: string + required: true + description: '' + example: FILE + responses: + - statusCode: '201' + description: File uploaded + - url: /subscriptions + method: getList + httpMethod: get + tag: Subscriptions + typeScriptTag: subscriptions + description: Fetch list of subscriptions + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /subscriptions + method: createNewSubscription + httpMethod: post + tag: Subscriptions + typeScriptTag: subscriptions + description: Create a subscription + parameters: + - name: model + schema: object + required: true + description: '' + - name: related + schema: array + required: true + description: '' + - name: sending + schema: object + required: true + description: '' + - name: preferences_source + schema: string + required: true + description: '' + example: PREFERENCES_SOURCE + - name: conditions + schema: object + required: true + description: '' + - name: payment_installments + schema: array + required: true + description: '' + - name: billing_address + schema: integer + required: false + description: '' + example: 69 + - name: shipping_address + schema: integer + required: false + description: '' + example: 67 + - name: order_reference + schema: string + required: false + description: '' + example: reference + - name: has_updated_catalog_prices + schema: boolean + required: false + description: '' + default: false + - name: has_catalog_promotions + schema: boolean + required: false + description: '' + default: false + - name: has_display_of_next_deadline + schema: boolean + required: false + description: '' + default: false + - name: has_service_dates + schema: boolean + required: false + description: '' + default: false + - name: service_dates + schema: object + required: false + description: '' + - name: has_impact_on_stock + schema: boolean + required: false + description: '' + example: true + default: false + - name: warehouse_id + schema: integer + required: false + description: '' + - name: payment_settings + schema: object + required: false + description: '' + responses: + - statusCode: '201' + description: '' + - url: /subscriptions/search + method: searchSubscriptions + httpMethod: post + tag: Subscriptions + typeScriptTag: subscriptions + description: Search subscriptions + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: order + schema: string + description: The order field + example: id + - name: filters + schema: object + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /subscriptions/{id} + method: deleteSubscription + httpMethod: delete + tag: Subscriptions + typeScriptTag: subscriptions + description: Delete a subscription + parameters: [] + responses: + - statusCode: '204' + description: Subscription deleted + - url: /subscriptions/{id} + method: getSubscriptionById + httpMethod: get + tag: Subscriptions + typeScriptTag: subscriptions + description: Get subscription + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /subscriptions/{id}/payment-installments + method: addPaymentInstallment + httpMethod: patch + tag: Subscriptions + typeScriptTag: subscriptions + description: Add payment installment for a subscription + parameters: + - name: count + schema: integer + required: true + description: '' + example: 2 + responses: + - statusCode: '201' + description: Payment installment added for subscription + - statusCode: '422' + description: >- + It is not allowed to add payment installment if the next calculated + date for the 1st payment installment is not in the future. The + subscription is considered completed. + - url: /subscriptions/payment-installments + method: getPaymentInstallments + httpMethod: get + tag: Subscriptions + typeScriptTag: subscriptions + description: Get all payment installments of subscriptions + parameters: + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ responses: + - statusCode: '200' + description: '' + - url: /subscriptions/payment-installments/search + method: searchPaymentInstallments + httpMethod: post + tag: Subscriptions + typeScriptTag: subscriptions + description: Search payment installments of subscriptions + parameters: + - name: order + schema: string + description: The order field + example: id + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: filters + schema: object + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /documents/models + method: list + httpMethod: get + tag: Document Models + typeScriptTag: documentModels + description: List document models + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /documents/models + method: createModel + httpMethod: post + tag: Document Models + typeScriptTag: documentModels + description: Create a document model + parameters: + - name: number + schema: string + required: true + description: '' + example: model#1 + - name: created + schema: string + required: false + description: '' + example: '2018-02-21T12:00:00Z' + - name: subject + schema: string + required: false + description: '' + example: Subject + - name: currency + schema: string + required: false + description: '' + example: EUR + - name: discount + schema: object + required: false + description: '' + - name: owner_id + schema: integer + required: false + description: '' + example: 145 + - name: rows + schema: array + required: false + description: '' + - name: rate_category_id + schema: integer + required: true + description: '' + example: 777 + responses: + - statusCode: '201' + description: '' + - url: /documents/models/{id} + method: getById + httpMethod: get + tag: Document Models + typeScriptTag: documentModels + description: Get document model + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /documents/models/{id} + method: updateModel + httpMethod: put + tag: Document Models + typeScriptTag: documentModels + description: Update document model + parameters: + - name: number + schema: string + description: '' + example: model#1 + - name: subject + schema: string + description: '' + example: Subject + - name: currency + schema: string + description: '' + example: EUR + - name: discount + schema: object + description: '' + - name: owner_id + schema: integer + description: '' + example: 145 + - name: rows + schema: array + description: '' + responses: + - statusCode: '200' + description: '' + - url: /documents/models/search + method: searchModels + httpMethod: post + tag: Document Models + typeScriptTag: documentModels + description: Search document models + parameters: + - name: direction + schema: string + description: The order direction + default: asc + - name: limit + schema: integer + description: The pagination limit + default: 25 + - name: offset + schema: undefined + description: The pagination offset + - name: field + schema: array + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ - name: order + schema: string + description: Order field + example: id + - name: filters + schema: object + required: true + description: '' + responses: + - statusCode: '200' + description: '' + - url: /documents/models/{id}/convert + method: convertDocumentModel + httpMethod: post + tag: Document Models + typeScriptTag: documentModels + description: Convert a document model into a document + parameters: + - name: doctype + schema: string + required: true + description: '' + example: invoice + - name: related + schema: array + required: true + description: '' + - name: refresh_rows_content + schema: boolean + required: true + description: '' + example: true + responses: + - statusCode: '200' + description: '' + - url: /documents/models/tags + method: getAvailableTags + httpMethod: get + tag: Document Models + typeScriptTag: documentModels + description: Get available tags for document models + parameters: [] + responses: + - statusCode: '200' + description: List of available tags to insert in document models content + - url: /primes + method: getPrimesList + httpMethod: get + tag: Discount Including Taxes + typeScriptTag: discountIncludingTaxes + description: Get list of primes + parameters: [] + responses: + - statusCode: '200' + description: '' + - url: /discount-incl-taxes + method: list + httpMethod: get + tag: Discount Including Taxes + typeScriptTag: discountIncludingTaxes + description: Get list of discounts including taxes + parameters: [] + responses: + - statusCode: '200' + description: '' + - statusCode: '403' + description: >- + Either discounts on documents are not activated on your account or you + don't have the required privileges + - url: /discount-incl-taxes + method: createDiscount + httpMethod: post + tag: Discount Including Taxes + typeScriptTag: discountIncludingTaxes + description: Create a discount including taxes + parameters: + - name: description + schema: string + required: true + description: '' + example: For purchases made during the last five days of October + - name: reference + schema: string + required: true + description: '' + example: Halloween five last day + - name: name + schema: string + required: true + description: '' + example: Halloween promotion + - name: unit_id + schema: integer + required: true + description: '' + example: 31 + - name: amount + schema: string + required: true + description: '' + example: 31 + - name: accounting_code_id + schema: integer + required: false + description: '' + example: 31 + responses: + - statusCode: '200' + description: Discount including taxes + - statusCode: '403' + description: >- + Either discounts on documents are not activated on your account or you + don't have the required privileges + - url: /discount-incl-taxes/{id} + method: delete + httpMethod: delete + tag: Discount Including Taxes + typeScriptTag: discountIncludingTaxes + description: Delete a discount including taxes + parameters: [] + responses: + - statusCode: '204' + description: Discount deleted + - statusCode: '403' + description: >- + Either discounts on documents are not activated on your account or you + don't have the required privileges + - url: /discount-incl-taxes/{id} + method: getById + httpMethod: get + tag: Discount Including Taxes + typeScriptTag: discountIncludingTaxes + description: Get a discount including taxes + parameters: [] + responses: + - statusCode: '200' + description: Discount including taxes + - statusCode: '403' + description: >- + Either discounts on documents are not activated on your account or you + don't have the required privileges + - url: /discount-incl-taxes/{id} + method: updateWithId + httpMethod: put + tag: Discount Including Taxes + typeScriptTag: discountIncludingTaxes + description: Update a discount including taxes + parameters: + - name: description + schema: string + description: '' + example: For purchases made during the last five days of October + - name: reference + schema: string + description: '' + example: Halloween five last day + - name: name + schema: string + description: '' + example: Halloween promotion + - name: unit_id + schema: integer + description: '' + example: 31 + - name: amount + schema: string + description: '' + example: 31 + - name: accounting_code_id + schema: integer + description: '' + example: 31 + responses: + - statusCode: '200' + description: Discount including taxes + - statusCode: '403' + description: >- + Either discounts on documents are not activated on your account or you + don't have the required privileges +numberOfSchemas: 424 +apiDescription: >- + Find out the [Postman collections](dist/postman/CollectionsApiV2.json) with + the required [environment variables](dist/postman/Environment.json) + + + Find out the [Changelog](changelog.html) + + # Errors + + + The errors are returned in JSON with the following format: + + ``` + + { + "error": { + "code": HTTP_CODE, + "message": "Error message", + "context": "Error context code" + "details": { + "FIELD": "Error message" + } + } + + ``` + + + The `details` field can contain an object that details the error. It is used + in particular during validation to return the invalid fields + + + + | HTTP Code | Description | + + | ------------- | ------------- | + + | 400 | Validation and logic errors | + + | 401 | Authentification errors | + + | 402 | Quotas limit reached or limit of feature reached on your + current plan | + + | 403 | Insufficient privileges | + + | 404 | Page not found | + + | 409 | A request conflicts with the current state of the server | + + | 413 | Payload is too large | + + | 429 | Quotas of requests reached (See quotas section) | + + | 5xx | Server errors | + + + + # Versioning + + + This API is versioned, the modifications carried out on this one should not + generate regression if you respect the following recommendations: + + + - A new field can be added, your code must authorize this + + - A new error code can be added, your code must deal with unknown errors + + - On lists, values can be added + + - A missing field is not equal to `null` + + + To target a specific **major** version of the API, just precise the number in + the url: `{url}/v2/{endpoint}` + + + # Quotas + + + A limit on the number of requests per second, minute, day and/or month is + applied to each user account. + + + A 429 error will be sent if at least one of the quotas has reached zero. + + + You can know your remaining quota through the headers of the response: + + - `X-Quota-Remaining-By-Second` + + - `X-Quota-Remaining-By-Minute` + + - `X-Quota-Remaining-By-Day` + + - `X-Quota-Remaining-By-Month` + + + The quotas are counted on each request, even in the event of an error. On the + scripts generating a lot of requests, it is therefore necessary to check these + values before returning requests. + + + A new 402 error code has created. This error appears when you try to create + ressources like a pipeline or custom fields and the quota limit has been + reached. + + + # Pagination on list and search requests + + On list and search requests, the pagination offset can be typed as either an + int or a string, depending on the pagination method used. + + + We provide 2 ways to interact with the pagination. + + ### 1. "Seek" method + + The offset value represents the LAST object in the response list, it's the + default one used. + + + **We recommend to use the "seek" method, it has better performance and + includes optimizations.** + + ``` + + GET {{url}}/comments?limit=1 { + "data": [ + { + "id": 1 + } + ], + "pagination": { + "limit": 1, + "count": 1, + "total": 13, + "offset": "WyIxMSJd" + } + } + + --- + + GET {{url}}/comments?limit=1&offset=WyIxMSJd { + "data": [ + { + "id": 2 + } + ], + "pagination": { + "limit": 1, + "count": 1, + "total": 13, + "offset": "SoIxNyJd" + } + } + + ``` + + ### 2. Numeric offset method + + The second method, more classical, where the offset corresponds to the number + of the result page, it must be explicitly specified in the first request. + + + **We have applied a limit to the first 100 000 results on this method, for + performance purposes.** + + ``` + + GET {{url}}/comments?limit=1&offset=0 { + "data": [ + { + "id": 1 + } + ], + "pagination": { + "limit": 1, + "count": 1, + "total": 13, + "offset": 0 + } + } + + --- + + GET {{url}}/comments?limit=1&offset=1 { + "data": [ + { + "id": 2 + } + ], + "pagination": { + "limit": 1, + "count": 1, + "total": 13, + "offset": 1 + } + } + + ``` + + # Embed objects + + Additional objects can be included in the result, and are specified on each + endpoint under the `embed` parameter. Those objects may require different + OAuth2 scopes than the main endpoint, and will automatically be `null` if the + scopes are not respected. Usually, the scopes are listed in the description of + the parameter. diff --git a/sdks/db/category-cache.yaml b/sdks/db/category-cache.yaml index 2020628f2..79a1457c5 100644 --- a/sdks/db/category-cache.yaml +++ b/sdks/db/category-cache.yaml @@ -329,3 +329,7 @@ apis: PacketFabric-undefined: AI Tools Gridbees-undefined: eCommerce Nanonets-undefined: AI Tools + Sellsy-undefined: CRM (Customer Relationship Management) + Rivery-undefined: ELT (Extract, Load, and Transform) + Secoda-undefined: Developer Tools + Relysia-undefined: Developer Tools diff --git a/sdks/db/custom-request-last-fetched.yaml b/sdks/db/custom-request-last-fetched.yaml index 1bfc94c58..2488574c0 100644 --- a/sdks/db/custom-request-last-fetched.yaml +++ b/sdks/db/custom-request-last-fetched.yaml @@ -309,3 +309,7 @@ lastUpdated: packetfabric.com: 2024-03-29T22:49:32.371Z gridbees.com: 2024-03-29T22:48:52.835Z nanonets.com: 2024-03-29T23:07:13.939Z + sellsy.com: 2024-03-29T23:04:00.662Z + rivery.io: 2024-03-29T23:04:02.332Z + secoda.co: 2024-03-29T23:04:04.135Z + relysia.com: 2024-03-29T23:04:05.553Z diff --git a/sdks/db/custom-request-specs/relysia.com.yaml b/sdks/db/custom-request-specs/relysia.com.yaml new file mode 100644 index 000000000..3bddfb8c2 --- /dev/null +++ b/sdks/db/custom-request-specs/relysia.com.yaml @@ -0,0 +1,13791 @@ +openapi: 3.0.3 +info: + title: Relysia Blockchain API + description: Relysia makes blockchain adoption frictionless and easy. + version: 2.4.8 +components: + securitySchemes: + authToken: + type: apiKey + in: header + name: authToken + serviceID: + type: apiKey + in: header + name: serviceID + schemas: {} +paths: + /: + get: + responses: + '200': + description: Default Response + /v1/issue: + post: + summary: Mint a Token. + tags: + - Smart Contracts + description: >- + Mint a token with given specifications (can be both token or NFT). More + on docs.relysia.com. + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + protocolId: + type: string + default: STAS + symbol: + type: string + description: + type: string + image: + type: string + tokenSupply: + type: number + minimum: 1 + default: 3 + decimals: + type: number + default: 0 + nullable: true + minimum: 0 + maximum: 8 + satsPerToken: + type: number + default: 1 + minimum: 0 + properties: + type: object + properties: + legal: + type: object + properties: + terms: + type: string + default: >- + STAS, Inc. retains all rights to the token script. + Use is subject to terms at + https://stastoken.com/license. + nullable: true + licenceId: + type: string + default: stastoken.com + nullable: true + nullable: true + issuer: + type: object + properties: + organisation: + type: string + default: Vaionex Corp. + nullable: true + legalForm: + type: string + default: Limited + nullable: true + governingLaw: + type: string + default: US + nullable: true + issuerCountry: + type: string + default: US + nullable: true + jurisdiction: + type: string + default: US + nullable: true + email: + type: string + default: info@vaionex.com + nullable: true + nullable: true + meta: + type: object + properties: + schemaId: + type: string + default: STAS1.0 + nullable: true + website: + type: string + default: vaionex.com + nullable: true + legal: + type: object + properties: + terms: + type: string + default: Your token terms and description. + nullable: true + nullable: true + media: + type: array + items: + type: object + properties: + URI: + type: string + nullable: true + type: + type: string + nullable: true + altURI: + type: string + nullable: true + nullable: true + nullable: true + nullable: true + nullable: true + splitable: + type: boolean + default: 'true' + nullable: true + data: + type: object + additionalProperties: true + default: {} + nftMetadataSerialNumberStart: + type: number + nullable: true + nftMetadataTotalSupply: + type: number + nullable: true + required: + - name + - symbol + - image + - description + - satsPerToken + - protocolId + - tokenSupply + examples: + example1: + value: + name: Store Bonus Points + protocolId: STAS + symbol: SBP + description: A supermarket bonus point. + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + tokenSupply: 3 + decimals: 0 + satsPerToken: 1 + properties: + legal: + terms: >- + STAS, Inc. retains all rights to the token script. Use + is subject to terms at https://stastoken.com/license. + licenceId: stastoken.com + issuer: + organisation: Vaionex Corp. + legalForm: Limited + governingLaw: US + issuerCountry: US + jurisdiction: US + email: info@vaionex.com + meta: + schemaId: STAS1.0 + website: vaionex.com + legal: + terms: Your token terms and description. + media: + - URI: string + type: string + altURI: string + splitable: true + data: {} + example2: + value: + name: Store Bonus Points + protocolId: STAS-20 + symbol: SBP + description: A supermarket bonus point. + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + tokenSupply: 3 + decimals: 0 + satsPerToken: 1 + properties: + legal: + terms: >- + STAS, Inc. retains all rights to the token script. Use + is subject to terms at https://stastoken.com/license. + licenceId: stastoken.com + issuer: + organisation: Vaionex Corp. + legalForm: Limited + governingLaw: US + issuerCountry: US + jurisdiction: US + email: info@vaionex.com + meta: + schemaId: STAS1.0 + website: vaionex.com + legal: + terms: Your token terms and description. + media: + - URI: string + type: string + altURI: string + splitable: true + data: + data1: + - data1 + - data2 + data2: + - data1 + - data2 + required: true + parameters: + - schema: + type: string + default: STAS + in: header + name: protocol + required: false + - schema: + type: boolean + default: 'false' + in: header + name: reminting + required: false + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + tokenId: + type: string + tokenObj: + type: object + properties: + userId: + type: string + serviceId: + type: string + nullable: true + symbol: + type: string + name: + type: string + description: + type: string + image: + type: string + totalSupply: + type: number + minimum: 1 + satsPerToken: + type: number + minimum: 0 + decimals: + type: number + nullable: true + properties: + type: object + properties: + legal: + type: object + properties: + terms: + type: string + default: >- + STAS, Inc. retains all rights to the token + script. Use is subject to terms at + https://stastoken.com/license. + nullable: true + licenceId: + type: string + default: stastoken.com + nullable: true + nullable: true + issuer: + type: object + properties: + organisation: + type: string + default: Vaionex Corp. + nullable: true + legalForm: + type: string + default: Limited + nullable: true + governingLaw: + type: string + default: US + nullable: true + issuerCountry: + type: string + default: US + nullable: true + jurisdiction: + type: string + default: US + nullable: true + email: + type: string + default: info@vaionex.com + nullable: true + nullable: true + meta: + type: object + properties: + schemaId: + type: string + default: STAS1.0 + nullable: true + website: + type: string + default: vaionex.com + nullable: true + legal: + type: object + properties: + terms: + type: string + default: Your token terms and description. + nullable: true + nullable: true + media: + type: array + items: + type: object + properties: + URI: + type: string + nullable: true + type: + type: string + nullable: true + altURI: + type: string + nullable: true + nullable: true + nullable: true + nullable: true + nullable: true + splittable: + type: boolean + protocolId: + type: string + contractTxid: + type: string + issueTxid: + type: string + contractAddress: + type: string + contractPublickey: + type: string + splitable: + type: boolean + required: + - userId + - symbol + - name + - description + - image + - totalSupply + - satsPerToken + - splittable + - protocolId + - contractTxid + - issueTxid + - contractAddress + - contractPublickey + - splitable + required: + - status + - msg + - tokenId + - tokenObj + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Token created successfully. + tokenId: cb75d56ad85630475ca4af078dcbf37828970d8d-HELLO12344 + tokenObj: + userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + symbol: HELLO12344 + name: Store Bonus Points + description: A supermarket bonus point. + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + totalSupply: 3 + satsPerToken: 1 + decimals: 0 + properties: + legal: + terms: >- + STAS, Inc. retains all rights to the token script. + Use is subject to terms at + https://stastoken.com/license. + licenceId: stastoken.com + issuer: + organisation: Vaionex Corp. + legalForm: Limited + governingLaw: US + issuerCountry: US + jurisdiction: US + email: info@vaionex.com + meta: + schemaId: STAS1.0 + website: vaionex.com + legal: + terms: Your token terms and description. + media: + - URI: string + type: string + altURI: string + splittable: true + protocolId: STAS + contractTxid: >- + ec376960b7cf25ae846338253e403082fe5f4bc76d06ad547bf03403ee4403b5 + issueTxid: >- + e3dcb8dfee84a7a510b1b073d7b1b773ac61749370e51a6dbe38d8171213d36f + contractAddress: 1KYoLAjrtNGULBHvPy1fT6T5xwqtcFQ4yA + contractPublickey: >- + 02e8f852e5015f8f12c228992a84b3b70c6789630b9ebef70529b802061db7a42f + splitable: true + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/token/{id}: + get: + summary: Get STAS token details. + tags: + - Smart Contracts + description: Insert your STAS tokenId to receive information about it. + parameters: + - schema: + type: string + in: path + name: id + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + token_id: + type: string + symbol: + type: string + name: + type: string + description: + type: string + schema_id: + type: string + protocol: + type: string + image: + type: string + total_supply: + type: number + minimum: 0 + sats_per_token: + type: number + minimum: 0 + splitable: + type: boolean + properties: + type: object + properties: + legal: + type: object + properties: + terms: + type: string + nullable: true + licenceId: + type: string + nullable: true + nullable: true + issuer: + type: object + properties: + organisation: + type: string + nullable: true + legalForm: + type: string + nullable: true + governingLaw: + type: string + nullable: true + issuerCountry: + type: string + nullable: true + jurisdiction: + type: string + nullable: true + email: + type: string + nullable: true + nullable: true + meta: + type: object + properties: + schemaId: + type: string + nullable: true + website: + type: string + nullable: true + legal: + type: string + nullable: true + media: + type: string + nullable: true + nullable: true + nullable: true + contract_txs: + type: array + items: + type: string + minItems: 1 + issuance_txs: + type: array + items: + type: string + minItems: 1 + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Token details fetched successfully + token_id: 8a9e7ec666f0610ff3f0540ed55f07162e9dd7a8 + symbol: SBPgdsfgdfsgds + name: Store Bonus Points + description: A supermarket bonus point. + schema_id: STAS1.0 + protocol: STAS-789 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + total_supply: 3 + sats_per_token: 1 + splitable: false + properties: + legal: + terms: >- + STAS, Inc. retains all rights to the token script. Use + is subject to terms at https://stastoken.com/license. + licenceId: stastoken.com + issuer: + organisation: Vaionex Corp. + legal_form: Limited + governing_law: US + issuer_country: US + jurisdiction: US + email: info@vaionex.com + meta: + legal: '{"terms":"Your token terms and description."}' + media: '[{"URI":"string","type":"string","altURI":"string"}]' + schemaId: STAS1.0 + website: vaionex.com + contract_txs: + - >- + d1f376ffb62f30efdd1336ec379eb462ab1068dd67a55789ab1c445cf35c540d + issuance_txs: + - >- + 7f06cdece4c08192e8872be802f120b85f0610e6f8e448b85c301e89ccc5bfe1 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/URI: + get: + summary: Resolve address and paymail alias information. + tags: + - Utility + description: >- + The URI endpoint helps developers to resolve addresses, paymails and + invoices and puts them into a standardized response format. + parameters: + - schema: + type: string + in: header + name: uri + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + data: + type: object + properties: + uri: + type: string + type: + type: string + mainProtocol: + type: string + outputs: + type: array + items: + type: object + properties: + script: + type: string + satoshis: + type: number + required: + - script + - satoshis + nullable: true + inputs: + type: array + items: + type: object + properties: + txid: + type: string + vout: + type: number + satoshis: + type: number + minimum: 0 + scriptPubKey: + type: string + nullable: true + scriptType: + type: string + nullable: true + scriptSig: + type: string + required: + - txid + - vout + - satoshis + - scriptSig + nullable: true + modes: + type: object + additionalProperties: true + network: + type: string + nullable: true + paymentUrl: + type: string + format: uri + nullable: true + creationTimeStamp: + type: number + format: duration + nullable: true + expirationTimeStamp: + type: number + format: duration + nullable: true + memo: + type: string + nullable: true + isBSV: + type: boolean + nullable: true + peer: + type: string + nullable: true + peerData: + type: string + nullable: true + peerProtocol: + type: string + nullable: true + beneficiary: + type: object + properties: + name: + type: string + email: + type: string + address: + type: string + paymentReference: + type: string + nullable: true + required: + - name + - email + - address + - paymentReference + required: + - uri + - type + - mainProtocol + required: + - status + - msg + - data + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + data: + uri: payto:91@dev.relysia.com?amount=1 + type: paymail + mainProtocol: paymail + outputs: + - script: 76a9141a608132952ba364d19d6ef0c09e074fb3fcfedf88ac + satoshis: 1 + inputs: [] + memo: Send to 91@dev.relysia.com + isBSV: true + peer: >- + https://dev.relysia.com/api/bsvalias/receive-transaction/91@dev.relysia.com + peerData: >- + eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJ2ZXJzaW9uIjoxLCJkZXJpdmF0aW9uUm9vdFBhdGgiOiJtLzUiLCJkZXJpdmF0aW9uUm9vdEluZGV4IjozOTE1LCJjb3VudCI6MX0.vgN6mSoxuVzSmdwXA_hJtvS_s6xyFdRVedsFAx4mt5K2fsI0Ps2pw4OCXWy6msUbAKYGOEeAqs9BoyJCOlgyng + peerProtocol: paymail + example2: + value: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + data: + uri: >- + bitcoin:13ofTSnVngWV8VgvqpYZE4YuaWuARBkBp3?amount=0.00000001 + type: bip21 + mainProtocol: bip21 + outputs: + - script: 76a9141ec37cb9f5ab9ae49be75e8d45c02d1f2fd1c5a288ac + satoshis: 1 + inputs: [] + memo: Payment to Address + isBSV: false + peer: null + peerData: null + peerProtocol: null + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/signUp: + post: + summary: User Registration. + tags: + - Authentication + description: >- + Creates a new user and returns the auth token required for API + interactions. + requestBody: + content: + application/json: + schema: + type: object + properties: + email: + type: string + format: email + password: + type: string + format: password + photo: + type: string + nullable: true + displayName: + type: string + nullable: true + required: + - email + - password + examples: + example1: + value: + email: satoshiasdsa@gmail.com + password: 4m4z1ngT3ch + example2: + value: + email: satoshiasdsa@gmail.com + password: 4m4z1ngT3ch + photo: Base64 encoded image + example3: + value: + email: satoshiasdsa@gmail.com + password: 4m4z1ngT3ch + displayName: Satoshi Nakamoto + example4: + value: + email: satoshiasdsa@gmail.com + password: 4m4z1ngT3ch + photo: Base64 encoded image + displayName: Satoshi Nakamoto + required: true + security: + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + token: + type: string + userId: + type: string + required: + - status + - msg + - token + - userId + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: User created successfully. + token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 + userId: 5f1b0b3b1c9d440000f3e9b0 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/auth: + post: + summary: Login Endpoint. + tags: + - Authentication + description: Login with an existing user account. + requestBody: + content: + application/json: + schema: + type: object + properties: + email: + type: string + format: email + password: + type: string + format: password + required: + - email + - password + example: + email: satoshiasdsa@gmail.com + password: 4m4z1ngT3ch + required: true + security: + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + token: + type: string + required: + - status + - msg + - token + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Login successful + token: >- + eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZXJ2aWNlSWQiOiIxMjM0NTY3ODkwIiwiaWF0IjoxNTE2M + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/password/change: + post: + summary: Change password Endpoint + tags: + - Authentication + description: Change password endpoint for existing users to change their password. + requestBody: + content: + application/json: + schema: + type: object + properties: + newPassword: + type: string + format: password + required: + - newPassword + example: + newPassword: 4m4z1ngT3ch + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + token: + type: string + userId: + type: string + required: + - status + - msg + - token + - userId + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Password changed successfully. + token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 + userId: 5e8b2c9b0f1c1a1b1c1d1e1f + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/user: + get: + summary: Profile details. + tags: + - Identity + description: Call the /User endpoint to receive all account specific information. + parameters: + - schema: + type: string + in: header + name: oauth + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + userDetails: + type: object + properties: + userId: + type: string + passwordHash: + type: string + nullable: true + passwordUpdatedAt: + type: number + format: duration + nullable: true + validSince: + type: string + lastLoginAt: + type: string + createdAt: + type: string + lastRefreshAt: + type: string + format: date-time + photo: + type: string + format: uri + nullable: true + displayName: + type: string + nullable: true + phoneNumber: + type: string + nullable: true + required: + - userId + - passwordHash + - passwordUpdatedAt + - validSince + - lastLoginAt + - createdAt + - lastRefreshAt + required: + - status + - msg + - userDetails + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: User details fetched successfully + userDetails: + userId: 5f7f1b9b9b9b9b9b9b9b9b9b + passwordHash: $2b$1 + passwordUpdatedAt: 1602222222 + validSince: '2020-10-10T10:10:10.000Z' + lastLoginAt: '2020-10-10T10:10:10.000Z' + createdAt: '2020-10-10T10:10:10.000Z' + lastRefreshAt: '2020-10-10T10:10:10.000Z' + photo: https://example.com/photo.jpg + displayName: John Doe + phoneNumber: +1-202-555-0104 + example2: + value: + statusCode: 200 + data: + status: success + msg: User details fetched successfully + userDetails: + userId: 5f7f1b9b9b9b9b9b9b9b9b9b + passwordHash: $2b$1 + passwordUpdatedAt: 1602222222 + validSince: '2020-10-10T10:10:10.000Z' + lastLoginAt: '2020-10-10T10:10:10.000Z' + createdAt: '2020-10-10T10:10:10.000Z' + lastRefreshAt: '2020-10-10T10:10:10.000Z' + photo: null + displayName: null + phoneNumber: null + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + delete: + summary: delete user account + tags: + - Delete + description: >- + you can delete user related whole data like wallets, paymail, account + etc. + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: account deleted successfully ! + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/send: + post: + summary: Transfer coins to an address. + tags: + - Transactions + description: >- + Use the /send endpoint to create transactions to peers. The /send + endpoint is agnostic to sending either Tokens or BSV. + requestBody: + content: + application/json: + schema: + type: object + properties: + bundle: + type: boolean + default: true + nullable: true + dataArray: + type: array + items: + type: object + properties: + to: + type: string + amount: + type: number + minimum: 1.e-8 + notes: + type: string + nullable: true + sn: + type: number + nullable: true + minimum: 0 + tokenId: + type: string + nullable: true + data: + type: array + nullable: true + items: + type: string + required: + - to + - amount + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 0.000005 + example2: + value: + dataArray: + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + example3: + value: + dataArray: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 0.000005 + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 0.000005 + notes: test + example4: + value: + dataArray: + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 5 + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 3 + notes: test + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 3 + notes: test + data: + - test1 + - test2 + example5: + value: + bundle: false + dataArray: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 1.e-7 + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 1.e-7 + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txIds: + type: array + items: + type: string + minItems: 0 + errors: + type: array + items: + type: object + additionalProperties: true + required: + - status + - msg + - txIds + - errors + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + errors: [] + example2: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + - >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + errors: [] + example3: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 18d3c8cef40ba055e8151c9377d4c5f144dd1fe44f83f07079e2d0046dc79bc9 + errors: [] + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/rawtx: + post: + summary: Build and return a rawTx + tags: + - Transactions + description: >- + Use the /rawTx endpoint containing a single input and output. + Transactions can be held and the utxo that is used will be blocked from + the user access. + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + to: + type: string + amount: + type: number + minimum: 1.e-8 + notes: + type: string + nullable: true + sn: + type: number + nullable: true + minimum: 0 + tokenId: + type: string + nullable: true + data: + type: array + nullable: true + items: + type: string + required: + - to + - amount + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 0.000005 + example2: + value: + dataArray: + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + example3: + value: + dataArray: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 0.000005 + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 0.000005 + notes: test + data: + - test1 + - test2 + example4: + value: + dataArray: + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 5 + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 3 + notes: test + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 3 + notes: test + data: + - test1 + - test2 + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + rawTxs: + type: array + items: + anyOf: + - type: string + - type: object + properties: + rawtx: + type: string + required: + - rawtx + minItems: 1 + required: + - status + - msg + - rawTxs + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + rawTxs: + - >- + 0100000002e36d2003986bc84d1dec875ed686960e3794334c2e53bd8ee0d7897e4bf3f521000000006a4730440220063953703f06f9557691dba7b0424b9a1ca6dba2ec35bae7dd41e7b15fd38f1d0220439c01459709def5c824ded74102f4170ab3cee9ba7ab9f3b92dc80d7fcecf74412103c63be73d975c3f6274539704e27b2cb811bcc80dc11e95157cef3df8a5b3ac36ffffffffe36d2003986bc84d1dec875ed686960e3794334c2e53bd8ee0d7897e4bf3f521010000006b483045022100e5e0b6e4a61b7bad5c69a5b83032d6a48bb5976d582d52c881db2910ad79bb58022040a10e7dd9cde95c3756c63f33d6b5c119f35dcb4cedd29cc4424bf01e3548ed4121020824bb65d1cc92de2a37410e4279211a0d53788140a528b17f7ada7f4ad8a9a9ffffffff0101000000000000001976a91447431db9649fd75c28834cb152f17cc8ea7fa11f88ac00000000 + example2: + value: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + rawTxs: + - rawtx: >- + 010000000227e26846dea42dd3aec67b801205b500cfbef214e630ea3ecbc7f2d24ce362e800000000fdc5075114fa6e04492aa0ce9eaa5aea00f1e6ac76ea8b5eba54148d30f8237c83b899e51f41a27e1317a735749f6d002002a733b75ebe47ee5600f38034e5a3019935405751ebc63db24c5d9fde623cec004d0907010000004f278468deaeedfb0010da3278cbbb88c2c496bbfffab8749d1fd85c039ff4c7752adad0a7b9ceca853768aebb6965eca126a62965f698a0c1bc43d83db632ad27e26846dea42dd3aec67b801205b500cfbef214e630ea3ecbc7f2d24ce362e800000000fd6a0676a9148da5aaef86362ed2487f5a01380886480617487c88ac6976aa607f5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7c5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01007e818b21414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff007d976e7c5296a06394677768827601249301307c7e23022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798027e7c7e7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01417e21038ff83d8cf12121491609c4939dc11c4aa35503508fe432dc5a5c1905608b9218ad547f7701207f01207f7701247f517f7801007e8102fd00a063546752687f7801007e817f727e7b01177f777b557a766471567a577a786354807e7e676d68aa880067765158a569765187645294567a5379587a7e7e78637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6867567a6876aa587a7d54807e577a597a5a7a786354807e6f7e7eaa727c7e676d6e7eaa7c687b7eaa587a7d877663516752687c72879b69537a647500687c7b547f77517f7853a0916901247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77788c6301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f777852946301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77686877517f7c52797d8b9f7c53a09b91697c76638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6876638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6863587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f7768587f517f7801007e817602fc00a06302fd00a063546752687f7801007e81727e7b7b687f75537f7c0376a9148801147f775379645579887567726881766968789263556753687a76026c057f7701147f8263517f7c766301007e817f7c6775006877686b537992635379528763547a6b547a6b677c6b567a6b537a7c717c71716868547a587f7c81547a557964936755795187637c686b687c547f7701207f75748c7a7669765880748c7a76567a876457790376a9147e7c7e557967041976a9147c7e0288ac687e7e5579636c766976748c7a9d58807e6c0376a9147e748c7a7e6c7e7e676c766b8263828c007c80517e846864745aa0637c748c7a76697d937b7b58807e56790376a9147e748c7a7e55797e7e6868686c567a5187637500678263828c007c80517e846868647459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e687459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e68687c537a9d547963557958807e041976a91455797e0288ac7e7e68aa87726d77776a1400b91626e0a4b97f624bc1f0d8fa3a3ef35ac6640100064b30513447384cc87c20565354207c2062343836613566623363386239616437366161363137393830306539666265373339313562363839383761636664383432326136326663346265616134356263207c2068747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f392f39352f546573745f696d6167652e6a7067207c2037207c2031207c205465737420546f6b656e202d2047656e657261746564206175746f6d61746963616c6c7920666f726d207465737473207c2030207c0100000000000000ffffffff01770f392bdddc76123f01a331b066d69d51ec56592574c1b7a8041999ea65be0000000041000000473044022026db83cccbd78b22d4c93080f916a00a5901eac67f675d553d5036869632d63e02205736dbc31e972c84bbc2e391db430022158f7e3b263d9c479589ce9e347edcd54121031a574b129d4dd0c9e0eae917bf06711d22219a2281debcc6c9bb5a6e87bb7c3fffffffff02a733b75ebe47ee5600f38034e5a3019935405751ebc63db24c5d9fde623cec000000006b483045022100bb0e41f70df285e205a8285dcb718ce7fd9539c93414e9a149ac6c427a043abb0220012213d0ba9e8905d2f39886b24b8457b5e06c2bc2c37dad0dd806c4107af7be4121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff020100000000000000fd6a0676a914fa6e04492aa0ce9eaa5aea00f1e6ac76ea8b5eba88ac6976aa607f5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7c5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01007e818b21414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff007d976e7c5296a06394677768827601249301307c7e23022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798027e7c7e7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01417e21038ff83d8cf12121491609c4939dc11c4aa35503508fe432dc5a5c1905608b9218ad547f7701207f01207f7701247f517f7801007e8102fd00a063546752687f7801007e817f727e7b01177f777b557a766471567a577a786354807e7e676d68aa880067765158a569765187645294567a5379587a7e7e78637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6867567a6876aa587a7d54807e577a597a5a7a786354807e6f7e7eaa727c7e676d6e7eaa7c687b7eaa587a7d877663516752687c72879b69537a647500687c7b547f77517f7853a0916901247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77788c6301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f777852946301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77686877517f7c52797d8b9f7c53a09b91697c76638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6876638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6863587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f7768587f517f7801007e817602fc00a06302fd00a063546752687f7801007e81727e7b7b687f75537f7c0376a9148801147f775379645579887567726881766968789263556753687a76026c057f7701147f8263517f7c766301007e817f7c6775006877686b537992635379528763547a6b547a6b677c6b567a6b537a7c717c71716868547a587f7c81547a557964936755795187637c686b687c547f7701207f75748c7a7669765880748c7a76567a876457790376a9147e7c7e557967041976a9147c7e0288ac687e7e5579636c766976748c7a9d58807e6c0376a9147e748c7a7e6c7e7e676c766b8263828c007c80517e846864745aa0637c748c7a76697d937b7b58807e56790376a9147e748c7a7e55797e7e6868686c567a5187637500678263828c007c80517e846868647459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e687459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e68687c537a9d547963557958807e041976a91455797e0288ac7e7e68aa87726d77776a1400b91626e0a4b97f624bc1f0d8fa3a3ef35ac6640100064b30513447384cc87c20565354207c2062343836613566623363386239616437366161363137393830306539666265373339313562363839383761636664383432326136326663346265616134356263207c2068747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f392f39352f546573745f696d6167652e6a7067207c2037207c2031207c205465737420546f6b656e202d2047656e657261746564206175746f6d61746963616c6c7920666f726d207465737473207c2030207c04000000000000001976a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac00000000 + example3: + value: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + rawTxs: + - >- + 0100000002e36d2003986bc84d1dec875ed686960e3794334c2e53bd8ee0d7897e4bf3f521000000006a4730440220063953703f06f9557691dba7b0424b9a1ca6dba2ec35bae7dd41e7b15fd38f1d0220439c01459709def5c824ded74102f4170ab3cee9ba7ab9f3b92dc80d7fcecf74412103c63be73d975c3f6274539704e27b2cb811bcc80dc11e95157cef3df8a5b3ac36ffffffffe36d2003986bc84d1dec875ed686960e3794334c2e53bd8ee0d7897e4bf3f521010000006b483045022100e5e0b6e4a61b7bad5c69a5b83032d6a48bb5976d582d52c881db2910ad79bb58022040a10e7dd9cde95c3756c63f33d6b5c119f35dcb4cedd29cc4424bf01e3548ed4121020824bb65d1cc92de2a37410e4279211a0d53788140a528b17f7ada7f4ad8a9a9ffffffff0101000000000000001976a91447431db9649fd75c28834cb152f17cc8ea7fa11f88ac00000000 + - >- + 0100000002050495956b562d31679124288101008e85f844787d9e5e62cc738f3b7ab4893a000000006a47304402201f8d1cb5d28d446cee5aad22f606a5fe743d69ecc9a4e1f692550e5ac0a8edf002202aa6e86a8c4cffad21b3af615a88467b0246ab9664350035885e7c0715c0d991412103c63be73d975c3f6274539704e27b2cb811bcc80dc11e95157cef3df8a5b3ac36ffffffff050495956b562d31679124288101008e85f844787d9e5e62cc738f3b7ab4893a010000006b483045022100a3b373d96ce85974d4f75dc160fbf1a2d8e08861a167e22a171c7a2de4f534a4022063ba605fff149e350b5b3806e6c5ed025d29e6d93f4fade7744b447f7fa3eea64121020824bb65d1cc92de2a37410e4279211a0d53788140a528b17f7ada7f4ad8a9a9ffffffff0101000000000000001976a91477cb578d9fab608a794871e6c994c6ff2e55a70788ac00000000 + example4: + value: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + rawTxs: + - rawtx: >- + 010000000227e26846dea42dd3aec67b801205b500cfbef214e630ea3ecbc7f2d24ce362e800000000fdc5075114fa6e04492aa0ce9eaa5aea00f1e6ac76ea8b5eba54148d30f8237c83b899e51f41a27e1317a735749f6d002002a733b75ebe47ee5600f38034e5a3019935405751ebc63db24c5d9fde623cec004d0907010000004f278468deaeedfb0010da3278cbbb88c2c496bbfffab8749d1fd85c039ff4c7752adad0a7b9ceca853768aebb6965eca126a62965f698a0c1bc43d83db632ad27e26846dea42dd3aec67b801205b500cfbef214e630ea3ecbc7f2d24ce362e800000000fd6a0676a9148da5aaef86362ed2487f5a01380886480617487c88ac6976aa607f5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7c5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01007e818b21414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff007d976e7c5296a06394677768827601249301307c7e23022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798027e7c7e7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01417e21038ff83d8cf12121491609c4939dc11c4aa35503508fe432dc5a5c1905608b9218ad547f7701207f01207f7701247f517f7801007e8102fd00a063546752687f7801007e817f727e7b01177f777b557a766471567a577a786354807e7e676d68aa880067765158a569765187645294567a5379587a7e7e78637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6867567a6876aa587a7d54807e577a597a5a7a786354807e6f7e7eaa727c7e676d6e7eaa7c687b7eaa587a7d877663516752687c72879b69537a647500687c7b547f77517f7853a0916901247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77788c6301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f777852946301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77686877517f7c52797d8b9f7c53a09b91697c76638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6876638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6863587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f7768587f517f7801007e817602fc00a06302fd00a063546752687f7801007e81727e7b7b687f75537f7c0376a9148801147f775379645579887567726881766968789263556753687a76026c057f7701147f8263517f7c766301007e817f7c6775006877686b537992635379528763547a6b547a6b677c6b567a6b537a7c717c71716868547a587f7c81547a557964936755795187637c686b687c547f7701207f75748c7a7669765880748c7a76567a876457790376a9147e7c7e557967041976a9147c7e0288ac687e7e5579636c766976748c7a9d58807e6c0376a9147e748c7a7e6c7e7e676c766b8263828c007c80517e846864745aa0637c748c7a76697d937b7b58807e56790376a9147e748c7a7e55797e7e6868686c567a5187637500678263828c007c80517e846868647459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e687459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e68687c537a9d547963557958807e041976a91455797e0288ac7e7e68aa87726d77776a1400b91626e0a4b97f624bc1f0d8fa3a3ef35ac6640100064b30513447384cc87c20565354207c2062343836613566623363386239616437366161363137393830306539666265373339313562363839383761636664383432326136326663346265616134356263207c2068747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f392f39352f546573745f696d6167652e6a7067207c2037207c2031207c205465737420546f6b656e202d2047656e657261746564206175746f6d61746963616c6c7920666f726d207465737473207c2030207c0100000000000000ffffffff01770f392bdddc76123f01a331b066d69d51ec56592574c1b7a8041999ea65be0000000041000000473044022026db83cccbd78b22d4c93080f916a00a5901eac67f675d553d5036869632d63e02205736dbc31e972c84bbc2e391db430022158f7e3b263d9c479589ce9e347edcd54121031a574b129d4dd0c9e0eae917bf06711d22219a2281debcc6c9bb5a6e87bb7c3fffffffff02a733b75ebe47ee5600f38034e5a3019935405751ebc63db24c5d9fde623cec000000006b483045022100bb0e41f70df285e205a8285dcb718ce7fd9539c93414e9a149ac6c427a043abb0220012213d0ba9e8905d2f39886b24b8457b5e06c2bc2c37dad0dd806c4107af7be4121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff020100000000000000fd6a0676a914fa6e04492aa0ce9eaa5aea00f1e6ac76ea8b5eba88ac6976aa607f5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7c5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01007e818b21414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff007d976e7c5296a06394677768827601249301307c7e23022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798027e7c7e7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01417e21038ff83d8cf12121491609c4939dc11c4aa35503508fe432dc5a5c1905608b9218ad547f7701207f01207f7701247f517f7801007e8102fd00a063546752687f7801007e817f727e7b01177f777b557a766471567a577a786354807e7e676d68aa880067765158a569765187645294567a5379587a7e7e78637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6867567a6876aa587a7d54807e577a597a5a7a786354807e6f7e7eaa727c7e676d6e7eaa7c687b7eaa587a7d877663516752687c72879b69537a647500687c7b547f77517f7853a0916901247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77788c6301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f777852946301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77686877517f7c52797d8b9f7c53a09b91697c76638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6876638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6863587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f7768587f517f7801007e817602fc00a06302fd00a063546752687f7801007e81727e7b7b687f75537f7c0376a9148801147f775379645579887567726881766968789263556753687a76026c057f7701147f8263517f7c766301007e817f7c6775006877686b537992635379528763547a6b547a6b677c6b567a6b537a7c717c71716868547a587f7c81547a557964936755795187637c686b687c547f7701207f75748c7a7669765880748c7a76567a876457790376a9147e7c7e557967041976a9147c7e0288ac687e7e5579636c766976748c7a9d58807e6c0376a9147e748c7a7e6c7e7e676c766b8263828c007c80517e846864745aa0637c748c7a76697d937b7b58807e56790376a9147e748c7a7e55797e7e6868686c567a5187637500678263828c007c80517e846868647459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e687459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e68687c537a9d547963557958807e041976a91455797e0288ac7e7e68aa87726d77776a1400b91626e0a4b97f624bc1f0d8fa3a3ef35ac6640100064b30513447384cc87c20565354207c2062343836613566623363386239616437366161363137393830306539666265373339313562363839383761636664383432326136326663346265616134356263207c2068747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f392f39352f546573745f696d6167652e6a7067207c2037207c2031207c205465737420546f6b656e202d2047656e657261746564206175746f6d61746963616c6c7920666f726d207465737473207c2030207c04000000000000001976a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac00000000 + - rawtx: >- + 010000000227e26846dea42dd3aec67b801205b500cfbef214e630ea3ecbc7f2d24ce362e800000000fdc5075114fa6e04492aa0ce9eaa5aea00f1e6ac76ea8b5eba54148d30f8237c83b899e51f41a27e1317a735749f6d002002a733b75ebe47ee5600f38034e5a3019935405751ebc63db24c5d9fde623cec004d0907010000004f278468deaeedfb0010da3278cbbb88c2c496bbfffab8749d1fd85c039ff4c7752adad0a7b9ceca853768aebb6965eca126a62965f698a0c1bc43d83db632ad27e26846dea42dd3aec67b801205b500cfbef214e630ea3ecbc7f2d24ce362e800000000fd6a0676a9148da5aaef86362ed2487f5a01380886480617487c88ac6976aa607f5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7c5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01007e818b21414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff007d976e7c5296a06394677768827601249301307c7e23022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798027e7c7e7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01417e21038ff83d8cf12121491609c4939dc11c4aa35503508fe432dc5a5c1905608b9218ad547f7701207f01207f7701247f517f7801007e8102fd00a063546752687f7801007e817f727e7b01177f777b557a766471567a577a786354807e7e676d68aa880067765158a569765187645294567a5379587a7e7e78637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6867567a6876aa587a7d54807e577a597a5a7a786354807e6f7e7eaa727c7e676d6e7eaa7c687b7eaa587a7d877663516752687c72879b69537a647500687c7b547f77517f7853a0916901247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77788c6301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f777852946301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77686877517f7c52797d8b9f7c53a09b91697c76638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6876638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6863587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f7768587f517f7801007e817602fc00a06302fd00a063546752687f7801007e81727e7b7b687f75537f7c0376a9148801147f775379645579887567726881766968789263556753687a76026c057f7701147f8263517f7c766301007e817f7c6775006877686b537992635379528763547a6b547a6b677c6b567a6b537a7c717c71716868547a587f7c81547a557964936755795187637c686b687c547f7701207f75748c7a7669765880748c7a76567a876457790376a9147e7c7e557967041976a9147c7e0288ac687e7e5579636c766976748c7a9d58807e6c0376a9147e748c7a7e6c7e7e676c766b8263828c007c80517e846864745aa0637c748c7a76697d937b7b58807e56790376a9147e748c7a7e55797e7e6868686c567a5187637500678263828c007c80517e846868647459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e687459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e68687c537a9d547963557958807e041976a91455797e0288ac7e7e68aa87726d77776a1400b91626e0a4b97f624bc1f0d8fa3a3ef35ac6640100064b30513447384cc87c20565354207c2062343836613566623363386239616437366161363137393830306539666265373339313562363839383761636664383432326136326663346265616134356263207c2068747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f392f39352f546573745f696d6167652e6a7067207c2037207c2031207c205465737420546f6b656e202d2047656e657261746564206175746f6d61746963616c6c7920666f726d207465737473207c2030207c0100000000000000ffffffff01770f392bdddc76123f01a331b066d69d51ec56592574c1b7a8041999ea65be0000000041000000473044022026db83cccbd78b22d4c93080f916a00a5901eac67f675d553d5036869632d63e02205736dbc31e972c84bbc2e391db430022158f7e3b263d9c479589ce9e347edcd54121031a574b129d4dd0c9e0eae917bf06711d22219a2281debcc6c9bb5a6e87bb7c3fffffffff02a733b75ebe47ee5600f38034e5a3019935405751ebc63db24c5d9fde623cec000000006b483045022100bb0e41f70df285e205a8285dcb718ce7fd9539c93414e9a149ac6c427a043abb0220012213d0ba9e8905d2f39886b24b8457b5e06c2bc2c37dad0dd806c4107af7be4121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff020100000000000000fd6a0676a914fa6e04492aa0ce9eaa5aea00f1e6ac76ea8b5eba88ac6976aa607f5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7c5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01007e818b21414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff007d976e7c5296a06394677768827601249301307c7e23022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798027e7c7e7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01417e21038ff83d8cf12121491609c4939dc11c4aa35503508fe432dc5a5c1905608b9218ad547f7701207f01207f7701247f517f7801007e8102fd00a063546752687f7801007e817f727e7b01177f777b557a766471567a577a786354807e7e676d68aa880067765158a569765187645294567a5379587a7e7e78637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6867567a6876aa587a7d54807e577a597a5a7a786354807e6f7e7eaa727c7e676d6e7eaa7c687b7eaa587a7d877663516752687c72879b69537a647500687c7b547f77517f7853a0916901247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77788c6301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f777852946301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77686877517f7c52797d8b9f7c53a09b91697c76638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6876638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6863587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f7768587f517f7801007e817602fc00a06302fd00a063546752687f7801007e81727e7b7b687f75537f7c0376a9148801147f775379645579887567726881766968789263556753687a76026c057f7701147f8263517f7c766301007e817f7c6775006877686b537992635379528763547a6b547a6b677c6b567a6b537a7c717c71716868547a587f7c81547a557964936755795187637c686b687c547f7701207f75748c7a7669765880748c7a76567a876457790376a9147e7c7e557967041976a9147c7e0288ac687e7e5579636c766976748c7a9d58807e6c0376a9147e748c7a7e6c7e7e676c766b8263828c007c80517e846864745aa0637c748c7a76697d937b7b58807e56790376a9147e748c7a7e55797e7e6868686c567a5187637500678263828c007c80517e846868647459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e687459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e68687c537a9d547963557958807e041976a91455797e0288ac7e7e68aa87726d77776a1400b91626e0a4b97f624bc1f0d8fa3a3ef35ac6640100064b30513447384cc87c20565354207c2062343836613566623363386239616437366161363137393830306539666265373339313562363839383761636664383432326136326663346265616134356263207c2068747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f392f39352f546573745f696d6167652e6a7067207c2037207c2031207c205465737420546f6b656e202d2047656e657261746564206175746f6d61746963616c6c7920666f726d207465737473207c2030207c04000000000000001976a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac00000000 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/migrateToken: + post: + summary: Migrate token + tags: + - admin + parameters: + - schema: + type: string + in: header + name: walletID + required: false + deprecated: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: migration started successfully + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/tokenMetrics: + get: + summary: sync token from blockchain + tags: + - Utility + parameters: + - schema: + type: string + in: header + name: walletID + required: false + - schema: + type: boolean + default: false + in: header + name: force + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: migration started successfully + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/drop: + post: + summary: Withdraws coins from PrivateKeys. + tags: + - Transactions + description: >- + The drop endpoints allows users to transfer coins (BSV or Token) from a + PrivateKey. + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + to: + type: string + amount: + type: number + minimum: 0 + notes: + type: string + nullable: true + sn: + type: number + nullable: true + minimum: 0 + tokenId: + type: string + nullable: true + data: + type: array + nullable: true + items: + type: string + required: + - to + - amount + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 0.000005 + example2: + value: + dataArray: + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + example3: + value: + dataArray: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 0.000005 + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 0.000005 + notes: test + data: + - test1 + - test2 + example4: + value: + dataArray: + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 5 + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 3 + notes: test + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 3 + notes: test + data: + - test1 + - test2 + required: true + parameters: + - schema: + type: string + in: header + name: secretKey + required: false + - schema: + type: string + in: header + name: serviceID + required: false + - schema: + type: string + in: header + name: privateKey + required: false + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txIds: + type: array + items: + type: string + errors: + type: array + items: + type: object + additionalProperties: true + required: + - status + - msg + - txIds + - errors + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + errors: [] + example2: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + - >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + errors: [] + example3: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 18d3c8cef40ba055e8151c9377d4c5f144dd1fe44f83f07079e2d0046dc79bc9 + errors: [] + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/sweep: + post: + summary: Transfers all assets from PrivateKey to the User. + tags: + - Transactions + description: >- + The sweep endpoints allows users to transfer all coins (BSV and Tokens) + from a PrivateKey. + requestBody: + content: + application/json: + schema: + type: object + properties: + items: + type: object + properties: + privateKey: + type: string + required: + - privateKey + example: + privateKey: string + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txIds: + type: array + items: + type: string + errors: + type: array + items: + type: object + additionalProperties: true + required: + - status + - msg + - txIds + - errors + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + errors: [] + example2: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + - >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + errors: [] + example3: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 18d3c8cef40ba055e8151c9377d4c5f144dd1fe44f83f07079e2d0046dc79bc9 + errors: [] + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/offer: + post: + summary: Create an Atomic Swap + tags: + - Transactions + description: >- + This endpoint allows user to create a swap offer. For token to BSV swap + use tokenId, amount(number of tokens) and sn(optional serial number if + NFT) and wantedAmount in BSV value (decimal). For token to token swap + use wantedAmount(wanted number of tokens), wantedTokenId and + wantedSn(optional serial number if NFT), can also instead use + wantedScript using a token script hex value instead of wantedTokenId and + wantedSn + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + amount: + type: number + minimum: 0 + nullable: true + tokenId: + type: string + nullable: true + sn: + type: number + minimum: 0 + nullable: true + wantedAmount: + type: number + minimum: 0 + nullable: true + wantedTokenId: + type: string + nullable: true + wantedSn: + type: number + minimum: 0 + nullable: true + wantedScript: + type: string + nullable: true + required: + - amount + - wantedAmount + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + amount: 1 + wantedAmount: 1 + wantedTokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + example2: + value: + dataArray: + - tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + sn: 85 + amount: 1 + wantedAmount: 1 + wantedTokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + wantedSn: 45 + example3: + value: + dataArray: + - tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + amount: 1 + wantedAmount: 2.5e-7 + example4: + value: + dataArray: + - tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + sn: 85 + amount: 1 + wantedAmount: 2.5e-7 + example5: + value: + dataArray: + - amount: 2.5e-7 + wantedAmount: 1 + wantedTokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + example6: + value: + dataArray: + - amount: 2.5e-7 + wantedAmount: 1 + wantedTokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + wantedSn: 60 + example7: + value: + dataArray: + - amount: 2.5e-7 + wantedAmount: 1 + wantedTokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + - tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + amount: 1 + wantedAmount: 2.5e-7 + - tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + amount: 1 + wantedAmount: 1 + wantedTokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + example8: + value: + dataArray: + - amount: 2.5e-7 + wantedAmount: 1 + wantedTokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + wantedSn: 60 + - tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + sn: 85 + amount: 1 + wantedAmount: 2.5e-7 + - tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + sn: 85 + amount: 1 + wantedAmount: 1 + wantedTokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + wantedSn: 45 + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + contents: + type: array + items: + type: string + minItems: 1 + required: + - status + - msg + - contents + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Offer created successfully + contents: + - >- + 010000000184c5740d26e45e7d3574f51bc57346bdec86478669c4a4c90252acaa7a69353d000000006b483045022100876446ffa4fb4dbe362f00adca8d13c5010e5ef5dbfc3f261849fe267352bb2202201b367635c117cd1ce002033a12e115a56be5fa8f59cdaa2ed15f8ed683d23f6dc3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + example2: + value: + statusCode: 200 + data: + status: success + msg: Offer created successfully + contents: + - >- + 0100000001c5a3b200dce3761303df00166b7f424987ba7bce0ca2806ccfd6c0492fd43b98000000006a47304402201a289a73ca3c3e3dd183193c9c52fd1cbd1607d31769879b56da5eadd00071810220296232d51d8591406848eb4a7ee7dd246403de69237afbab687f0bc84e6354cbc3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + - >- + 0100000001b0619eea04bf5f1f765097cbbe2fad314dc6cedebedfe45e97bd30e261008820000000006a473044022075b1b3d916dc32bd7b4dd13e1681e5cb68944331a515ea5d169eb665f032617b022050d287f19c63d0b99a78af62ba580c4574b43373db134b9fc9cb157b9156d882c3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/swap: + post: + summary: Accepting atomic swap offers. + tags: + - Transactions + description: >- + This endpoint allows users to accept swap offers by passing respective + hex value values. + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + swapHex: + type: string + additionalOutputs: + type: array + nullable: true + items: + type: object + properties: + amount: + type: number + to: + type: string + required: + - swapHex + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - swapHex: >- + 010000000184c5740d26e45e7d3574f51bc57346bdec86478669c4a4c90252acaa7a69353d000000006b483045022100876446ffa4fb4dbe362f00adca8d13c5010e5ef5dbfc3f261849fe267352bb2202201b367635c117cd1ce002033a12e115a56be5fa8f59cdaa2ed15f8ed683d23f6dc3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + example2: + value: + dataArray: + - swapHex: >- + 0100000001c5a3b200dce3761303df00166b7f424987ba7bce0ca2806ccfd6c0492fd43b98000000006a47304402201a289a73ca3c3e3dd183193c9c52fd1cbd1607d31769879b56da5eadd00071810220296232d51d8591406848eb4a7ee7dd246403de69237afbab687f0bc84e6354cbc3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + - swapHex: >- + 0100000001b0619eea04bf5f1f765097cbbe2fad314dc6cedebedfe45e97bd30e261008820000000006a473044022075b1b3d916dc32bd7b4dd13e1681e5cb68944331a515ea5d169eb665f032617b022050d287f19c63d0b99a78af62ba580c4574b43373db134b9fc9cb157b9156d882c3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txIds: + type: array + items: + type: string + errors: + type: array + items: + type: string + required: + - status + - msg + - txIds + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Swap offer accepted successfully. + txIds: + - >- + 2e74b8df67efebbd64e90994417f2c42b4eddd1c58327bb0d548453b2409bbe0 + errors: [] + example2: + value: + statusCode: 200 + data: + status: success + msg: Swap offer accepted successfully. + txIds: + - >- + 0d1fa874f233e1a46ad3a74217e5eb656eed8f2c2dafe889e1566851e7deae3c + - >- + 81ab5a4ac721ab9eb4539cf173e248d5bb6e9226263d8361a175d38a983587ba + errors: [] + example3: + value: + statusCode: 200 + data: + status: success + msg: Swap offer accepted successfully. + txIds: + - >- + 2e74b8df67efebbd64e90994417f2c42b4eddd1c58327bb0d548453b2409bbe0 + errors: + - 'Tx Number 1 : unsupported script type' + - 'Tx Number 2 : unsupported token type' + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/exchangeOffer: + post: + summary: Creates swap offer for exchange - returns swap ID + tags: + - Transactions + description: >- + This endpoint allows user to create a swap offer object that can be used + for the exchange endpoint. The amount value is the value in satoshis + wanted in exchange for the token. Payment field is to add in extra + outputs if requested with amount in satoshis and to for address string. + NOTE : maximum of 2 extra outputs allowed + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + tokenId: + type: string + sn: + type: number + minimum: 0 + nullable: true + amount: + type: number + minimum: 1.e-8 + type: + type: string + default: BSV + enum: + - BSV + payment: + type: array + items: + type: object + properties: + to: + type: string + amount: + anyOf: + - type: string + - type: number + minimum: 0 + required: + - to + - amount + nullable: true + maxItems: 2 + required: + - amount + - type + - tokenId + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - tokenId: >- + 900d39ffb5cd0728a59c76c79ab6939af19c3c0d-sToken51br5a656s5126j + amount: 1.e-8 + type: BSV + example2: + value: + dataArray: + - tokenId: >- + 900d39ffb5cd0728a59c76c79ab6939af19c3c0d-sToken51br5a656s5126j + sn: 5 + amount: 1.e-8 + type: BSV + payment: + - to: 1CZRgtb2G7ykqyfBqFXf9AutRaWKY2fN4x + amount: 1.e-8 + - to: 1CZRgtb2G7ykqyfBqFXf9AutRaWKY2we4x + amount: 1.e-8 + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + contents: + type: array + items: + type: object + properties: + swapId: + type: string + swapOfferHex: + type: string + tokenSatoshis: + type: number + minimum: 0 + tokenContractTxid: + type: string + payment: + type: array + items: + type: object + properties: + to: + type: string + amount: + anyOf: + - type: string + - type: number + minimum: 0 + required: + - to + - amount + nullable: true + maxItems: 2 + prevTxid: + type: string + tokenId: + type: string + serialNumber: + type: number + minimum: 0 + nullable: true + tokenOwnerAddress: + type: string + totalOutputSatoshis: + type: number + minimum: 0 + makerPublicKeyHash: + type: string + required: + - swapId + - swapOfferHex + - tokenSatoshis + - tokenContractTxid + - prevTxid + - tokenId + - tokenOwnerAddress + - totalOutputSatoshis + - makerPublicKeyHash + minItems: 1 + required: + - status + - msg + - contents + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Swap offer created successfully + contents: + - swapId: 0be1541d-c44d-4209-a5d0-f197ec587e7b + swapOfferHex: >- + 0100000001e7440cf4384e060ae765557c9889a2df9547bb89c9e319c687d0845ed653e4d4000000006b48304502210086cee5783fe831dcd647ff9d2b516562573afcc80df0d3c7004f0978916a9139022058a0e27ac520e207f289cdfbd342083651b6ef77b0fcf7b8c6109386fbd6544fc3210209d882c772f19ef511c81fb161abaf98c561767b29c92f424b0b2fa16e147eb4ffffffff0100e1f505000000001976a9140bb9eb13c821d10af1f5fbf01c04577305c24d3788ac00000000 + tokenSatoshis: 1 + tokenContractTxid: >- + 4d68e9178f7eb1fc8bd4a0ac9a9f034e8f4c61010eaa286ba6344827e0b5d1cd + payment: null + prevTxid: >- + d4e453d65e84d087c619e3c989bb4795dfa289987c5565e70a064e38f40c44e7 + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-IR_MAN + tokenOwnerAddress: 12519wQZvqjuqxggUco872zKs66L9x438C + totalOutputSatoshis: 100000000 + makerPublicKeyHash: 0bb9eb13c821d10af1f5fbf01c04577305c24d37 + example2: + value: + statusCode: 200 + data: + status: success + msg: Swap offer created successfully + contents: + - swapId: 7ef4c018-1ba8-493d-9738-649994e24a86 + swapOfferHex: >- + 0100000001e7440cf4384e060ae765557c9889a2df9547bb89c9e319c687d0845ed653e4d4000000006b48304502210086cee5783fe831dcd647ff9d2b516562573afcc80df0d3c7004f0978916a9139022058a0e27ac520e207f289cdfbd342083651b6ef77b0fcf7b8c6109386fbd6544fc3210209d882c772f19ef511c81fb161abaf98c561767b29c92f424b0b2fa16e147eb4ffffffff0100e1f505000000001976a9140bb9eb13c821d10af1f5fbf01c04577305c24d3788ac00000000 + tokenSatoshis: 1 + tokenContractTxid: >- + 4d68e9178f7eb1fc8bd4a0ac9a9f034e8f4c61010eaa286ba6344827e0b5d1cd + payment: null + prevTxid: >- + d4e453d65e84d087c619e3c989bb4795dfa289987c5565e70a064e38f40c44e7 + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-IR_MAN + tokenOwnerAddress: 12519wQZvqjuqxggUco872zKs66L9x438C + totalOutputSatoshis: 100000000 + makerPublicKeyHash: 0bb9eb13c821d10af1f5fbf01c04577305c24d37 + - swapId: 45c108dc-28da-4544-b938-fa966ff8151b + swapOfferHex: >- + 0100000001e7440cf4384e060ae765557c9889a2df9547bb89c9e319c687d0845ed653e4d4000000006b483045022100ccd4f2025ec90b337fcb66c03ebae80d9057d8da36c554df3db93be3068430b90220710d6eda3911c94c36652fcb82085d7511354df3ad8f0dda3e9ac023deee9a29c3210209d882c772f19ef511c81fb161abaf98c561767b29c92f424b0b2fa16e147eb4ffffffff0100a3e111000000001976a9140bb9eb13c821d10af1f5fbf01c04577305c24d3788ac00000000 + tokenSatoshis: 1 + tokenContractTxid: >- + 4d68e9178f7eb1fc8bd4a0ac9a9f034e8f4c61010eaa286ba6344827e0b5d1cd + payment: null + prevTxid: >- + d4e453d65e84d087c619e3c989bb4795dfa289987c5565e70a064e38f40c44e7 + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-IR_MAN + tokenOwnerAddress: 12519wQZvqjuqxggUco872zKs66L9x438C + totalOutputSatoshis: 300000000 + makerPublicKeyHash: 0bb9eb13c821d10af1f5fbf01c04577305c24d37 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/exchangeSwap: + post: + summary: Atomic Swap + tags: + - Transactions + description: This endpoint allows users to accept a swap offers via swap ID + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + swapId: + type: string + required: + - swapId + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - swapId: 0a82d337-28ad-43d6-b16d-6cc60c3018f0 + example2: + value: + dataArray: + - swapId: 57d28adb-5c6b-4b3e-8572-87daa794f265 + - swapId: 43daaaf6-878c-46c0-a3fc-b34709e96c48 + - swapId: 2631b389-4231-4e35-a7c8-ee5f6c3c1c36 + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txIds: + type: array + items: + type: string + required: + - status + - msg + - txIds + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Swap offer accepted successfully + txIds: + - >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + example2: + value: + statusCode: 200 + data: + status: success + msg: Swap offer accepted successfully + txIds: + - >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + - >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/inspect: + post: + summary: Inspect an atomic swap offer. + tags: + - Transactions + description: >- + This endpoint allows users to inspect an atomic swap hex to verify the + validity of the offer. + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + swapHex: + type: string + required: + - swapHex + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - swapHex: >- + 010000000184c5740d26e45e7d3574f51bc57346bdec86478669c4a4c90252acaa7a69353d000000006b483045022100876446ffa4fb4dbe362f00adca8d13c5010e5ef5dbfc3f261849fe267352bb2202201b367635c117cd1ce002033a12e115a56be5fa8f59cdaa2ed15f8ed683d23f6dc3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + example2: + value: + dataArray: + - swapHex: >- + 0100000001c5a3b200dce3761303df00166b7f424987ba7bce0ca2806ccfd6c0492fd43b98000000006a47304402201a289a73ca3c3e3dd183193c9c52fd1cbd1607d31769879b56da5eadd00071810220296232d51d8591406848eb4a7ee7dd246403de69237afbab687f0bc84e6354cbc3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + - swapHex: >- + 0100000001b0619eea04bf5f1f765097cbbe2fad314dc6cedebedfe45e97bd30e261008820000000006a473044022075b1b3d916dc32bd7b4dd13e1681e5cb68944331a515ea5d169eb665f032617b022050d287f19c63d0b99a78af62ba580c4574b43373db134b9fc9cb157b9156d882c3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + offerDetails: + type: array + items: + anyOf: + - type: object + properties: + tokenOwnerAddress: + type: string + tokenCreatorAddress: + type: string + tokenSatoshis: + type: number + minimum: 0 + wantedSatoshis: + type: number + minimum: 0 + tokenImage: + type: string + serialNumber: + type: number + minimum: 0 + splittbale: + type: boolean + contractTxid: + type: string + tokenId: + type: string + symbol: + type: string + tokenSupply: + type: number + minimum: 0 + verified: + type: boolean + tokenName: + type: string + tokenDescription: + type: string + nullable: true + required: + - tokenOwnerAddress + - tokenCreatorAddress + - tokenSatoshis + - wantedSatoshis + - tokenImage + - serialNumber + - splittbale + - contractTxid + - tokenId + - symbol + - tokenSupply + - verified + - tokenName + - type: object + properties: + tokenOwnerAddress: + type: string + tokenCreatorAddress: + type: string + tokenSatoshis: + type: number + minimum: 0 + wantedSatoshis: + type: number + minimum: 0 + tokenId: + type: string + symbol: + type: string + sn: + type: number + minimum: 0 + splittable: + type: boolean + tokenImage: + type: string + contractTxid: + type: string + tokenName: + type: string + tokenDescription: + type: string + nullable: true + verified: + type: boolean + required: + - tokenOwnerAddress + - tokenCreatorAddress + - tokenSatoshis + - wantedSatoshis + - tokenId + - symbol + - sn + - splittable + - tokenImage + - contractTxid + - tokenName + - verified + minItems: 1 + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Offer details fetched successfully + offerDetails: + - tokenOwnerAddress: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + tokenCreatorAddress: 1BuEAp4mjJdeDGcpw6XdvtA9fWmHNF2mMX + tokenSatoshis: 1 + wantedSatoshis: 25 + tokenImage: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + serialNumber: 85 + splittbale: false + contractTxid: >- + e24cd3c552d71c2dd8513cdeac81a6d2ca48a055f73cbc58d118a33f037c9ca1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2 + symbol: WDG + tokenSupply: 123 + verified: true + tokenName: White Dragon + tokenDescription: White Dragon + example2: + value: + statusCode: 200 + data: + status: success + msg: Offer details fetched successfully + offerDetails: + - tokenOwnerAddress: 12fKJzMbsMW6HxAsCMsrL4jrxC2p8umDGf + tokenCreatorAddress: 1BuEAp4mjJdeDGcpw6XdvtA9fWmHNF2mMX + tokenSatoshis: 1 + wantedSatoshis: 100000000 + tokenImage: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + serialNumber: 0 + splittbale: true + contractTxid: >- + a29f4948fd8c17d2e9be8e21f7312dcbcafe2f65b0eb4f0bf4d261a3e3a13c8c + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2 + symbol: SBPTEST12345 + tokenSupply: 5 + verified: true + tokenName: Store Bonus Points + tokenDescription: Store Bonus Points + - tokenOwnerAddress: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + tokenCreatorAddress: 1BuEAp4mjJdeDGcpw6XdvtA9fWmHNF2mMX + tokenSatoshis: 1 + wantedSatoshis: 25 + tokenImage: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + serialNumber: 85 + splittbale: false + contractTxid: >- + e24cd3c552d71c2dd8513cdeac81a6d2ca48a055f73cbc58d118a33f037c9ca1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2 + symbol: WDG + tokenSupply: 123 + verified: true + tokenName: White Dragon + tokenDescription: White Dragon + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/redeem: + post: + summary: Smart contract Redemption. + tags: + - Smart Contracts + description: >- + This endpoint lets user redeem tokens and thus dissolving the smart + contract for satoshis. + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + amount: + type: number + minimum: 0 + tokenId: + type: string + sn: + type: number + default: 0 + minimum: 0 + required: + - amount + - tokenId + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - amount: 1 + tokenId: 8a9e7ec666f0610ff3f0540ed55f07162e9dd7a8-SBP + sn: 0 + example2: + value: + dataArray: + - amount: 1 + tokenId: 8a9e7ec666f0610ff3f0540ed55f07162e9dd7a8-SBP + sn: 0 + - amount: 1 + tokenId: 8a9e7ec666f0610ff3f0540ed55f07162e9dd7a8-SBP_TEST + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txIds: + type: array + items: + type: string + errors: + type: array + items: + type: string + required: + - status + - msg + - txIds + - errors + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Redemption successful. + txIds: + - >- + 7f06cdece4c08192e8872be802f120b85f0610e6f8e448b85c301e89ccc5bfe1 + errors: [] + example2: + value: + statusCode: 200 + data: + status: success + msg: Redemption successful. + txIds: + - >- + 7f06cdece4c08192e8872be802f120b85f0610e6f8e448b85c301e89ccc5bfe1 + - >- + d1f376ffb62f30efdd1336ec379eb462ab1068dd67a55789ab1c445cf35c540d + errors: [] + example3: + value: + statusCode: 200 + data: + status: success + msg: Redemption successful. + txIds: + - >- + d1f376ffb62f30efdd1336ec379eb462ab1068dd67a55789ab1c445cf35c540d + errors: + - Error message 1 + - Error message 2 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/createWallet: + get: + summary: Create a wallet. + tags: + - Wallets + description: >- + Create a HD wallet of choice in your user account. You can select + between standard, secure, escrow and shared wallets (see + docs.relysia.com). + parameters: + - schema: + type: string + in: header + name: walletTitle + required: true + - schema: + type: string + in: header + name: mnemonicPhrase + required: false + - schema: + type: string + in: header + name: paymail + required: false + - schema: + type: boolean + in: header + name: paymailActivate + required: false + - schema: + type: string + in: header + name: type + required: false + - schema: + type: string + nullable: true + in: header + name: walletLogo + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + walletID: + type: string + paymail: + type: string + required: + - status + - msg + - walletID + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Wallet created successfully. + walletID: 5f7b1b1b-5f7b-1b1b-5f7b-1b1b5f7b1b1b + paymail: 14735@dev.relysia.com + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/metrics: + get: + summary: Get the latest wallet UTXO state. + tags: + - Utility + description: >- + UTXOs are the base unit of transactions in the Bitcoin network. The + metrics endpoint first updates the last UTXO state, and then shows a + detailled output of each UTXO in the wallet. + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + data: + type: object + properties: + balance: + type: number + minimum: 0 + userUtxos: + type: array + items: + type: object + properties: + userId: + type: string + walletId: + type: string + script: + type: string + tx_pos: + type: number + minimum: 0 + address: + type: string + path: + type: string + tx_hash: + type: string + value: + type: number + minimum: 0 + serviceId: + type: string + nullable: true + required: + - userId + - walletId + - script + - tx_pos + - address + - path + - tx_hash + - value + minItems: 0 + required: + - balance + - userUtxos + required: + - status + - msg + - data + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: UTXO state updated successfully + data: + balance: 6078 + userUtxos: + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914ee31f7eae549febdffc53a995bdee8ff0ba2300688ac + tx_pos: 0 + address: 1NiTgXKyS4oS3fyzHp6PryeBvc6FMJDW12 + path: m/44'/0'/0'/0/0 + tx_hash: >- + 43f7f41c0ff873f3b576894fc3c7626a187258cd838f36062f54bc3b14fe3620 + value: 25 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914ee31f7eae549febdffc53a995bdee8ff0ba2300688ac + tx_pos: 1 + address: 1NiTgXKyS4oS3fyzHp6PryeBvc6FMJDW12 + path: m/44'/0'/0'/0/0 + tx_hash: >- + 43f7f41c0ff873f3b576894fc3c7626a187258cd838f36062f54bc3b14fe3620 + value: 481 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914d703dafb29efd43caad53e9f1bcb924e6546694e88ac + tx_pos: 1 + address: 1Lbtu82Jm9poEdgKB3HsTDWS9YSC91Hpny + path: m/44'/0'/0'/0/1 + tx_hash: >- + 76d79ad05cfeb4068535377cdff0113a084b084e936b7751c39895587be41d3d + value: 4933 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a91498de3990604e4fe330f65e6b0125243eb909d1dd88ac + tx_pos: 0 + address: 1EwHvcWDjWcBGBXJLae8k4dsaVo8QKsqCP + path: m/44'/0'/0'/0/4 + tx_hash: >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + value: 1 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a91447431db9649fd75c28834cb152f17cc8ea7fa11f88ac + tx_pos: 1 + address: 17VoNvtJjD19ctL5Ue3GJzzskbtXeNL4Nt + path: m/44'/0'/0'/0/8 + tx_hash: >- + 8a7e73066f07eacab9cbe9edd45d1857f589ef0c8bd725e5010962cfb9198e4e + value: 404 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a91477cb578d9fab608a794871e6c994c6ff2e55a70788ac + tx_pos: 1 + address: 1BvR1H8Bu1rRYwDWEVLoZJa37R3z19qzrK + path: m/44'/0'/0'/0/10 + tx_hash: >- + 0849c24ecb4a30c60c1bb1ec5f557d60642bb6c6d2eeb5a30ee7c9f92c88572f + value: 174 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a91477cb578d9fab608a794871e6c994c6ff2e55a70788ac + tx_pos: 1 + address: 1BvR1H8Bu1rRYwDWEVLoZJa37R3z19qzrK + path: m/44'/0'/0'/0/10 + tx_hash: >- + cf9b899bfba8d6f8a4302e747a78635cc1328a76826ac7d7d31347bb39ba486d + value: 49 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914aff862161039bc97895c6f515e629c6ece4943b188ac + tx_pos: 0 + address: 1H3SoXyeKv4mNNForRaPV8Fkzwdu55yx2b + path: m/44'/0'/0'/0/14 + tx_hash: >- + 4ee029b35a30bafbcab3a08661dc286d3c5ce9f98a1734d1163c86aabe68c7d8 + value: 1 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914aff862161039bc97895c6f515e629c6ece4943b188ac + tx_pos: 0 + address: 1H3SoXyeKv4mNNForRaPV8Fkzwdu55yx2b + path: m/44'/0'/0'/0/14 + tx_hash: >- + f123456b9d6ee63c93b2a5afa264298efc6f0bb8cd400d5aa03d037eb1c9ae56 + value: 2 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914aff862161039bc97895c6f515e629c6ece4943b188ac + tx_pos: 1 + address: 1H3SoXyeKv4mNNForRaPV8Fkzwdu55yx2b + path: m/44'/0'/0'/0/14 + tx_hash: >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + value: 1 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914e54a77f2eaffb502d4af119436e9b7982707f07288ac + tx_pos: 1 + address: 1MuNx6Vm2oE4oU9iDRLr7ebAiv196DQBzh + path: m/44'/0'/0'/0/17 + tx_hash: >- + 9ecbb4771c9e91e1f6a162d5dd3e808e57e43eedebb499f1096cb8d6813951b5 + value: 4 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914e54a77f2eaffb502d4af119436e9b7982707f07288ac + tx_pos: 1 + address: 1MuNx6Vm2oE4oU9iDRLr7ebAiv196DQBzh + path: m/44'/0'/0'/0/17 + tx_hash: >- + fb6c046fa87d963b2e35beb06e1c21b443cbf7b7f684fd4f733fa68f6ecde672 + value: 3 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/address: + get: + summary: Get your wallet address and paymail. + tags: + - Wallets + description: >- + Receive a single address and the paymail alias to receive Coins or + Token. + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + address: + type: string + paymail: + type: string + nullable: true + required: + - status + - msg + - address + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Wallet address and paymail fetched successfully. + address: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + paymail: 91@relysia.com + example2: + value: + statusCode: 200 + data: + status: success + msg: Wallet address and paymail fetched successfully. + address: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + paymail: null + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/allAddresses: + get: + summary: Get all wallet addresses. + tags: + - Wallets + description: >- + Get a list of all wallet addresses that are currently available in your + wallet. + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + addressess: + type: array + items: + type: string + required: + - status + - msg + - addressess + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Wallet addresses fetched successfully. + addressess: + - 1PLXza2i1JXyg6CuA5FW5RzkUiocpDFNV8 + - 1EcxwhQ4Y9ffda9zXvQfHaM8u7PafbvZLg + - 1LNbg5RocpuM7e7fschE6r8miwXh5jCjkA + - 1BfzNso8KAALAVKPrANrKudM6ZWzHShpZh + - 1PwzERwgengSyzBNBKEU6V2xB1jgTryovr + - 132jVsneQ8vWBaGkKbKaQLkyiigCPDhawk + - 13tGhavRUTn2vvz2tQgAGwG1oe9FdAxoNE + - 115A1j8KQmQX7HC3MNwsnwJvc6ZF6c4wYc + - 1LFNbbFP7VwSf2ajt1rytcE2yvHainoHy3 + - 1MxntVMUmbkuFiZXd8ecYSbvMWyw2awKmq + - 1HZy99hEouZuY9Z3dUznvmtacWzhrJguGd + - 1E9g8uaWq7GUvMbGkHn26ejVsZAWAEFvC1 + - 176TzKDhqk3NMx14tiDr8jWGRvMWLttptg + - 13GApJKQdzpfjMV5FWpDwGEbc1vGAD6rri + - 1K94K5FcBDDrgxEpKTckDycSW315PQUr6a + - 1KLHk7od5A9sQEVoaMtyUujyERnzZWt4sy + - 1NSRLTGcueGWjAg1Y32QjPjG9hXp5Qwhwu + - 12QLLJKe4R9FaxnzrVBdQ5a2vPmheqHsbh + - 1Gek19BzGF4urFD2sfdmPWKDGpdMSGicsS + - 1D4gnUXis2s5WH4atopeXRyFjoie4Gxirn + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/balance: + get: + summary: Get your wallet balance. + tags: + - Wallets + description: Returns both coin and token balances. + parameters: + - schema: + type: string + in: header + name: walletID + required: false + - schema: + type: string + in: header + name: type + required: false + - schema: + type: string + in: header + name: currency + required: false + - schema: + type: string + in: header + name: nextPageToken + required: false + - schema: + type: string + in: header + name: compact + required: false + deprecated: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + totalBalance: + type: object + properties: + currency: + type: string + enum: + - USD + - CHF + - INR + - EUR + - CAD + - GBP + - SYP + - SDG + - LBP + - FKP + - EGP + - BSV + balance: + type: number + required: + - currency + - balance + coins: + type: array + items: + anyOf: + - type: object + properties: + protocol: + type: string + enum: + - BSV + balance: + type: number + required: + - protocol + - balance + - type: object + properties: + Id: + type: string + protocol: + type: string + enum: + - BSV + - STAS + - STAS-50 + - STAS-20 + - STAS-789 + - STAS50 + - STASFT + - STASAPPEND + tokenId: + type: string + splittable: + type: boolean + splitable: + type: boolean + verified: + type: boolean + name: + type: string + nullable: true + address: + type: string + satsPerToken: + type: number + symbol: + type: string + redeemAddr: + type: string + image: + type: string + amount: + type: number + supply: + type: number + decimals: + type: number + sn: + anyOf: + - type: number + - type: array + items: + type: number + nullable: true + required: + - Id + - protocol + - tokenId + - splittable + - splitable + - verified + - address + - satsPerToken + - symbol + - redeemAddr + - image + - amount + - supply + - decimals + - sn + meta: + type: object + properties: + nextPageToken: + type: number + nullable: true + required: + - status + - msg + - totalBalance + - coins + - meta + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Operation Completed Successfully + totalBalance: + currency: USD + balance: 0.00003367160796545307 + coins: + - protocol: BSV + balance: 0 + - Id: 6441fe87c0dc6dd1babbe28f + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 103 + - Id: 6441fe87c0dc6dd1babbe290 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 102 + - Id: 6441fe87c0dc6dd1babbe291 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 101 + - Id: 6441fe87c0dc6dd1babbe292 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 100 + - Id: 6441fe87c0dc6dd1babbe293 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 99 + - Id: 6441fe87c0dc6dd1babbe294 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 98 + - Id: 6441fe87c0dc6dd1babbe295 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 97 + - Id: 6441fe87c0dc6dd1babbe296 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 96 + - Id: 6441fe87c0dc6dd1babbe297 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 95 + - Id: 6441fe87c0dc6dd1babbe298 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 94 + - Id: 6441fe87c0dc6dd1babbe299 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 93 + - Id: 6441fe87c0dc6dd1babbe29a + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 92 + - Id: 6441fe87c0dc6dd1babbe29b + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 91 + - Id: 6441fe87c0dc6dd1babbe29c + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 90 + - Id: 6441fe87c0dc6dd1babbe29d + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 89 + - Id: 6441fe87c0dc6dd1babbe29e + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 88 + - Id: 6441fe87c0dc6dd1babbe29f + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 87 + - Id: 6441fe87c0dc6dd1babbe2a0 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 86 + - Id: 6441fe87c0dc6dd1babbe2a1 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 85 + meta: + nextPageToken: 19 + example2: + value: + statusCode: 200 + data: + status: success + msg: Operation Completed Successfully + totalBalance: + currency: USD + balance: 0.000033666372935816003 + coins: + - protocol: BSV + balance: 0 + - Id: 6441fe87c0dc6dd1babbe28f + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 103 + supply: 123 + decimals: 0 + sn: + - 38 + - 7 + - Id: 6441fe87c0dc6dd1babbe27a + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + splittable: false + splitable: false + verified: true + name: Yujiro + address: 12519wQZvqjuqxggUco872zKs66L9x438C + satsPerToken: 1 + symbol: YJO + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://static.wikia.nocookie.net/baki/images/a/a6/Yujiro_profile.png/revision/latest/scale-to-width-down/280?cb=20220726223446 + amount: 2 + supply: 5 + decimals: 0 + sn: + - 2 + - 1 + - Id: 6441fe87c0dc6dd1babbe27b + protocol: STAS + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-IR_MAN + splittable: false + splitable: false + verified: true + name: Ironman + address: 12519wQZvqjuqxggUco872zKs66L9x438C + satsPerToken: 1 + symbol: IR_MAN + redeemAddr: 8226da9a724b0581928ee508df0174ed7b233a81 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 2 + supply: 3 + decimals: 0 + sn: + - 2 + - 1 + - Id: 6441fe87c0dc6dd1babbe27c + protocol: STAS + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-W_WOMAN + splittable: false + splitable: false + verified: true + name: Store Bonus Points + address: 12T7men1z1FU9sruoFgFx2D7JCJRgZtxrA + satsPerToken: 1 + symbol: W_WOMAN + redeemAddr: 8226da9a724b0581928ee508df0174ed7b233a81 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 5 + decimals: 0 + sn: + - 5 + - Id: 6441fe87c0dc6dd1babbe27d + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-nba-new-123 + splittable: false + splitable: false + verified: true + name: Store Bonus Points + address: 12T7men1z1FU9sruoFgFx2D7JCJRgZtxrA + satsPerToken: 1 + symbol: nba-new-123 + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 10 + supply: 3 + decimals: 0 + sn: + - 3 + - 1 + - 2 + - Id: 6441fe87c0dc6dd1babbe280 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + splittable: false + splitable: false + verified: true + name: Store Bonus Points + address: 12T7men1z1FU9sruoFgFx2D7JCJRgZtxrA + satsPerToken: 1 + symbol: Mordor-bulk + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 6 + supply: 2000 + decimals: 0 + sn: + - 1832 + - 719 + - 327 + - 1465 + - 536 + - 1590 + - Id: 6441fe87c0dc6dd1babbe282 + protocol: STAS + tokenId: >- + 7791e1839f705e2813ec744a15fd10d355ff99b2-SBPTEST12345 + splittable: true + splitable: true + verified: true + name: Store Bonus Points + address: 12fKJzMbsMW6HxAsCMsrL4jrxC2p8umDGf + satsPerToken: 1 + symbol: SBPTEST12345 + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 2 + supply: 5 + decimals: 0 + sn: + - 0 + - Id: 6441fe87c0dc6dd1babbe287 + protocol: STAS + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-BT_MAN + splittable: false + splitable: false + verified: true + name: Batman + address: 16Jg2sYouH8jGFRyUyEnoNZ1gyj9mKECMd + satsPerToken: 1 + symbol: BT_MAN + redeemAddr: 8226da9a724b0581928ee508df0174ed7b233a81 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 5 + decimals: 0 + sn: + - 5 + - Id: 6441fe87c0dc6dd1babbe289 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-KEN + splittable: false + splitable: false + verified: true + name: Kensen + address: 1892sYWjiHzkn6sD12q9Xn7s4ZHjZCmxEh + satsPerToken: 1 + symbol: KEN + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 10 + decimals: 0 + sn: + - 1 + - Id: 6441fe87c0dc6dd1babbe28a + protocol: STAS + tokenId: >- + 7791e1839f705e2813ec744a15fd10d355ff99b2-Party-Monster + splittable: false + splitable: false + verified: true + name: Party plans + address: 1AF5yUb1kCmGhCwLUsaTweGJKmkTB6fFTx + satsPerToken: 1 + symbol: Party-Monster + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://images.unsplash.com/photo-1663668566893-7a4887f9a41d?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxlZGl0b3JpYWwtZmVlZHw0MHx8fGVufDB8fHx8&auto=format&fit=crop&w=500&q=60 + amount: 3 + supply: 3 + decimals: 0 + sn: + - 3 + - 2 + - 1 + - Id: 6441fe87c0dc6dd1babbe28b + protocol: STAS + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-THE_AVGRS + splittable: true + splitable: true + verified: true + name: The Avengers + address: 1E4We5K6zFh7msq6r2ZrNuyK56X2gqTzGp + satsPerToken: 1 + symbol: THE_AVGRS + redeemAddr: 8226da9a724b0581928ee508df0174ed7b233a81 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 10 + decimals: 0 + sn: + - 0 + - Id: 6441fe87c0dc6dd1babbe28e + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-nbc-new-123 + splittable: false + splitable: false + verified: true + name: Store Bonus Points + address: 1LS54Yo1xLGkyCgcGZo6RLj5QgkqEchvUr + satsPerToken: 1 + symbol: nbc-new-123 + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 6 + supply: 3 + decimals: 0 + sn: + - 3 + - 1 + - 2 + - Id: 6441fe87c0dc6dd1babbe2e3 + protocol: STAS + tokenId: >- + 7791e1839f705e2813ec744a15fd10d355ff99b2-fight-new-123 + splittable: false + splitable: false + verified: true + name: Store Bonus Points + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: fight-new-123 + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 5 + supply: 3 + decimals: 0 + sn: + - 1 + - 3 + - 2 + - Id: 6441fe87c0dc6dd1babbe2e4 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-fightfight + splittable: true + splitable: true + verified: true + name: Fight Club + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: fightfight + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://images.unsplash.com/photo-1552072092-7f9b8d63efcb?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxzZWFyY2h8Mnx8ZmlnaHR8ZW58MHx8MHx8&auto=format&fit=crop&w=500&q=60 + amount: 4 + supply: 10 + decimals: 0 + sn: + - 0 + - Id: 6441fe87c0dc6dd1babbe2e5 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-RGT + splittable: false + splitable: false + verified: true + name: Right + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: RGT + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 9 + supply: 5 + decimals: 0 + sn: + - 5 + - 2 + - 3 + - 1 + - 4 + - Id: 6441fe87c0dc6dd1babbe2e8 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-SBP + splittable: true + splitable: true + verified: true + name: Store Bonus Points + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: SBP + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 3 + supply: 3 + decimals: 0 + sn: + - 0 + - Id: 6441fe87c0dc6dd1babbe2e9 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-fightfight2 + splittable: false + splitable: false + verified: true + name: Fight Club + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: fightfight2 + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://images.unsplash.com/photo-1552072092-7f9b8d63efcb?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxzZWFyY2h8Mnx8ZmlnaHR8ZW58MHx8MHx8&auto=format&fit=crop&w=500&q=60 + amount: 5 + supply: 5 + decimals: 0 + sn: + - 8 + - 5 + - 6 + - 7 + - 4 + - Id: 6441fe87c0dc6dd1babbe2ee + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-fightfight1 + splittable: true + splitable: true + verified: true + name: Fight Club + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: fightfight1 + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://images.unsplash.com/photo-1552072092-7f9b8d63efcb?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxzZWFyY2h8Mnx8ZmlnaHR8ZW58MHx8MHx8&auto=format&fit=crop&w=500&q=60 + amount: 5 + supply: 5 + decimals: 0 + sn: + - 0 + - Id: 6441fe87c0dc6dd1babbe2ef + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-BAA + splittable: true + splitable: true + verified: true + name: Black Adam + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: BAA + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 6 + supply: 7 + decimals: 0 + sn: + - 0 + meta: + nextPageToken: 19 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/leaderboard: + get: + summary: Get token ownership details + tags: + - Wallets + description: Returns all user data who have this particular token. + parameters: + - schema: + type: number + in: query + name: nextPageToken + required: false + - schema: + type: string + in: header + name: tokenId + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + leaderboard: + type: array + items: + type: object + properties: + paymail: + type: string + nullable: true + totalAmount: + type: number + uid: + type: string + rank: + type: number + displayName: + type: string + nullable: true + required: + - totalAmount + - uid + - rank + nextPageToken: + type: number + nullable: true + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Leaderboard fetched successfully. + leaderboard: + - paymail: 91@relysia.com + totalAmount: 100 + uid: 5f7b1b1b1b1b1b1b1b1b1b1b + rank: 1 + displayName: John Doe + - paymail: 92@relysia.com + totalAmount: 50 + uid: 5f7b1b1b1b1b1b1b1b1b1b1b + rank: 2 + - totalAmount: 25 + uid: 5f7b1b1b1b1b1b1b1b1b1b1b + rank: 3 + nextPageToken: 2 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/history: + get: + summary: Get your transaction history. + tags: + - Wallets + description: >- + The transaction history endpoint returns all past transactions, both BSV + and Tokens. + parameters: + - schema: + type: string + in: query + name: nextPageToken + required: false + - schema: + type: string + in: query + name: tokenId + required: false + - schema: + type: string + in: header + name: walletID + required: false + - schema: + type: string + in: header + name: type + required: false + - schema: + type: string + enum: + - 1.0.0 + - 1.1.0 + default: 1.0.0 + in: header + name: version + required: false + deprecated: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + histories: + type: array + items: + anyOf: + - type: object + properties: + to: + type: string + txId: + type: string + from: + type: string + timestamp: + type: string + balance_change: + type: number + docId: + type: string + type: + type: string + enum: + - debit + - credit + nullable: true + notes: + type: string + nullable: true + protocol: + type: string + enum: + - BSV + - STAS + - STAS-50 + - STAS-20 + - STAS-789 + - STAS50 + - STASFT + - STASAPPEND + required: + - to + - txId + - from + - timestamp + - balance_change + - docId + - type + - protocol + - type: object + properties: + to: + type: array + items: + type: object + properties: + amount: + type: number + image: + type: string + nullable: true + protocol: + type: string + enum: + - BSV + - STAS + - STAS-50 + - STAS-20 + - STAS-789 + - STAS50 + - STASFT + - STASAPPEND + tokenId: + type: string + nullable: true + sn: + type: number + nullable: true + to: + type: string + name: + type: string + nullable: true + decimals: + type: number + nullable: true + txId: + type: string + from: + type: string + timestamp: + type: string + totalAmount: + type: number + notes: + type: string + nullable: true + type: + type: string + enum: + - debit + - credit + required: + - to + - txId + - from + - timestamp + - totalAmount + - type + nextPageTokenId: + type: string + nullable: true + meta: + type: object + properties: + nextPageToken: + type: string + nullable: true + required: + - status + - msg + - histories + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Transaction history fetched successfully. + histories: + - to: 1BfzNso8KAALAVKPrANrKudM6ZWzHShpZh + txId: >- + c48287508391ff0b57ec528cb12ae87762af94f6c242cb4acdeed63382e5515e + from: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + timestamp: '2023-04-26 03:18:37' + balance_change: 3 + docId: >- + 0efca5f5dadcdacd0ff3a418a92c27efc6f8387b29e8647bb9ac7eea9284b13c + type: debit + protocol: STAS-789 + - to: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + txId: >- + c48287508391ff0b57ec528cb12ae87762af94f6c242cb4acdeed63382e5515d + from: 1BfzNso8KAALAVKPrANrKudM6ZWzHShpZh + timestamp: '2023-04-26 03:18:37' + balance_change: 1 + docId: >- + 0efca5f5dadcdacd0ff3a418a92c27efc6f8387b29e8647bb9ac7eea9284b13c + notes: test + type: debit + protocol: STAS-789 + nextPageTokenId: '1' + example2: + value: + statusCode: 200 + data: + status: success + msg: Transaction history fetched successfully. + histories: + - to: + - amount: 1 + image: https://www.gstatic.com/webp/gallery/1.jpg + protocol: STAS-789 + tokenId: >- + 0efca5f5dadcdacd0ff3a418a92c27efc6f8387b29e8647bb9ac7eea9284b13d + sn: 1 + to: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + name: test + decimals: 2 + txId: >- + c48287508391ff0b57ec528cb12ae87762af94f6c242cb4acdeed63382e5515d + from: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + timestamp: '2023-04-24 04:12:20' + totalAmount: 1 + type: debit + - to: + - amount: 1 + image: https://www.gstatic.com/webp/gallery/1.jpg + protocol: STAS-789 + tokenId: >- + 0efca5f5dadcdacd0ff3a418a92c27efc6f8387b29e8647bb9ac7eea9284b13c + sn: 1 + to: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + name: test + decimals: 2 + - amount: 1 + image: https://www.gstatic.com/webp/gallery/1.jpg + protocol: STAS-789 + tokenId: >- + 0efca5f5dadcdacd0ff3a418a92c27efc6f8387b29e8647bb9ac7eea9284b13c + sn: 2 + to: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + name: test + decimals: 2 + txId: >- + c48287508391ff0b57ec528cb12ae87762af94f6c242cb4acdeed63382e5515e + from: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + timestamp: '2023-04-26 03:18:37' + totalAmount: 2 + notes: test + type: credit + meta: + nextPageToken: '1' + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/wallets: + get: + summary: List of available user wallets. + tags: + - Wallets + description: >- + The endpoint provides the user with a list of all active wallets on + their account. Depending on your service requirements, you might have + one or multiple wallets. + parameters: + - schema: + type: string + in: header + name: oauth + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + wallets: + type: array + items: + type: object + properties: + walletID: + type: string + walletTitle: + type: string + walletLogo: + type: string + format: uri + nullable: true + required: + - walletID + - walletTitle + required: + - status + - msg + - wallets + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Wallets fetched successfully. + wallets: + - walletID: f1a4b3c2-1a2b-3a4b-5a6b-7a8b9c0d1e2f + walletTitle: My first wallet + walletLogo: https://www.example.com/wallet-logo.png + - walletID: f1a4b3c2-1a2b-3a4b-5a6b-7a8b9c0d1e2f + walletTitle: My second wallet + walletLogo: null + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + delete: + summary: to delete all wallet, this api will delete all wallets at once + tags: + - Delete + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: all wallets deleted successfully ! + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/mnemonic: + get: + summary: Get your mnemonic phrase. + tags: + - Wallets + description: >- + The mnemonic phrase secures your wallet keys. Each mnemonic acts as seed + of a HDPrivatekey that itself contains hundrets of PrivateKeys. + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + mnemonic: + type: string + required: + - status + - msg + - mnemonic + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Mnemonic phrase fetched successfully. + mnemonic: >- + abandon abandon abandon abandon abandon abandon abandon + abandon abandon abandon abandon about + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/pay: + post: + summary: Pay an invoice request. + tags: + - Transactions + description: >- + The endpoint enables users to pay their invoices that were earlier + resolved and put into a standardized format by the /URI endpoint. + requestBody: + content: + application/json: + schema: + type: object + properties: + uri: + type: string + type: + type: string + mainProtocol: + type: string + outputs: + type: array + items: + type: object + properties: + script: + type: string + satoshis: + type: number + required: + - script + - satoshis + nullable: true + inputs: + type: array + items: + type: object + properties: + txid: + type: string + vout: + type: number + satoshis: + type: number + minimum: 0 + scriptPubKey: + type: string + nullable: true + scriptType: + type: string + nullable: true + scriptSig: + type: string + required: + - txid + - vout + - satoshis + - scriptSig + nullable: true + modes: + type: object + additionalProperties: true + network: + type: string + nullable: true + paymentUrl: + type: string + format: uri + nullable: true + creationTimeStamp: + type: number + format: duration + nullable: true + expirationTimeStamp: + type: number + format: duration + nullable: true + memo: + type: string + nullable: true + isBSV: + type: boolean + nullable: true + peer: + type: string + nullable: true + peerData: + type: string + nullable: true + peerProtocol: + type: string + nullable: true + beneficiary: + type: object + properties: + name: + type: string + email: + type: string + address: + type: string + paymentReference: + type: string + nullable: true + required: + - name + - email + - address + - paymentReference + required: + - uri + - type + - mainProtocol + examples: + example1: + value: + uri: payto:91@dev.relysia.com?amount=1 + type: paymail + mainProtocol: paymail + outputs: + - script: 76a9141a608132952ba364d19d6ef0c09e074fb3fcfedf88ac + satoshis: 1 + inputs: [] + memo: Send to 91@dev.relysia.com + isBSV: true + peer: >- + https://dev.relysia.com/api/bsvalias/receive-transaction/91@dev.relysia.com + peerData: >- + eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJ2ZXJzaW9uIjoxLCJkZXJpdmF0aW9uUm9vdFBhdGgiOiJtLzUiLCJkZXJpdmF0aW9uUm9vdEluZGV4IjozOTE1LCJjb3VudCI6MX0.vgN6mSoxuVzSmdwXA_hJtvS_s6xyFdRVedsFAx4mt5K2fsI0Ps2pw4OCXWy6msUbAKYGOEeAqs9BoyJCOlgyng + peerProtocol: paymail + example2: + value: + uri: bitcoin:13ofTSnVngWV8VgvqpYZE4YuaWuARBkBp3?amount=0.00000001 + type: bip21 + mainProtocol: bip21 + outputs: + - script: 76a9141ec37cb9f5ab9ae49be75e8d45c02d1f2fd1c5a288ac + satoshis: 1 + inputs: [] + memo: Payment to Address + isBSV: false + peer: null + peerData: null + peerProtocol: null + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txid: + type: string + required: + - status + - msg + - txid + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Transaction sent successfully + txid: >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/initBeta: + get: + summary: Setup your Fee Manager. + tags: + - admin + description: >- + Creates a new Fee Manager that can cover the transaction fees of your + users. + parameters: + - schema: + type: string + in: header + name: mnemonic + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Fee manager init successfully + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/feeMetricsBeta: + get: + summary: Get all feeManager UTXOs. + tags: + - admin + description: The endpoint returns all UTXOs and refreshes the UTXO set. + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + totalBalance: + type: object + properties: + balance: + type: number + minimum: 0 + dustBalance: + type: number + minimum: 0 + required: + - balance + - dustBalance + availableUtxos: + type: array + items: + type: object + properties: + script: + type: string + tx_pos: + type: number + minimum: 0 + address: + type: string + path: + type: string + tx_hash: + type: string + value: + type: number + minimum: 0 + createdAt: + type: number + format: duration + state: + type: string + enum: + - available + required: + - script + - tx_pos + - address + - path + - tx_hash + - value + - createdAt + - state + required: + - status + - msg + - totalBalance + - availableUtxos + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Operation successful + totalBalance: + balance: 720682757 + dustBalance: 6310 + availableUtxos: + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 2 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + f7f1718aac0dee0a91c33de796b0c940784309960c0a74c8ada51ee6951a0a26 + value: 61184 + createdAt: 1686904968568 + state: available + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 3 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + d655d5c1bb914ab161e5239b46686c78707e2af29afae4e5d465fe4dd4b6374a + value: 68558 + createdAt: 1686904968568 + state: available + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 1 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + 8248be407c10660e28be50cdf9072caf51f6b6d6ec3783a4c089588e13647a4e + value: 51509 + createdAt: 1686904968568 + state: available + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 2 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + 53b03f45905f4dd6167712de289d2f309399a3887c33257442c0d986a1d49874 + value: 55094 + createdAt: 1686904968568 + state: available + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/feeAddressBeta: + get: + summary: Get all Fee Manager addresses. + tags: + - admin + description: >- + Returns a list of feeManager addresses. The feeManager is used to fund + transactions. + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + addresses: + type: array + items: + type: string + minItems: 1 + maxItems: 1 + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Operation Completed successfully + addresses: + - 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/feeUtxoState: + get: + summary: Get current state of fee manager UTXOs + tags: + - admin + description: The endpoint returns all UTXOs that are stored in Redis DB + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + totalBalance: + type: object + properties: + availableBalance: + type: number + minimum: 0 + dustBalance: + type: number + minimum: 0 + failedBalance: + type: number + minimum: 0 + required: + - availableBalance + - dustBalance + - failedBalance + allUtxos: + type: object + properties: + availableUtxos: + type: array + items: + type: object + properties: + script: + type: string + tx_pos: + type: number + minimum: 0 + address: + type: string + nullable: true + path: + type: string + nullable: true + tx_hash: + type: string + value: + type: number + minimum: 0 + createdAt: + type: number + format: duration + state: + type: string + enum: + - available + - dust + - failed + required: + - script + - tx_pos + - tx_hash + - value + - createdAt + - state + dustUtxos: + type: array + items: + type: object + properties: + script: + type: string + tx_pos: + type: number + minimum: 0 + address: + type: string + nullable: true + path: + type: string + nullable: true + tx_hash: + type: string + value: + type: number + minimum: 0 + createdAt: + type: number + format: duration + state: + type: string + enum: + - available + - dust + - failed + required: + - script + - tx_pos + - tx_hash + - value + - createdAt + - state + failedUtxos: + type: array + items: + type: object + properties: + script: + type: string + tx_pos: + type: number + minimum: 0 + address: + type: string + nullable: true + path: + type: string + nullable: true + tx_hash: + type: string + value: + type: number + minimum: 0 + createdAt: + type: number + format: duration + state: + type: string + enum: + - available + - dust + - failed + required: + - script + - tx_pos + - tx_hash + - value + - createdAt + - state + required: + - availableUtxos + - dustUtxos + - failedUtxos + required: + - status + - msg + - totalBalance + - allUtxos + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Operation Completed successfully + totalBalance: + availableBalance: 720682457 + dustBalance: 0 + failedBalance: 0 + allUtxos: + availableUtxos: + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 1 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + 84fc7aef9b03283615d570dfc3a3177593048187ceecf993e37272e589b0b9f9 + value: 23419 + createdAt: 1687007038684 + state: available + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 1 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + d7209a4a36db9e058af7df3ea93d5857a122de71111f2896515d2274589b0d99 + value: 88292 + createdAt: 1687007038684 + state: available + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 1 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + 0eca2699cfc73c0d53bc805c36d0cba7fc0860d1282541eeceb95afc817170aa + value: 157810 + createdAt: 1687007038684 + state: available + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 2 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + 20043ea66d4196ba094d4a64c53cfe3391ca0534800c03c23718a46daaaa4787 + value: 61163 + createdAt: 1687007038684 + state: available + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 2 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + 0ebde418ce82554dc0602d8f388f7cc48dda76e86b92fbac5ac5958a8c35d2b5 + value: 68537 + createdAt: 1687007038684 + state: available + dustUtxos: + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 2 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + 09e9c0cc768635104a0bbf0d9acfc0647b0406b961bc700f4afba87a41948fcf + value: 68760 + createdAt: 1687007038684 + state: dust + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 2 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + b2e1855268712f03af5d312bea6622d7c9dbfd00acec1108d7bf7087dec0ca65 + value: 77536 + createdAt: 1687007038684 + state: dust + failedUtxos: + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 1 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + a73e37b74bdc1d632914a21d507adaf84bd3076e3a9edea8b096fe34418bb6fa + value: 66015 + createdAt: 1687007038684 + state: failed + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/currencyConversion: + get: + summary: Converts BSV satoshis to fiat currency. + tags: + - Utility + description: >- + Add a satoshi amount and fiat pair of your choice, e.g. USD, EUR, INR to + receive information of the equivalent value. + parameters: + - schema: + type: string + in: header + name: satoshis + required: true + - schema: + type: string + in: header + name: currency + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + currency: + type: string + enum: + - USD + - CHF + - INR + - EUR + - CAD + - GBP + - SYP + - SDG + - LBP + - FKP + - EGP + balance: + type: number + minimum: 0 + required: + - status + - msg + - currency + - balance + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Operation Completed Successfully + currency: USD + balance: 0.000011362378798928755 + example2: + value: + statusCode: 200 + data: + status: success + msg: Operation Completed Successfully + currency: CAD + balance: 0.02301136 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/notificationToken/{userId}: + put: + summary: Update notification token. + tags: + - Notifications + requestBody: + content: + application/json: + schema: + type: object + properties: + expoNotificationToken: + type: string + required: + - expoNotificationToken + example: + expoNotificationToken: ExponentPushToken[kfs4DxE5jRt3FsBCbzH61P] + required: true + parameters: + - schema: + type: string + in: path + name: userId + required: true + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Notification token updated successfully. + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + delete: + summary: Remove a notification token. + tags: + - Delete + parameters: + - schema: + type: string + in: path + name: userId + required: true + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: successfully ExpoToken Removed from this account ! + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/sendNotification: + post: + summary: Send a Notification + tags: + - Notifications + requestBody: + content: + application/json: + schema: + type: object + properties: + type: + type: string + default: to + userAddress: + type: string + amount: + type: number + transactionType: + type: string + default: BSV + required: + - amount + - userAddress + examples: + example1: + value: + type: to + userAddress: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + amount: 0.0001 + transactionType: BSV + example2: + value: + type: from + userAddress: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + amount: 0.0001 + transactionType: BSV + example3: + value: + type: to + userAddress: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + amount: 5 + example4: + value: + type: from + userAddress: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + amount: 2 + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Notification Sended Successfully ! + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/invoice: + post: + summary: Create an invoice. + tags: + - Transactions + description: Create an invoice to receive payments for a merchant product. + requestBody: + content: + application/json: + schema: + type: object + properties: + type: + type: string + enum: + - USD + - CHF + - INR + - EUR + - CAD + - GBP + - SYP + - SDG + - LBP + - FKP + - EGP + default: USD + amount: + type: number + nullable: true + minimum: 0 + address: + type: string + nullable: true + description: + type: string + nullable: true + expirationTimeInMinuts: + type: number + default: 1 + memo: + type: string + nullable: true + merchantData: + type: string + nullable: true + paymentOptions: + type: array + items: + type: object + properties: + transactions: + type: array + items: + type: object + properties: + native: + type: object + properties: + amount: + type: number + to: + type: string + stas: + type: object + properties: + tokenAmount: + type: number + tokenRecipient: + type: string + tokenId: + type: string + minItems: 1 + required: + - transactions + nullable: true + modeId: + type: string + nullable: true + beneficiary: + type: object + properties: + name: + type: string + email: + type: string + address: + type: string + paymentReference: + type: string + examples: + example1: + value: + type: USD + amount: 1 + address: 12519wQZvqjuqxggUco872zKs66L9x438C + description: paying 1$ for testing + expirationTimeInMinuts: 1 + memo: paying for testing + merchantData: a3621ebf-97a4-476f-a028-a7a9c55b27e8 + paymentOptions: + - transactions: + - native: + amount: 1 + to: 12519wQZvqjuqxggUco872zKs66L9x438C + beneficiary: + name: vaionex test + email: test@vaionex.com + address: 19702 Newark, Delaware, USA + example2: + value: + type: USD + amount: 1 + address: 12519wQZvqjuqxggUco872zKs66L9x438C + description: paying 1$ for testing + expirationTimeInMinuts: 1 + memo: paying for testing + merchantData: a3621ebf-97a4-476f-a028-a7a9c55b27e8 + paymentOptions: + - transactions: + - stas: + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-IR_MAN + tokenAmount: 1 + tokenRecipient: 12519wQZvqjuqxggUco872zKs66L9x438C + beneficiary: + name: vaionex test + email: test@vaionex.com + address: 19702 Newark, Delaware, USA + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + reqUrl: + type: string + format: uri + required: + - status + - msg + - reqUrl + required: + - statusCode + - data + example: + statusCode: 200 + data: + msg: Invoice created successfully. + reqUrl: >- + https://api.relysia.com/v1/paymentRequest/f3a7f350-2e2e-4e8b-af0d-58eb5eb3728a + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/paymentRequest/{invoiceId}: + get: + summary: Create an Invoice + tags: + - Transactions + description: >- + Invoices allow merchants to specify the amount of BSV or Tokens they + require to complete a value exchange, such as selling a Product. + parameters: + - schema: + type: string + in: path + name: invoiceId + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + mainProtocol: + type: string + expirationTimestamp: + type: number + format: duration + memo: + type: string + nullable: true + outputs: + type: array + items: + type: object + properties: + description: + type: string + nullable: true + script: + type: string + satoshis: + type: number + minimum: 0 + required: + - script + - satoshis + nullable: true + version: + type: string + uri: + type: string + creationTimestamp: + type: number + format: duration + type: + type: string + network: + type: string + paymentUrl: + type: string + format: uri + modes: + type: object + additionalProperties: true + beneficiary: + type: object + properties: + name: + type: string + email: + type: string + paymentReference: + type: string + address: + type: string + required: + - name + - email + - paymentReference + - address + additionalProperties: true + required: + - status + - msg + - mainProtocol + - expirationTimestamp + - version + - uri + - creationTimestamp + - type + - network + - paymentUrl + examples: + example1: + value: + statusCode: 200 + status: success + msg: Operation Completed Successfully + mainProtocol: bip272 + merchantData: a3621ebf-97a4-476f-a028-a7a9c55b27e8 + expirationTimestamp: 1686560853 + memo: paying for testing + outputs: + - description: paying 1$ for testing + script: 76a9140bb9eb13c821d10af1f5fbf01c04577305c24d3788ac + satoshis: 3971132 + version: 2.0.0 + uri: >- + pay:?r=https://api.relysia.com/v1/paymentRequest/f3a7f350-2e2e-4e8b-af0d-58eb5eb3728a + creationTimestamp: 1686560793 + type: bip272 + network: mainnet + paymentUrl: >- + https://api.relysia.com/v1/paymentRequest/pay/f3a7f350-2e2e-4e8b-af0d-58eb5eb3728a + example2: + value: + statusCode: 200 + status: success + msg: Operation Completed Successfully + network: mainnet + uri: >- + pay:?r=https://api.relysia.com/v1/paymentRequest/8f9f4c27-3782-46e2-b76f-1ef956f52c61 + memo: paying for testing + type: bip272 + paymentUrl: >- + https://api.relysia.com/v1/paymentRequest/pay/8f9f4c27-3782-46e2-b76f-1ef956f52c61 + mainProtocol: bip272 + creationTimestamp: 1686814941 + modes: + ef63d9775da5: + PaymentOption_0: + transactions: + - outputs: + stas: + - tokenId: >- + 00b91626e0a4b97f624bc1f0d8fa3a3ef35ac664-TIGLdA + tokenAmount: 1 + tokenRecipient: 1HQKnJ5FfCjcgvr6AAqNPYhY7NKuZXByMF + policies: + fees: + standard: + bytes: 1000 + satoshis: 50 + data: + bytes: 1000 + satoshis: 50 + beneficiary: + name: vaionex test + email: test@vaionex.com + paymentReference: 8f9f4c27-3782-46e2-b76f-1ef956f52c61 + address: 19702 Newark, Delaware, USA + expirationTimestamp: 1686816741 + version: 2.0.0 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/paymentRequest/pay/{invoiceId}: + post: + summary: Settle an invoice request. + tags: + - Transactions + description: The API takes invoice and settles it. + requestBody: + content: + application/json: + schema: + type: object + properties: + merchantData: + type: string + transaction: + type: string + refundTo: + type: string + nullable: true + memo: + type: string + nullable: true + additionalProperties: true + required: + - transaction + - merchantData + examples: + example1: + value: + merchantData: bc3d8da0-f930-49e3-9acc-56725ab14a0a + transaction: >- + 01000000020d76e23c0d6f6acd2e9a7d4c9b6916aa9333111fac62003a75d13a10353ee563000000006a4730440220714ffb0eff55abb4840a470760f418442a3ebf7a9bb133dfdc25808f0b05f4fd0220024b562567802e7639ccff2f1e361e178d34102a9fbdbc3aa5843ef5e1dc73fe41210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0d76e23c0d6f6acd2e9a7d4c9b6916aa9333111fac62003a75d13a10353ee563010000006a47304402205ad45fd9d02b659f987cc8321f4874bfa2729425913738cbc4444ed20e453ee4022020467301d8e50bc58e37b92cc03962acc8cfd5ac70bf704de2c4dee8c8beebc84121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff010a000000000000001976a91477bff20c60e522dfaa3350c39b030a5d004e839a88ac00000000 + example2: + value: + merchantData: ab05c66d-0397-419f-8311-9b5dfbccd6ed + transaction: >- + 01000000023a149de2c3a74c191727d17496171c0e97efbaff5735271ead9f883e214e9bd5000000006a473044022045fc063571fb291ea114facfcb2f38bf60f0e8797140e3e6f1380dcd66dffb940220178d4c79bb39f566c3b53c76293f0a38e5fbf0dac4f460783f0cc84ffb259bc341210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff3a149de2c3a74c191727d17496171c0e97efbaff5735271ead9f883e214e9bd5010000006a4730440220160354a13e8f0f72577a0aa393a981b922af9819ae5d04786d5ae226bb867db90220304c4a5eeb2fbc348c336b4a0a45de5bba6e271b32f3884bdf1c5fd1a48671604121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff010a000000000000001976a91477bff20c60e522dfaa3350c39b030a5d004e839a88ac00000000 + refundTo: 147Pha46z8xhMHjq6Wcy9ZWgUV9okUgUeu + example3: + value: + merchantData: ab05c66d-0397-419f-8311-9b5dfbccd6ed + transaction: >- + 01000000023a149de2c3a74c191727d17496171c0e97efbaff5735271ead9f883e214e9bd5000000006a473044022045fc063571fb291ea114facfcb2f38bf60f0e8797140e3e6f1380dcd66dffb940220178d4c79bb39f566c3b53c76293f0a38e5fbf0dac4f460783f0cc84ffb259bc341210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff3a149de2c3a74c191727d17496171c0e97efbaff5735271ead9f883e214e9bd5010000006a4730440220160354a13e8f0f72577a0aa393a981b922af9819ae5d04786d5ae226bb867db90220304c4a5eeb2fbc348c336b4a0a45de5bba6e271b32f3884bdf1c5fd1a48671604121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff010a000000000000001976a91477bff20c60e522dfaa3350c39b030a5d004e839a88ac00000000 + memo: paying 1$ for testing + example4: + value: + merchantData: a3621ebf-97a4-476f-a028-a7a9c55b27e8 + transaction: >- + 0100000002398e8fe2829b523f7337559393d97e70173d05f56d80d0dd0b90a5a35aa9d140000000006b483045022100ac04d62f743fdefd224c5f84c0c6562a15c93e6e45cc84d259ad074a1d42a8a402205ca8b3a296f8b7268e3d092a010785580dd18c8794f5911692e16e6c3c7c996a41210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff398e8fe2829b523f7337559393d97e70173d05f56d80d0dd0b90a5a35aa9d140010000006b483045022100cef2deea13b5ef5e012d225e10f1445c6421570613a2c02e87e8b6fe27b75fe602201e6c5b85dcc0062235581885a49b194777e9230b8314a18052a97e8b146ed24f4121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff01f4010000000000001976a91477bff20c60e522dfaa3350c39b030a5d004e839a88ac00000000 + refundTo: 147Pha46z8xhMHjq6Wcy9ZWgUV9okUgUeu + memo: paying for testing + application/bitcoinsv-payment: + schema: + type: object + properties: + merchantData: + type: string + transaction: + type: string + refundTo: + type: string + nullable: true + memo: + type: string + nullable: true + additionalProperties: true + required: + - transaction + - merchantData + examples: + example1: + value: + merchantData: bc3d8da0-f930-49e3-9acc-56725ab14a0a + transaction: >- + 01000000020d76e23c0d6f6acd2e9a7d4c9b6916aa9333111fac62003a75d13a10353ee563000000006a4730440220714ffb0eff55abb4840a470760f418442a3ebf7a9bb133dfdc25808f0b05f4fd0220024b562567802e7639ccff2f1e361e178d34102a9fbdbc3aa5843ef5e1dc73fe41210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0d76e23c0d6f6acd2e9a7d4c9b6916aa9333111fac62003a75d13a10353ee563010000006a47304402205ad45fd9d02b659f987cc8321f4874bfa2729425913738cbc4444ed20e453ee4022020467301d8e50bc58e37b92cc03962acc8cfd5ac70bf704de2c4dee8c8beebc84121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff010a000000000000001976a91477bff20c60e522dfaa3350c39b030a5d004e839a88ac00000000 + example2: + value: + merchantData: ab05c66d-0397-419f-8311-9b5dfbccd6ed + transaction: >- + 01000000023a149de2c3a74c191727d17496171c0e97efbaff5735271ead9f883e214e9bd5000000006a473044022045fc063571fb291ea114facfcb2f38bf60f0e8797140e3e6f1380dcd66dffb940220178d4c79bb39f566c3b53c76293f0a38e5fbf0dac4f460783f0cc84ffb259bc341210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff3a149de2c3a74c191727d17496171c0e97efbaff5735271ead9f883e214e9bd5010000006a4730440220160354a13e8f0f72577a0aa393a981b922af9819ae5d04786d5ae226bb867db90220304c4a5eeb2fbc348c336b4a0a45de5bba6e271b32f3884bdf1c5fd1a48671604121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff010a000000000000001976a91477bff20c60e522dfaa3350c39b030a5d004e839a88ac00000000 + refundTo: 147Pha46z8xhMHjq6Wcy9ZWgUV9okUgUeu + example3: + value: + merchantData: ab05c66d-0397-419f-8311-9b5dfbccd6ed + transaction: >- + 01000000023a149de2c3a74c191727d17496171c0e97efbaff5735271ead9f883e214e9bd5000000006a473044022045fc063571fb291ea114facfcb2f38bf60f0e8797140e3e6f1380dcd66dffb940220178d4c79bb39f566c3b53c76293f0a38e5fbf0dac4f460783f0cc84ffb259bc341210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff3a149de2c3a74c191727d17496171c0e97efbaff5735271ead9f883e214e9bd5010000006a4730440220160354a13e8f0f72577a0aa393a981b922af9819ae5d04786d5ae226bb867db90220304c4a5eeb2fbc348c336b4a0a45de5bba6e271b32f3884bdf1c5fd1a48671604121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff010a000000000000001976a91477bff20c60e522dfaa3350c39b030a5d004e839a88ac00000000 + memo: paying 1$ for testing + example4: + value: + merchantData: a3621ebf-97a4-476f-a028-a7a9c55b27e8 + transaction: >- + 0100000002398e8fe2829b523f7337559393d97e70173d05f56d80d0dd0b90a5a35aa9d140000000006b483045022100ac04d62f743fdefd224c5f84c0c6562a15c93e6e45cc84d259ad074a1d42a8a402205ca8b3a296f8b7268e3d092a010785580dd18c8794f5911692e16e6c3c7c996a41210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff398e8fe2829b523f7337559393d97e70173d05f56d80d0dd0b90a5a35aa9d140010000006b483045022100cef2deea13b5ef5e012d225e10f1445c6421570613a2c02e87e8b6fe27b75fe602201e6c5b85dcc0062235581885a49b194777e9230b8314a18052a97e8b146ed24f4121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff01f4010000000000001976a91477bff20c60e522dfaa3350c39b030a5d004e839a88ac00000000 + refundTo: 147Pha46z8xhMHjq6Wcy9ZWgUV9okUgUeu + memo: paying for testing + required: true + parameters: + - schema: + type: string + in: path + name: invoiceId + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txId: + type: string + required: + - status + - msg + - txId + required: + - status + - msg + - statusCode + - data + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Operation completed successfully. + statusCode: 200 + data: + status: success + msg: Payment Completed Successfully + txId: >- + ef8bdedd64477adcf1d297cf7fbb92c743251634841418e43f6e74db921770a3 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/domain/generateToken: + post: + summary: Generates a domain verification token + tags: + - admin + description: >- + We authenticate domains to verify whether infrastructure users are + actually owning the specific domain. + requestBody: + content: + application/json: + schema: + type: object + properties: + domain: + type: string + required: + - domain + example: + domain: example.com + required: true + parameters: + - schema: + type: string + in: header + name: authToken + required: false + - schema: + type: string + in: header + name: userID + required: false + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + verificationCode: + type: string + required: + - status + - msg + - verificationCode + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Domain verification token generated successfully + verificationCode: relysia-verification=kwlZ7D7RgL6dY7ksTgH1UWnunDP68u + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/domain/{userId}/verifyToken: + post: + summary: verify domain ownership + tags: + - admin + requestBody: + content: + application/json: + schema: + type: object + properties: + domain: + type: string + required: + - domain + example: + domain: example.com + required: true + parameters: + - schema: + type: string + in: path + name: userId + required: true + - schema: + type: string + in: header + name: authToken + required: false + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + statusCode: + type: number + domain: + type: string + required: + - status + - msg + - statusCode + - domain + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Domain verified successfully + statusCode: 200 + domain: example.com + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/paymail/{paymailId}: + get: + tags: + - paymail + parameters: + - schema: + type: string + in: path + name: paymailId + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + paymailDetails: + type: object + properties: + walletID: + type: string + paymailId: + type: string + required: + - walletID + - paymailId + required: + - status + - msg + - paymailDetails + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + paymailDetails: + walletID: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + paymailId: 91@dev.relysia.com + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/paymail: + put: + tags: + - paymail + requestBody: + content: + application/json: + schema: + type: object + properties: + newPaymailId: + type: string + required: + - newPaymailId + example: + newPaymailId: 91@dev.relysia.com + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + paymail: + type: string + required: + - status + - msg + - paymail + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + paymail: alpha200@dev.relysia.com + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/wallet: + delete: + summary: >- + to delete a wallet, this api will delete your wallet and related data of + that walletId + tags: + - Delete + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + walletId: + type: string + required: + - status + - msg + - walletId + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: wallet deleted successfully ! + walletId: ec4ae905-c5ef-41bd-adfb-4db361093245 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/paymail/activate: + post: + summary: to activate and deActivate paymail + tags: + - paymail + requestBody: + content: + application/json: + schema: + type: object + properties: + activate: + type: boolean + default: true + required: + - activate + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: paymail activated now + example2: + value: + statusCode: 200 + data: + status: success + msg: paymail deactivated now + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/reset/password: + post: + summary: Password Reset. + tags: + - Authentication + description: Reset your password and send a confirmation to the registered mail. + requestBody: + content: + application/json: + schema: + type: object + properties: + email: + type: string + format: email + required: + - email + example: + email: satoshin@gmx.com + required: true + security: + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + email: + type: string + format: email + required: + - status + - msg + - email + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Password reset link sent successfully. + email: satoshin@gmx.com + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/transpile: + post: + summary: transpile solidity code to sCrypt. + tags: + - Utility + description: Takes base64 string of solidity code and converts it to sCrypt. + requestBody: + content: + application/json: + schema: + type: object + properties: + sourceCode: + type: string + required: + - sourceCode + example: + sourceCode: >- + Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVApwcmFnbWEgc29saWRpdHkgXjAuOC4xMDsKCmNvbnRyYWN0IEVSQzcyMSB7CiAgICB1aW50MjU2IHByaXZhdGUgY29uc3RhbnQgX19Mb29wQ291bnRfXzAgPSAxOwogICAgc3RyaW5nIHByaXZhdGUgY29uc3RhbnQgdG9rZW5OYW1lID0gIk15IEVSQzcyMSBUb2tlbiI7CiAgICBzdHJpbmcgcHJpdmF0ZSBjb25zdGFudCB0b2tlblN5bWJvbCA9ICJNRVQiOwogICAgdWludDI1NiBwcml2YXRlIGNvbnN0YW50IHRvdGFsVG9rZW5zID0gMTAwMDAwMDsKICAgIG1hcHBpbmcoYWRkcmVzcyA9PiB1aW50MjU2KSBwcml2YXRlIGJhbGFuY2VzOwogICAgbWFwcGluZyh1aW50MjU2ID0+IGFkZHJlc3MpIHByaXZhdGUgdG9rZW5Pd25lcnM7CiAgICBtYXBwaW5nKHVpbnQyNTYgPT4gYm9vbCkgcHJpdmF0ZSB0b2tlbkV4aXN0czsKICAgIG1hcHBpbmcoYWRkcmVzcyA9PiBtYXBwaW5nKGFkZHJlc3MgPT4gdWludDI1NikpIHByaXZhdGUgYWxsb3dlZDsKICAgIG1hcHBpbmcoYWRkcmVzcyA9PiBtYXBwaW5nKHVpbnQyNTYgPT4gdWludDI1NikpIHByaXZhdGUgb3duZXJUb2tlbnM7CgogICAgbWFwcGluZyh1aW50MjU2ID0+IHN0cmluZykgdG9rZW5MaW5rczsKCiAgICBmdW5jdGlvbiBuYW1lKCkgZXh0ZXJuYWwgcmV0dXJucyAoc3RyaW5nIG1lbW9yeSkgewogICAgICAgIHJldHVybiB0b2tlbk5hbWU7CiAgICB9CgogICAgZnVuY3Rpb24gc3ltYm9sKCkgZXh0ZXJuYWwgcmV0dXJucyAoc3RyaW5nIG1lbW9yeSkgewogICAgICAgIHJldHVybiB0b2tlblN5bWJvbDsKICAgIH0KCiAgICBmdW5jdGlvbiB0b3RhbFN1cHBseSgpIGV4dGVybmFsIHJldHVybnMgKHVpbnQyNTYpIHsKICAgICAgICByZXR1cm4gdG90YWxUb2tlbnM7CiAgICB9CgogICAgZnVuY3Rpb24gYmFsYW5jZU9mKGFkZHJlc3MgX293bmVyKSBleHRlcm5hbCByZXR1cm5zICh1aW50MjU2KSB7CiAgICAgICAgcmV0dXJuIGJhbGFuY2VzW19vd25lcl07CiAgICB9CgoKICAgIGZ1bmN0aW9uIGFwcHJvdmUoYWRkcmVzcyBfdG8sIHVpbnQyNTYgX3Rva2VuSWQpIGV4dGVybmFsIHsKICAgICAgICByZXF1aXJlKHRva2VuRXhpc3RzW190b2tlbklkXSk7CiAgICAgICAgcmVxdWlyZShtc2cuc2VuZGVyID09IHRva2VuT3duZXJzW190b2tlbklkXSk7CiAgICAgICAgcmVxdWlyZShtc2cuc2VuZGVyICE9IF90byk7CiAgICAgICAgYWxsb3dlZFttc2cuc2VuZGVyXVtfdG9dID0gX3Rva2VuSWQ7CiAgICAgICAgZW1pdCBBcHByb3ZhbChtc2cuc2VuZGVyLCBfdG8sIF90b2tlbklkKTsKICAgIH0KCiAgICBmdW5jdGlvbiB0YWtlT3duZXJzaGlwKHVpbnQyNTYgX3Rva2VuSWQpIGV4dGVybmFsIHsKICAgICAgICByZXF1aXJlKHRva2VuRXhpc3RzW190b2tlbklkXSk7CiAgICAgICAgYWRkcmVzcyBvbGRPd25lciA9IHRva2VuT3duZXJzW190b2tlbklkXTsKICAgICAgICBhZGRyZXNzIG5ld093bmVyID0gbXNnLnNlbmRlcjsKICAgICAgICByZXF1aXJlKG5ld093bmVyICE9IG9sZE93bmVyKTsKICAgICAgICByZXF1aXJlKGFsbG93ZWRbb2xkT3duZXJdW25ld093bmVyXSA9PSBfdG9rZW5JZCk7CiAgICAgICAgYmFsYW5jZXNbb2xkT3duZXJdIC09IDE7CiAgICAgICAgdG9rZW5Pd25lcnNbX3Rva2VuSWRdID0gbmV3T3duZXI7CiAgICAgICAgYmFsYW5jZXNbb2xkT3duZXJdICs9IDE7CiAgICAgICAgZW1pdCBUcmFuc2ZlcihvbGRPd25lciwgbmV3T3duZXIsIF90b2tlbklkKTsKICAgIH0KCiAgICBmdW5jdGlvbiB0cmFuc2ZlcihhZGRyZXNzIF90bywgdWludDI1NiBfdG9rZW5JZCkgZXh0ZXJuYWwgewogICAgICAgIGFkZHJlc3MgY3VycmVudE93bmVyID0gbXNnLnNlbmRlcjsKICAgICAgICBhZGRyZXNzIG5ld093bmVyID0gX3RvOwogICAgICAgIHJlcXVpcmUodG9rZW5FeGlzdHNbX3Rva2VuSWRdKTsKICAgICAgICByZXF1aXJlKGN1cnJlbnRPd25lciA9PSB0b2tlbk93bmVyc1tfdG9rZW5JZF0pOwogICAgICAgIHJlcXVpcmUoY3VycmVudE93bmVyICE9IG5ld093bmVyKTsKICAgICAgICByZXF1aXJlKG5ld093bmVyICE9IGFkZHJlc3MoMCkpOwoKICAgICAgICBmb3IgKHVpbnQyNTYgaSA9IDA7IG93bmVyVG9rZW5zW2N1cnJlbnRPd25lcl1baV0gIT0gX3Rva2VuSWQ7IGkrKykgewogICAgICAgICAgICBvd25lclRva2Vuc1tjdXJyZW50T3duZXJdW2ldID0gMDsKICAgICAgICB9CgogICAgICAgIGJhbGFuY2VzW2N1cnJlbnRPd25lcl0gLT0gMTsKICAgICAgICB0b2tlbk93bmVyc1tfdG9rZW5JZF0gPSBuZXdPd25lcjsKICAgICAgICBiYWxhbmNlc1tuZXdPd25lcl0gKz0gMTsKICAgICAgICBlbWl0IFRyYW5zZmVyKGN1cnJlbnRPd25lciwgbmV3T3duZXIsIF90b2tlbklkKTsKICAgIH0KCiAgICBmdW5jdGlvbiB0b2tlbk9mT3duZXJCeUluZGV4KGFkZHJlc3MgX293bmVyLCB1aW50MjU2IF9pbmRleCkKICAgICAgICBleHRlcm5hbAogICAgICAgIHJldHVybnMgKHVpbnQyNTYgdG9rZW5JZCkKICAgIHsKICAgICAgICByZXR1cm4gb3duZXJUb2tlbnNbX293bmVyXVtfaW5kZXhdOwogICAgfQoKICAgIGZ1bmN0aW9uIHRva2VuTWV0YWRhdGEodWludDI1NiBfdG9rZW5JZCkKICAgICAgICBleHRlcm5hbAogICAgICAgIHJldHVybnMgKHN0cmluZyBtZW1vcnkgaW5mb1VybCkKICAgIHsKICAgICAgICByZXR1cm4gdG9rZW5MaW5rc1tfdG9rZW5JZF07CiAgICB9CgogICAgZXZlbnQgVHJhbnNmZXIoCiAgICAgICAgYWRkcmVzcyBpbmRleGVkIF9mcm9tLAogICAgICAgIGFkZHJlc3MgaW5kZXhlZCBfdG8sCiAgICAgICAgdWludDI1NiBfdG9rZW5JZAogICAgKTsKICAgIGV2ZW50IEFwcHJvdmFsKAogICAgICAgIGFkZHJlc3MgaW5kZXhlZCBfb3duZXIsCiAgICAgICAgYWRkcmVzcyBpbmRleGVkIF9hcHByb3ZlZCwKICAgICAgICB1aW50MjU2IF90b2tlbklkCiAgICApOwp9 + required: true + parameters: + - schema: + type: boolean + default: 'false' + in: header + name: force + required: false + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + scrypt: + type: string + errorLogs: + type: array + items: + type: string + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: operation completed successfully ! + scrypt: |- + struct MapKeyST0 { + PubKeyHash key0; + PubKeyHash key1; + } + + contract ERC20 { + @state + public int totalSupply; + + @state + public HashedMap balanceOf; + + @state + public HashedMap allowance; + + static const bytes name = "Solidity by Example"; + + static const bytes symbol = "SOLBYEX"; + + static const int decimals = 18; + + public function transfer(PubKeyHash recipient, int amount, Sig sig, PubKey pubKey, bool retVal, int balanceOf_msgSender, int i0, int balanceOf_recipient, int i1, SigHashPreimage txPreimage) { + PubKeyHash msgSender = hash160(pubKey); + require(checkSig(sig, pubKey)); + require((!this.balanceOf.has({msgSender, i0}) && balanceOf_msgSender == 0) || this.balanceOf.canGet({msgSender, i0}, balanceOf_msgSender)); + balanceOf_msgSender -= amount; + require((!this.balanceOf.has({recipient, i1}) && balanceOf_recipient == 0) || this.balanceOf.canGet({recipient, i1}, balanceOf_recipient)); + balanceOf_recipient += amount; + require(true == retVal); + require(this.balanceOf.set({msgSender, i0}, balanceOf_msgSender)); + require(this.balanceOf.set({recipient, i1}, balanceOf_recipient)); + require(this.propagateState(txPreimage, SigHash.value(txPreimage))); + } + + public function approve(PubKeyHash spender, int amount, Sig sig, PubKey pubKey, bool retVal, int allowance_msgSender_spender, int i0, SigHashPreimage txPreimage) { + PubKeyHash msgSender = hash160(pubKey); + require(checkSig(sig, pubKey)); + require((!this.allowance.has({{msgSender, spender}, i0}) && allowance_msgSender_spender == 0) || this.allowance.canGet({{msgSender, spender}, i0}, allowance_msgSender_spender)); + allowance_msgSender_spender = amount; + require(true == retVal); + require(this.allowance.set({{msgSender, spender}, i0}, allowance_msgSender_spender)); + require(this.propagateState(txPreimage, SigHash.value(txPreimage))); + } + + public function transferFrom(PubKeyHash sender, PubKeyHash recipient, int amount, Sig sig, PubKey pubKey, bool retVal, int allowance_sender_msgSender, int i0, int balanceOf_recipient, int i2, int balanceOf_sender, int i1, SigHashPreimage txPreimage) { + PubKeyHash msgSender = hash160(pubKey); + require(checkSig(sig, pubKey)); + require((!this.allowance.has({{sender, msgSender}, i0}) && allowance_sender_msgSender == 0) || this.allowance.canGet({{sender, msgSender}, i0}, allowance_sender_msgSender)); + allowance_sender_msgSender -= amount; + require((!this.balanceOf.has({sender, i1}) && balanceOf_sender == 0) || this.balanceOf.canGet({sender, i1}, balanceOf_sender)); + balanceOf_sender -= amount; + require((!this.balanceOf.has({recipient, i2}) && balanceOf_recipient == 0) || this.balanceOf.canGet({recipient, i2}, balanceOf_recipient)); + balanceOf_recipient += amount; + require(true == retVal); + require(this.allowance.set({{sender, msgSender}, i0}, allowance_sender_msgSender)); + require(this.balanceOf.set({recipient, i2}, balanceOf_recipient)); + require(this.balanceOf.set({sender, i1}, balanceOf_sender)); + require(this.propagateState(txPreimage, SigHash.value(txPreimage))); + } + + public function mint(int amount, Sig sig, PubKey pubKey, int balanceOf_msgSender, int i0, SigHashPreimage txPreimage) { + PubKeyHash msgSender = hash160(pubKey); + require(checkSig(sig, pubKey)); + require((!this.balanceOf.has({msgSender, i0}) && balanceOf_msgSender == 0) || this.balanceOf.canGet({msgSender, i0}, balanceOf_msgSender)); + balanceOf_msgSender += amount; + this.totalSupply += amount; + require(this.balanceOf.set({msgSender, i0}, balanceOf_msgSender)); + require(this.propagateState(txPreimage, SigHash.value(txPreimage))); + } + + public function burn(int amount, Sig sig, PubKey pubKey, int balanceOf_msgSender, int i0, SigHashPreimage txPreimage) { + PubKeyHash msgSender = hash160(pubKey); + require(checkSig(sig, pubKey)); + require((!this.balanceOf.has({msgSender, i0}) && balanceOf_msgSender == 0) || this.balanceOf.canGet({msgSender, i0}, balanceOf_msgSender)); + balanceOf_msgSender -= amount; + this.totalSupply -= amount; + require(this.balanceOf.set({msgSender, i0}, balanceOf_msgSender)); + require(this.propagateState(txPreimage, SigHash.value(txPreimage))); + } + + function propagateState(SigHashPreimage txPreimage, int value) : bool { + require(Tx.checkPreimage(txPreimage)); + bytes outputScript = this.getStateScript(); + bytes output = Utils.buildOutput(outputScript, value); + return hash256(output) == SigHash.hashOutputs(txPreimage); + } + } + errorLogs: [] + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/compile: + post: + summary: compile sCrypt code to Bitcoin Script. + tags: + - Utility + description: Takes base64 string of sCrypt code and converts it to Bitcoin Script. + requestBody: + content: + application/json: + schema: + type: object + properties: + sourceCode: + type: string + required: + - sourceCode + example: + sourceCode: >- + Y29udHJhY3QgQ291bnRlciB7DQogIEBzdGF0ZQ0KICBwdWJsaWMgaW50IGNvdW50Ow0KDQogIGZ1bmN0aW9uIGdldCgpIDogaW50IHsNCiAgICByZXR1cm4gdGhpcy5jb3VudDsNCiAgfQ0KDQogIHB1YmxpYyBmdW5jdGlvbiBpbmMoU2lnSGFzaFByZWltYWdlIHR4UHJlaW1hZ2UpIHsNCiAgICB0aGlzLmNvdW50ICs9IDE7DQogICAgcmVxdWlyZSh0aGlzLnByb3BhZ2F0ZVN0YXRlKHR4UHJlaW1hZ2UpKTsNCiAgfQ0KDQogIGZ1bmN0aW9uIHNldChpbnQgX2NvdW50KSA6IGJvb2wgew0KICAgIHRoaXMuY291bnQgPSBfY291bnQ7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICBmdW5jdGlvbiBwcm9wYWdhdGVTdGF0ZShTaWdIYXNoUHJlaW1hZ2UgdHhQcmVpbWFnZSkgOiBib29sIHsNCiAgICByZXF1aXJlKFR4LmNoZWNrUHJlaW1hZ2UodHhQcmVpbWFnZSkpOw0KICAgIGJ5dGVzIG91dHB1dFNjcmlwdCA9IHRoaXMuZ2V0U3RhdGVTY3JpcHQoKTsNCiAgICBieXRlcyBvdXRwdXQgPSBVdGlscy5idWlsZE91dHB1dChvdXRwdXRTY3JpcHQsIFNpZ0hhc2gudmFsdWUodHhQcmVpbWFnZSkpOw0KICAgIHJldHVybiBoYXNoMjU2KG91dHB1dCkgPT0gU2lnSGFzaC5oYXNoT3V0cHV0cyh0eFByZWltYWdlKTsNCiAgfQ0KfQ== + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + scrypt: + type: string + required: + - status + - msg + - scrypt + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + scrypt: >- + OP_1 40 + 97dfd76851bf465e8f715593b217714858bbe9570ff3bd5e33840a34e20ff026 + 02ba79df5f8ae7604a9830f03c7933028186aede0675a16f025dc4f8be8eec0382 + 1008ce7480da41702918d1ec8e6849ba32b4d65b1e40dc669c31a1e6306b266c + $count $__codePart__ OP_7 OP_PICK OP_NOP OP_0 OP_PICK 68 + OP_SPLIT OP_NIP OP_NOP OP_0 OP_0 OP_2 OP_PICK OP_1 OP_SPLIT + OP_DROP OP_0 OP_SPLIT OP_NIP OP_0 OP_PICK fd OP_EQUAL OP_IF + OP_3 OP_PICK OP_3 OP_SPLIT OP_DROP OP_1 OP_SPLIT OP_NIP + OP_NOP OP_0 OP_PICK 00 OP_CAT OP_BIN2NUM OP_1 OP_ROLL + OP_DROP OP_NOP OP_3 OP_ROLL OP_DROP OP_2 OP_ROLL OP_2 + OP_ROLL OP_3 OP_PICK OP_3 OP_4 OP_PICK OP_ADD OP_SPLIT + OP_DROP OP_3 OP_SPLIT OP_NIP OP_2 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_ELSE OP_0 OP_PICK fe OP_EQUAL OP_IF OP_3 OP_PICK + OP_5 OP_SPLIT OP_DROP OP_1 OP_SPLIT OP_NIP OP_NOP OP_0 + OP_PICK 00 OP_CAT OP_BIN2NUM OP_1 OP_ROLL OP_DROP OP_NOP + OP_3 OP_ROLL OP_DROP OP_2 OP_ROLL OP_2 OP_ROLL OP_3 OP_PICK + OP_5 OP_4 OP_PICK OP_ADD OP_SPLIT OP_DROP OP_5 OP_SPLIT + OP_NIP OP_2 OP_ROLL OP_DROP OP_1 OP_ROLL OP_ELSE OP_0 + OP_PICK ff OP_EQUAL OP_IF OP_3 OP_PICK OP_9 OP_SPLIT OP_DROP + OP_1 OP_SPLIT OP_NIP OP_NOP OP_0 OP_PICK 00 OP_CAT + OP_BIN2NUM OP_1 OP_ROLL OP_DROP OP_NOP OP_3 OP_ROLL OP_DROP + OP_2 OP_ROLL OP_2 OP_ROLL OP_3 OP_PICK OP_9 OP_4 OP_PICK + OP_ADD OP_SPLIT OP_DROP OP_9 OP_SPLIT OP_NIP OP_2 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_ELSE OP_3 OP_PICK OP_1 OP_SPLIT + OP_DROP OP_0 OP_SPLIT OP_NIP OP_NOP OP_0 OP_PICK 00 OP_CAT + OP_BIN2NUM OP_1 OP_ROLL OP_DROP OP_NOP OP_3 OP_ROLL OP_DROP + OP_2 OP_ROLL OP_2 OP_ROLL OP_3 OP_PICK OP_1 OP_4 OP_PICK + OP_ADD OP_SPLIT OP_DROP OP_1 OP_SPLIT OP_NIP OP_2 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_ENDIF OP_ENDIF OP_ENDIF OP_1 OP_PICK + OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP OP_1 OP_ROLL OP_DROP + OP_NOP OP_0 OP_PICK OP_NOP OP_0 OP_PICK OP_SIZE OP_NIP OP_1 + OP_PICK OP_1 OP_PICK OP_1 OP_SUB OP_SPLIT OP_DROP OP_1 + OP_PICK OP_4 OP_SUB OP_1 OP_SUB OP_SPLIT OP_NIP OP_0 OP_PICK + OP_BIN2NUM OP_2 OP_PICK OP_1 OP_PICK OP_SUB OP_4 OP_SUB OP_1 + OP_SUB OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP OP_1 OP_PICK + OP_1 OP_PICK OP_SPLIT OP_DROP OP_3 OP_ROLL OP_DROP OP_2 + OP_ROLL OP_2 OP_ROLL OP_0 OP_0 OP_3 OP_PICK OP_3 OP_PICK + OP_SPLIT OP_NIP OP_NOP OP_0 OP_PICK OP_3 OP_ROLL OP_DROP + OP_2 OP_ROLL OP_2 OP_ROLL OP_0 OP_2 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_NOP OP_NOP OP_1 OP_PICK OP_1 OP_PICK OP_1 + OP_ADD OP_SPLIT OP_DROP OP_1 OP_PICK OP_SPLIT OP_NIP OP_1 + OP_PICK OP_DUP OP_1ADD OP_3 OP_ROLL OP_DROP OP_2 OP_ROLL + OP_2 OP_ROLL OP_DROP 00 OP_1 OP_PICK OP_EQUAL OP_NOT OP_1 + OP_ROLL OP_DROP OP_NOP OP_0 OP_PICK OP_NOT OP_IF OP_NOP + OP_NOP OP_0 OP_3 OP_PICK OP_0 OP_1 OP_PICK OP_5 OP_PICK OP_1 + OP_ADD OP_SPLIT OP_DROP OP_5 OP_PICK OP_SPLIT OP_NIP + OP_BIN2NUM OP_5 OP_PICK OP_DUP OP_1ADD OP_7 OP_ROLL OP_DROP + OP_6 OP_ROLL OP_6 OP_ROLL OP_6 OP_ROLL OP_6 OP_ROLL OP_6 + OP_ROLL OP_6 OP_ROLL OP_DROP OP_0 OP_PICK 4c OP_LESSTHAN + OP_IF OP_0 OP_PICK OP_4 OP_ROLL OP_DROP OP_3 OP_ROLL OP_3 + OP_ROLL OP_3 OP_ROLL OP_2 OP_PICK OP_6 OP_PICK OP_5 OP_PICK + OP_ADD OP_SPLIT OP_DROP OP_6 OP_PICK OP_SPLIT OP_NIP OP_2 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_ELSE OP_0 OP_PICK 4c + OP_NUMEQUAL OP_IF OP_2 OP_PICK OP_6 OP_PICK OP_1 OP_ADD + OP_SPLIT OP_DROP OP_6 OP_PICK OP_SPLIT OP_NIP OP_NOP OP_0 + OP_PICK 00 OP_CAT OP_BIN2NUM OP_1 OP_ROLL OP_DROP OP_NOP + OP_4 OP_ROLL OP_DROP OP_3 OP_ROLL OP_3 OP_ROLL OP_3 OP_ROLL + OP_5 OP_PICK OP_1 OP_ADD OP_6 OP_ROLL OP_DROP OP_5 OP_ROLL + OP_5 OP_ROLL OP_5 OP_ROLL OP_5 OP_ROLL OP_5 OP_ROLL OP_5 + OP_PICK OP_DROP OP_2 OP_PICK OP_6 OP_PICK OP_5 OP_PICK + OP_ADD OP_SPLIT OP_DROP OP_6 OP_PICK OP_SPLIT OP_NIP OP_2 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_ELSE OP_0 OP_PICK 4d + OP_NUMEQUAL OP_IF OP_2 OP_PICK OP_6 OP_PICK OP_2 OP_ADD + OP_SPLIT OP_DROP OP_6 OP_PICK OP_SPLIT OP_NIP OP_NOP OP_0 + OP_PICK 00 OP_CAT OP_BIN2NUM OP_1 OP_ROLL OP_DROP OP_NOP + OP_4 OP_ROLL OP_DROP OP_3 OP_ROLL OP_3 OP_ROLL OP_3 OP_ROLL + OP_5 OP_PICK OP_2 OP_ADD OP_6 OP_ROLL OP_DROP OP_5 OP_ROLL + OP_5 OP_ROLL OP_5 OP_ROLL OP_5 OP_ROLL OP_5 OP_ROLL OP_5 + OP_PICK OP_DROP OP_2 OP_PICK OP_6 OP_PICK OP_5 OP_PICK + OP_ADD OP_SPLIT OP_DROP OP_6 OP_PICK OP_SPLIT OP_NIP OP_2 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_ELSE OP_0 OP_PICK 4e + OP_NUMEQUAL OP_IF OP_2 OP_PICK OP_6 OP_PICK OP_4 OP_ADD + OP_SPLIT OP_DROP OP_6 OP_PICK OP_SPLIT OP_NIP OP_NOP OP_0 + OP_PICK 00 OP_CAT OP_BIN2NUM OP_1 OP_ROLL OP_DROP OP_NOP + OP_4 OP_ROLL OP_DROP OP_3 OP_ROLL OP_3 OP_ROLL OP_3 OP_ROLL + OP_5 OP_PICK OP_4 OP_ADD OP_6 OP_ROLL OP_DROP OP_5 OP_ROLL + OP_5 OP_ROLL OP_5 OP_ROLL OP_5 OP_ROLL OP_5 OP_ROLL OP_5 + OP_PICK OP_DROP OP_2 OP_PICK OP_6 OP_PICK OP_5 OP_PICK + OP_ADD OP_SPLIT OP_DROP OP_6 OP_PICK OP_SPLIT OP_NIP OP_2 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_ELSE OP_0 OP_VERIFY OP_ENDIF + OP_ENDIF OP_ENDIF OP_ENDIF OP_5 OP_PICK OP_4 OP_PICK OP_ADD + OP_6 OP_ROLL OP_DROP OP_5 OP_ROLL OP_5 OP_ROLL OP_5 OP_ROLL + OP_5 OP_ROLL OP_5 OP_ROLL OP_5 OP_PICK OP_DROP OP_1 OP_PICK + OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP OP_BIN2NUM OP_NOP OP_7 + OP_ROLL OP_DROP OP_6 OP_ROLL OP_6 OP_ROLL OP_6 OP_ROLL OP_6 + OP_ROLL OP_6 OP_ROLL OP_6 OP_ROLL OP_ENDIF OP_6 OP_PICK OP_1 + OP_ADD OP_7 OP_ROLL OP_DROP OP_6 OP_ROLL OP_6 OP_ROLL OP_6 + OP_ROLL OP_6 OP_ROLL OP_6 OP_ROLL OP_6 OP_ROLL OP_6 OP_PICK + OP_DROP OP_12 OP_PICK OP_NOP OP_0 OP_PICK OP_NOP OP_0 + OP_PICK OP_12 OP_PICK OP_12 OP_PICK + 0ac407f0e4bd44bfc207355a778b046225a7068fc59ee7eda43ad905aadbffc800 + 6c266b30e6a1319c66dc401e5bd6b432ba49688eecd118297041da8074ce0810 + OP_14 OP_PICK 13 OP_PICK 13 OP_PICK OP_OR OP_NOP OP_6 + OP_PICK OP_HASH256 OP_0 OP_PICK OP_NOP OP_0 OP_PICK OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_SWAP OP_CAT OP_SWAP + OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP + OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP + OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP + OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP + OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP + OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP + OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP + OP_CAT OP_SWAP OP_CAT 00 OP_CAT OP_BIN2NUM OP_1 OP_ROLL + OP_DROP OP_NOP OP_7 OP_PICK OP_6 OP_PICK OP_6 OP_PICK OP_6 + OP_PICK OP_6 OP_PICK OP_NOP OP_3 OP_PICK OP_6 OP_PICK OP_4 + OP_PICK OP_7 OP_PICK OP_MUL OP_ADD OP_MUL + 414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff00 + OP_1 OP_PICK OP_1 OP_PICK OP_NOP OP_1 OP_PICK OP_1 OP_PICK + OP_MOD OP_0 OP_PICK OP_0 OP_LESSTHAN OP_IF OP_0 OP_PICK OP_2 + OP_PICK OP_ADD OP_ELSE OP_0 OP_PICK OP_ENDIF OP_1 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP + OP_2 OP_ROLL OP_DROP OP_1 OP_ROLL OP_1 OP_PICK OP_1 OP_PICK + OP_2 OP_DIV OP_GREATERTHAN OP_IF OP_0 OP_PICK OP_2 OP_PICK + OP_SUB OP_2 OP_ROLL OP_DROP OP_1 OP_ROLL OP_ENDIF OP_3 + OP_PICK OP_SIZE OP_NIP OP_2 OP_PICK OP_SIZE OP_NIP OP_3 + OP_PICK 20 OP_NUM2BIN OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT + OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT + OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT + OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT + OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT + OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT + OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT + OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT + 20 OP_2 OP_PICK OP_SUB OP_SPLIT OP_NIP OP_4 OP_3 OP_PICK + OP_ADD OP_2 OP_PICK OP_ADD 30 OP_1 OP_PICK OP_CAT OP_2 + OP_CAT OP_4 OP_PICK OP_CAT OP_8 OP_PICK OP_CAT OP_2 OP_CAT + OP_3 OP_PICK OP_CAT OP_2 OP_PICK OP_CAT OP_7 OP_PICK OP_CAT + OP_0 OP_PICK OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP + OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP + OP_NOP OP_0 OP_PICK OP_7 OP_PICK OP_CHECKSIG OP_1 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP + OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL + OP_DROP OP_NOP OP_1 OP_ROLL OP_DROP OP_NOP OP_VERIFY OP_NOP + OP_0 OP_NOP OP_0 OP_PICK OP_IF OP_1 OP_ELSE 00 OP_ENDIF OP_1 + OP_ROLL OP_DROP OP_NOP OP_8 OP_PICK OP_NOP OP_0 OP_PICK OP_0 + OP_NUMEQUAL OP_IF 00 OP_ELSE OP_0 OP_PICK OP_ENDIF OP_NOP + OP_0 OP_PICK OP_SIZE OP_NIP OP_0 OP_1 OP_PICK 4c OP_LESSTHAN + OP_IF OP_1 OP_PICK OP_1 OP_NOP OP_1 OP_PICK OP_1 OP_PICK + OP_1 OP_ADD OP_NUM2BIN OP_0 OP_PICK OP_1 OP_PICK OP_SIZE + OP_NIP OP_1 OP_SUB OP_SPLIT OP_DROP OP_0 OP_SPLIT OP_NIP + OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL + OP_DROP OP_NOP OP_1 OP_ROLL OP_DROP OP_ELSE OP_1 OP_PICK + 0001 OP_LESSTHAN OP_IF 4c OP_2 OP_PICK OP_1 OP_NOP OP_1 + OP_PICK OP_1 OP_PICK OP_1 OP_ADD OP_NUM2BIN OP_0 OP_PICK + OP_1 OP_PICK OP_SIZE OP_NIP OP_1 OP_SUB OP_SPLIT OP_DROP + OP_0 OP_SPLIT OP_NIP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP OP_CAT OP_1 OP_ROLL + OP_DROP OP_ELSE OP_1 OP_PICK 000001 OP_LESSTHAN OP_IF 4d + OP_2 OP_PICK OP_2 OP_NOP OP_1 OP_PICK OP_1 OP_PICK OP_1 + OP_ADD OP_NUM2BIN OP_0 OP_PICK OP_1 OP_PICK OP_SIZE OP_NIP + OP_1 OP_SUB OP_SPLIT OP_DROP OP_0 OP_SPLIT OP_NIP OP_1 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP + OP_NOP OP_CAT OP_1 OP_ROLL OP_DROP OP_ELSE OP_1 OP_PICK + 0000000001 OP_LESSTHAN OP_IF 4e OP_2 OP_PICK OP_4 OP_NOP + OP_1 OP_PICK OP_1 OP_PICK OP_1 OP_ADD OP_NUM2BIN OP_0 + OP_PICK OP_1 OP_PICK OP_SIZE OP_NIP OP_1 OP_SUB OP_SPLIT + OP_DROP OP_0 OP_SPLIT OP_NIP OP_1 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP OP_CAT OP_1 + OP_ROLL OP_DROP OP_ELSE OP_0 OP_VERIFY OP_ENDIF OP_ENDIF + OP_ENDIF OP_ENDIF OP_0 OP_PICK OP_3 OP_PICK OP_CAT OP_1 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP + OP_NOP OP_1 OP_ROLL OP_DROP OP_NOP OP_CAT OP_7 OP_PICK OP_1 + OP_PICK OP_NOP OP_0 OP_PICK OP_SIZE OP_NIP OP_4 OP_NUM2BIN + OP_1 OP_PICK OP_1 OP_PICK OP_CAT OP_0 OP_1 OP_NUM2BIN OP_CAT + OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP OP_CAT OP_1 + OP_ROLL OP_DROP OP_NOP OP_0 OP_PICK OP_2 OP_PICK OP_NOP OP_0 + OP_PICK OP_NOP OP_0 OP_PICK OP_SIZE OP_NIP OP_1 OP_PICK OP_1 + OP_PICK 2c OP_SUB OP_SPLIT OP_DROP OP_1 OP_PICK 34 OP_SUB + OP_SPLIT OP_NIP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP + OP_NOP OP_NOP OP_0 OP_PICK 00 OP_CAT OP_BIN2NUM OP_1 OP_ROLL + OP_DROP OP_NOP OP_1 OP_ROLL OP_DROP OP_NOP OP_NOP OP_0 + OP_PICK OP_8 OP_NUM2BIN OP_2 OP_PICK OP_NOP OP_0 OP_PICK + OP_SIZE OP_NIP OP_0 OP_1 OP_PICK fd00 OP_LESSTHAN OP_IF OP_1 + OP_PICK OP_1 OP_NOP OP_1 OP_PICK OP_1 OP_PICK OP_1 OP_ADD + OP_NUM2BIN OP_0 OP_PICK OP_1 OP_PICK OP_SIZE OP_NIP OP_1 + OP_SUB OP_SPLIT OP_DROP OP_0 OP_SPLIT OP_NIP OP_1 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP + OP_1 OP_ROLL OP_DROP OP_ELSE OP_1 OP_PICK 000001 OP_LESSTHAN + OP_IF fd OP_2 OP_PICK OP_2 OP_NOP OP_1 OP_PICK OP_1 OP_PICK + OP_1 OP_ADD OP_NUM2BIN OP_0 OP_PICK OP_1 OP_PICK OP_SIZE + OP_NIP OP_1 OP_SUB OP_SPLIT OP_DROP OP_0 OP_SPLIT OP_NIP + OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL + OP_DROP OP_NOP OP_CAT OP_1 OP_ROLL OP_DROP OP_ELSE OP_1 + OP_PICK 0000000001 OP_LESSTHAN OP_IF fe OP_2 OP_PICK OP_4 + OP_NOP OP_1 OP_PICK OP_1 OP_PICK OP_1 OP_ADD OP_NUM2BIN OP_0 + OP_PICK OP_1 OP_PICK OP_SIZE OP_NIP OP_1 OP_SUB OP_SPLIT + OP_DROP OP_0 OP_SPLIT OP_NIP OP_1 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP OP_CAT OP_1 + OP_ROLL OP_DROP OP_ELSE OP_1 OP_PICK 000000000000000001 + OP_LESSTHAN OP_IF ff OP_2 OP_PICK OP_8 OP_NOP OP_1 OP_PICK + OP_1 OP_PICK OP_1 OP_ADD OP_NUM2BIN OP_0 OP_PICK OP_1 + OP_PICK OP_SIZE OP_NIP OP_1 OP_SUB OP_SPLIT OP_DROP OP_0 + OP_SPLIT OP_NIP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP + OP_1 OP_ROLL OP_DROP OP_NOP OP_CAT OP_1 OP_ROLL OP_DROP + OP_ENDIF OP_ENDIF OP_ENDIF OP_ENDIF OP_0 OP_PICK OP_3 + OP_PICK OP_CAT OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP + OP_1 OP_ROLL OP_DROP OP_NOP OP_CAT OP_1 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_NOP OP_0 OP_PICK OP_HASH256 OP_3 OP_PICK + OP_NOP OP_0 OP_PICK OP_SIZE OP_NIP OP_1 OP_PICK OP_1 OP_PICK + OP_8 OP_SUB OP_SPLIT OP_DROP OP_1 OP_PICK 28 OP_SUB OP_SPLIT + OP_NIP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP + OP_EQUAL OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_NOP OP_NIP OP_NIP OP_NIP OP_NIP OP_NIP + OP_NIP OP_NIP OP_NIP OP_NIP OP_NIP OP_NIP OP_NIP OP_NIP + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/post: + post: + summary: Post Messages to the Blockchain. + tags: + - Utility + description: >- + The /post endpoint broadcasts array of notes to the blockchain (in B:// + protocol format). + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + notes: + type: array + items: + type: string + minLength: 1 + required: + - notes + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - notes: + - note-1 + - note-2 + example2: + value: + dataArray: + - notes: + - note-1 + - note-2 + - notes: + - note-3 + required: true + parameters: + - schema: + type: string + in: header + name: custom-token + required: false + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txIds: + type: array + items: + type: object + properties: + txId: + type: string + url: + type: string + required: + - txId + - url + errors: + type: array + items: + type: object + properties: + msg: + type: string + index: + type: number + required: + - status + - msg + - txIds + - errors + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Successfully broadcasted to the blockchain. + txIds: + - txId: >- + a9f78d83d6e1255267b727d7d7172016924e130faf33d0f4cac55d1fe92612e4 + url: >- + B://a9f78d83d6e1255267b727d7d7172016924e130faf33d0f4cac55d1fe92612e4 + errors: [] + example2: + value: + statusCode: 200 + data: + status: success + msg: Successfully broadcasted to the blockchain. + txIds: + - txId: >- + 2e0b861f3a2b7d68c09b21237ca6659cd9176832cabaf2c9f691947434fbf463 + url: >- + B://2e0b861f3a2b7d68c09b21237ca6659cd9176832cabaf2c9f691947434fbf463 + - txId: >- + 8d7732f2d0487f97173413c105865fec68449ee9a7e5159e1c3fb223c295695a + url: >- + B://8d7732f2d0487f97173413c105865fec68449ee9a7e5159e1c3fb223c295695a + errors: [] + example3: + value: + statusCode: 200 + data: + status: success + msg: Successfully broadcasted to the blockchain. + txIds: + - txId: >- + 2e0b861f3a2b7d68c09b21237ca6659cd9176832cabaf2c9f691947434fbf463 + url: >- + B://2e0b861f3a2b7d68c09b21237ca6659cd9176832cabaf2c9f691947434fbf463 + - txId: >- + 8d7732f2d0487f97173413c105865fec68449ee9a7e5159e1c3fb223c295695a + url: >- + B://8d7732f2d0487f97173413c105865fec68449ee9a7e5159e1c3fb223c295695a + errors: + - msg: Invalid note format. + index: 0 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/lookup: + post: + summary: Returns balance of all assets of Private Key + tags: + - Utility + description: >- + The lookUp endpoint will return all the balance of all assets for BSV + and STAS tokens from a private key + requestBody: + content: + application/json: + schema: + type: object + properties: + privateKey: + type: string + parameters: + - schema: + type: string + in: query + name: nextPageToken + required: false + - schema: + type: string + in: query + name: tokenId + required: false + - schema: + type: string + in: header + name: type + required: false + - schema: + type: string + in: header + name: currency + required: false + - schema: + type: boolean + default: true + in: header + name: compact + required: false + - schema: + type: number + minimum: -1 + in: header + name: maxResults + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + totalBalance: + type: object + properties: + currency: + type: string + balance: + type: number + required: + - currency + - balance + coins: + type: array + items: + anyOf: + - type: object + properties: + protocol: + type: string + balance: + type: number + required: + - protocol + - balance + - type: object + properties: + protocol: + type: string + tokenId: + type: string + splittable: + type: boolean + name: + type: string + nullable: true + address: + type: string + satsPerToken: + type: number + symbol: + type: string + redeemAddr: + type: string + image: + type: string + amount: + type: number + supply: + type: number + decimals: + type: number + sn: + anyOf: + - type: number + - type: array + items: + type: number + nullable: true + required: + - protocol + - tokenId + - splittable + - address + - satsPerToken + - symbol + - redeemAddr + - image + - amount + - supply + - decimals + - sn + meta: + type: object + properties: + nextPageToken: + type: number + nullable: true + required: + - status + - msg + - totalBalance + - coins + - meta + example: + statusCode: 200 + data: + status: success + msg: operation completed successfully + totalBalance: + currency: USD + balance: 0.0001570996557778815 + coins: + - protocol: BSV + balance: 0.000005 + - protocol: STAS-789 + tokenId: a12e6c27b08430bccd4d801271e93d76994cac22-STASYO6 + splittable: false + verified: true + name: Store Bonus Points + address: 1JpvnEDrLR1rXZrUZNkhWSJd3x9D9ib16i + satsPerToken: 1 + symbol: STASYO6 + redeemAddr: a12e6c27b08430bccd4d801271e93d76994cac22 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 20 + decimals: 0 + sn: + - 8 + /v1/asm: + post: + summary: Upload custom ASM scripts in a transaction + tags: + - Transactions + description: >- + The asm endpoint allows custom scripts to be added as outputs in a + transaction + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + asm: + type: string + amount: + type: number + minimum: 0 + required: + - asm + - amount + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - asm: >- + OP_DUP OP_HASH160 + 4a548f3da5526d1e2f8b5c3584ebb9739edfbe3b OP_EQUALVERIFY + OP_CHECKSIG + amount: 1.e-8 + example2: + value: + dataArray: + - asm: >- + OP_DUP OP_HASH160 + 4a548f3da5526d1e2f8b5c3584ebb9739edfbe3b OP_EQUALVERIFY + OP_CHECKSIG + amount: 1.e-8 + - asm: >- + OP_DUP OP_HASH160 + 4a548f3da5526d1e2f8b5c3584ebb9739edfbe3b OP_EQUALVERIFY + OP_CHECKSIG + amount: 1.e-7 + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txid: + type: string + required: + - status + - msg + - txid + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Transaction successfully broadcasted + txid: >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/sign: + post: + summary: Sign a message to an address string + tags: + - Utility + description: >- + The sign endpoint will create a 64bit encoded signature of a message and + an address string + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + address: + type: string + nullable: true + derivationPath: + type: string + nullable: true + message: + type: string + minLength: 1 + required: + - message + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - derivationPath: m/44'/0'/0'/0/0 + message: Hello World from path + example2: + value: + dataArray: + - address: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + message: Hello World + example3: + value: + dataArray: + - address: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + message: Hello World + - derivationPath: m/44'/0'/0'/0/0 + message: Hello World from path + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + data: + type: array + items: + type: object + properties: + derivationPath: + type: string + address: + type: string + signature: + type: string + required: + - derivationPath + - address + - signature + required: + - status + - msg + - data + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Successfully signed message + data: + - derivationPath: m/44'/0'/0'/0/0 + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + signature: >- + H50lZfAgH47Qg5va5EIrJJ1ss76D51f6TMEHiOrbUhaHJqC13zoH2mHS9BbBttSznmQwtLQB04addED5CLkYZVU= + example2: + value: + statusCode: 200 + data: + status: success + msg: Successfully signed message + data: + - derivationPath: m/44'/0'/0'/0/0 + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + signature: >- + H9m3vJiQU5q6aDuGpbAf+brX7eG70Q4X1nOoOO/uf4+MZSLh5T5Z6foBrbHzMGe1mPpII2G9Q0TSsvI5dZMxc2Y= + - derivationPath: m/44'/0'/0'/0/5 + address: 12fKJzMbsMW6HxAsCMsrL4jrxC2p8umDGf + signature: >- + INwmOzibOQZD2jYoDqgGcQcIXUngrY6usA2bIvPp0Js1TMDPwZ/Fiq6VVhrO3fqWw54LQ2yoe6ZzATstZZj+YXw= + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v2/balance: + get: + summary: Get your wallet balance. + tags: + - Wallets + description: Returns both coin and token balances. + parameters: + - schema: + type: string + in: query + name: nextPageToken + required: false + - schema: + type: string + in: query + name: tokenId + required: false + - schema: + type: string + in: query + name: symbol + required: false + - schema: + type: string + in: header + name: walletID + required: false + - schema: + type: string + in: header + name: type + required: false + - schema: + type: string + in: header + name: currency + required: false + - schema: + type: boolean + default: true + in: header + name: compact + required: false + - schema: + type: number + minimum: -1 + in: header + name: maxResults + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + totalBalance: + type: object + properties: + currency: + type: string + enum: + - USD + - CHF + - INR + - EUR + - CAD + - GBP + - SYP + - SDG + - LBP + - FKP + - EGP + - BSV + balance: + type: number + required: + - currency + - balance + coins: + type: array + items: + anyOf: + - type: object + properties: + protocol: + type: string + enum: + - BSV + balance: + type: number + required: + - protocol + - balance + - type: object + properties: + Id: + type: string + protocol: + type: string + enum: + - BSV + - STAS + - STAS-50 + - STAS-20 + - STAS-789 + - STAS50 + - STASFT + - STASAPPEND + tokenId: + type: string + splittable: + type: boolean + splitable: + type: boolean + verified: + type: boolean + name: + type: string + nullable: true + address: + type: string + satsPerToken: + type: number + symbol: + type: string + redeemAddr: + type: string + image: + type: string + amount: + type: number + supply: + type: number + decimals: + type: number + sn: + anyOf: + - type: number + - type: array + items: + type: number + nullable: true + required: + - Id + - protocol + - tokenId + - splittable + - splitable + - verified + - address + - satsPerToken + - symbol + - redeemAddr + - image + - amount + - supply + - decimals + - sn + meta: + type: object + properties: + nextPageToken: + type: number + nullable: true + required: + - status + - msg + - totalBalance + - coins + - meta + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Operation Completed Successfully + totalBalance: + currency: USD + balance: 0.000033622769602482665 + coins: + - protocol: BSV + balance: 0 + - Id: 6441fe87c0dc6dd1babbe28f + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 103 + supply: 123 + decimals: 0 + sn: + - 85 + - 30 + - 61 + - 81 + - 74 + - Id: 6441fe87c0dc6dd1babbe27a + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + splittable: false + splitable: false + verified: true + name: Yujiro + address: 12519wQZvqjuqxggUco872zKs66L9x438C + satsPerToken: 1 + symbol: YJO + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://static.wikia.nocookie.net/baki/images/a/a6/Yujiro_profile.png/revision/latest/scale-to-width-down/280?cb=20220726223446 + amount: 2 + supply: 5 + decimals: 0 + sn: + - 1 + - 2 + - Id: 6441fe87c0dc6dd1babbe27b + protocol: STAS + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-IR_MAN + splittable: false + splitable: false + verified: true + name: Ironman + address: 12519wQZvqjuqxggUco872zKs66L9x438C + satsPerToken: 1 + symbol: IR_MAN + redeemAddr: 8226da9a724b0581928ee508df0174ed7b233a81 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 2 + supply: 3 + decimals: 0 + sn: + - 1 + - 2 + - Id: 6441fe87c0dc6dd1babbe27c + protocol: STAS + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-W_WOMAN + splittable: false + splitable: false + verified: true + name: Store Bonus Points + address: 12T7men1z1FU9sruoFgFx2D7JCJRgZtxrA + satsPerToken: 1 + symbol: W_WOMAN + redeemAddr: 8226da9a724b0581928ee508df0174ed7b233a81 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 5 + decimals: 0 + sn: + - 5 + - Id: 6441fe87c0dc6dd1babbe27d + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-nba-new-123 + splittable: false + splitable: false + verified: true + name: Store Bonus Points + address: 12T7men1z1FU9sruoFgFx2D7JCJRgZtxrA + satsPerToken: 1 + symbol: nba-new-123 + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 10 + supply: 3 + decimals: 0 + sn: + - 1 + - 3 + - 2 + meta: + nextPageToken: 5 + example2: + value: + statusCode: 200 + data: + status: success + msg: Operation Completed Successfully + totalBalance: + currency: USD + balance: 0.000033622769602482665 + coins: + - protocol: BSV + balance: 0 + - Id: 6441fe87c0dc6dd1babbe28f + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 103 + - Id: 6441fe87c0dc6dd1babbe290 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 102 + - Id: 6441fe87c0dc6dd1babbe291 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 101 + - Id: 6441fe87c0dc6dd1babbe292 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 100 + - Id: 6441fe87c0dc6dd1babbe293 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 99 + meta: + nextPageToken: 5 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v2/history: + get: + summary: Get your transaction history. + tags: + - Wallets + description: >- + The transaction history endpoint returns all past transactions, both BSV + and Tokens. + parameters: + - schema: + type: string + in: query + name: nextPageToken + required: false + - schema: + type: string + in: query + name: tokenId + required: false + - schema: + type: string + in: query + name: protocol + required: false + - schema: + type: string + in: query + name: limit + required: false + - schema: + type: string + in: header + name: walletID + required: false + - schema: + type: string + in: header + name: type + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + histories: + type: array + items: + type: object + properties: + to: + type: array + items: + type: object + properties: + amount: + type: number + image: + type: string + nullable: true + protocol: + type: string + enum: + - BSV + - STAS + - STAS-50 + - STAS-20 + - STAS-789 + - STAS50 + - STASFT + - STASAPPEND + tokenId: + type: string + nullable: true + sn: + type: number + nullable: true + to: + type: string + name: + type: string + nullable: true + decimals: + type: number + nullable: true + txId: + type: string + from: + type: string + timestamp: + type: string + totalAmount: + type: number + notes: + type: string + nullable: true + type: + type: string + enum: + - debit + - credit + nullable: true + required: + - to + - txId + - from + - timestamp + - totalAmount + - type + meta: + type: object + properties: + nextPageToken: + type: string + nullable: true + required: + - status + - msg + - histories + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Transaction history fetched successfully. + histories: + - to: + - amount: 1 + image: https://www.gstatic.com/webp/gallery/1.jpg + protocol: STAS-789 + tokenId: >- + 0efca5f5dadcdacd0ff3a418a92c27efc6f8387b29e8647bb9ac7eea9284b13d + sn: 1 + to: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + name: test + decimals: 2 + txId: >- + c48287508391ff0b57ec528cb12ae87762af94f6c242cb4acdeed63382e5515d + from: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + timestamp: '2023-04-24 04:12:20' + totalAmount: 1 + type: debit + - to: + - amount: 1 + image: https://www.gstatic.com/webp/gallery/1.jpg + protocol: STAS-789 + tokenId: >- + 0efca5f5dadcdacd0ff3a418a92c27efc6f8387b29e8647bb9ac7eea9284b13c + sn: 1 + to: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + name: test + decimals: 2 + - amount: 1 + image: https://www.gstatic.com/webp/gallery/1.jpg + protocol: STAS-789 + tokenId: >- + 0efca5f5dadcdacd0ff3a418a92c27efc6f8387b29e8647bb9ac7eea9284b13c + sn: 2 + to: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + name: test + decimals: 2 + txId: >- + c48287508391ff0b57ec528cb12ae87762af94f6c242cb4acdeed63382e5515e + from: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + timestamp: '2023-04-26 03:18:37' + totalAmount: 2 + notes: test + type: credit + meta: + nextPageToken: '1' + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v2/token/{id}: + get: + summary: Get STAS token details. + tags: + - Smart Contracts + description: Insert your STAS tokenId to receive information about it. + parameters: + - schema: + type: string + in: path + name: id + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + contractTxs: + type: array + items: + type: string + minItems: 1 + issuanceTxs: + type: array + items: + type: string + minItems: 1 + utxos: + type: number + owners: + type: number + transactionsCount: + type: number + circulationSupply: + type: number + name: + type: string + tokenId: + type: string + symbol: + type: string + description: + type: string + image: + type: string + totalSupply: + type: number + decimals: + type: number + satsPerToken: + type: number + properties: + type: object + properties: + legal: + type: object + properties: + terms: + type: string + nullable: true + licenceId: + type: string + nullable: true + nullable: true + issuer: + type: object + properties: + organisation: + type: string + nullable: true + legalForm: + type: string + nullable: true + governingLaw: + type: string + nullable: true + issuerCountry: + type: string + nullable: true + jurisdiction: + type: string + nullable: true + email: + type: string + nullable: true + nullable: true + meta: + type: object + properties: + schemaId: + type: string + nullable: true + website: + type: string + nullable: true + legal: + type: object + properties: + terms: + type: string + nullable: true + nullable: true + media: + type: array + items: + type: object + properties: + URI: + type: string + nullable: true + type: + type: string + nullable: true + altURI: + type: string + nullable: true + nullable: true + nullable: true + nullable: true + nullable: true + splitable: + type: boolean + protocol: + type: string + serialNumber: + type: number + data: + type: array + required: + - status + - msg + - contractTxs + - issuanceTxs + - utxos + - owners + - transactionsCount + - circulationSupply + - name + - tokenId + - symbol + - description + - image + - totalSupply + - decimals + - satsPerToken + - properties + - splitable + - protocol + - serialNumber + - data + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + contractTxs: + - >- + d1f376ffb62f30efdd1336ec379eb462ab1068dd67a55789ab1c445cf35c540d + issuanceTxs: + - >- + 7f06cdece4c08192e8872be802f120b85f0610e6f8e448b85c301e89ccc5bfe1 + utxos: 3 + owners: 1 + transactionsCount: 1 + circulationSupply: 3 + name: Store Bonus Points + tokenId: 8a9e7ec666f0610ff3f0540ed55f07162e9dd7a8 + symbol: SBPgdsfgdfsgds + description: A supermarket bonus point. + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + totalSupply: 3 + decimals: 0 + satsPerToken: 1 + properties: + legal: + terms: >- + STAS, Inc. retains all rights to the token script. Use + is subject to terms at https://stastoken.com/license. + licenceId: stastoken.com + issuer: + organisation: Vaionex Corp. + legalForm: Limited + governingLaw: US + issuerCountry: US + jurisdiction: US + email: info@vaionex.com + meta: + schemaId: STAS1.0 + website: vaionex.com + legal: + terms: Your token terms and description. + media: + - URI: string + type: string + altURI: string + splitable: false + protocol: STAS-789 + serialNumber: 0 + data: + - '' + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v2/inspect: + post: + summary: Inspect an atomic swap offer. + tags: + - Transactions + description: >- + This endpoint allows users to inspect an atomic swap hex to verify the + validity of the offer. + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + swapHex: + type: string + required: + - swapHex + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - swapHex: >- + 010000000184c5740d26e45e7d3574f51bc57346bdec86478669c4a4c90252acaa7a69353d000000006b483045022100876446ffa4fb4dbe362f00adca8d13c5010e5ef5dbfc3f261849fe267352bb2202201b367635c117cd1ce002033a12e115a56be5fa8f59cdaa2ed15f8ed683d23f6dc3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + example2: + value: + dataArray: + - swapHex: >- + 0100000001c5a3b200dce3761303df00166b7f424987ba7bce0ca2806ccfd6c0492fd43b98000000006a47304402201a289a73ca3c3e3dd183193c9c52fd1cbd1607d31769879b56da5eadd00071810220296232d51d8591406848eb4a7ee7dd246403de69237afbab687f0bc84e6354cbc3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + - swapHex: >- + 0100000001b0619eea04bf5f1f765097cbbe2fad314dc6cedebedfe45e97bd30e261008820000000006a473044022075b1b3d916dc32bd7b4dd13e1681e5cb68944331a515ea5d169eb665f032617b022050d287f19c63d0b99a78af62ba580c4574b43373db134b9fc9cb157b9156d882c3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + offerDetails: + type: array + items: + type: object + properties: + address: + type: string + protocol: + type: string + enum: + - STAS50 + - STASFT + - STASAPPEND + - BSV + - STAS + - STAS-50 + - STAS-20 + - STAS-789 + amount: + type: number + minimum: 0 + verified: + type: boolean + nullable: true + spent: + type: boolean + nullable: true + tokenId: + type: string + nullable: true + sn: + type: number + image: + type: string + nullable: true + tokenSymbol: + type: string + nullable: true + contractTxid: + type: string + nullable: true + name: + type: string + nullable: true + tokenSupply: + type: number + nullable: true + redeemAddress: + type: string + nullable: true + splittable: + type: boolean + satsPerToken: + type: number + minimum: 0 + wantedProtocol: + type: string + enum: + - STAS50 + - STASFT + - STASAPPEND + - BSV + - STAS + - STAS-50 + - STAS-20 + - STAS-789 + wantedAmount: + type: number + minimum: 0 + wantedTokenId: + type: string + nullable: true + wantedSn: + type: number + wantedName: + type: string + nullable: true + wantedTokenSplittable: + type: boolean + nullable: true + required: + - address + - protocol + - amount + - wantedProtocol + - wantedAmount + minItems: 1 + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Offer details fetched successfully + offerDetails: + - address: 12fKJzMbsMW6HxAsCMsrL4jrxC2p8umDGf + protocol: STAS + amount: 1 + verified: true + spent: false + tokenId: >- + 7791e1839f705e2813ec744a15fd10d355ff99b2-SBPTEST12345 + sn: 0 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + tokenSymbol: SBPTEST12345 + contractTxid: >- + a29f4948fd8c17d2e9be8e21f7312dcbcafe2f65b0eb4f0bf4d261a3e3a13c8c + name: Store Bonus Points + tokenSupply: 5 + redeemAddress: 7791e1839f705e2813ec744a15fd10d355ff99b2 + splittable: true + satsPerToken: 1 + wantedProtocol: BSV + wantedAmount: 1 + example2: + value: + statusCode: 200 + data: + status: success + msg: Offer details fetched successfully + offerDetails: + - address: 12fKJzMbsMW6HxAsCMsrL4jrxC2p8umDGf + protocol: STAS + amount: 1 + verified: true + spent: false + tokenId: >- + 7791e1839f705e2813ec744a15fd10d355ff99b2-SBPTEST12345 + sn: 0 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + tokenSymbol: SBPTEST12345 + contractTxid: >- + a29f4948fd8c17d2e9be8e21f7312dcbcafe2f65b0eb4f0bf4d261a3e3a13c8c + name: Store Bonus Points + tokenSupply: 5 + redeemAddress: 7791e1839f705e2813ec744a15fd10d355ff99b2 + splittable: true + satsPerToken: 1 + wantedProtocol: BSV + wantedAmount: 1 + - address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + protocol: STAS + amount: 1 + verified: true + spent: false + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + sn: 5 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + tokenSymbol: WDG + contractTxid: >- + e24cd3c552d71c2dd8513cdeac81a6d2ca48a055f73cbc58d118a33f037c9ca1 + name: White Dragon + tokenSupply: 123 + redeemAddress: 7791e1839f705e2813ec744a15fd10d355ff99b2 + splittable: false + wantedProtocol: BSV + wantedAmount: 2.5e-7 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v2/issue: + post: + summary: Mint a Token. + tags: + - Smart Contracts + description: >- + Mint a token with given specifications (can be both token or NFT). More + on docs.relysia.com. + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + protocolId: + type: string + default: STAS + symbol: + type: string + description: + type: string + image: + type: string + tokenSupply: + type: number + minimum: 1 + default: 3 + decimals: + type: number + default: 0 + nullable: true + minimum: 0 + maximum: 8 + satsPerToken: + type: number + default: 1 + minimum: 0 + properties: + type: object + properties: + legal: + type: object + properties: + terms: + type: string + default: >- + STAS, Inc. retains all rights to the token script. + Use is subject to terms at + https://stastoken.com/license. + nullable: true + licenceId: + type: string + default: stastoken.com + nullable: true + nullable: true + issuer: + type: object + properties: + organisation: + type: string + default: Vaionex Corp. + nullable: true + legalForm: + type: string + default: Limited + nullable: true + governingLaw: + type: string + default: US + nullable: true + issuerCountry: + type: string + default: US + nullable: true + jurisdiction: + type: string + default: US + nullable: true + email: + type: string + default: info@vaionex.com + nullable: true + nullable: true + meta: + type: object + properties: + schemaId: + type: string + default: STAS1.0 + nullable: true + website: + type: string + default: vaionex.com + nullable: true + legal: + type: object + properties: + terms: + type: string + default: Your token terms and description. + nullable: true + nullable: true + media: + type: array + items: + type: object + properties: + URI: + type: string + nullable: true + type: + type: string + nullable: true + altURI: + type: string + nullable: true + nullable: true + nullable: true + nullable: true + nullable: true + splitable: + type: boolean + default: 'true' + nullable: true + data: + type: object + additionalProperties: true + default: {} + nftMetadataSerialNumberStart: + type: number + nullable: true + nftMetadataTotalSupply: + type: number + nullable: true + required: + - name + - symbol + - image + - description + - satsPerToken + - tokenSupply + examples: + example1: + value: + name: Store Bonus Points + symbol: SBP + description: A supermarket bonus point. + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + tokenSupply: 3 + decimals: 0 + satsPerToken: 1 + properties: + legal: + terms: >- + STAS, Inc. retains all rights to the token script. Use + is subject to terms at https://stastoken.com/license. + licenceId: stastoken.com + issuer: + organisation: Vaionex Corp. + legalForm: Limited + governingLaw: US + issuerCountry: US + jurisdiction: US + email: info@vaionex.com + meta: + schemaId: STAS1.0 + website: vaionex.com + legal: + terms: Your token terms and description. + media: + - URI: string + type: string + altURI: string + splitable: true + data: {} + example2: + value: + name: Store Bonus Points + symbol: SBP + description: A supermarket bonus point. + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + tokenSupply: 3 + decimals: 0 + satsPerToken: 1 + properties: + legal: + terms: >- + STAS, Inc. retains all rights to the token script. Use + is subject to terms at https://stastoken.com/license. + licenceId: stastoken.com + issuer: + organisation: Vaionex Corp. + legalForm: Limited + governingLaw: US + issuerCountry: US + jurisdiction: US + email: info@vaionex.com + meta: + schemaId: STAS1.0 + website: vaionex.com + legal: + terms: Your token terms and description. + media: + - URI: string + type: string + altURI: string + splitable: true + data: + data1: + - data1 + - data2 + data2: + - data1 + - data2 + required: true + parameters: + - schema: + type: string + in: header + name: protocol + required: false + - schema: + type: boolean + default: 'false' + in: header + name: reminting + required: false + - schema: + type: string + in: header + name: walletID + required: false + - schema: + type: string + default: NFT + in: header + name: type + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + tokenId: + type: string + tokenObj: + type: object + properties: + userId: + type: string + serviceId: + type: string + nullable: true + symbol: + type: string + name: + type: string + description: + type: string + image: + type: string + totalSupply: + type: number + minimum: 1 + satsPerToken: + type: number + minimum: 0 + decimals: + type: number + nullable: true + properties: + type: object + properties: + legal: + type: object + properties: + terms: + type: string + default: >- + STAS, Inc. retains all rights to the token + script. Use is subject to terms at + https://stastoken.com/license. + nullable: true + licenceId: + type: string + default: stastoken.com + nullable: true + nullable: true + issuer: + type: object + properties: + organisation: + type: string + default: Vaionex Corp. + nullable: true + legalForm: + type: string + default: Limited + nullable: true + governingLaw: + type: string + default: US + nullable: true + issuerCountry: + type: string + default: US + nullable: true + jurisdiction: + type: string + default: US + nullable: true + email: + type: string + default: info@vaionex.com + nullable: true + nullable: true + meta: + type: object + properties: + schemaId: + type: string + default: STAS1.0 + nullable: true + website: + type: string + default: vaionex.com + nullable: true + legal: + type: object + properties: + terms: + type: string + default: Your token terms and description. + nullable: true + nullable: true + media: + type: array + items: + type: object + properties: + URI: + type: string + nullable: true + type: + type: string + nullable: true + altURI: + type: string + nullable: true + nullable: true + nullable: true + nullable: true + nullable: true + splittable: + type: boolean + protocolId: + type: string + contractTxid: + type: string + issueTxid: + type: string + contractAddress: + type: string + contractPublickey: + type: string + splitable: + type: boolean + required: + - userId + - symbol + - name + - description + - image + - totalSupply + - satsPerToken + - splittable + - protocolId + - contractTxid + - issueTxid + - contractAddress + - contractPublickey + - splitable + required: + - status + - msg + - tokenId + - tokenObj + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Token created successfully. + tokenId: cb75d56ad85630475ca4af078dcbf37828970d8d-HELLO12344 + tokenObj: + userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + symbol: HELLO12344 + name: Store Bonus Points + description: A supermarket bonus point. + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + totalSupply: 3 + satsPerToken: 1 + decimals: 0 + properties: + legal: + terms: >- + STAS, Inc. retains all rights to the token script. + Use is subject to terms at + https://stastoken.com/license. + licenceId: stastoken.com + issuer: + organisation: Vaionex Corp. + legalForm: Limited + governingLaw: US + issuerCountry: US + jurisdiction: US + email: info@vaionex.com + meta: + schemaId: STAS1.0 + website: vaionex.com + legal: + terms: Your token terms and description. + media: + - URI: string + type: string + altURI: string + splittable: true + protocolId: STAS + contractTxid: >- + ec376960b7cf25ae846338253e403082fe5f4bc76d06ad547bf03403ee4403b5 + issueTxid: >- + e3dcb8dfee84a7a510b1b073d7b1b773ac61749370e51a6dbe38d8171213d36f + contractAddress: 1KYoLAjrtNGULBHvPy1fT6T5xwqtcFQ4yA + contractPublickey: >- + 02e8f852e5015f8f12c228992a84b3b70c6789630b9ebef70529b802061db7a42f + splitable: true + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v2/send: + post: + summary: Transfer coins to an address. + tags: + - Transactions + description: >- + Use the /send endpoint to create transactions to peers. The /send + endpoint is agnostic to sending either Tokens or BSV. + requestBody: + content: + application/json: + schema: + type: object + properties: + bundle: + type: boolean + default: true + nullable: true + txPayloads: + type: array + items: + type: object + properties: + to: + type: string + amount: + type: number + minimum: 1.e-8 + notes: + type: string + nullable: true + sn: + type: number + nullable: true + minimum: 0 + tokenId: + type: string + nullable: true + data: + type: array + nullable: true + items: + type: string + required: + - to + - amount + minItems: 1 + required: + - txPayloads + examples: + example1: + value: + txPayloads: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 0.000005 + example2: + value: + txPayloads: + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + example3: + value: + txPayloads: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 0.000005 + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 0.000005 + notes: test + example4: + value: + txPayloads: + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 5 + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 3 + notes: test + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 3 + notes: test + data: + - test1 + - test2 + example5: + value: + bundle: false + txPayloads: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 1.e-7 + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 1.e-7 + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Operation completed successfully + content: + application/json: + schema: + description: Operation completed successfully + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + msg: + type: string + transactionCount: + type: number + minimum: 1 + successCount: + type: number + failedCount: + type: number + transactions: + type: array + items: + type: object + properties: + statusCode: + type: number + enum: + - 200 + - 400 + - 500 + - 207 + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txId: + type: string + required: + - transactionCount + - failedCount + - successCount + - transactions + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + transactionCount: 1 + successCount: 1 + failedCount: 0 + transactions: + - statusCode: 200 + status: success + msg: Operation completed successfully + txId: >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + example2: + value: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + transactionCount: 2 + successCount: 2 + failedCount: 0 + transactions: + - statusCode: 200 + status: success + msg: Operation completed successfully + txId: >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + - statusCode: 200 + status: string + msg: string + txId: >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + '207': + description: Operation completed with partial success + content: + application/json: + schema: + description: Operation completed with partial success + type: object + properties: + statusCode: + type: number + enum: + - 207 + data: + type: object + properties: + status: + type: string + enum: + - partial success + msg: + type: string + transactionCount: + type: number + minimum: 2 + successCount: + type: number + minimum: 1 + failedCount: + type: number + minimum: 1 + transactions: + type: array + items: + type: object + properties: + statusCode: + type: number + enum: + - 200 + - 400 + - 500 + - 207 + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txId: + type: string + nullable: true + required: + - msg + - failedCount + - successCount + - transactions + - transactionCount + example: + statusCode: 207 + data: + status: partial success + msg: Operation completed with partial success + transactionCount: 2 + successCount: 1 + failedCount: 1 + transactions: + - statusCode: 200 + status: success + msg: Operation completed successfully + txId: >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + - statusCode: 500 + status: error + msg: Operation failed + txId: >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + '500': + description: Operation failed + content: + application/json: + schema: + description: Operation failed + type: object + properties: + statusCode: + type: number + enum: + - 200 + - 400 + - 500 + - 207 + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + transactionCount: + type: number + minimum: 1 + successCount: + type: number + enum: + - 0 + failedCount: + type: number + minimum: 1 + transactions: + type: array + minItems: 1 + items: + type: object + properties: + statusCode: + type: string + enum: + - 200 + - 400 + - 500 + - 207 + status: + type: string + enum: + - error + msg: + type: string + required: + - msg + - status + example: + statusCode: 500 + data: + status: error + msg: Operation failed + transactionCount: 1 + successCount: 0 + failedCount: 1 + transactions: + - statusCode: 500 + status: string + msg: string + txId: null + /v1/plan/{serviceType}/activate: + post: + tags: + - quota + requestBody: + content: + application/json: + schema: + type: object + properties: + chargeFrom: + type: string + serviceId: + type: string + required: + - serviceId + example: + serviceId: f1a4b3c2-1a2b-3a4b-5a6b-7a8b9c0d1e2f + required: true + parameters: + - schema: + type: string + in: path + name: serviceType + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + data: + type: object + properties: + serviceId: + type: string + plan: + type: object + properties: + serviceType: + type: string + cost: + type: number + minimum: 0 + apiCallLimit: + type: number + minimum: 0 + feeManagerFundPerMonth: + type: number + minimum: 0 + unavailableApiList: + type: object + additionalProperties: + type: number + minimum: 0 + nullable: true + projectLimit: + type: number + minimum: 0 + nullable: true + serviceFeeManagerFillingLimit: + type: number + minimum: 0 + createdBy: + type: string + required: + - serviceType + - cost + - apiCallLimit + - feeManagerFundPerMonth + - serviceFeeManagerFillingLimit + - createdBy + usage: + type: object + properties: + apiCallUsage: + type: number + unavailableApiList: + type: object + additionalProperties: + type: number + nullable: true + projectUsage: + type: number + nullable: true + projects: + type: array + items: + type: string + nullable: true + nullable: true + required: + - serviceId + - plan + required: + - status + - msg + - data + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Plan activated successfully + data: + serviceId: 48fa916b-9a71-4e8c-a6ab-e8892418da52 + plan: + serviceType: free + cost: 0 + apiCallLimit: 10000 + feeManagerFundPerMonth: 0.1 + unavailableApiList: + /upload: 0 + /v1/offer: 0 + /v1/swap: 0 + /v1/issue: 3 + projectLimit: 0 + serviceFeeManagerFillingLimit: 0 + createdBy: gtgd4e5JMhT5O09F0EEBR8vW5rq1 + usage: + apiCallUsage: 0 + unavailableApiList: + /upload: 0 + /v1/offer: 0 + /v1/swap: 0 + /v1/issue: 3 + projectUsage: 0 + projects: [] + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/plan/quota: + put: + tags: + - quota + requestBody: + content: + application/json: + schema: + type: object + properties: + serviceType: + type: string + serviceId: + type: string + required: + - serviceId + - serviceType + example: + serviceType: free + serviceId: 5f7b1b1b-5f7b-1b1b-5f7b-1b1b5f7b1b1b + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Plan updated successfully + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/plan/deactivate: + put: + tags: + - quota + requestBody: + content: + application/json: + schema: + type: object + properties: + serviceId: + type: string + required: + - serviceId + example: + serviceId: 5f7b1b1b-5f7b-1b1b-5f7b-1b1b5f7b1b1b + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Plan deactivated successfully + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /admin/v1/setup: + post: + tags: + - admin + requestBody: + content: + application/json: + schema: + type: object + properties: + projectName: + type: string + db_store_mode: + type: string + type: + type: string + paymailDomain: + type: string + firebaseConfig: + type: object + properties: + apiKey: + type: string + authDomain: + type: string + databaseURL: + type: string + projectId: + type: string + storageBucket: + type: string + messagingSenderId: + type: string + appId: + type: string + measurementId: + type: string + additionalProperties: true + legal: + type: object + properties: + organisation: + type: string + legalForm: + type: string + governingLaw: + type: string + mailingAddress: + type: string + issuerCountry: + type: string + jurisdiction: + type: string + email: + type: string + additionalProperties: true + primaryDatabase: + type: string + supabaseConfig: + type: object + properties: + supabaseUrl: + type: string + supabaseKey: + type: string + additionalProperties: true + examples: + example1: + value: + projectName: vaionex production + db_store_mode: SHARED + type: FEE_MANAGER + paymailDomain: example.com + firebaseConfig: + apiKey: AIzaSyDiAjG-example-1234566_cW + authDomain: example.firebaseapp.com + databaseURL: https://example.firebaseio.com + projectId: example + storageBucket: example.appspot.com + messagingSenderId: '540114563587' + appId: 1:123456872:web:d24d9c3d71a38519as45sj788526 + measurementId: G-M2K6YG42T2 + legal: + organisation: vaionex corp. + legalForm: limited + governingLaw: US + mailingAddress: 1234 Newark, Delaware, USA + issuerCountry: US + jurisdiction: US + email: info@example.com + primaryDatabase: FIREBASE + supabaseConfig: null + example2: + value: + projectName: vaionex production + db_store_mode: SHARED + type: FEE_MANAGER + paymailDomain: example.com + firebaseConfig: null + legal: + organisation: vaionex corp. + legalForm: limited + governingLaw: US + mailingAddress: 1234 Newark, Delaware, USA + issuerCountry: US + jurisdiction: US + email: info@example.com + primaryDatabase: SUPABASE + supabaseConfig: + supabaseUrl: https://examples.supabase.co + supabaseKey: your access key... + security: + - authToken: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + serviceId: + type: string + required: + - status + - msg + - serviceId + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Setup added successfully + serviceId: 89a54d0b-6907-4e5b-9e5f-c2e72a1f5e34 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /admin/v1/setup/{serviceId}: + get: + tags: + - admin + parameters: + - schema: + type: string + in: path + name: serviceId + required: true + security: + - authToken: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + serviceId: + type: string + additionalProperties: true + required: + - status + - msg + - serviceId + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + msg: operation completed successfully ! + serviceId: d0b67a32-a314-4375-aab5-724bbba342e6 + firebaseConfig: + apiKey: AIzaSyDiAjG-example-1234566_cW + authDomain: example.firebaseapp.com + databaseURL: https://example.firebaseio.com + projectId: example + storageBucket: example.appspot.com + messagingSenderId: '540114563587' + appId: 1:123456872:web:d24d9c3d71a38519as45sj788526 + measurementId: G-M2K6YG42T2 + tokenConfig: + organisation: vaionex corp. + legalForm: limited + governingLaw: US + mailingAddress: 1234 Newark, Delaware, USA + issuerCountry: US + jurisdiction: US + email: info@example.com + userId: gtgd4e5JMhT5O09F0EEBR8vW5rq1 + domain: relysia-dev-infrastructure.com + creationDate: 1685960279 + updationDate: 1685960279 + type: 0 + projectName: vaionex dev 2 + serviceIdRef: d0b67a32-a314-4375-aab5-724bbba342e6 + serviceIdStatus: 0 + primaryDatabase: FIREBASE + supabaseConfig: null + example2: + value: + statusCode: 200 + data: + msg: operation completed successfully ! + serviceId: d0b67a32-a314-4375-aab5-724bbba342e6 + firebaseConfig: null + tokenConfig: + organisation: vaionex corp. + legalForm: limited + governingLaw: US + mailingAddress: 1234 Newark, Delaware, USA + issuerCountry: US + jurisdiction: US + email: info@example.com + userId: gtgd4e5JMhT5O09F0EEBR8vW5rq1 + domain: relysia-dev-infrastructure.com + creationDate: 1685960279 + updationDate: 1685960279 + type: 0 + projectName: vaionex dev 2 + serviceIdRef: d0b67a32-a314-4375-aab5-724bbba342e6 + serviceIdStatus: 0 + primaryDatabase: SUPABASE + supabaseConfig: + supabaseUrl: https://example.supabase.co + supabaseKey: eyJhbGciOiJIUzI1NiIExample + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + put: + tags: + - admin + requestBody: + content: + application/json: + schema: + type: object + properties: + projectName: + type: string + db_store_mode: + type: string + type: + type: string + paymailDomain: + type: string + firebaseConfig: + type: object + properties: + apiKey: + type: string + authDomain: + type: string + databaseURL: + type: string + projectId: + type: string + storageBucket: + type: string + messagingSenderId: + type: string + appId: + type: string + measurementId: + type: string + additionalProperties: true + legal: + type: object + properties: + organisation: + type: string + legalForm: + type: string + governingLaw: + type: string + mailingAddress: + type: string + issuerCountry: + type: string + jurisdiction: + type: string + email: + type: string + additionalProperties: true + supabaseConfig: + type: object + properties: + supabaseUrl: + type: string + supabaseKey: + type: string + additionalProperties: true + examples: + example1: + value: + projectName: vaionex production 1 + db_store_mode: DEDICATED + type: CLASSIC_MODE + paymailDomain: example.com + firebaseConfig: + apiKey: AIzaSyDiAjG-example-1234566_cW + authDomain: example.firebaseapp.com + databaseURL: https://example.firebaseio.com + projectId: example + storageBucket: example.appspot.com + messagingSenderId: '540114563587' + appId: 1:123456872:web:d24d9c3d71a38519as45sj788526 + measurementId: G-M2K6YG42T2 + legal: + organisation: vaionex corp. + legalForm: limited + governingLaw: US + mailingAddress: 1234 Newark, Delaware, USA + issuerCountry: US + jurisdiction: US + email: info@example.com + example2: + value: + projectName: vaionex production 1 + db_store_mode: DEDICATED + type: CLASSIC_MODE + paymailDomain: example.com + legal: + organisation: vaionex corp. + legalForm: limited + governingLaw: US + mailingAddress: 1234 Newark, Delaware, USA + issuerCountry: US + jurisdiction: US + email: info@example.com + supabaseConfig: + supabaseUrl: https://example.supabase.co + supabaseKey: an api keys + parameters: + - schema: + type: string + in: path + name: serviceId + required: true + security: + - authToken: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + serviceId: + type: string + required: + - status + - msg + - serviceId + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Setup updated successfully + serviceId: 53082017-fc5b-429d-87d4-cdf69b0d7b3d + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + delete: + tags: + - admin + parameters: + - schema: + type: string + in: path + name: serviceId + required: true + security: + - authToken: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + serviceId: + type: string + required: + - status + - msg + - serviceId + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: operation completed successfully ! + serviceId: d0b67a32-a314-4375-aab5-724bbba342e6 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /admin/v1/setup/serviceIds: + get: + tags: + - admin + security: + - authToken: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + serviceIds: + type: array + items: + type: string + minItems: 1 + required: + - status + - msg + - serviceIds + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: operation completed successfully ! + serviceIds: + - d0b67a32-a314-4375-aab5-724bbba342e6 + - 53082017-fc5b-429d-87d4-cdf69b0d7b3d + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /admin/v1/metrics: + post: + tags: + - admin + requestBody: + content: + application/json: + schema: + type: object + properties: + walletId: + type: string + userId: + type: string + required: + - walletId + - userId + example: + walletId: 5f7b1b1b-5f7b-1b1b-5f7b-1b1b5f7b1b1b + userId: 5f7f1b9b9b9b9b9b9b9b9b9b + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + data: + type: object + properties: + balance: + type: number + minimum: 0 + userUtxos: + type: array + items: + type: object + properties: + userId: + type: string + walletId: + type: string + script: + type: string + tx_pos: + type: number + minimum: 0 + address: + type: string + path: + type: string + tx_hash: + type: string + value: + type: number + minimum: 0 + serviceId: + type: string + nullable: true + required: + - userId + - walletId + - script + - tx_pos + - address + - path + - tx_hash + - value + minItems: 0 + required: + - balance + - userUtxos + required: + - status + - msg + - data + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: UTXO state updated successfully + data: + balance: 6078 + userUtxos: + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914ee31f7eae549febdffc53a995bdee8ff0ba2300688ac + tx_pos: 0 + address: 1NiTgXKyS4oS3fyzHp6PryeBvc6FMJDW12 + path: m/44'/0'/0'/0/0 + tx_hash: >- + 43f7f41c0ff873f3b576894fc3c7626a187258cd838f36062f54bc3b14fe3620 + value: 25 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914ee31f7eae549febdffc53a995bdee8ff0ba2300688ac + tx_pos: 1 + address: 1NiTgXKyS4oS3fyzHp6PryeBvc6FMJDW12 + path: m/44'/0'/0'/0/0 + tx_hash: >- + 43f7f41c0ff873f3b576894fc3c7626a187258cd838f36062f54bc3b14fe3620 + value: 481 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914d703dafb29efd43caad53e9f1bcb924e6546694e88ac + tx_pos: 1 + address: 1Lbtu82Jm9poEdgKB3HsTDWS9YSC91Hpny + path: m/44'/0'/0'/0/1 + tx_hash: >- + 76d79ad05cfeb4068535377cdff0113a084b084e936b7751c39895587be41d3d + value: 4933 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a91498de3990604e4fe330f65e6b0125243eb909d1dd88ac + tx_pos: 0 + address: 1EwHvcWDjWcBGBXJLae8k4dsaVo8QKsqCP + path: m/44'/0'/0'/0/4 + tx_hash: >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + value: 1 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a91447431db9649fd75c28834cb152f17cc8ea7fa11f88ac + tx_pos: 1 + address: 17VoNvtJjD19ctL5Ue3GJzzskbtXeNL4Nt + path: m/44'/0'/0'/0/8 + tx_hash: >- + 8a7e73066f07eacab9cbe9edd45d1857f589ef0c8bd725e5010962cfb9198e4e + value: 404 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a91477cb578d9fab608a794871e6c994c6ff2e55a70788ac + tx_pos: 1 + address: 1BvR1H8Bu1rRYwDWEVLoZJa37R3z19qzrK + path: m/44'/0'/0'/0/10 + tx_hash: >- + 0849c24ecb4a30c60c1bb1ec5f557d60642bb6c6d2eeb5a30ee7c9f92c88572f + value: 174 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a91477cb578d9fab608a794871e6c994c6ff2e55a70788ac + tx_pos: 1 + address: 1BvR1H8Bu1rRYwDWEVLoZJa37R3z19qzrK + path: m/44'/0'/0'/0/10 + tx_hash: >- + cf9b899bfba8d6f8a4302e747a78635cc1328a76826ac7d7d31347bb39ba486d + value: 49 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914aff862161039bc97895c6f515e629c6ece4943b188ac + tx_pos: 0 + address: 1H3SoXyeKv4mNNForRaPV8Fkzwdu55yx2b + path: m/44'/0'/0'/0/14 + tx_hash: >- + 4ee029b35a30bafbcab3a08661dc286d3c5ce9f98a1734d1163c86aabe68c7d8 + value: 1 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914aff862161039bc97895c6f515e629c6ece4943b188ac + tx_pos: 0 + address: 1H3SoXyeKv4mNNForRaPV8Fkzwdu55yx2b + path: m/44'/0'/0'/0/14 + tx_hash: >- + f123456b9d6ee63c93b2a5afa264298efc6f0bb8cd400d5aa03d037eb1c9ae56 + value: 2 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914aff862161039bc97895c6f515e629c6ece4943b188ac + tx_pos: 1 + address: 1H3SoXyeKv4mNNForRaPV8Fkzwdu55yx2b + path: m/44'/0'/0'/0/14 + tx_hash: >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + value: 1 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914e54a77f2eaffb502d4af119436e9b7982707f07288ac + tx_pos: 1 + address: 1MuNx6Vm2oE4oU9iDRLr7ebAiv196DQBzh + path: m/44'/0'/0'/0/17 + tx_hash: >- + 9ecbb4771c9e91e1f6a162d5dd3e808e57e43eedebb499f1096cb8d6813951b5 + value: 4 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914e54a77f2eaffb502d4af119436e9b7982707f07288ac + tx_pos: 1 + address: 1MuNx6Vm2oE4oU9iDRLr7ebAiv196DQBzh + path: m/44'/0'/0'/0/17 + tx_hash: >- + fb6c046fa87d963b2e35beb06e1c21b443cbf7b7f684fd4f733fa68f6ecde672 + value: 3 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /admin/v1/tokenMetrics: + post: + tags: + - admin + requestBody: + content: + application/json: + schema: + type: object + properties: + userId: + type: string + walletId: + type: string + required: + - userId + - walletId + example: + walletId: 5f7b1b1b-5f7b-1b1b-5f7b-1b1b5f7b1b1b + userId: 5f7f1b9b9b9b9b9b9b9b9b9b + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: migration started successfully + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /admin/v1/plans: + post: + tags: + - admin + requestBody: + content: + application/json: + schema: + type: object + properties: + serviceType: + type: string + cost: + type: number + minimum: 0 + apiCallLimit: + type: number + minimum: 0 + feeManagerFundPerMonth: + type: number + minimum: 0 + unavailableApiList: + type: object + additionalProperties: + type: number + minimum: 0 + nullable: true + projectLimit: + type: number + nullable: true + minimum: 0 + serviceFeeManagerFillingLimit: + type: number + minimum: 0 + required: + - serviceType + - cost + - apiCallLimit + - feeManagerFundPerMonth + - serviceFeeManagerFillingLimit + examples: + example1: + value: + serviceType: free + cost: 0 + apiCallLimit: 10000 + feeManagerFundPerMonth: 0.1 + unavailableApiList: + /upload: 0 + /v1/offer: 0 + /v1/swap: 0 + /v1/issue: 3 + projectLimit: 0 + serviceFeeManagerFillingLimit: 0 + example2: + value: + serviceType: unlimited + cost: 30 + apiCallLimit: 1000000 + feeManagerFundPerMonth: 10 + unavailableApiList: + /v1/offer: 0 + /v1/swap: 0 + projectLimit: 2 + serviceFeeManagerFillingLimit: 1 + example3: + value: + serviceType: business + cost: 120 + apiCallLimit: 3000000 + feeManagerFundPerMonth: 20 + unavailableApiList: {} + projectLimit: 30 + serviceFeeManagerFillingLimit: 40 + required: true + security: + - authToken: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + createPlanData: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - createPlanData + example: + statusCode: 200 + createPlanData: + status: success + msg: Plan created successfully + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /admin/v1/plans/{serviceType}: + put: + tags: + - admin + requestBody: + content: + application/json: + schema: + type: object + properties: + cost: + type: number + nullable: true + minimum: 0 + apiCallLimit: + type: number + nullable: true + minimum: 0 + feeManagerFundPerMonth: + type: number + nullable: true + minimum: 0 + unavailableApiList: + type: object + additionalProperties: + type: number + minimum: 0 + nullable: true + projectLimit: + type: number + nullable: true + minimum: 0 + serviceFeeManagerFillingLimit: + type: number + nullable: true + minimum: 0 + example: + cost: 0 + apiCallLimit: 10000 + feeManagerFundPerMonth: 0 + unavailableApiList: + api1: 1000 + projectLimit: 1 + serviceFeeManagerFillingLimit: 1000 + parameters: + - schema: + type: string + in: path + name: serviceType + required: true + security: + - authToken: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + updatedPlanData: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - updatedPlanData + example: + statusCode: 200 + updatedPlanData: + status: success + msg: Plan updated successfully + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + delete: + tags: + - admin + parameters: + - schema: + type: string + in: path + name: serviceType + required: true + security: + - authToken: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + deletedPlanData: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - deletedPlanData + example: + statusCode: 200 + deletedPlanData: + status: success + msg: Plan deleted successfully + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + get: + tags: + - admin + parameters: + - schema: + type: string + in: path + name: serviceType + required: true + security: + - authToken: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + planData: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + data: + type: object + properties: + serviceType: + type: string + cost: + type: string + apiCallLimit: + type: string + feeManagerFundPerMonth: + type: string + unavailableApiList: + type: string + nullable: true + projectLimit: + type: string + nullable: true + serviceFeeManagerFillingLimit: + type: string + createdBy: + type: string + required: + - serviceType + - cost + - apiCallLimit + - feeManagerFundPerMonth + - serviceFeeManagerFillingLimit + - createdBy + required: + - status + - msg + - data + required: + - statusCode + - planData + example: + statusCode: 200 + planData: + status: success + msg: Plan created successfully + data: + serviceType: free + cost: '0' + apiCallLimit: '10000' + feeManagerFundPerMonth: '0.1' + unavailableApiList: '{"/upload":0,"/v1/offer":0,"/v1/swap":0,"/v1/issue":3}' + projectLimit: '0' + serviceFeeManagerFillingLimit: '0' + createdBy: gtgd4e5JMhT5O09F0EEBR8vW5rq1 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /admin/v1/plan/list: + get: + tags: + - admin + description: Get list of available plans and their details also + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + planListData: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + data: + type: array + items: + type: object + properties: + serviceType: + type: string + apiCallLimit: + type: string + feeManagerFundPerMonth: + type: string + unavailableApiList: + type: object + additionalProperties: + type: number + minimum: 0 + nullable: true + projectLimit: + type: string + nullable: true + serviceFeeManagerFillingLimit: + type: string + required: + - serviceType + - apiCallLimit + - feeManagerFundPerMonth + - serviceFeeManagerFillingLimit + nullable: true + required: + - status + - msg + - data + required: + - statusCode + - planListData + example: + statusCode: 200 + planListData: + status: success + msg: Plan list fetched successfully + data: + - serviceType: unlimited + apiCallLimit: '1000000' + feeManagerFundPerMonth: '10' + unavailableApiList: + /v1/offer: 0 + /v1/swap: 0 + projectLimit: '2' + serviceFeeManagerFillingLimit: '1' + - serviceType: free + apiCallLimit: '10000' + feeManagerFundPerMonth: '0.1' + unavailableApiList: + /upload: 0 + /v1/offer: 0 + /v1/swap: 0 + /v1/issue: 3 + projectLimit: '0' + serviceFeeManagerFillingLimit: '0' + - serviceType: business + apiCallLimit: '3000000' + feeManagerFundPerMonth: '20' + unavailableApiList: {} + projectLimit: '30' + serviceFeeManagerFillingLimit: '40' + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /upload: + post: + summary: Blockchain File Upload. + tags: + - Utility + description: >- + The /upload endpoint broadcasts a media file (supplied as URL) to the + blockchain (in B:// protocol format). + requestBody: + content: + application/json: + schema: + type: object + properties: + fileUrl: + type: string + fileName: + type: string + required: + - fileUrl + - fileName + example: + fileUrl: >- + https://firebasestorage.googleapis.com/v0/b/pay-button-vaionexdev/o/1KB.png?alt=media&token=73f89b38-32c2-4fbe-814e-e6774833b9ab + fileName: Relysia Test nft image size 1 kb. + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + uploadObj: + type: object + properties: + fileName: + type: string + fileType: + type: string + fileSize: + type: number + timeStamp: + type: string + format: date-time + txid: + type: string + address: + type: string + addressPath: + type: string + url: + type: string + required: + - fileName + - fileType + - fileSize + - timeStamp + - txid + - address + - addressPath + - url + required: + - status + - msg + - uploadObj + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: File uploaded successfully. + uploadObj: + fileName: Relysia Test nft image size 1 kb. + fileType: image + fileSize: 1121 + timeStamp: '2023-06-14T09:08:52.015Z' + txid: >- + b4e118004c8246e1e9a552fd2a98dca1196698cb0076c21085c4f8112addfabe + address: 1BuEAp4mjJdeDGcpw6XdvtA9fWmHNF2mMX + addressPath: m/44'/0'/0'/0/0 + url: >- + B://b4e118004c8246e1e9a552fd2a98dca1196698cb0076c21085c4f8112addfabe + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /post: + post: + summary: Post Messages to the Blockchain. + tags: + - Utility + description: >- + The /post endpoint broadcasts a note to the blockchain (in B:// protocol + format). + requestBody: + content: + application/json: + schema: + type: object + properties: + notes: + type: array + items: + type: string + minItems: 1 + maxItems: 100000 + required: + - notes + example: + notes: + - This is a test note. + - This is another test note. + - ... + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + deprecated: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txid: + type: string + required: + - status + - msg + - txid + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Transaction successfully broadcasted to the blockchain. + txid: >- + b7c1c08c89bc9105cf49199ef4c6ccde23df9fa5d5a720c8ec04d47b1c3436a1 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/bsvalias/id/{paymail}: + get: + tags: + - paymail + parameters: + - schema: + type: string + in: path + name: paymail + required: true + responses: + '200': + description: Default Response + /v1/bsvalias/address/{paymail}: + post: + tags: + - paymail + requestBody: + content: + application/json: + schema: + type: object + properties: + senderHandle: + type: string + dt: + type: string + signature: + type: string + amount: + type: number + purpose: + type: string + senderName: + type: string + required: + - dt + - senderHandle + required: true + parameters: + - schema: + type: string + in: path + name: paymail + required: true + - schema: + type: string + default: application/json + in: header + name: Content-Type + required: false + responses: + '200': + description: Default Response + /v1/bsvalias/verifypubkey/{paymail}/{pubkey}: + post: + tags: + - paymail + parameters: + - schema: + type: string + in: path + name: paymail + required: true + - schema: + type: string + in: path + name: pubkey + required: true + responses: + '200': + description: Default Response + /v1/bsvalias/receive-transaction/{paymail}: + post: + tags: + - paymail + requestBody: + content: + application/json: + schema: + type: object + properties: + hex: + type: string + reference: + type: string + metadata: + type: object + properties: + sender: + type: string + pubkey: + type: string + signature: + type: string + note: + type: string + required: + - hex + - reference + - metadata + required: true + parameters: + - schema: + type: string + in: path + name: paymail + required: true + responses: + '200': + description: Default Response + /v1/bsvalias/p2p-payment-destination/{paymail}: + post: + tags: + - paymail + requestBody: + content: + application/json: + schema: + type: object + properties: + satoshis: + type: number + required: + - satoshis + required: true + parameters: + - schema: + type: string + in: path + name: paymail + required: true + responses: + '200': + description: Default Response + /.well-known/bsvalias: + get: + tags: + - paymail + responses: + '200': + description: Default Response +servers: + - url: https://api.relysia.com +tags: + - name: Authentication + description: User Authentication and Registration. + externalDocs: + description: find more info about auth Api + url: https://docs.relysia.com/getting-started/setup + - name: Identity + description: User identity related APIs. + externalDocs: + description: find more info about user Api. + url: https://docs.relysia.com/getting-started/setup + - name: Wallets + description: Blockchain wallet management related APIs. + externalDocs: + description: 'Our Documentation:' + url: https://docs.relysia.com/wallets + - name: Transactions + description: Blockchain transaction related APIs. + externalDocs: + description: Our Documentation + url: https://docs.relysia.com/payments/transactions + - name: Smart Contracts + description: Token and Smart Contract related APIs. + externalDocs: + description: Our documentation + url: https://docs.relysia.com/token + - name: Utility + description: Useful blockchain tools. + externalDocs: + description: Our documentation + url: https://docs.relysia.com/utility + - name: paymail + description: BSV alias related APIs + - name: Notifications + description: Push Notifications. + - name: Delete + description: 'Danger Zone: Delete Entries from the DB.' +externalDocs: + description: Relysia Infrastructure Documentation + url: https://docs.relysia.com diff --git a/sdks/db/custom-request-specs/rivery.io.yaml b/sdks/db/custom-request-specs/rivery.io.yaml new file mode 100644 index 000000000..49724a03d --- /dev/null +++ b/sdks/db/custom-request-specs/rivery.io.yaml @@ -0,0 +1,14146 @@ +openapi: 3.0.3 +info: + title: Rivery API + description: > + + # Rivery API documentation + + + Welcome to the Rivery API Documentation. + + + Using the Rivery API, you can automate any single or group operations you + perform in the Rivery console. + + You can create, execute, and delete Rivers, create DataFrames, automate + processes, and more. + + The Rivery API is structured around REST. It accepts JSON request bodies, + returns JSON responses, + + and employs conventional HTTP response codes, authentication, and verbs to + access and use data through HTTP requests. + + + Consult our [Legacy API](https://api-docs.rivery.io/) documentation. + + + Please [contact our Support team]( mailto:) if you have + any questions or concerns. + + + # Authorization + + ## Rivery API Token + + To generate a Bearer token, please check out [Rivery's + docs](https://docs.rivery.io/docs/rivery-api). + + + Every bearer token is a combination of account, environment, and scopes + attached. Every time the token is provided, + + the API compares its scopes with the request required scope. + + If the scope is not valid, an insufficient permissions (403) response code + returned. + + + ## Scopes + + A scope is defined as a combination of the entity in Rivery, and the + operation allowed to perform on the entity. + + + The entity can be any entity available via the API, for example - + connection. + + An operation can be one of specific operations allowed for each scope. For + example: list or edit. + + Therefore, listing connections scope will be set as `connection:list`. + + Please make sure the Bearer token is has the right scopes attached for all + of the needed requests. + contact: + name: Rivery Documentation + url: https://docs.rivery.io/ + email: contact@rivery.io + version: 1.0.0 + x-logo: + url: https://riveryio.wpengine.com/wp-content/uploads/2021/08/logo-main.svg +servers: + - url: https://api.rivery.io + description: US + - url: https://api.eu-west-1.rivery.io + description: EU +paths: + /v1/accounts/{account_id}/environments/{environment_id}/dataframes: + get: + tags: + - Dataframes + summary: Get Dataframes + description: |- + **Authorization scope:** `dataframe:list` + + **Get all dataframe entities from the DB** + operationId: list_dataframes + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - description: The number of items per page in the paginated list. + required: false + schema: + type: integer + maximum: 500 + minimum: 1 + title: Items Per Page + description: The number of items per page in the paginated list. + default: 20 + name: items_per_page + in: query + - description: The current page number in the paginated list. + required: false + schema: + type: integer + minimum: 1 + title: Page + description: The current page number in the paginated list. + default: 1 + name: page + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DataframePaginationResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + post: + tags: + - Dataframes + summary: Add Dataframe + description: |- + **Authorization scope:** `dataframe:write` + + **Creates a new dataframe entity.** + **** + **Please note that the Dataframe's name has to be unique** + operationId: add_dataframe + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DataframeAddInput' + required: true + responses: + '201': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DataframeResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/dataframes/{dataframe_name}: + get: + tags: + - Dataframes + summary: Get Dataframe + description: |- + **Authorization scope:** `dataframe:list` + + **Get a specific dataframe by name.** + operationId: get_dataframe + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: Dataframe Name + name: dataframe_name + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DataframeResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + put: + tags: + - Dataframes + summary: Update Dataframe + description: |- + **Authorization scope:** `dataframe:write` + + **Updates an existing dataframe entity. Please note that only the connecting_settings field can be modified** + operationId: update_dataframe + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: Dataframe Name + name: dataframe_name + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DataframeUpdateInput' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DataframeResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + delete: + tags: + - Dataframes + summary: Delete Dataframe + description: |- + **Authorization scope:** `dataframe:write` + + **Delete a dataframe.** + operationId: delete_dataframe + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: Dataframe Name + name: dataframe_name + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/dataframes/{dataframe_name}/download: + get: + tags: + - Dataframes + summary: Download Dataframe + description: |- + **Authorization scope:** `dataframe:list` + + **This endpoint creates a new task for downloading a dataframe.** + **** + **** + **Be advised: the task is an async operation, which means that** + **after creating the task, the client must call the endpoint GET** + **operation in order to get the result.** + operationId: download_dataframe + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: Dataframe Name + name: dataframe_name + in: path + responses: + '202': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/OperationResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/dataframes/{dataframe_name}/clear: + post: + tags: + - Dataframes + summary: Clear Dataframe Values + description: |- + **Authorization scope:** `dataframe:write` + + **This endpoint creates an asynchronous operation for clearing the** + **Dataframe's data.** + **.** + **** + **Please note - this is different from deleting the Dataframe,** + **which deletes both the Dataframe's data and configuration.** + operationId: clear_dataframe_values + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: Dataframe Name + name: dataframe_name + in: path + responses: + '202': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/OperationResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/activities_statistics: + get: + tags: + - Activities + summary: Get Activities Statistic + description: |- + **Authorization scope:** `activity:list` + + **Get environment's activity statistics.** + **** + **The statistics include how many units(RPU) were consumed, and how** + **many runs ended with each status.** + operationId: get_activities_statistic + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: Start Time + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: start_time + in: query + - description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: End Time + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: end_time + in: query + - description: A list of statuses to filter + required: false + schema: + items: + $ref: '#/components/schemas/ActivityStatusEnum' + type: array + description: A list of statuses to filter + name: status + in: query + - description: The ID of the group to filter + required: false + schema: + items: + type: string + type: array + title: Group Id + description: The ID of the group to filter + name: group_id + in: query + - description: >- + A flag that indicates whether the river is scheduled. If not set + then activities of all rivers will be returned + required: false + schema: + allOf: + - $ref: '#/components/schemas/ScheduleEnum' + description: >- + A flag that indicates whether the river is scheduled. If not set + then activities of all rivers will be returned + name: is_scheduled + in: query + - description: Get statistics for rivers that has the search query in their name + required: false + schema: + type: string + title: Search + description: Get statistics for rivers that has the search query in their name + name: search + in: query + - description: The river type + required: false + schema: + items: + $ref: '#/components/schemas/RiverTypeEnum' + type: array + description: The river type + name: river_type + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityStatisticResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_statistics: + get: + tags: + - Activities + summary: Get River Activities Statistic + description: |- + **Authorization scope:** `activity:list` + + **Get river's activity statistics (summary).** + **** + **The statistics include how many units(RPU) were consumed, and how** + **many runs ended with each status** + operationId: get_river_activities_statistic + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: Start Time + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: start_time + in: query + - description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: End Time + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: end_time + in: query + - required: false + schema: + items: + $ref: '#/components/schemas/ActivityStatusEnum' + type: array + name: status + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivityStatisticResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_targets: + get: + tags: + - Activities + summary: Get River Activities Targets + description: |- + **Authorization scope:** `activity:list` + + **Get river's activity targets (table names) in a specific time frame for** + **specific river and their status.** + **** + **This endpoint should be used for multi table rivers.** + operationId: get_river_activities_targets + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: Start Time + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: start_time + in: query + - description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: End Time + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: end_time + in: query + - description: Filter by the run group ID + required: false + schema: + type: string + title: Run Group Id + description: Filter by the run group ID + name: run_group_id + in: query + - description: Filter by the sub river ID + required: false + schema: + type: string + title: Sub River Id + description: Filter by the sub river ID + name: sub_river_id + in: query + - description: >- + A list of statuses. Only targets with those statuses will be + returned + required: false + schema: + items: + $ref: '#/components/schemas/ActivityStatusEnum' + type: array + description: >- + A list of statuses. Only targets with those statuses will be + returned + name: status + in: query + - description: Indicates by which parameter to sort the targets + required: false + schema: + allOf: + - $ref: '#/components/schemas/TargetsSortByEnum' + description: Indicates by which parameter to sort the targets + default: last_run + name: sort_by + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: desc + name: sort_order + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivityTargetResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_run_groups: + get: + tags: + - Activities + summary: List River Activities Run Groups + description: |- + **Authorization scope:** `activity:list` + + **Get list of run groups that occurred in a specific time** + **frame for specific river and their status.** + operationId: list_river_activities_run_groups + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: Start Time + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: start_time + in: query + - description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: End Time + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: end_time + in: query + - description: Filter by the target table name + required: false + schema: + type: string + title: Target Name + description: Filter by the target table name + name: target_name + in: query + - description: Filter by the sub river ID + required: false + schema: + type: string + title: Sub River Id + description: Filter by the sub river ID + name: sub_river_id + in: query + - description: >- + A list of statuses. Only run groups with this statuses will be + returned. + required: false + schema: + items: + $ref: '#/components/schemas/RunGroupStatusEnum' + type: array + description: >- + A list of statuses. Only run groups with this statuses will be + returned. + name: status + in: query + - description: Cache context id is an internal query parameter for cache purposes + required: false + schema: + type: string + title: Cache Context Id + description: Cache context id is an internal query parameter for cache purposes + name: cache_context_id + in: query + - required: false + schema: + type: integer + minimum: 1 + title: Page + default: 1 + name: page + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/RunGroupSortByEnum' + default: last_run + name: sort_by + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: desc + name: sort_order + in: query + - required: false + schema: + type: integer + maximum: 200 + minimum: 1 + title: Items Per Page + default: 50 + name: items_per_page + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivityRunGroupResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_run_groups/{run_group_id}: + get: + tags: + - Activities + summary: Get River Activities Run Groups + description: Get a specific run group id + operationId: get_river_activities_run_groups + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - required: true + schema: + type: string + title: Run Group Id + name: run_group_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivityRunGroupWithStatistics' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_sub_rivers: + get: + tags: + - Activities + summary: Get River Activities Sub Rivers + description: |- + **Authorization scope:** `activity:list` + + **Get list of sub rivers that ran in a specific time frame.** + **** + **Additional filters can be added such as target name or run group id.** + operationId: get_river_activities_sub_rivers + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: Start Time + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: start_time + in: query + - description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: End Time + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: end_time + in: query + - description: Filter by the target table name + required: false + schema: + type: string + title: Target Name + description: Filter by the target table name + name: target_name + in: query + - description: Filter by the run group ID + required: false + schema: + type: string + title: Run Group Id + description: Filter by the run group ID + name: run_group_id + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivitySubRiverResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs: + get: + tags: + - Activities + summary: Get River Activities Runs + description: |- + **Authorization scope:** `activity:list` + + **Get list of runs for a specific river in a specific time frame.** + **** + **This endpoint return information about the runs.** + operationId: list_river_activities_runs + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: Start Time + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: start_time + in: query + - description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: End Time + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: end_time + in: query + - description: Filter by the target table name + required: false + schema: + type: string + title: Target Name + description: Filter by the target table name + name: target_name + in: query + - description: Filter by the run group ID + required: false + schema: + type: string + title: Run Group Id + description: Filter by the run group ID + name: run_group_id + in: query + - description: Filter by the sub river ID + required: false + schema: + type: string + title: Sub River Id + description: Filter by the sub river ID + name: sub_river_id + in: query + - required: false + schema: + type: integer + minimum: 1 + title: Page + default: 1 + name: page + in: query + - required: false + schema: + type: integer + maximum: 200 + minimum: 1 + title: Items Per Page + default: 20 + name: items_per_page + in: query + - description: Indicates by which parameter to sort the runs + required: false + schema: + allOf: + - $ref: '#/components/schemas/RunsSortByEnum' + description: Indicates by which parameter to sort the runs + default: start_time + name: sort_by + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: desc + name: sort_order + in: query + - description: Cache context id is an internal query parameter for cache purposes + required: false + schema: + type: string + title: Cache Context Id + description: Cache context id is an internal query parameter for cache purposes + name: cache_context_id + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivityRunsResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}: + get: + tags: + - Activities + summary: Get River Activities Run + description: |- + **Authorization scope:** `activity:list` + + **Get a specific run details.** + operationId: get_river_activities_run + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - required: true + schema: + type: string + title: Run Id + name: run_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivityRun' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}/logic_steps: + get: + tags: + - Activities + summary: Get River Activities Run Logic Steps + description: |- + **Authorization scope:** `activity:list` + + **Get the status of each logic step for a specific run.** + operationId: get_river_activities_run_logic_steps + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - required: true + schema: + type: string + title: Run Id + name: run_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivityRunLogicStepsResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}/variables: + get: + tags: + - Activities + summary: Get Activities Logic Variables + description: >- + **Authorization scope:** `activity:list` + + **This endpoint retrieves the values of the logic variables in a specific run.** + **The values are stored for a short period of time and will expire after + that time.** + + **If the values have expired, an error message will be returned.** + operationId: get_activities_logic_variables + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - required: true + schema: + type: string + title: Run Id + name: run_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityLogicVariableResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}/logic_steps/{step_id}/logs: + get: + tags: + - Activities + summary: Get Activities Logic Step Log + description: |- + **Authorization scope:** `activity:list` + + **Get the logs of a python logic step.** + operationId: get_activities_logic_step_log + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - required: true + schema: + type: string + title: Run Id + name: run_id + in: path + - required: true + schema: + type: string + title: Step Id + name: step_id + in: path + - description: The step iteration number + required: false + schema: + type: integer + minimum: 0 + title: Iteration Number + description: The step iteration number + default: 0 + name: iteration_number + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivityRunLogicStepsLogsResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/activities: + get: + tags: + - Activities + summary: Get Activities + description: |- + **Authorization scope:** `activity:list` + + **Get summary of activities for the account and environment summarized by** + **river.** + operationId: get_activities + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: Start Time + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: start_time + in: query + - description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: End Time + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: end_time + in: query + - required: false + schema: + items: + $ref: '#/components/schemas/ActivityStatusEnum' + type: array + name: status + in: query + - description: The ID of the group to filter + required: false + schema: + items: + type: string + type: array + title: Group Id + description: The ID of the group to filter + name: group_id + in: query + - description: >- + A flag that indicates whether the river is scheduled. If not set + then activities of all rivers will be returned + required: false + schema: + allOf: + - $ref: '#/components/schemas/ScheduleEnum' + description: >- + A flag that indicates whether the river is scheduled. If not set + then activities of all rivers will be returned + name: is_scheduled + in: query + - required: false + schema: + type: integer + minimum: 1 + title: Page + default: 1 + name: page + in: query + - required: false + schema: + type: integer + maximum: 200 + minimum: 1 + title: Items Per Page + default: 20 + name: items_per_page + in: query + - description: Cache context id is an internal query parameter for cache purposes + required: false + schema: + type: string + title: Cache Context Id + description: Cache context id is an internal query parameter for cache purposes + name: cache_context_id + in: query + - description: Search for a specific river by river name + required: false + schema: + type: string + title: Search + description: Search for a specific river by river name + name: search + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/ActivitySortByEnum' + default: last_run + name: sort_by + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: desc + name: sort_order + in: query + - description: The river type + required: false + schema: + items: + $ref: '#/components/schemas/RiverTypeEnum' + type: array + description: The river type + name: river_type + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}/logs: + get: + tags: + - Activities + summary: Get Run Logs + description: |- + **Authorization scope:** `activity:list` + + **This method fetches the logs for a given run id of a river.** + operationId: get_run_logs + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - required: true + schema: + type: string + title: Run Id + name: run_id + in: path + responses: + '200': + description: Successful Response + content: + text/html: + schema: + type: string + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/versions: + get: + tags: + - Rivers + summary: List River Versions + description: |- + **Authorization scope:** `river:list` + + **This endpoint returns all river versions for a given river_cross_id.** + operationId: list_river_versions + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - description: The number of items per page in the paginated list. + required: false + schema: + type: integer + maximum: 500 + minimum: 1 + title: Items Per Page + description: The number of items per page in the paginated list. + default: 20 + name: items_per_page + in: query + - description: The current page number in the paginated list. + required: false + schema: + type: integer + minimum: 1 + title: Page + description: The current page number in the paginated list. + default: 1 + name: page + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverVersionsResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/versions/{version_id}: + get: + tags: + - Rivers + summary: Get River Version + description: |- + **Authorization scope:** `river:list` + + **This endpoint returns a given version for a version id and river_cross_id.** + operationId: get_river_version + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - required: true + schema: + type: string + title: Version Id + name: version_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverVersions' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}: + get: + tags: + - Rivers + summary: Get River + description: |- + **Authorization scope:** `river:list` + + **This endpoint gets a river.** + operationId: get_river + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverModel' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + put: + tags: + - Beta Endpoints + summary: Edit River + description: |- + **Authorization scope:** `river:write` + + **This endpoint updates a river.** + operationId: edit_river + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WriteRiverInput' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverModel' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + delete: + tags: + - Rivers + summary: Delete River + description: |- + **Authorization scope:** `river:write` + + **This endpoint deletes a river** + operationId: delete_river + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers: + get: + tags: + - Rivers + summary: List Rivers + description: |- + **Authorization scope:** `river:list` + + **This endpoint gets a summary of all the rivers in an environment** + operationId: list_rivers + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - description: The current page number in the paginated list. + required: false + schema: + type: integer + minimum: 1 + title: Page + description: The current page number in the paginated list. + default: 1 + name: page + in: query + - description: The number of items per page in the paginated list. + required: false + schema: + type: integer + maximum: 500 + minimum: 1 + title: Items Per Page + description: The number of items per page in the paginated list. + default: 20 + name: items_per_page + in: query + - description: The river group name + required: false + schema: + type: string + title: Group Name + description: The river group name + name: group_name + in: query + - description: The river group id + required: false + schema: + items: + type: string + type: array + title: Group Id + description: The river group id + name: group_id + in: query + - description: The river name + required: false + schema: + type: string + title: Name + description: The river name + name: name + in: query + - description: The river schedule status + required: false + schema: + allOf: + - $ref: '#/components/schemas/RiverScheduleStatusEnum' + description: The river schedule status + name: schedule + in: query + - description: The river status + required: false + schema: + items: + $ref: '#/components/schemas/RiverStatusEnum' + type: array + description: The river status + name: river_status + in: query + - description: The river sort by filter + required: false + schema: + allOf: + - $ref: '#/components/schemas/ListRiversSortByFilterEnum' + description: The river sort by filter + default: last_updated_at + name: sort_by + in: query + - description: The river sort order filter + required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + description: The river sort order filter + default: desc + name: sort_order + in: query + - description: The river type + required: false + schema: + items: + $ref: '#/components/schemas/RiverTypeEnum' + type: array + description: The river type + name: river_type + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverListResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + post: + tags: + - Beta Endpoints + summary: Add River + description: |- + **Authorization scope:** `river:write` + + **This endpoint creates a river.** + operationId: add_river + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WriteRiverInput' + required: true + responses: + '201': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverModel' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/cdc_config: + get: + tags: + - Rivers + summary: Get Cdc Config + description: >- + **Authorization scope:** `river:list` + + **This endpoint gets the cdc config:** + **** + + *** Gets cdc offset by provided datasource type to see the last position + of the cdc** + operationId: get_cdc_config_limit_scope + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/CdcConfig' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + post: + tags: + - Rivers + summary: Set Cdc Config + description: >- + **Authorization scope:** `river:write` + + **This endpoint set the cdc config:** + **** + + *** Set the cdc offset that next run of the river can continue from + specific position** + operationId: set_cdc_config_limit_scope + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CdcConfig' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + delete: + tags: + - Rivers + summary: Delete Cdc Config + description: |- + **Authorization scope:** `river:write` + + **This endpoint delete the cdc config:** + operationId: delete_cdc_config + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/cancel_run: + post: + tags: + - Rivers + summary: Cancel River Run + description: |- + **Authorization scope:** `river:execute` + + **This endpoint cancels a specific run if run_id is provided or multiple runs if run_group_id is provided.** + operationId: cancel_river_run + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CancelRiverRunBody' + required: true + responses: + '202': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/GeneralResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/run: + post: + tags: + - Rivers + summary: Run River + description: |- + **Authorization scope:** `river:execute` + + **This endpoint runs a river.** + **** + **Throttling rules:** + *** River can be executed up to 2 times per minute** + *** Each user can execute a river up to 15 times per minute** + operationId: run_river + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - description: >- + A flag that indicates whether to run all active sub rivers of the + master river + required: false + schema: + type: boolean + title: Run Sub Rivers + description: >- + A flag that indicates whether to run all active sub rivers of the + master river + default: false + name: run_sub_rivers + in: query + responses: + '202': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiversRunResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/sub_rivers/{sub_river_id}/run: + post: + tags: + - Rivers + summary: Run Sub River + description: |- + **Authorization scope:** `river:execute` + + **This endpoint runs a sub_river.** + operationId: run_sub_river + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - required: true + schema: + type: string + title: Sub River Id + name: sub_river_id + in: path + responses: + '202': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiversRunResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/variables: + get: + tags: + - Rivers + summary: Get River Variables + description: |- + **Authorization scope:** `river:list` + + **Get all river variables** + operationId: get_river_variables + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - description: The number of items per page in the paginated list. + required: false + schema: + type: integer + maximum: 500 + minimum: 1 + title: Items Per Page + description: The number of items per page in the paginated list. + default: 20 + name: items_per_page + in: query + - description: The current page number in the paginated list. + required: false + schema: + type: integer + minimum: 1 + title: Page + description: The current page number in the paginated list. + default: 1 + name: page + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverVariablesPaginatedResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + put: + tags: + - Rivers + summary: Update River Variable + description: >- + **Authorization scope:** `river:write` + + **This endpoint updates a variable for a river.** + **Given a list of variables, it will replace all existing variables for + the logic river with the provided list.** + operationId: update_river_variable + parameters: + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - description: The number of items per page in the paginated list. + required: false + schema: + type: integer + maximum: 500 + minimum: 1 + title: Items Per Page + description: The number of items per page in the paginated list. + default: 20 + name: items_per_page + in: query + - description: The current page number in the paginated list. + required: false + schema: + type: integer + minimum: 1 + title: Page + description: The current page number in the paginated list. + default: 1 + name: page + in: query + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateRiverVariableInputList' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverVariablesPaginatedResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments: + get: + tags: + - Environments + summary: List Environments + description: |- + **Authorization scope:** `environment:list` + + **Get list of environments entities for an account** + operationId: list_environments + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: false + schema: + type: boolean + title: Include Deleted + default: false + name: include_deleted + in: query + - required: false + schema: + type: boolean + title: Is Deployable Environments + default: false + name: is_deployable_environments + in: query + - description: The number of items per page in the paginated list. + required: false + schema: + type: integer + maximum: 500 + minimum: 1 + title: Items Per Page + description: The number of items per page in the paginated list. + default: 20 + name: items_per_page + in: query + - description: The current page number in the paginated list. + required: false + schema: + type: integer + minimum: 1 + title: Page + description: The current page number in the paginated list. + default: 1 + name: page + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ListEnvironmentsPaginationResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}: + get: + tags: + - Environments + summary: Get Environment + description: |- + **Authorization scope:** `environment:list` + + **Get a specific environment** + operationId: get_environment + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/EnvironmentsFields' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/scim_provisioning: + get: + tags: + - Accounts + summary: Get Scim Provisioning Status + description: |- + **Authorization scope:** `account:write` + + **Get SCIM provisioning status** + operationId: get_scim_provisioning_status + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/GetScimTokenStatusResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + put: + tags: + - Accounts + summary: Add Or Update Scim Provisioning + description: >- + **Authorization scope:** `account:write` + + **Add or update SCIM provisioning.** + **This endpoint returns the connection string used to communicate with + your SCIM app and the authentication token** + operationId: create_or_update_scim_provisioning + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/CreateOrUpdateScimTokenResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + delete: + tags: + - Accounts + summary: Delete Scim Provisioning + description: |- + **Authorization scope:** `account:write` + + **Deletes the scim provisioning. This endpoint won't delete any existing resource that were already sync by the SCIM.** + operationId: delete_scim_provisioning + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + responses: + '204': + description: Successful Response + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/audit_events: + get: + tags: + - Audit Events + summary: List Audit Events + description: |- + **Authorization scope:** `audit:list` + + **List audit events** + operationId: list_audit_events + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: false + schema: + type: string + format: date-time + title: Start Time + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: start_time + in: query + - description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm If end_time is supplied without + start_time the start_time will be the previous day of the end_time + required: false + schema: + type: string + format: date-time + title: End Time + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm If end_time is supplied without + start_time the start_time will be the previous day of the end_time + example: '2020-01-01T12:00:00' + name: end_time + in: query + - description: A list of users id's who initiated the event + required: false + schema: + items: + type: string + type: array + title: User Id + description: A list of users id's who initiated the event + example: 5eda28ee6b028e1ce7a2b5ed + name: user_id + in: query + - description: A list of entity types + required: false + schema: + items: + $ref: '#/components/schemas/AuditEventTypeEnum' + type: array + description: A list of entity types + examples: + - connections + - rivers + - river_groups + name: event_type + in: query + - description: A list of event types + required: false + schema: + items: + $ref: '#/components/schemas/AuditEntityTypeEnum' + type: array + description: A list of event types + examples: + - delete + - create + - update + name: entity_type + in: query + - description: A unique logical identifier of an entity, usually the cross_id + required: false + schema: + type: string + title: Entity Logical Key + description: A unique logical identifier of an entity, usually the cross_id + example: 5eda28ee6b028e1ce7a2b5ec + name: entity_logical_key + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/AuditEventsPaginationResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/audit_events/{event_id}: + get: + tags: + - Audit Events + summary: Get Audit Event + description: |- + **Authorization scope:** `audit:list` + + **Get a specific audit event by event_id.** + operationId: get_audit_event + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - description: The id of the audit event + required: true + schema: + type: string + title: Event Id + description: The id of the audit event + example: eac285a5a9ae4ada9ccd49889a651e16 + name: event_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/AuditEventsResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/connections/{connection_cross_id}: + delete: + tags: + - Connections + summary: Delete Connection + description: |- + **Authorization scope:** `connection:delete` + + **This endpoint deletes a connection** + operationId: delete_connection + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: Connection Cross Id + name: connection_cross_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/teams: + get: + tags: + - Groups + summary: List Teams + description: |- + **Authorization scope:** `team:list` + + **Get all user teams** + operationId: list_teams + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: false + schema: + type: integer + title: Page + default: 1 + name: page + in: query + - required: false + schema: + type: integer + maximum: 200 + title: Items Per Page + default: 20 + name: items_per_page + in: query + - description: The internal display name of the team + required: false + schema: + type: string + title: Display Name + description: The internal display name of the team + example: Marketing team + name: display_name + in: query + - description: The team source local (rivery) or external (Active Directory) + required: false + schema: + type: string + title: Source + description: The team source local (rivery) or external (Active Directory) + example: rivery + name: source + in: query + - description: The remote display name of the team + required: false + schema: + type: string + title: Remote Display Name + description: The remote display name of the team + example: Core team + name: remote_display_name + in: query + - description: Sorted the results by attributes + required: false + schema: + allOf: + - $ref: '#/components/schemas/TeamsSortByEnum' + description: Sorted the results by attributes + default: display_name + name: sort_by + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: desc + name: sort_order + in: query + - description: List of team ids + required: false + schema: + items: + type: string + type: array + title: Team Id + description: List of team ids + example: + - 65ce173412f5e196b2b9b163 + name: team_id + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/UserTeamsListResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + post: + tags: + - Groups + summary: Create Team + description: |- + **Authorization scope:** `team:write` + + **Create user team** + operationId: create_team + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateUserTeam' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/UserTeamsModel' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/teams/{team_id}: + get: + tags: + - Groups + summary: Get Team + description: |- + **Authorization scope:** `team:list` + + **Get user team by id** + operationId: get_team + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Team Id + name: team_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/UserTeamsModel' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + put: + tags: + - Groups + summary: Update Team + description: |- + **Authorization scope:** `team:write` + + **Update team** + operationId: update_team + parameters: + - required: true + schema: + type: string + title: Team Id + name: team_id + in: path + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateUserTeamsInput' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/UserTeamsModel' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + delete: + tags: + - Groups + summary: Delete Team + description: |- + **Authorization scope:** `team:write` + + **Delete user team** + operationId: delete_team + parameters: + - required: true + schema: + type: string + title: Team Id + name: team_id + in: path + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + responses: + '204': + description: Successful Response + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + patch: + tags: + - Groups + summary: Patch Team + description: |- + **Authorization scope:** `team:write` + + **Patch team by id** + operationId: patch_team + parameters: + - required: true + schema: + type: string + title: Team Id + name: team_id + in: path + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchUserTeamsInput' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/UserTeamsModel' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/copy: + post: + tags: + - Beta Endpoints + summary: Copy River + description: |- + **Authorization scope:** `river:write` + + **This endpoint creates a copy of a river** + operationId: copy_river + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + responses: + '201': + description: Successful Response + headers: + Location: + description: The location of the created resource + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/CopyRiverResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/restore: + put: + tags: + - Beta Endpoints + summary: Restore River Version + description: |- + **Authorization scope:** `river:write` + + **This endpoint restores a river to a specific version** + operationId: restore_river + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RestoreRiverVersionInput' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverModel' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/enable_cdc: + post: + tags: + - Beta Endpoints + summary: Enable Cdc + description: |- + **Authorization scope:** `river:write` + + **This endpoint enables the CDC extraction for a CDC river.** + operationId: enable_cdc + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + responses: + '202': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/OperationResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/disable_cdc: + post: + tags: + - Beta Endpoints + summary: Disable Cdc + description: |- + **Authorization scope:** `river:write` + + **This endpoint disables the CDC extraction for a CDC river.** + operationId: disable_cdc + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + responses: + '202': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/OperationResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/predefined_metadata/columns: + get: + tags: + - Beta Endpoints + summary: Get Predefined Columns + description: >- + This endpoint gets all predefined columns per datasource id and + report_id. + operationId: get_predefined_columns + parameters: + - description: The datasource of the columns. + required: true + schema: + allOf: + - $ref: '#/components/schemas/SourceTypeEnum' + description: The datasource of the columns. + example: shopify + name: datasource_id + in: query + - description: The report id + required: true + schema: + type: string + title: Report + description: The report id + example: orders + name: report + in: query + - description: Name of the column to filter + required: false + schema: + type: string + title: Column Name + description: Name of the column to filter + example: id + name: column_name + in: query + - description: The number of items per page in the paginated list. + required: false + schema: + type: integer + maximum: 500 + minimum: 1 + title: Items Per Page + description: The number of items per page in the paginated list. + default: 20 + name: items_per_page + in: query + - description: The current page number in the paginated list. + required: false + schema: + type: integer + minimum: 1 + title: Page + description: The current page number in the paginated list. + default: 1 + name: page + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PredefinedColumnsPaginatedResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/predefined_metadata/tables: + get: + tags: + - Beta Endpoints + summary: Get Predefined Tables + description: This endpoint gets all predefined tables per datasource id. + operationId: get_predefined_tables + parameters: + - description: The datasource of the columns. + required: true + schema: + allOf: + - $ref: '#/components/schemas/SourceTypeEnum' + description: The datasource of the columns. + example: shopify + name: datasource_id + in: query + - description: Name of the report to filter + required: false + schema: + type: string + title: Report Name + description: Name of the report to filter + example: orders + name: report_name + in: query + - description: The number of items per page in the paginated list. + required: false + schema: + type: integer + maximum: 500 + minimum: 1 + title: Items Per Page + description: The number of items per page in the paginated list. + default: 20 + name: items_per_page + in: query + - description: The current page number in the paginated list. + required: false + schema: + type: integer + minimum: 1 + title: Page + description: The current page number in the paginated list. + default: 1 + name: page + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PredefinedTablesModelPaginatedResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/predefined_metadata/metadata: + get: + tags: + - Beta Endpoints + summary: Get Predefined Metadata + description: This endpoint gets all predefined metadata datasource id and report id. + operationId: get_predefined_metadata + parameters: + - description: The datasource of the columns. + required: true + schema: + allOf: + - $ref: '#/components/schemas/SourceTypeEnum' + description: The datasource of the columns. + example: shopify + name: datasource_id + in: query + - description: The report id + required: true + schema: + type: string + title: Report Id + description: The report id + example: predefined_orders + name: report_id + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PredefinedMetadataModelResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/river_source/metadata: + get: + tags: + - Beta Endpoints + summary: Get Source Metadata + description: This endpoint gets all source metadata. + operationId: get_source_metadata + parameters: + - description: The source name + required: true + schema: + allOf: + - $ref: '#/components/schemas/SourceTypeEnum' + description: The source name + example: shopify + name: source_name + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SourcedMetadataModelResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] +components: + schemas: + ActionProperties: + properties: + properties_type: + type: string + enum: + - actions + title: Properties Type + default: actions + additionalProperties: false + type: object + title: ActionProperties + description: Action properties which define the action river properties + ActivitiesResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + account_id: + type: string + title: Account Id + description: The account id + environment_id: + type: string + title: Environment Id + description: The environment id + items: + items: + $ref: '#/components/schemas/Activity' + type: array + title: Items + cache_context_id: + type: string + title: Cache Context Id + nullable: true + type: object + required: + - current_page_size + - account_id + - environment_id + - items + - cache_context_id + title: ActivitiesResponse + description: General activities response + Activity: + properties: + account_id: + type: string + title: Account Id + environment_id: + type: string + title: Environment Id + cross_id: + type: string + title: Cross Id + river_id: + type: string + title: River Id + master_river_id: + type: string + title: Master River Id + river_name: + type: string + title: River Name + is_sub_river: + type: boolean + title: Is Sub River + is_master_river: + type: boolean + title: Is Master River + is_multi: + type: boolean + title: Is Multi + is_deleted: + type: boolean + title: Is Deleted + group_id: + type: string + title: Group Id + is_scheduled: + type: boolean + title: Is Scheduled + total_files: + type: integer + title: Total Files + units: + type: number + title: Units + description: Total RPU (units) + example: 2.1 + rpu: + type: number + title: Rpu + description: Total RPU + example: 2.1 + total_size: + type: integer + title: Total Size + last_run: + type: integer + title: Last Run + pending: + type: integer + title: Pending + failed: + type: integer + title: Failed + running: + type: integer + title: Running + succeeded: + type: integer + title: Succeeded + canceled: + type: integer + title: Canceled + datasource_id: + type: string + title: Datasource Id + type: object + required: + - account_id + - environment_id + - cross_id + - river_id + - master_river_id + - river_name + - is_sub_river + - is_master_river + - is_multi + - is_deleted + - is_scheduled + - total_files + - units + - rpu + - total_size + - last_run + - pending + - failed + - running + - succeeded + - canceled + - datasource_id + title: Activity + description: Activity properties to return. + ActivityLogicVariableResponse: + properties: + items: + items: + $ref: '#/components/schemas/RiverVariablesFields' + type: array + title: Items + type: object + required: + - items + title: ActivityLogicVariableResponse + description: The activities logic variables response + ActivitySortByEnum: + type: string + enum: + - river_name + - last_run + - units + title: ActivitySortByEnum + description: Activities sort properties in the UI. + ActivityStatisticResponse: + properties: + account_id: + type: string + title: Account Id + environment_id: + type: string + title: Environment Id + total_units: + type: number + title: Total Units + description: Total RPU (units) + example: 2.1 + total_rpu: + type: number + title: Total Rpu + description: Total RPU + example: 2.1 + running: + type: integer + title: Running + canceled: + type: integer + title: Canceled + pending: + type: integer + title: Pending + failed: + type: integer + title: Failed + succeeded: + type: integer + title: Succeeded + skipped: + type: integer + title: Skipped + type: object + required: + - account_id + - environment_id + - total_units + - total_rpu + - running + - canceled + - pending + - failed + - succeeded + - skipped + title: ActivityStatisticResponse + description: Activity statistics response + ActivityStatusEnum: + type: string + enum: + - pending + - canceled + - succeeded + - failed + - running + - skipped + title: ActivityStatusEnum + description: The external status of a run (being used in the api) + AthenaAdditionalTargetSettings: + properties: + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: >- + The order expression of the river entity,to filter duplications from + the source data by the provided order expression (for `merge` + loading method). + example: id desc,createDate asc + nullable: true + target_loading: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: >- + The target loading of the table entity,if not specified the default + loading mode of the riverwill be used. + example: merge + nullable: true + target_type: + type: string + enum: + - athena + title: Target Type + description: Internal field, populated automatically + default: athena + nullable: true + replace_invalid_utf_characters: + type: boolean + title: Replace Invalid Utf Characters + description: Enable replacing invalid UTF characters in the target + default: false + truncate_columns: + type: boolean + title: Truncate Columns + description: Whether or not to truncate the columns in the target + default: false + type: object + title: AthenaAdditionalTargetSettings + description: Athena specific target settings + AthenaModifiedColumn: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the column is selected and should be modified. + example: true + name: + type: string + title: Name + description: The name of the column. + example: column_name + type: + type: string + title: Type + description: The type of the column. + example: string + nullable: true + alias: + type: string + title: Alias + description: The alias of the column in the target table. + example: column_alias + nullable: true + expression: + type: string + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + example: select 'test' + nullable: true + is_key: + type: boolean + title: Is Key + description: If the column is a key. + example: true + nullable: true + sort_order: + type: integer + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + example: 1 + nullable: true + is_sort_key: + type: boolean + title: Is Sort Key + description: If the column is a sort column. + example: true + nullable: true + calculated_column_mode: + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + example: source + nullable: true + order: + type: integer + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + example: 1 + nullable: true + target_type: + type: string + enum: + - athena + title: Target Type + description: Internal field, populated automatically + default: athena + nullable: true + additionalProperties: false + type: object + required: + - is_selected + - name + title: AthenaModifiedColumn + description: Athena specific columns settings + AthenaTargetSettings: + properties: + name: + type: string + enum: + - athena + title: Name + description: The name of the target + default: athena + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + table_name: + type: string + title: Table Name + description: >- + The table name of this target (only relevant for non multi table + source to target rivers) + default: '' + example: Table 1 + nullable: true + target_prefix: + type: string + title: Target Prefix + description: >- + The table prefix of this target (only relevant for multi table + source to target rivers) + default: '' + example: start_at_ + nullable: true + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: The order expression of the river entity. + example: id desc,createDate asc + nullable: true + loading_method: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: The loading method of this target + example: merge + merge_method: + allOf: + - $ref: '#/components/schemas/MergeMethod' + description: >- + The merge method to preform,only relevant when the loading mode is + Merge,if not provided the default merge method will be used.(merge) + example: merge + nullable: true + file_zone_settings: + allOf: + - $ref: '#/components/schemas/RiverFileZoneSettings' + title: File Zone Settings + description: The file zone settings of this target + nullable: true + file_path_destination: + type: string + title: File Path Destination + description: The file name and path + example: path/to/file + bucket_name: + type: string + title: Bucket Name + description: The bucket name + example: bucket + additional_settings: + type: object + title: Additional Settings + description: The additional settings of this target + default: {} + example: + key: value + nullable: true + type: object + required: + - loading_method + title: AthenaTargetSettings + description: Athena target settings properties to return. + AuditEntityTypeEnum: + type: string + enum: + - accounts + - connections + - rivers + - river_groups + - users + title: AuditEntityTypeEnum + description: The audit event entity types + AuditEventTypeEnum: + type: string + enum: + - create + - delete + - update + title: AuditEventTypeEnum + description: The audit events, events type + AuditEventsPaginationResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + items: + items: + $ref: '#/components/schemas/AuditEventsResponse' + type: array + title: Items + type: object + required: + - items + title: AuditEventsPaginationResponse + description: Audit events pagination response + AuditEventsResponse: + properties: + event_id: + type: string + title: Event Id + description: The id of the audit event + event_initiator: + type: string + title: Event Initiator + description: Where the event was initiated + example: UI + event_datetime: + type: string + title: Event Datetime + description: The event date time in UTC timezone + example: '2022-08-02T13:38:44.054000' + event_type: + allOf: + - $ref: '#/components/schemas/AuditEventTypeEnum' + description: The type of the event + example: create + event_result_status: + type: integer + title: Event Result Status + description: The status of the API request of the event + example: 200 + event_name: + type: string + title: Event Name + description: >- + The name of the event in the following + format-event_type:entity_type:additional_info + example: update:rivers:without_version + entity_type: + allOf: + - $ref: '#/components/schemas/AuditEntityTypeEnum' + description: The type of entity that was recorded + example: rivers + entity_logical_key: + type: string + title: Entity Logical Key + default: A unique logical identifier of an entity, usually the cross_id + example: 5eda28ee6b028e1ce7a2b5ec + account_id: + type: string + title: Account Id + description: The account id the event originated for + example: 5ebec4ca6b028e2da4191dde + environment_id: + type: string + title: Environment Id + description: The environment id the event originated for + example: 5ebec4ca6b028e2da4191de1 + user_id: + type: string + title: User Id + description: The user id the event originated for + example: 60d08931f5682c0d9fa24890 + user_name: + type: string + title: User Name + description: The name of the user that originated the event + example: Rivi Ee + entity_name: + type: string + title: Entity Name + description: >- + The name of the event entity, this could be the name of the river, + connection etc. + example: My First River + entity_subtype: + type: string + title: Entity Subtype + description: >- + The even subtype, this could be a river classification like logic or + s2t rivers + examples: + - src_to_trgt + - logic + additional_info: + type: string + title: Additional Info + default: Additional information saved for the event + example: '{"version_id": "637582d3c32287000fc1d69f"}' + type: object + required: + - event_id + - event_initiator + - event_datetime + - event_type + - event_result_status + - event_name + - entity_type + - account_id + - environment_id + - user_id + title: AuditEventsResponse + description: Audit events response + AzureSqlAdditionalTargetSettings: + properties: + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: >- + The order expression of the river entity,to filter duplications from + the source data by the provided order expression (for `merge` + loading method). + example: id desc,createDate asc + nullable: true + target_loading: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: >- + The target loading of the table entity,if not specified the default + loading mode of the riverwill be used. + example: merge + nullable: true + target_type: + type: string + enum: + - azure_sql + title: Target Type + description: Internal field, populated automatically + default: azure_sql + nullable: true + type: object + title: AzureSqlAdditionalTargetSettings + description: Azure SQL specific target settings + AzureSqlModifiedColumn: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the column is selected and should be modified. + example: true + name: + type: string + title: Name + description: The name of the column. + example: column_name + type: + type: string + title: Type + description: The type of the column. + example: string + nullable: true + alias: + type: string + title: Alias + description: The alias of the column in the target table. + example: column_alias + nullable: true + expression: + type: string + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + example: select 'test' + nullable: true + is_key: + type: boolean + title: Is Key + description: If the column is a key. + example: true + nullable: true + sort_order: + type: integer + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + example: 1 + nullable: true + is_sort_key: + type: boolean + title: Is Sort Key + description: If the column is a sort column. + example: true + nullable: true + calculated_column_mode: + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + example: source + nullable: true + order: + type: integer + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + example: 1 + nullable: true + target_type: + type: string + enum: + - azure_sql + title: Target Type + description: Internal field, populated automatically + default: azure_sql + nullable: true + additionalProperties: false + type: object + required: + - is_selected + - name + title: AzureSqlModifiedColumn + description: AzureSql specific columns settings + AzureSqlTargetSettings: + properties: + name: + type: string + enum: + - azure_sql + title: Name + description: The name of the target + default: azure_sql + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + table_name: + type: string + title: Table Name + description: >- + The table name of this target (only relevant for non multi table + source to target rivers) + default: '' + example: Table 1 + nullable: true + target_prefix: + type: string + title: Target Prefix + description: >- + The table prefix of this target (only relevant for multi table + source to target rivers) + default: '' + example: start_at_ + nullable: true + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: The order expression of the river entity. + example: id desc,createDate asc + nullable: true + loading_method: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: The loading method of this target + example: merge + merge_method: + allOf: + - $ref: '#/components/schemas/MergeMethod' + description: >- + The merge method to preform,only relevant when the loading mode is + Merge,if not provided the default merge method will be used.(merge) + example: merge + nullable: true + file_zone_settings: + allOf: + - $ref: '#/components/schemas/RiverFileZoneSettings' + title: File Zone Settings + description: The file zone settings of this target + nullable: true + file_path_destination: + type: string + title: File Path Destination + description: The file name and path + example: path/to/file + bucket_name: + type: string + title: Bucket Name + description: The bucket name + example: bucket + additional_settings: + type: object + title: Additional Settings + description: The additional settings of this target + default: {} + example: + key: value + nullable: true + type: object + required: + - loading_method + title: AzureSqlTargetSettings + description: Azure SQL target settings properties to return. + AzureSynapseAnalyticsModifiedColumn: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the column is selected and should be modified. + example: true + name: + type: string + title: Name + description: The name of the column. + example: column_name + type: + type: string + title: Type + description: The type of the column. + example: string + nullable: true + alias: + type: string + title: Alias + description: The alias of the column in the target table. + example: column_alias + nullable: true + expression: + type: string + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + example: select 'test' + nullable: true + is_key: + type: boolean + title: Is Key + description: If the column is a key. + example: true + nullable: true + sort_order: + type: integer + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + example: 1 + nullable: true + is_sort_key: + type: boolean + title: Is Sort Key + description: If the column is a sort column. + example: true + nullable: true + calculated_column_mode: + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + example: source + nullable: true + order: + type: integer + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + example: 1 + nullable: true + target_type: + type: string + enum: + - azure_synapse_analytics + title: Target Type + description: Internal field, populated automatically + default: azure_synapse_analytics + nullable: true + additionalProperties: false + type: object + required: + - is_selected + - name + title: AzureSynapseAnalyticsModifiedColumn + description: AzureSynapseAnalytics specific columns settings + AzureSynapseAnalyticsTargetSettings: + properties: + name: + type: string + enum: + - azure_synapse_analytics + title: Name + description: The name of the target + default: azure_synapse_analytics + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + table_name: + type: string + title: Table Name + description: >- + The table name of this target (only relevant for non multi table + source to target rivers) + default: '' + example: Table 1 + nullable: true + target_prefix: + type: string + title: Target Prefix + description: >- + The table prefix of this target (only relevant for multi table + source to target rivers) + default: '' + example: start_at_ + nullable: true + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: The order expression of the river entity. + example: id desc,createDate asc + nullable: true + loading_method: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: The loading method of this target + example: merge + merge_method: + allOf: + - $ref: '#/components/schemas/MergeMethod' + description: >- + The merge method to preform,only relevant when the loading mode is + Merge,if not provided the default merge method will be used.(merge) + example: merge + nullable: true + file_zone_settings: + allOf: + - $ref: '#/components/schemas/RiverFileZoneSettings' + title: File Zone Settings + description: The file zone settings of this target + nullable: true + file_path_destination: + type: string + title: File Path Destination + description: The file name and path + example: path/to/file + bucket_name: + type: string + title: Bucket Name + description: The bucket name + example: bucket + additional_settings: + type: object + title: Additional Settings + description: The additional settings of this target + default: {} + example: + key: value + nullable: true + type: object + required: + - loading_method + title: AzureSynapseAnalyticsTargetSettings + description: Azure Synapse Analytics target settings properties to return. + BigQueryAdditionalTargetSettings: + properties: + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: >- + The order expression of the river entity,to filter duplications from + the source data by the provided order expression (for `merge` + loading method). + example: id desc,createDate asc + nullable: true + target_loading: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: >- + The target loading of the table entity,if not specified the default + loading mode of the riverwill be used. + example: merge + nullable: true + target_type: + type: string + enum: + - bigquery + title: Target Type + description: Internal field, populated automatically + default: bigquery + nullable: true + use_standard_sql: + type: boolean + title: Use Standard Sql + description: >- + Indication if to use standard SQL, default is true, if false will + use legacy SQL. + example: true + nullable: true + split_tables: + type: string + title: Split Tables + description: Split tables at target. + default: no_split + example: no_split + nullable: true + split_interval: + type: string + title: Split Interval + description: The interval by which to split the tables if split table is on. + example: daily + nullable: true + split_data: + type: string + title: Split Data + description: >- + The expression by which to split the tablesif split tables by + expression is chosen. + example: a>3 + nullable: true + partition_type: + type: string + title: Partition Type + description: The type of partition to partition that table by. + example: timestamp + nullable: true + partition_granularity: + type: string + title: Partition Granularity + description: The partition granularity to split the table by. + example: day + nullable: true + type: object + title: BigQueryAdditionalTargetSettings + description: BigQuery specific target settings + BigQueryModifiedColumn: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the column is selected and should be modified. + example: true + name: + type: string + title: Name + description: The name of the column. + example: column_name + type: + type: string + title: Type + description: The type of the column. + example: string + nullable: true + alias: + type: string + title: Alias + description: The alias of the column in the target table. + example: column_alias + nullable: true + expression: + type: string + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + example: select 'test' + nullable: true + is_key: + type: boolean + title: Is Key + description: If the column is a key. + example: true + nullable: true + sort_order: + type: integer + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + example: 1 + nullable: true + is_sort_key: + type: boolean + title: Is Sort Key + description: If the column is a sort column. + example: true + nullable: true + calculated_column_mode: + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + example: source + nullable: true + order: + type: integer + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + example: 1 + nullable: true + is_partition: + type: boolean + title: Is Partition + description: Indication if the column is a partition column + default: false + nullable: true + target_type: + type: string + enum: + - bigquery + title: Target Type + description: Internal field, populated automatically + default: bigquery + nullable: true + additionalProperties: false + type: object + required: + - is_selected + - name + title: BigQueryModifiedColumn + description: Big Query specific columns settings + BigQueryTargetSettings: + properties: + name: + type: string + enum: + - bigquery + title: Name + description: The name of the target + default: bigquery + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + table_name: + type: string + title: Table Name + description: >- + The table name of this target (only relevant for non multi table + source to target rivers) + default: '' + example: Table 1 + nullable: true + target_prefix: + type: string + title: Target Prefix + description: >- + The table prefix of this target (only relevant for multi table + source to target rivers) + default: '' + example: start_at_ + nullable: true + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: The order expression of the river entity. + example: id desc,createDate asc + nullable: true + loading_method: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: The loading method of this target + example: merge + merge_method: + allOf: + - $ref: '#/components/schemas/MergeMethod' + description: >- + The merge method to preform,only relevant when the loading mode is + Merge,if not provided the default merge method will be used.(merge) + example: merge + nullable: true + file_zone_settings: + allOf: + - $ref: '#/components/schemas/RiverFileZoneSettings' + title: File Zone Settings + description: The file zone settings of this target + nullable: true + file_path_destination: + type: string + title: File Path Destination + description: The file name and path + example: path/to/file + bucket_name: + type: string + title: Bucket Name + description: The bucket name + example: bucket + additional_settings: + type: object + title: Additional Settings + description: The additional settings of this target + default: {} + example: + key: value + nullable: true + dataset_id: + type: string + title: Dataset Id + description: The dataset ID of this target + example: dataset_1 + nullable: true + type: object + required: + - loading_method + title: BigQueryTargetSettings + description: BigQuery target settings properties to return. + BlobStorageSettings: + properties: + name: + type: string + enum: + - blob_storage + title: Name + description: The name of the target + default: blob_storage + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + path: + type: string + title: Path + description: The path of the file zone entity. + example: my_path + bucket_name: + type: string + title: Bucket Name + description: The bucket name of the file zone entity. + example: my_bucket + partitioned_kind: + allOf: + - $ref: '#/components/schemas/PartitionedKindEnum' + description: The partitioned kind of the file zone entity. + example: by_day + type: object + required: + - path + - bucket_name + - partitioned_kind + title: BlobStorageSettings + description: Azure Blob Storage target settings properties to return. + CalculatedColumnModeEnum: + type: string + enum: + - source + - target + title: CalculatedColumnModeEnum + description: >- + The calculated column mode + + Calculated column mode is used to determine if the calculated column is + a new column or an override of an existing + + It can be used either on the source or the target + CancelRiverRunBody: + properties: + run_id: + type: string + title: Run Id + description: The run_id to cancel. + run_group_id: + type: string + title: Run Group Id + description: >- + The run_group_id to cancel. Use this field when you want to cancel + multiple tables or sub rivers + type: object + title: CancelRiverRunBody + description: Cancel River Run body + CdcConfig: + properties: + config: + oneOf: + - $ref: '#/components/schemas/CdcMysqlConfig' + - $ref: '#/components/schemas/CdcPostgresConfig' + - $ref: '#/components/schemas/CdcSqlServerConfig' + - $ref: '#/components/schemas/CdcMongodbConfig' + - $ref: '#/components/schemas/CdcOracleConfig' + title: Config + discriminator: + propertyName: datasource_type + mapping: + mysql: '#/components/schemas/CdcMysqlConfig' + postgres: '#/components/schemas/CdcPostgresConfig' + mssql: '#/components/schemas/CdcSqlServerConfig' + mongodb: '#/components/schemas/CdcMongodbConfig' + oracle: '#/components/schemas/CdcOracleConfig' + type: object + required: + - config + title: CdcConfig + description: The cdc config request class. + CdcMongodbConfig: + properties: + last_updated: + type: string + title: Last Updated + default: '2024-03-29T20:59:22.070733Z' + datasource_type: + type: string + enum: + - mongodb + title: Datasource Type + default: mongodb + resume_token: + type: string + title: Resume Token + description: The resume token position offset + type: object + required: + - resume_token + title: CdcMongodbConfig + description: |- + Cdc Mongodb Config: + * resume token offset of the Mongodb database CDC + CdcMysqlConfig: + properties: + last_updated: + type: string + title: Last Updated + default: '2024-03-29T20:59:22.070733Z' + datasource_type: + type: string + enum: + - mysql + title: Datasource Type + default: mysql + binlog_file: + type: string + title: Binlog File + description: The bin log file + example: mysql-bin-changelog.000931 + binlog_position: + type: string + title: Binlog Position + description: The binlog position + example: '515820321' + gtid: + type: string + title: Gtid + description: The gtid position offset + example: >- + 51d431b9-585e-11ed-9222-022d1416c792:1-34,7e0646d8-b3e4-11eb-a15e-0a47d4c912dc:1-21343,8937b67f-3ab2-11ea-9bc9-0ad74248f0fe:1-5182243242,c23585e8-579a-11ed-83e3-0a47d4c912dc:1-12 + type: object + title: CdcMysqlConfig + description: |- + Cdc mysql config: + * binlog offset of the MYSQL database CDC + CdcOracleConfig: + properties: + last_updated: + type: string + title: Last Updated + default: '2024-03-29T20:59:22.070733Z' + datasource_type: + type: string + enum: + - oracle + title: Datasource Type + default: oracle + scn_offset: + type: integer + title: Scn Offset + description: The system change number offset + type: object + required: + - scn_offset + title: CdcOracleConfig + description: |- + Cdc Oracle config: + * system change number of the Oracle database CDC + CdcPostgresConfig: + properties: + last_updated: + type: string + title: Last Updated + default: '2024-03-29T20:59:22.070733Z' + datasource_type: + type: string + enum: + - postgres + title: Datasource Type + default: postgres + lsn_offset: + type: integer + title: Lsn Offset + description: The lsn position offset + example: 518 + type: object + required: + - lsn_offset + title: CdcPostgresConfig + description: |- + Cdc postgres config: + * lsn offset of the postgres database CDC + CdcSqlServerConfig: + properties: + last_updated: + type: string + title: Last Updated + default: '2024-03-29T20:59:22.070733Z' + datasource_type: + type: string + enum: + - mssql + title: Datasource Type + default: mssql + lsn_offset_sql_server: + type: string + title: Lsn Offset Sql Server + description: The lsn offset sql server position offset + example: '0x0000004B000009350003' + type: object + required: + - lsn_offset_sql_server + title: CdcSqlServerConfig + description: |- + Cdc sql server config: + * lsn offset of the sql server database CDC + ColumnsIncrementTypeEnum: + type: string + enum: + - INTEGER + - TIMESTAMP + - DATE + - FLOAT + - STRING + - DATETIME + title: ColumnsIncrementTypeEnum + description: All increment columns data types + ColumnsIntervalTypeEnum: + type: string + enum: + - datetime + - runningnumber + - epoch + - row_version + - date + title: ColumnsIntervalTypeEnum + description: The column's interval type + ColumnsModeEnum: + type: string + enum: + - NULLABLE + - REPEATED + title: ColumnsModeEnum + description: All column modes. + ColumnsTypeEnum: + type: string + enum: + - INTEGER + - TIMESTAMP + - DATE + - FLOAT + - STRING + - DATETIME + - BOOLEAN + - RECORD + - VARCHAR + - SMALLINT + - BIGINT + - OBJECT + - NUMBER + - VARIANT + - JSON + - TEXT + - TIME + - TINYINT + title: ColumnsTypeEnum + description: All column data types. + ConvertFileTypeEnum: + type: string + enum: + - parquet + title: ConvertFileTypeEnum + description: >- + Conversion service types of file conversions. + + The conversion service supports multiple conversion including CSV and + JSON but the back only support PARQUET for now + + Once the back adds support for the other file types we can add them here + CopyRiverResponse: + properties: + details: + type: string + title: Details + cross_id: + type: string + title: Cross Id + description: The new river cross id + example: 62e7f4352c13160013dc39be + type: object + required: + - details + - cross_id + title: CopyRiverResponse + description: Copy river response + CreateOrUpdateScimTokenResponse: + properties: + account_id: + type: string + title: Account Id + description: The account id + examples: + - 65c2465a76ba59de1a868a4e + scim_service_url: + type: string + title: Scim Service Url + description: The connection string (URL) used to communicate with your SCIM app + examples: + - https://rivery-scim.rivery.io + token: + type: string + title: Token + description: >- + The SCIM authentication token. Keep the token somewhere safe. The + token will be shown only once. + examples: + - '1234' + type: object + required: + - account_id + - scim_service_url + - token + title: CreateOrUpdateScimTokenResponse + description: SCIM Token create or update response. + CreateUserTeam: + properties: + display_name: + type: string + title: Display Name + description: The display name in rivery + example: Rivery Core Team + description: + type: string + title: Description + description: Internal description + example: Some description + environments: + type: object + title: Environments + description: Dictionary of environment id and environment role + default: {} + example: + 633ede20f1fc5500111fd7b3: + role: viewer + 5f887c764c40e5598f717676: + role: viewer + is_all_environment_admin: + type: boolean + title: Is All Environment Admin + description: Indicates if group have Admin permission for all environment + default: false + example: true + type: object + required: + - display_name + title: CreateUserTeam + description: Request create user groups input. + DatabaseTableInput: + properties: + run_type_and_datasource: + type: string + enum: + - multi_tables + title: Run Type And Datasource + description: Internal field + default: multi_tables + details: + allOf: + - $ref: '#/components/schemas/WriteDatabaseTableDetailsInput' + title: Details + description: The database table details + type: object + required: + - details + title: DatabaseTableInput + description: |- + Table properties which define the db table data + This schema is being used for read + DatabricksModifiedColumn: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the column is selected and should be modified. + example: true + name: + type: string + title: Name + description: The name of the column. + example: column_name + type: + type: string + title: Type + description: The type of the column. + example: string + nullable: true + alias: + type: string + title: Alias + description: The alias of the column in the target table. + example: column_alias + nullable: true + expression: + type: string + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + example: select 'test' + nullable: true + is_key: + type: boolean + title: Is Key + description: If the column is a key. + example: true + nullable: true + sort_order: + type: integer + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + example: 1 + nullable: true + is_sort_key: + type: boolean + title: Is Sort Key + description: If the column is a sort column. + example: true + nullable: true + calculated_column_mode: + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + example: source + nullable: true + order: + type: integer + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + example: 1 + nullable: true + target_type: + type: string + enum: + - databricks + title: Target Type + description: Internal field, populated automatically + default: databricks + nullable: true + additionalProperties: false + type: object + required: + - is_selected + - name + title: DatabricksModifiedColumn + description: Databricks specific columns settings + DatabricksTargetSettings: + properties: + name: + type: string + enum: + - databricks + title: Name + description: The name of the target + default: databricks + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + table_name: + type: string + title: Table Name + description: >- + The table name of this target (only relevant for non multi table + source to target rivers) + default: '' + example: Table 1 + nullable: true + target_prefix: + type: string + title: Target Prefix + description: >- + The table prefix of this target (only relevant for multi table + source to target rivers) + default: '' + example: start_at_ + nullable: true + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: The order expression of the river entity. + example: id desc,createDate asc + nullable: true + loading_method: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: The loading method of this target + example: merge + merge_method: + allOf: + - $ref: '#/components/schemas/MergeMethod' + description: >- + The merge method to preform,only relevant when the loading mode is + Merge,if not provided the default merge method will be used.(merge) + example: merge + nullable: true + file_zone_settings: + allOf: + - $ref: '#/components/schemas/RiverFileZoneSettings' + title: File Zone Settings + description: The file zone settings of this target + nullable: true + file_path_destination: + type: string + title: File Path Destination + description: The file name and path + example: path/to/file + bucket_name: + type: string + title: Bucket Name + description: The bucket name + example: bucket + additional_settings: + type: object + title: Additional Settings + description: The additional settings of this target + default: {} + example: + key: value + nullable: true + type: object + required: + - loading_method + title: DatabricksTargetSettings + description: Databricks target settings properties to return. + DataframeAddInput: + properties: + connection_settings: + allOf: + - $ref: '#/components/schemas/DataframeConnectionSettingsInput' + title: Connection Settings + description: The connection settings of the dataframe + example: |- + "connection_settings":{ + "connection" : "6278159bcfc148000fad5632", + "datasource_id" : "s3", + "storage_type" : "aws", + "default_bucket" : "rivery-dev-tests"} + + name: + type: string + title: Name + description: The name of the dataframe - must be unique + example: unique_name + type: object + required: + - name + title: DataframeAddInput + description: |- + Input for adding Dataframe + + DataframeConnectionSettingsInput: + properties: + connection: + type: string + title: Connection + description: The connection of the connection_settings + example: 62e7f4352c13160013dc39be + datasource_id: + type: string + title: Datasource Id + description: The datasource_id of the connection_settings + example: aws + default_bucket: + type: string + title: Default Bucket + description: The default bucket of the connection settings + example: some_s3_bucket + storage_type: + type: string + title: Storage Type + description: The storage type of the connection settings + example: s3 + type: object + required: + - connection + - datasource_id + - default_bucket + - storage_type + title: DataframeConnectionSettingsInput + description: |- + Input for the Dataframe connection settings + + DataframePaginationResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + account_id: + type: string + title: Account Id + description: The account id + environment_id: + type: string + title: Environment Id + description: The environment id + items: + items: + $ref: '#/components/schemas/DataframeResponse' + type: array + title: Items + type: object + required: + - current_page_size + - account_id + - environment_id + - items + title: DataframePaginationResponse + description: |- + Dataframe response properties to return as a paginated list + + DataframeResponse: + properties: + account_id: + type: string + title: Account Id + description: The account id of the user + example: 62e7f4352c13160013dc39be + environment_id: + type: string + title: Environment Id + description: The environment id of the user + example: 82e7f4122c13169813dc395g + connection_settings: + type: object + title: Connection Settings + description: The connection settings of the dataframe + default: {} + example: |- + "connection_settings":{ + "connection" : "6278159bcfc148000fad5632", + "datasource_id" : "s3", + "storage_type" : "aws", + "default_bucket" : "rivery-dev-tests"} + name: + type: string + title: Name + description: The name of the dataframe - must be unique + example: unique_name + type: object + required: + - account_id + - environment_id + - name + title: DataframeResponse + description: |- + Dataframe response properties to return + + DataframeUpdateInput: + properties: + connection_settings: + allOf: + - $ref: '#/components/schemas/DataframeConnectionSettingsInput' + title: Connection Settings + description: The connection settings of the dataframe + example: |- + "connection_settings":{ + "connection" : "6278159bcfc148000fad5632", + "datasource_id" : "s3", + "storage_type" : "aws", + "default_bucket" : "rivery-dev-tests"} + + type: object + title: DataframeUpdateInput + description: Input for updating Dataframe + DateRange: + properties: + time_period: + allOf: + - $ref: '#/components/schemas/RiverTimePeriodEnum' + description: The time period of the river entity. + default: custom + example: custom + nullable: true + start_date: + type: string + title: Start Date + description: The start date of the river entity. + example: '2020-12-01T00:00:00.000Z' + nullable: true + end_date: + type: string + title: End Date + description: The end date of the river entity. + example: '2020-01-01T00:00:00.000Z' + nullable: true + days_back: + type: integer + title: Days Back + description: The days back of the river entity. + default: 0 + example: 1 + include_end_value: + type: boolean + title: Include End Value + description: Whether to include or exclude the end_value in the date range + default: false + example: true + extra: + name: date_range.include_end_value + type: switch + display_name: Include the End Value of the End Date + left_label: true + split_time_intervals: + allOf: + - $ref: '#/components/schemas/SplitTimeIntervals' + title: Split Time Intervals + description: The interval time to split by when using date increment. + default: + time_interval: dont_split + interval_size: 1 + example: + time_interval: days + interval_size: 3 + update_increment_on_failures: + type: boolean + title: Update Increment On Failures + description: >- + If to update the start date for the next extraction even if the + current extraction is unsuccessful. + default: false + example: true + type: object + title: DateRange + description: Date range when using incremental loading method. + DistributionMethodEnum: + type: string + enum: + - all + - even + - key + title: DistributionMethodEnum + description: |- + Enum for distribution methods in Redshift as a target, example: + ALL - A copy of the entire table is distributed to every node + EmailTargetSettings: + properties: + name: + type: string + enum: + - target_email + title: Name + description: The name of the target + default: target_email + email_list: + items: + type: string + type: array + maxItems: 15 + minItems: 1 + title: Email List + description: A list of email addresses to send the data to. + example: + - example@example.io + type: object + required: + - email_list + title: EmailTargetSettings + description: Email target settings properties to return. + EnvironmentsColorEnum: + type: string + enum: + - gray.400 + - tagGreen + - cBlues + - tagCyan + - tagGeekBlue + - cPurples + - tagPurple + - tagMagenta + - cOranges + - tagOrange + - yellow.200 + title: EnvironmentsColorEnum + description: The EnvironmentsColor enum provides all color options for environments + EnvironmentsFields: + properties: + _id: + type: string + title: ' Id' + account: + type: string + title: Account + description: The account id of the user + example: 62e7f4352c13160013dc39be + user_created: + type: string + title: User Created + description: The user id of the user who first created the environment + example: 62e7f4352c13160013dc39be + created_at: + anyOf: + - type: string + format: date-time + - type: string + title: Created At + description: >- + The environment creation date time in UTC timezone. Time format + YYYY-MM-DDThh:mm:ss.ms + example: '2022-07-25T18:38:55.640Z' + cross_id: + type: string + title: Cross Id + description: The cross id of the environment + example: 62e7f4352c13160013dc39be + updated_at: + anyOf: + - type: string + format: date-time + - type: string + title: Updated At + description: The time in which the environment was last updated (UTC time zone) + example: '2022-08-02T13:38:44.054000' + environment_name: + type: string + title: Environment Name + description: The environment name + example: Dev Environment + color: + allOf: + - $ref: '#/components/schemas/EnvironmentsColorEnum' + description: The environment color as shown in the app + default: gray.400 + example: Gray + description: + type: string + title: Description + description: The environment description + example: Development environment for new rivers + variables: + type: object + title: Variables + description: Environment's variables + example: + days_ago: '0' + aws_file_zone: Rivery-rivery + gcs_file_zone: Rivery-rivery + azure_file_zone: Rivery-rivery + hours_offset: '0' + is_deleted: + type: boolean + title: Is Deleted + description: A flag that indicates whether the environment is deleted + default: false + example: 'False' + deleted_by: + type: string + title: Deleted By + description: >- + The user id of the user who deleted the environment (if the + environment is deleted) + example: 62e7f4352c13160013dc39be + deleted_at: + anyOf: + - type: string + format: date-time + - type: string + title: Deleted At + description: >- + The time in which the environment was deleted (if the environment is + deleted). Time format YYYY-MM-DDThh:mm:ss.ms + example: '2022-07-25T18:38:55.640Z' + is_default: + type: boolean + title: Is Default + description: >- + A flag that indicates whether the environment is the account's + default environment + default: 'False' + example: 'True' + updated_by: + type: string + title: Updated By + description: The user id of the user who last updated the environment + example: 62e7f4352c13160013dc39be + type: object + required: + - _id + - account + - cross_id + - environment_name + - variables + title: EnvironmentsFields + description: |- + Environments properties to return. + + ExtractMethodEnum: + type: string + enum: + - all + - incremental + - log + title: ExtractMethodEnum + description: |- + Extract method enum. + The supported extract methods are: + - All - for extracting all the data with no filter + - Incremental - for extracting the data with an increment filter by a certain field / column + - LogBased - for CDC extraction using logs + FacebookAdsAdsTypeEnum: + type: string + enum: + - ads_ids + - ads_names + - ads_filter + title: FacebookAdsAdsTypeEnum + description: Facebook Ads, ads type enum + FacebookAdsCampaignsTypeEnum: + type: string + enum: + - campaigns_ids + - campaigns_names + - campaigns_filter + title: FacebookAdsCampaignsTypeEnum + description: Facebook Ads campaigns type enum + FacebookAdsSetsTypeEnum: + type: string + enum: + - adsets_ids + - adsets_names + - adsets_filter + title: FacebookAdsSetsTypeEnum + description: Facebook Ads ad sets type enum + FinancialStatusEnum: + type: string + enum: + - any + - paid + - unpaid + - voided + - pending + - refunded + - authorized + - partially_paid + - partially_refunded + title: FinancialStatusEnum + description: Shopify financial order status enum + GCSModifiedColumn: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the column is selected and should be modified. + example: true + name: + type: string + title: Name + description: The name of the column. + example: column_name + type: + type: string + title: Type + description: The type of the column. + example: string + nullable: true + alias: + type: string + title: Alias + description: The alias of the column in the target table. + example: column_alias + nullable: true + expression: + type: string + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + example: select 'test' + nullable: true + is_key: + type: boolean + title: Is Key + description: If the column is a key. + example: true + nullable: true + sort_order: + type: integer + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + example: 1 + nullable: true + is_sort_key: + type: boolean + title: Is Sort Key + description: If the column is a sort column. + example: true + nullable: true + calculated_column_mode: + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + example: source + nullable: true + order: + type: integer + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + example: 1 + nullable: true + target_type: + type: string + enum: + - GCS + title: Target Type + description: Internal field, populated automatically + default: GCS + nullable: true + additionalProperties: false + type: object + required: + - is_selected + - name + title: GCSModifiedColumn + description: GCS specific columns settings + GcsTargetSettings: + properties: + name: + type: string + enum: + - GCS + title: Name + description: The name of the target + default: GCS + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + path: + type: string + title: Path + description: The path of the file zone entity. + example: my_path + bucket_name: + type: string + title: Bucket Name + description: The bucket name of the file zone entity. + example: my_bucket + partitioned_kind: + allOf: + - $ref: '#/components/schemas/PartitionedKindEnum' + description: The partitioned kind of the file zone entity. + example: by_day + type: object + required: + - path + - bucket_name + - partitioned_kind + title: GcsTargetSettings + description: GCS target settings properties to return. + GeneralResponse: + properties: + details: + type: string + title: Details + type: object + required: + - details + title: GeneralResponse + description: General response schema contains only details + GetScimTokenStatusResponse: + properties: + account_id: + type: string + title: Account Id + description: The account id + examples: + - 65c2465a76ba59de1a868a4e + is_enabled: + type: boolean + title: Is Enabled + description: A flag that indicates whether SCIM provisioning is enabled + examples: + - true + scim_service_url: + type: string + title: Scim Service Url + description: The connection string (URL) used to communicate with your SCIM app + examples: + - https://rivery-scim.rivery.io + type: object + required: + - account_id + - is_enabled + - scim_service_url + title: GetScimTokenStatusResponse + description: SCIM token get status + GroupOrUserSourceEnum: + type: string + enum: + - rivery + - active_directory + title: GroupOrUserSourceEnum + description: >- + The source group. can be locally from Rivery or imported from external + provider + HTTPValidationError: + properties: + detail: + items: + $ref: '#/components/schemas/ValidationError' + type: array + title: Detail + type: object + title: HTTPValidationError + IDNameInput: + properties: + id: + type: string + title: Id + description: The if of the entity + name: + type: string + title: Name + description: The name of the entity + type: object + required: + - id + title: IDNameInput + description: Basic ID and Name input + IncrementColumn: + properties: + name: + type: string + title: Name + description: The column’s name + example: column name + type: + allOf: + - $ref: '#/components/schemas/ColumnsIncrementTypeEnum' + description: The data type of the increment column in the DB + example: DATETIME + incremental_type: + allOf: + - $ref: '#/components/schemas/ColumnsIntervalTypeEnum' + description: The interval type of the column + example: datetime + is_default: + type: boolean + title: Is Default + description: >- + A boolean field that indicates if the column should be the default + increment column + default: false + example: false + type: object + required: + - name + - type + - incremental_type + title: IncrementColumn + description: Increment columns for the table entity + IncrementalFieldEnum: + type: string + enum: + - updated at + - created at + title: IncrementalFieldEnum + description: Shopify addresses/customers incremental field enum + IntervalTimeExternalEnum: + type: string + enum: + - dont_split + - minutes + - hours + - days + - weeks + - months + - years + title: IntervalTimeExternalEnum + description: >- + Intervals by time options (external enum for IntervalChunkSizeEnum + options) + LegacyRiverResponse: + properties: + river_definition: + type: object + title: River Definition + description: The definition of the river version + example: + river: + name: river_name + id: 55fr7d4270fdca16cac18261 + type: river_type + version: river_version + source: + type: source_type + id: 55fr7d4270fdca16cac18261 + name: source_name + source_task_config: + type: object + title: Source Task Config + description: The source task config of the river version + example: + task: + name: task_name + target_task_config: + type: object + title: Target Task Config + description: The target task config of the river version + example: + task: + name: task_name + type: object + required: + - river_definition + - source_task_config + title: LegacyRiverResponse + description: >- + This class is used to return the river version definition in the legacy + format. + ListEnvironmentsPaginationResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + account_id: + type: string + title: Account Id + description: The account id + items: + items: + $ref: '#/components/schemas/EnvironmentsFields' + type: array + title: Items + type: object + required: + - current_page_size + - account_id + - items + title: ListEnvironmentsPaginationResponse + description: The list environments response to return as a paginated list + ListRiverObject: + properties: + name: + type: string + title: Name + description: Name of the river + example: river_name + river_status: + allOf: + - $ref: '#/components/schemas/RiverStatusEnum' + description: Status of the river + example: active + group_name: + type: string + title: Group Name + description: Name of the group associated with the river + example: river_group_1 + group_id: + type: string + title: Group Id + description: the id of the group associated with the river + example: 62e7f4352c13160013dc39be + river_schedulers: + items: + type: string + type: array + title: River Schedulers + description: List of schedulers used for the river + example: + - 0 * * * * + - 0 0 1 * * + datasource_id: + type: string + title: Datasource Id + description: Source ID of the river + example: 5f7d4270fdca16cac18261 + last_user_name_modified: + type: string + title: Last User Name Modified + description: User name of the last modifier + example: user_name + river_cross_id: + type: string + title: River Cross Id + description: River cross ID + example: 5f7d4270fdca16cac18261 + last_updated_at: + type: string + format: date-time + title: Last Updated At + description: Last time the river was modified + example: '2021-01-01T00:00:00.000Z' + description: + type: string + title: Description + description: Description of the river, if available + example: river_description + nullable: true + is_api_v2: + type: boolean + title: Is Api V2 + description: Flag indicating whether the river is using API v2 + example: true + river_type: + allOf: + - $ref: '#/components/schemas/RiverTypeEnum' + description: Type of the river + example: source_to_target + created_at: + type: string + format: date-time + title: Created At + description: Time the river was created + example: '2021-01-01T00:00:00.000Z' + type: object + required: + - name + - river_status + - group_name + - group_id + - river_schedulers + - datasource_id + - last_user_name_modified + - river_cross_id + - last_updated_at + - is_api_v2 + - river_type + - created_at + title: ListRiverObject + description: River list object for the list endpoint. + ListRiversSortByFilterEnum: + type: string + enum: + - last_updated_at + - source_name + - river_name + - group_name + - group_id + title: ListRiversSortByFilterEnum + description: The river sort by filter enum provide all the sort by options. + LoadingMode: + type: string + enum: + - overwrite + - append + - merge + title: LoadingMode + description: 'Enum for loading modes ' + LogicBlockTypeEnum: + type: string + enum: + - big_query_sql + - river + - redshift + - action + - azure_datalake + - azure_sql + - azure_datalake_job + - snowflake + - logicode + - azure_sql_dwh + - postgres + - databricks + - firebolt + - athena + title: LogicBlockTypeEnum + description: >- + Logic step can have block types - this enum enumerate the different + block types + LogicContainerTypeEnum: + type: string + enum: + - run_once + - loop_over + - condition + title: LogicContainerTypeEnum + description: ALl of the logic container options + LogicProperties: + properties: + properties_type: + type: string + enum: + - logic + title: Properties Type + default: logic + additionalProperties: false + type: object + title: LogicProperties + description: Logic properties which define the logic river properties + LogicStep: + properties: + is_container: + type: boolean + title: Is Container + description: A flag that indicates whether this step is a container or not + example: true + container_type: + allOf: + - $ref: '#/components/schemas/LogicContainerTypeEnum' + description: The container type - if any + example: run_once + start_date_utc: + type: string + format: date-time + title: Start Date Utc + description: >- + The start date time in UTC timezone.Time format + YYYY-MM-DDThh:mm:ss.ms + example: '2022-07-25T18:38:55.640Z' + start_date_in_milliseconds: + type: integer + title: Start Date In Milliseconds + description: The start epoch in milliseconds. + example: 1658774335000 + end_date_utc: + type: string + format: date-time + title: End Date Utc + description: The end date time in UTC timezone.Time format YYYY-MM-DDThh:mm:ss.ms + example: '2022-07-25T18:38:55.640Z' + nullable: true + end_date_in_milliseconds: + type: integer + title: End Date In Milliseconds + description: The end epoch in milliseconds. + example: 1658774335000 + nullable: true + step_status: + allOf: + - $ref: '#/components/schemas/ActivityStatusEnum' + description: The step status + example: succeeded + loop_iteration_number: + type: integer + title: Loop Iteration Number + description: >- + If loop exist, it will contain the loop iteration number, otherwise + 0 + duration: + type: string + title: Duration + description: >- + Step duration. Format h:mm:ss.ms. If step failed or canceled the + duration will be 'None' + example: '0:01:23.275006' + step_execution_id: + type: string + title: Step Execution Id + step_id: + type: string + title: Step Id + step_index: + type: string + title: Step Index + error_description: + type: string + title: Error Description + description: The error description if any + example: error + nullable: true + logicode_statistics: + allOf: + - $ref: '#/components/schemas/LogicodeStatistics' + title: Logicode Statistics + description: The logicode statistics of RPU, duration and network + nullable: true + block_type: + allOf: + - $ref: '#/components/schemas/LogicBlockTypeEnum' + description: The logic block type + example: action + nullable: true + type: object + required: + - is_container + - start_date_utc + - start_date_in_milliseconds + - step_status + - loop_iteration_number + - duration + - step_execution_id + - step_id + - step_index + title: LogicStep + description: Logic step configuration + LogicodeStatistics: + properties: + logicode_rpu: + type: number + title: Logicode Rpu + description: The total RPUs that were consumed during this step run + logicode_network_mb: + type: number + title: Logicode Network Mb + description: The total network (in and out) consumption of this step run + logicode_duration_seconds: + type: number + title: Logicode Duration Seconds + description: The duration of this step + type: object + required: + - logicode_rpu + - logicode_network_mb + - logicode_duration_seconds + title: LogicodeStatistics + description: Logicode (python) statistics + MergeMethod: + type: string + enum: + - switch_tables + - delete_insert + - merge + title: MergeMethod + description: 'Enum for merge methods ' + MongoDBAdditionalSourceSettings: + properties: + filter_expression: + type: string + title: Filter Expression + description: The filter expression of the river entity. + default: '' + example: id > 100 + source_type: + type: string + enum: + - mongodb + title: Source Type + description: Internal field, populated automatically + default: mongodb + nullable: true + concurrent_requests_number: + type: integer + title: Concurrent Requests Number + description: Number of connections to open concurrently to MongoDB + default: 1 + example: 1 + nullable: true + type: object + title: MongoDBAdditionalSourceSettings + description: MongoDB specific source settings + MongoDBSourceCDCSettings: + properties: + default_tables_migration_option: + allOf: + - $ref: '#/components/schemas/RiverTablesMigrationDefaultSyncOption' + description: >- + This option determine the tables migration option. For example. + Choosing SKIP_INITIAL_MIGRATIONwill cause all tables to inherit the + status from the River level to be used for a one-time process. + default: RUN_INITIAL_MIGRATION + example: SKIP_INITIAL_MIGRATION + datasource_id: + type: string + enum: + - mongodb + title: Datasource Id + description: The data source id of this source + default: mongodb + type: object + title: MongoDBSourceCDCSettings + description: MongoDB Source settings properties. + MySQLAdditionalSourceSettings: + properties: + filter_expression: + type: string + title: Filter Expression + description: The filter expression of the river entity. + default: '' + example: id > 100 + source_type: + type: string + enum: + - mysql + title: Source Type + description: Internal field, populated automatically + default: mysql + nullable: true + type: object + title: MySQLAdditionalSourceSettings + description: MySQL specific source settings + MysqlSourceCDCSettings: + properties: + default_tables_migration_option: + allOf: + - $ref: '#/components/schemas/RiverTablesMigrationDefaultSyncOption' + description: >- + This option determine the tables migration option. For example. + Choosing SKIP_INITIAL_MIGRATIONwill cause all tables to inherit the + status from the River level to be used for a one-time process. + default: RUN_INITIAL_MIGRATION + example: SKIP_INITIAL_MIGRATION + datasource_id: + type: string + enum: + - mysql + title: Datasource Id + description: The data source id of this source + default: mysql + type: object + title: MysqlSourceCDCSettings + description: Mysql Source settings properties to return. + NotificationSettings: + properties: + warning: + allOf: + - $ref: '#/components/schemas/RiverNotificationReport' + title: Warning + description: Notification report for warning. + nullable: true + failure: + allOf: + - $ref: '#/components/schemas/RiverNotificationReport' + title: Failure + description: Notification report for failure. + nullable: true + run_threshold: + allOf: + - $ref: '#/components/schemas/RiverNotificationReport' + title: Run Threshold + description: Notification report for run threshold. + nullable: true + type: object + title: NotificationSettings + description: |- + Notification settings properties for the entire river + (define what to do on warning, error, failure/timeout) + OperationResponse: + properties: + operation_id: + type: string + title: Operation Id + description: The ID of the operation + example: 62e7f4352c13160013dc39be + operation_type: + type: string + title: Operation Type + description: The type of the operation + example: dataframe + last_update_date: + type: string + format: date-time + title: Last Update Date + description: The date time in UTC timezone of the last update + example: '2022-08-02T13:38:44.054000' + status: + allOf: + - $ref: '#/components/schemas/PullRequestStatus' + description: The current status of the operation id + example: D + result: + title: Result + description: The result of the operation + example: 'true' + error_message: + type: string + title: Error Message + description: The error message of the operation + example: '[RVR-QBK-003]: Response value error: Missing Rows/Columns' + type: object + required: + - operation_id + - operation_type + - last_update_date + - status + title: OperationResponse + description: |- + Operation properties to return. + + OracleAdditionalSourceSettings: + properties: + filter_expression: + type: string + title: Filter Expression + description: The filter expression of the river entity. + default: '' + example: id > 100 + source_type: + type: string + enum: + - oracle + title: Source Type + description: Internal field, populated automatically + default: oracle + nullable: true + type: object + title: OracleAdditionalSourceSettings + description: Oracle specific source settings + OracleSourceCDCSettings: + properties: + default_tables_migration_option: + allOf: + - $ref: '#/components/schemas/RiverTablesMigrationDefaultSyncOption' + description: >- + This option determine the tables migration option. For example. + Choosing SKIP_INITIAL_MIGRATIONwill cause all tables to inherit the + status from the River level to be used for a one-time process. + default: RUN_INITIAL_MIGRATION + example: SKIP_INITIAL_MIGRATION + datasource_id: + type: string + enum: + - oracle + title: Datasource Id + description: The data source id of this source + default: oracle + type: object + title: OracleSourceCDCSettings + description: Oracle Source settings properties to return. + PartitionedKindEnum: + type: string + enum: + - by_day + - by_hour + - by_minute + title: PartitionedKindEnum + description: Partitioned kind for storages + PatchUserTeamsInput: + properties: + display_name: + type: string + title: Display Name + description: The display name in rivery + example: Rivery Core Team + description: + type: string + title: Description + description: Internal description + example: Some description + environments: + type: object + title: Environments + description: Dictionary of environment id and environment role + example: + 633ede20f1fc5500111fd7b3: + role: viewer + 5f887c764c40e5598f717676: + role: viewer + is_all_environment_admin: + type: boolean + title: Is All Environment Admin + description: Indicates if group have Admin permission for all environment + example: true + type: object + title: PatchUserTeamsInput + description: Request patch user groups input. + PostgreSQLAdditionalSourceSettings: + properties: + filter_expression: + type: string + title: Filter Expression + description: The filter expression of the river entity. + default: '' + example: id > 100 + source_type: + type: string + enum: + - postgresql + title: Source Type + description: Internal field, populated automatically + default: postgresql + nullable: true + type: object + title: PostgreSQLAdditionalSourceSettings + description: PostgreSQL specific source settings + PostgresAdditionalTargetSettings: + properties: + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: >- + The order expression of the river entity,to filter duplications from + the source data by the provided order expression (for `merge` + loading method). + example: id desc,createDate asc + nullable: true + target_loading: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: >- + The target loading of the table entity,if not specified the default + loading mode of the riverwill be used. + example: merge + nullable: true + target_type: + type: string + enum: + - postgres + title: Target Type + description: Internal field, populated automatically + default: postgres + nullable: true + analyze_tables: + type: boolean + title: Analyze Tables + description: Analyze the tables after the load process + default: false + type: object + title: PostgresAdditionalTargetSettings + description: Postgres specific target settings + PostgresModifiedColumn: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the column is selected and should be modified. + example: true + name: + type: string + title: Name + description: The name of the column. + example: column_name + type: + type: string + title: Type + description: The type of the column. + example: string + nullable: true + alias: + type: string + title: Alias + description: The alias of the column in the target table. + example: column_alias + nullable: true + expression: + type: string + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + example: select 'test' + nullable: true + is_key: + type: boolean + title: Is Key + description: If the column is a key. + example: true + nullable: true + sort_order: + type: integer + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + example: 1 + nullable: true + is_sort_key: + type: boolean + title: Is Sort Key + description: If the column is a sort column. + example: true + nullable: true + calculated_column_mode: + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + example: source + nullable: true + order: + type: integer + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + example: 1 + nullable: true + target_type: + type: string + enum: + - postgres + title: Target Type + description: Internal field, populated automatically + default: postgres + nullable: true + additionalProperties: false + type: object + required: + - is_selected + - name + title: PostgresModifiedColumn + description: Postgres specific columns settings + PostgresSourceCDCSettings: + properties: + default_tables_migration_option: + allOf: + - $ref: '#/components/schemas/RiverTablesMigrationDefaultSyncOption' + description: >- + This option determine the tables migration option. For example. + Choosing SKIP_INITIAL_MIGRATIONwill cause all tables to inherit the + status from the River level to be used for a one-time process. + default: RUN_INITIAL_MIGRATION + example: SKIP_INITIAL_MIGRATION + datasource_id: + type: string + enum: + - postgres + title: Datasource Id + description: The data source id of this source + default: postgres + custom_replication_slot: + type: string + title: Custom Replication Slot + description: The custom replication slot of this source + example: custom_replication_slot + custom_publication: + type: string + title: Custom Publication + description: The custom publication of this source + example: custom_publication + type: object + title: PostgresSourceCDCSettings + description: Postgres Source settings properties to return. + PostgresTargetSettings: + properties: + name: + type: string + enum: + - postgres + title: Name + description: The name of the target + default: postgres + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + table_name: + type: string + title: Table Name + description: >- + The table name of this target (only relevant for non multi table + source to target rivers) + default: '' + example: Table 1 + nullable: true + target_prefix: + type: string + title: Target Prefix + description: >- + The table prefix of this target (only relevant for multi table + source to target rivers) + default: '' + example: start_at_ + nullable: true + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: The order expression of the river entity. + example: id desc,createDate asc + nullable: true + loading_method: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: The loading method of this target + example: merge + merge_method: + allOf: + - $ref: '#/components/schemas/MergeMethod' + description: >- + The merge method to preform,only relevant when the loading mode is + Merge,if not provided the default merge method will be used.(merge) + example: merge + nullable: true + file_zone_settings: + allOf: + - $ref: '#/components/schemas/RiverFileZoneSettings' + title: File Zone Settings + description: The file zone settings of this target + nullable: true + file_path_destination: + type: string + title: File Path Destination + description: The file name and path + example: path/to/file + bucket_name: + type: string + title: Bucket Name + description: The bucket name + example: bucket + additional_settings: + type: object + title: Additional Settings + description: The additional settings of this target + default: {} + example: + key: value + nullable: true + type: object + required: + - loading_method + title: PostgresTargetSettings + description: Postgres target settings properties to return. + PredefinedColumnModel: + properties: + name: + type: string + title: Name + description: The column name. + example: column_name + type: + allOf: + - $ref: '#/components/schemas/ColumnsTypeEnum' + description: The column's data type. + example: STRING + is_key: + type: boolean + title: Is Key + description: Whether the column is a key. + default: false + example: true + alias: + type: string + title: Alias + description: The column name's alias. + example: column_alias + mode: + allOf: + - $ref: '#/components/schemas/ColumnsModeEnum' + description: The column's mode. + example: NULLABLE + datasource_id: + allOf: + - $ref: '#/components/schemas/SourceTypeEnum' + description: The column datasource id. + example: shopify + report: + type: string + title: Report + description: The column's report id. + example: orders + fields: + items: + type: string + type: array + title: Fields + description: A list of subfields for the original field + type: object + required: + - name + - type + - datasource_id + - report + title: PredefinedColumnModel + description: Predefined report column structure + PredefinedColumnsPaginatedResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + items: + items: + $ref: '#/components/schemas/PredefinedColumnModel' + type: array + title: Items + description: A list of predefined columns + type: object + required: + - current_page_size + - items + title: PredefinedColumnsPaginatedResponse + description: The response for the get predefined columns. + PredefinedMetadataModelResponse: + properties: + title: + type: string + title: Title + description: The report title. + example: my title + description: + type: string + title: Description + description: The report description. + example: report description + properties: + type: object + title: Properties + description: The report fields and metadata. + required: + items: + type: string + type: array + title: Required + description: A list of required report fields + example: + - id + type: object + required: + - title + - description + - properties + title: PredefinedMetadataModelResponse + description: The response for the get predefined metadata. + PredefinedReportShopifyTableInput: + properties: + run_type_and_datasource: + type: string + enum: + - predefined_report_shopify + title: Run Type And Datasource + description: Internal field + default: predefined_report_shopify + details: + anyOf: + - $ref: '#/components/schemas/WriteShopifyPredefinedOrdersReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedShopReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedAddressesReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedAnalyticReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedCustomersReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedInventoryLevelsReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedMarketingEventsReport' + - $ref: >- + #/components/schemas/WriteShopifyPredefinedOrderTransactionsReport + - $ref: '#/components/schemas/WriteShopifyPredefinedProductsReport' + title: Details + description: The predefined report table details + additionalProperties: false + type: object + required: + - details + title: PredefinedReportShopifyTableInput + description: |- + Table properties which define the predefined report table data + This schema is being used for read + PredefinedTableModel: + properties: + id: + type: string + title: Id + description: The table id. + example: table_id + increment_columns: + items: + $ref: '#/components/schemas/IncrementColumn' + type: array + title: Increment Columns + description: List of columns that the table can run incrementally by. + example: + - incremental_type: runningnumber + type: FLOAT + name: days_unsigned__c + is_default: false + datasource_id: + type: string + title: Datasource Id + description: The id of the datasource. + example: shopify + report_id: + type: string + title: Report Id + description: The id of the report. + example: predefined_orders + report_name: + type: string + title: Report Name + description: The name of the report. + example: orders + no_increment: + type: boolean + title: No Increment + description: Indication if there is no increment for the report. + nullable: true + increment_required: + type: boolean + title: Increment Required + description: Indication if the increment is required for the report. + nullable: true + user_parameters: + items: + type: string + type: array + title: User Parameters + description: List of parameters the user can input and change. + default: [] + example: + - date + nullable: true + hide_parameters: + items: + type: string + type: array + title: Hide Parameters + description: List of parameters hidden to the user + default: [] + nullable: true + type: object + required: + - id + - increment_columns + - datasource_id + - report_id + - report_name + title: PredefinedTableModel + description: >- + Predefined table properties to return (for Shopify, Facebook ads, + etc...) + PredefinedTablesModelPaginatedResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + items: + items: + $ref: '#/components/schemas/PredefinedTableModel' + type: array + title: Items + description: A list of predefined tables + type: object + required: + - current_page_size + - items + title: PredefinedTablesModelPaginatedResponse + description: The response for the get predefined tables. + ProductsIncrementalFieldEnum: + type: string + enum: + - updated at + - created at + - published at + title: ProductsIncrementalFieldEnum + description: Shopify products incremental field enum + PullRequestStatus: + type: string + enum: + - W + - E + - R + - D + title: PullRequestStatus + description: >- + The status of the pull request that we use in the back, and expose in + the API + RedshiftAdditionalTargetSettings: + properties: + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: >- + The order expression of the river entity,to filter duplications from + the source data by the provided order expression (for `merge` + loading method). + example: id desc,createDate asc + nullable: true + target_loading: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: >- + The target loading of the table entity,if not specified the default + loading mode of the riverwill be used. + example: merge + nullable: true + target_type: + type: string + enum: + - redshift + title: Target Type + description: Internal field, populated automatically + default: redshift + nullable: true + distribution_method: + allOf: + - $ref: '#/components/schemas/DistributionMethodEnum' + description: The distribution method of the target. + default: even + example: even + merge_method: + allOf: + - $ref: '#/components/schemas/MergeMethod' + description: >- + The merge method of the table, if not specified the default merge + method of the riverwill be used. + example: merge + nullable: true + type: object + title: RedshiftAdditionalTargetSettings + description: Redshift specific target settings + RedshiftModifiedColumn: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the column is selected and should be modified. + example: true + name: + type: string + title: Name + description: The name of the column. + example: column_name + type: + type: string + title: Type + description: The type of the column. + example: string + nullable: true + alias: + type: string + title: Alias + description: The alias of the column in the target table. + example: column_alias + nullable: true + expression: + type: string + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + example: select 'test' + nullable: true + is_key: + type: boolean + title: Is Key + description: If the column is a key. + example: true + nullable: true + sort_order: + type: integer + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + example: 1 + nullable: true + is_sort_key: + type: boolean + title: Is Sort Key + description: If the column is a sort column. + example: true + nullable: true + calculated_column_mode: + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + example: source + nullable: true + order: + type: integer + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + example: 1 + nullable: true + target_type: + type: string + enum: + - redshift + title: Target Type + description: Internal field, populated automatically + default: redshift + nullable: true + length: + type: integer + title: Length + description: The length of VARCHAR columns. + example: 256 + nullable: true + scale: + type: integer + title: Scale + description: The scale of DECIMAL columns. + example: 0 + nullable: true + precision: + type: integer + title: Precision + description: The precision of DECIMAL columns. + example: 18 + nullable: true + is_dist_key: + type: boolean + title: Is Dist Key + description: >- + If the column is a unique Distkey column on which the table is + distributed to each node + example: true + nullable: true + is_sorted: + type: boolean + title: Is Sorted + description: >- + If the column should be sorted (if true- sort_order is the order of + the column for sorting. + example: true + nullable: true + additionalProperties: false + type: object + required: + - is_selected + - name + title: RedshiftModifiedColumn + description: Redshift specific columns settings + RedshiftTargetSettings: + properties: + name: + type: string + enum: + - redshift + title: Name + description: The name of the target + default: redshift + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + table_name: + type: string + title: Table Name + description: >- + The table name of this target (only relevant for non multi table + source to target rivers) + default: '' + example: Table 1 + nullable: true + target_prefix: + type: string + title: Target Prefix + description: >- + The table prefix of this target (only relevant for multi table + source to target rivers) + default: '' + example: start_at_ + nullable: true + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: The order expression of the river entity. + example: id desc,createDate asc + nullable: true + loading_method: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: The loading method of this target + example: merge + merge_method: + allOf: + - $ref: '#/components/schemas/MergeMethod' + description: >- + The merge method to preform,only relevant when the loading mode is + Merge,if not provided the default merge method will be used.(merge) + example: merge + nullable: true + file_zone_settings: + allOf: + - $ref: '#/components/schemas/RiverFileZoneSettings' + title: File Zone Settings + description: The file zone settings of this target + nullable: true + file_path_destination: + type: string + title: File Path Destination + description: The file name and path + example: path/to/file + bucket_name: + type: string + title: Bucket Name + description: The bucket name + example: bucket + additional_settings: + type: object + title: Additional Settings + description: The additional settings of this target + default: {} + example: + key: value + nullable: true + schema_name: + type: string + title: Schema Name + description: The schema name of this target + example: Schema 1 + nullable: true + type: object + required: + - loading_method + title: RedshiftTargetSettings + description: Redshift target settings properties to return. + RestoreRiverVersionInput: + properties: + version_id: + type: string + title: Version Id + description: The id of the version to restore. + example: 5f7d4270fdca16cac18261 + additionalProperties: false + type: object + required: + - version_id + title: RestoreRiverVersionInput + description: Input for restoring a river version + RiverActivityRun: + properties: + run_id: + type: string + title: Run Id + description: The run ID + example: 5658a1c9ea724ee59f048cbb5a6f734a + datasource_id: + type: string + title: Datasource Id + description: The datasource ID + example: mysql + error_description: + type: string + title: Error Description + description: The error description if any + example: error + nullable: true + units: + type: number + title: Units + description: Total RPU (units) + example: 2.1 + rpu: + type: number + title: Rpu + description: Total RPU + example: 2.1 + run_group_id: + type: string + title: Run Group Id + description: The run group id + example: 201dcf8182ad4a59868cb41b957fdc8d + status: + $ref: '#/components/schemas/ActivityStatusEnum' + source_name: + type: string + title: Source Name + description: The name of the source + example: mysql + target_name: + type: string + title: Target Name + description: The target table name + example: table + nullable: true + start_date_utc: + type: string + format: date-time + title: Start Date Utc + description: >- + The start date time in UTC timezone.Time format + YYYY-MM-DDThh:mm:ss.ms + example: '2022-07-25T18:38:55.640Z' + start_date_in_milliseconds: + type: integer + title: Start Date In Milliseconds + description: The start epoch in milliseconds. + example: 1658774335000 + end_date_utc: + type: string + format: date-time + title: End Date Utc + description: The end date time in UTC timezone.Time format YYYY-MM-DDThh:mm:ss.ms + example: '2022-07-25T18:38:55.640Z' + nullable: true + end_date_in_milliseconds: + type: integer + title: End Date In Milliseconds + description: The end epoch in milliseconds. + example: 1658774335000 + nullable: true + sub_river_id: + type: string + title: Sub River Id + description: The sub river id + example: 507f191e810c19729de860ea + nullable: true + is_sub_river_run: + type: boolean + title: Is Sub River Run + description: A flag that indicates whether this run is of a sub river or not + example: false + type: object + required: + - run_id + - datasource_id + - units + - rpu + - run_group_id + - status + - source_name + - start_date_utc + - start_date_in_milliseconds + - is_sub_river_run + title: RiverActivityRun + description: A run + RiverActivityRunGroup: + properties: + run_group_id: + type: string + title: Run Group Id + description: The run group id + example: 201dcf8182ad4a59868cb41b957fdc8d + status: + type: string + title: Status + units: + type: number + title: Units + description: Total RPU (units) + example: 2.1 + rpu: + type: number + title: Rpu + description: Total RPU + example: 2.1 + max_duration_in_milliseconds: + type: integer + title: Max Duration In Milliseconds + run_date_epoch_milliseconds: + type: integer + title: Run Date Epoch Milliseconds + run_date_utc: + type: string + format: date-time + title: Run Date Utc + run_end_date_epoch_milliseconds: + type: integer + title: Run End Date Epoch Milliseconds + description: The end epoch in milliseconds. + example: 1658774335000 + nullable: true + run_end_date_utc: + type: string + format: date-time + title: Run End Date Utc + description: The end date time in UTC timezone.Time format YYYY-MM-DDThh:mm:ss.ms + example: '2022-07-25T18:38:55.640Z' + nullable: true + type: object + required: + - run_group_id + - status + - run_date_epoch_milliseconds + - run_date_utc + title: RiverActivityRunGroup + description: The run group details + RiverActivityRunGroupResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + account_id: + type: string + title: Account Id + description: The account id + environment_id: + type: string + title: Environment Id + description: The environment id + items: + items: + $ref: '#/components/schemas/RiverActivityRunGroup' + type: array + title: Items + river_cross_id: + type: string + title: River Cross Id + type: object + required: + - current_page_size + - account_id + - environment_id + - items + - river_cross_id + title: RiverActivityRunGroupResponse + description: The response for the activity run groups + RiverActivityRunGroupWithStatistics: + properties: + run_group_id: + type: string + title: Run Group Id + description: The run group id + example: 201dcf8182ad4a59868cb41b957fdc8d + status: + type: string + title: Status + units: + type: number + title: Units + description: Total RPU (units) + example: 2.1 + rpu: + type: number + title: Rpu + description: Total RPU + example: 2.1 + max_duration_in_milliseconds: + type: integer + title: Max Duration In Milliseconds + run_date_epoch_milliseconds: + type: integer + title: Run Date Epoch Milliseconds + run_date_utc: + type: string + format: date-time + title: Run Date Utc + run_end_date_epoch_milliseconds: + type: integer + title: Run End Date Epoch Milliseconds + description: The end epoch in milliseconds. + example: 1658774335000 + nullable: true + run_end_date_utc: + type: string + format: date-time + title: Run End Date Utc + description: The end date time in UTC timezone.Time format YYYY-MM-DDThh:mm:ss.ms + example: '2022-07-25T18:38:55.640Z' + nullable: true + running: + type: integer + title: Running + canceled: + type: integer + title: Canceled + pending: + type: integer + title: Pending + failed: + type: integer + title: Failed + succeeded: + type: integer + title: Succeeded + skipped: + type: integer + title: Skipped + type: object + required: + - run_group_id + - status + - run_date_epoch_milliseconds + - run_date_utc + - running + - canceled + - pending + - failed + - succeeded + - skipped + title: RiverActivityRunGroupWithStatistics + description: The run group details with statistics + RiverActivityRunLogicStepsLogsResponse: + properties: + logs_url: + type: string + title: Logs Url + type: object + required: + - logs_url + title: RiverActivityRunLogicStepsLogsResponse + description: run's logic step logs + RiverActivityRunLogicStepsResponse: + properties: + account_id: + type: string + title: Account Id + environment_id: + type: string + title: Environment Id + river_cross_id: + type: string + title: River Cross Id + run_id: + type: string + title: Run Id + steps: + additionalProperties: + $ref: '#/components/schemas/LogicStep' + type: object + title: Steps + type: object + required: + - account_id + - environment_id + - river_cross_id + - run_id + - steps + title: RiverActivityRunLogicStepsResponse + description: run's logic step + RiverActivityRunsResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + account_id: + type: string + title: Account Id + description: The account id + environment_id: + type: string + title: Environment Id + description: The environment id + items: + items: + $ref: '#/components/schemas/RiverActivityRun' + type: array + title: Items + river_cross_id: + type: string + title: River Cross Id + type: object + required: + - current_page_size + - account_id + - environment_id + - items + - river_cross_id + title: RiverActivityRunsResponse + description: The activity run response + RiverActivityStatisticResponse: + properties: + account_id: + type: string + title: Account Id + environment_id: + type: string + title: Environment Id + total_units: + type: number + title: Total Units + description: Total RPU (units) + example: 2.1 + total_rpu: + type: number + title: Total Rpu + description: Total RPU + example: 2.1 + running: + type: integer + title: Running + canceled: + type: integer + title: Canceled + pending: + type: integer + title: Pending + failed: + type: integer + title: Failed + succeeded: + type: integer + title: Succeeded + skipped: + type: integer + title: Skipped + river_cross_id: + type: string + title: River Cross Id + type: object + required: + - account_id + - environment_id + - total_units + - total_rpu + - running + - canceled + - pending + - failed + - succeeded + - skipped + - river_cross_id + title: RiverActivityStatisticResponse + description: Statistics response + RiverActivitySubRiver: + properties: + sub_river_id: + type: string + title: Sub River Id + sub_river_name: + type: string + title: Sub River Name + type: object + required: + - sub_river_id + - sub_river_name + title: RiverActivitySubRiver + description: Activity's sub river + RiverActivitySubRiverResponse: + properties: + items: + items: + $ref: '#/components/schemas/RiverActivitySubRiver' + type: array + title: Items + account_id: + type: string + title: Account Id + environment_id: + type: string + title: Environment Id + river_cross_id: + type: string + title: River Cross Id + type: object + required: + - items + - account_id + - environment_id + - river_cross_id + title: RiverActivitySubRiverResponse + description: The response of the sub river + RiverActivityTarget: + properties: + target_name: + type: string + title: Target Name + status: + $ref: '#/components/schemas/ActivityStatusEnum' + units: + type: number + title: Units + description: Total RPU (units) + example: 2.1 + rpu: + type: number + title: Rpu + description: Total RPU + example: 2.1 + last_run: + type: string + format: date-time + title: Last Run + type: object + required: + - target_name + - status + - units + - rpu + - last_run + title: RiverActivityTarget + description: The activity target + RiverActivityTargetResponse: + properties: + items: + items: + $ref: '#/components/schemas/RiverActivityTarget' + type: array + title: Items + account_id: + type: string + title: Account Id + environment_id: + type: string + title: Environment Id + river_cross_id: + type: string + title: River Cross Id + type: object + required: + - items + - account_id + - environment_id + - river_cross_id + title: RiverActivityTargetResponse + description: Target response + RiverFileZoneSettings: + properties: + path: + type: string + title: Path + description: The path of the file zone entity. + example: my_path + bucket_name: + type: string + title: Bucket Name + description: The bucket name of the file zone entity. + example: my_bucket + nullable: true + partitioned_kind: + allOf: + - $ref: '#/components/schemas/PartitionedKindEnum' + description: The partitioned kind of the file zone entity. + example: by_day + type: object + required: + - path + - partitioned_kind + title: RiverFileZoneSettings + description: River File zone settings properties to return. + RiverKindEnum: + type: string + enum: + - sub_river + - main_river + title: RiverKindEnum + description: River kind + RiverListResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + account_id: + type: string + title: Account Id + description: The account id + environment_id: + type: string + title: Environment Id + description: The environment id + items: + items: + $ref: '#/components/schemas/ListRiverObject' + type: array + title: Items + type: object + required: + - current_page_size + - account_id + - environment_id + - items + title: RiverListResponse + description: List rivers response object. + RiverMetadata: + properties: + description: + type: string + title: Description + description: The description of the river. + default: '' + example: River 1 description + river_status: + allOf: + - $ref: '#/components/schemas/RiverStatusEnum' + description: The status of the river. + default: disabled + example: active + type: object + title: RiverMetadata + description: River metadata properties for the CREATE + RiverMetadataExtended: + properties: + description: + type: string + title: Description + description: The description of the river. + default: '' + example: River 1 description + river_status: + allOf: + - $ref: '#/components/schemas/RiverStatusEnum' + description: The status of the river. + default: disabled + example: active + current_version_id: + type: string + title: Current Version Id + description: The current version ID of the river. + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + created_by: + type: string + title: Created By + description: The User that created the river. + example: SomeUser + last_updated_by: + type: string + title: Last Updated By + description: The User that last updated the river. + example: SomeUser + created_at: + type: string + format: date-time + title: Created At + description: The date the river was created. + example: '2020-09-01T00:00:00Z' + last_updated_at: + type: string + format: date-time + title: Last Updated At + description: The date the river was last updated. + example: '2020-09-01T12:00:00.000Z' + type: object + required: + - last_updated_by + - created_at + - last_updated_at + title: RiverMetadataExtended + description: Extended RiverMetadata to be returned with the GET + RiverModel: + properties: + cross_id: + type: string + title: Cross Id + description: The river cross id. + example: 62e7f4352c13160013dc39be + account_id: + type: string + title: Account Id + description: The account id. + example: 62e7f4352c13160013dc39be + kind: + allOf: + - $ref: '#/components/schemas/RiverKindEnum' + description: The kind of the river. + default: main_river + example: main_river + type: + allOf: + - $ref: '#/components/schemas/RiverTypeEnum' + description: The type of the river. + example: source_to_target + name: + type: string + title: Name + description: The name of the river. + example: my_river + environment_id: + type: string + title: Environment Id + description: The environment cross id. + example: 62e7f4352c13160013dc39be + environment_name: + type: string + title: Environment Name + description: The environment name. + example: my_environment + group_id: + type: string + title: Group Id + description: The group id. + example: 62e7f4352c13160013dc39be + group_name: + type: string + title: Group Name + description: The group name. + example: my_group + metadata: + allOf: + - $ref: '#/components/schemas/RiverMetadataExtended' + title: Metadata + description: The river metadata. + properties: + oneOf: + - $ref: '#/components/schemas/SourceToTargetRiverProperties' + - $ref: '#/components/schemas/ActionProperties' + - $ref: '#/components/schemas/LogicProperties' + title: Properties + description: The river properties, will change according to the river type. + discriminator: + propertyName: properties_type + mapping: + source_to_target: '#/components/schemas/SourceToTargetRiverProperties' + actions: '#/components/schemas/ActionProperties' + logic: '#/components/schemas/LogicProperties' + settings: + allOf: + - $ref: '#/components/schemas/RiverSettings' + title: Settings + description: River settings. + nullable: true + schedulers: + items: + $ref: '#/components/schemas/RiverSchedule' + type: array + title: Schedulers + description: River schedulers. + default: [] + nullable: true + type: object + required: + - cross_id + - account_id + - type + - name + - environment_id + - environment_name + - group_id + - group_name + - metadata + - properties + title: RiverModel + description: River properties to return + RiverNotificationReport: + properties: + email: + type: string + title: Email + description: Email address to send the report to in case of failure. + example: test@test.com + is_enabled: + type: boolean + title: Is Enabled + description: A flag that indicates whether the notification is enabled. + default: false + example: true + execution_time_limit_seconds: + type: integer + title: Execution Time Limit Seconds + description: >- + The execution time limit in seconds of the river before reporting, + only relevant for on run_threshold. + example: 43200 + nullable: true + type: object + required: + - email + title: RiverNotificationReport + description: |- + River Notification Report properties + + RiverRunResponse: + properties: + sub_river_id: + type: string + title: Sub River Id + description: The river cross id + example: 62e7f4352c13160013dc39be + nullable: true + run_id: + type: string + title: Run Id + description: The run id of the run process + example: 1f1468d097754cd8892468c2763ebfe8 + status: + allOf: + - $ref: '#/components/schemas/ActivityStatusEnum' + description: the status of the run process + example: pending + message: + type: string + title: Message + description: the message of the run process + example: The river is already in progress. + nullable: true + type: object + required: + - run_id + - status + title: RiverRunResponse + description: Run properties to return + RiverSchedule: + properties: + cron_expression: + type: string + title: Cron Expression + description: The cron expression of the river entity. + example: '* * * * *' + nullable: true + is_enabled: + type: boolean + title: Is Enabled + description: The is enabled of the river. + default: false + example: true + type: object + title: RiverSchedule + description: |- + River schedule properties to return. + + RiverScheduleStatusEnum: + type: string + enum: + - all + - scheduled + - unscheduled + title: RiverScheduleStatusEnum + description: River schedule status enum + RiverSettings: + properties: + run_timeout_seconds: + type: integer + title: Run Timeout Seconds + description: The timeout of the river in seconds. + default: 43200 + example: 43200 + notification: + allOf: + - $ref: '#/components/schemas/NotificationSettings' + title: Notification + description: River notification settings. + nullable: true + type: object + title: RiverSettings + description: |- + River settings properties to return. + + RiverStatusEnum: + type: string + enum: + - active + - disabled + title: RiverStatusEnum + description: >- + River status enum. + + Used in the is_enabled field which is part of the river properties. + + Disabled status for a river means the river cannot be executed while + active status river can. + RiverTablesMigrationDefaultSyncOption: + type: string + enum: + - SKIP_INITIAL_MIGRATION + - RUN_INITIAL_MIGRATION + title: RiverTablesMigrationDefaultSyncOption + description: >- + Each river can have a few options when it comes to migration of tables + + 1. skip_initial_migration: will mean that the tables will inherit the + status from the river and skip the migration + + 2. run_initial_migration: (default for most cases) will mean that tables + will fully migrate in the first run + RiverTimePeriodEnum: + type: string + enum: + - custom + - yesterday + - today + - last_7_days + - last_365_days + - week_to_date + - previous_week + - previous_week_to_date + - last_week + - month_to_date + - previous_month + - previous_month_to_date + - year_to_date + title: RiverTimePeriodEnum + description: River supported time periods + RiverTypeEnum: + type: string + enum: + - src_to_trgt + - source_to_target + - actions + - logic + title: RiverTypeEnum + description: All of the EXTERNAL river types + RiverVariableSettings: + properties: + clear_value_on_start: + type: boolean + title: Clear Value On Start + description: Option for clearing variable on river start + default: false + example: false + is_multi_value: + type: boolean + title: Is Multi Value + description: Indicator for variable containing multiple values + default: false + example: false + is_encrypted: + type: boolean + title: Is Encrypted + description: Option for encrypting variable value + default: false + example: true + is_private: + type: boolean + title: Is Private + description: Option for private variable value in source to target rivers + default: false + example: false + add_to_results: + type: boolean + title: Add To Results + description: Add variables to results for actions river + example: false + type: object + title: RiverVariableSettings + description: |- + Variable settings fields. + + RiverVariablesFields: + properties: + account: + type: string + title: Account + description: The account of the river + example: 55fr7d4270fdca16cac18261 + env_id: + type: string + title: Env Id + description: The environment of the river + example: 55fr7d4270fdca16cac18261 + river_id: + type: string + title: River Id + description: The ID of the river + example: 55fr7d4270fdca16cac18261 + name: + type: string + title: Name + description: The name of the variable + example: credentials + settings: + type: object + title: Settings + description: variable settings + example: + clear_value_on_start: true + is_multi_value: false + is_private: false + is_encrypted: false + value: + anyOf: + - type: string + - items: {} + type: array + title: Value + description: value of variable + example: '1234' + type: object + required: + - account + - env_id + - river_id + - name + - settings + title: RiverVariablesFields + description: |- + River variable properties to return. + + RiverVariablesPaginatedResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + account_id: + type: string + title: Account Id + description: The account id + environment_id: + type: string + title: Environment Id + description: The environment id + items: + items: + $ref: '#/components/schemas/RiverVariablesFields' + type: array + title: Items + type: object + required: + - current_page_size + - account_id + - environment_id + - items + title: RiverVariablesPaginatedResponse + description: >- + Final river variables paginated response for all variables in a single + river. + + RiverVersionMetadata: + properties: + account_id: + type: string + title: Account Id + description: The account id of the river version + example: 55fr7d4270fdca16cac18261 + user_info: + allOf: + - $ref: '#/components/schemas/UserInfo' + title: User Info + description: Contains user name and user email information + nullable: true + environment_id: + type: string + title: Environment Id + description: The environment id of the river version + example: 55fr7d4270fdca16cac18261 + insert_date: + type: string + format: date-time + title: Insert Date + description: The insert date time of the river version in UTC timezone + example: '2022-08-02T13:38:44.054000' + version_id: + type: string + title: Version Id + description: The version id of the river version + example: 55fr7d4270fdca16cac18261 + previous_version: + type: string + title: Previous Version + description: The previous version id of the river version + example: 55fr7d4270fdca16cac18261 + created_by: + type: string + title: Created By + description: The creator id of the river version + example: 55fr7d4270fdca16cac18261 + river_id: + type: string + title: River Id + description: The river id of the river version + example: 55fr7d4270fdca16cac18261 + restored_by: + type: string + title: Restored By + description: The restore id of the river version + example: 55fr7d4270fdca16cac18261 + restore_date: + type: string + format: date-time + title: Restore Date + description: The restore date time of the river version in UTC timezone + example: '2022-08-02T13:38:44.054000' + nullable: true + name: + type: string + title: Name + description: Name of river version + example: river_version_name + bookmarked: + type: boolean + title: Bookmarked + description: Flag indicating whether the river version is bookmarked or not + default: false + example: false + type: object + required: + - account_id + - environment_id + - insert_date + - version_id + - created_by + - river_id + title: RiverVersionMetadata + description: |- + River Versions metadata. This class does not contain the version itself. + + RiverVersions: + properties: + account_id: + type: string + title: Account Id + description: The account id of the river version + example: 55fr7d4270fdca16cac18261 + user_info: + allOf: + - $ref: '#/components/schemas/UserInfo' + title: User Info + description: Contains user name and user email information + nullable: true + environment_id: + type: string + title: Environment Id + description: The environment id of the river version + example: 55fr7d4270fdca16cac18261 + insert_date: + type: string + format: date-time + title: Insert Date + description: The insert date time of the river version in UTC timezone + example: '2022-08-02T13:38:44.054000' + version_id: + type: string + title: Version Id + description: The version id of the river version + example: 55fr7d4270fdca16cac18261 + previous_version: + type: string + title: Previous Version + description: The previous version id of the river version + example: 55fr7d4270fdca16cac18261 + created_by: + type: string + title: Created By + description: The creator id of the river version + example: 55fr7d4270fdca16cac18261 + river_id: + type: string + title: River Id + description: The river id of the river version + example: 55fr7d4270fdca16cac18261 + restored_by: + type: string + title: Restored By + description: The restore id of the river version + example: 55fr7d4270fdca16cac18261 + restore_date: + type: string + format: date-time + title: Restore Date + description: The restore date time of the river version in UTC timezone + example: '2022-08-02T13:38:44.054000' + nullable: true + name: + type: string + title: Name + description: Name of river version + example: river_version_name + bookmarked: + type: boolean + title: Bookmarked + description: Flag indicating whether the river version is bookmarked or not + default: false + example: false + river: + anyOf: + - $ref: '#/components/schemas/LegacyRiverResponse' + - $ref: '#/components/schemas/RiverModel' + title: River + description: The definition of the river version + example: + river definition: some definition + type: object + required: + - account_id + - environment_id + - insert_date + - version_id + - created_by + - river_id + - river + title: RiverVersions + description: |- + River Versions properties to return. + + RiverVersionsResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + account_id: + type: string + title: Account Id + description: The account id + environment_id: + type: string + title: Environment Id + description: The environment id + statistics: + $ref: '#/components/schemas/RiverVersionsStats' + items: + items: + $ref: '#/components/schemas/RiverVersionMetadata' + type: array + title: Items + type: object + required: + - current_page_size + - account_id + - environment_id + - statistics + - items + title: RiverVersionsResponse + description: |- + River Versions response. + + RiverVersionsStats: + properties: + bookmarked_versions: + type: integer + title: Bookmarked Versions + description: Number of bookmarked river versions + example: 3 + bookmarks_allowed: + type: integer + title: Bookmarks Allowed + description: Maximum number of bookmarked river versions allowed + example: 30 + total_versions: + type: integer + title: Total Versions + description: Total number of existing river versions + example: 3 + snapshot_versions: + type: integer + title: Snapshot Versions + description: Number of snapshot river versions + example: 2 + versions_allowed: + type: integer + title: Versions Allowed + description: Maximum number of non-bookmarked river versions allowed + example: 70 + type: object + required: + - bookmarked_versions + - bookmarks_allowed + - total_versions + - snapshot_versions + - versions_allowed + title: RiverVersionsStats + description: |- + River versions stats fields. + + RiversRunResponse: + properties: + runs: + items: + $ref: '#/components/schemas/RiverRunResponse' + type: array + title: Runs + river_cross_id: + type: string + title: River Cross Id + run_group_id: + type: string + title: Run Group Id + type: object + required: + - runs + - river_cross_id + - run_group_id + title: RiversRunResponse + description: >- + Run response properties to return + + The response is a list since in the case of sub rivers that are multiple + runs, + + and we want to be able to return them all + RunGroupSortByEnum: + type: string + enum: + - units + - last_run + - max_duration + title: RunGroupSortByEnum + description: Activities sort properties in the UI. + RunGroupStatusEnum: + type: string + enum: + - partially succeeded + - pending + - canceled + - succeeded + - failed + - running + - skipped + title: RunGroupStatusEnum + description: The run group enum provide all the status that run group can have. + RunTypeEnum: + type: string + enum: + - custom + - multi_tables + - legacy + - predefined_report + title: RunTypeEnum + description: River run types + RunningNumber: + properties: + start_value: + type: integer + title: Start Value + description: The start value of the river entity. + example: 1 + nullable: true + end_value: + type: integer + title: End Value + description: The end value of the river entity. + example: 100 + nullable: true + include_end_value: + type: boolean + title: Include End Value + description: >- + Whether to include or exclude the end_value in the running number + range + default: false + example: true + rows_in_chunk: + type: integer + title: Rows In Chunk + description: The rows in chunk of the river entity. + default: 100000 + example: 1000 + type: object + title: RunningNumber + description: >- + Running number when using incremental on a running number and not date + time + RunsSortByEnum: + type: string + enum: + - units + - start_time + - table_name + title: RunsSortByEnum + description: Activities sort properties in the UI. + S3ModifiedColumn: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the column is selected and should be modified. + example: true + name: + type: string + title: Name + description: The name of the column. + example: column_name + type: + type: string + title: Type + description: The type of the column. + example: string + nullable: true + alias: + type: string + title: Alias + description: The alias of the column in the target table. + example: column_alias + nullable: true + expression: + type: string + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + example: select 'test' + nullable: true + is_key: + type: boolean + title: Is Key + description: If the column is a key. + example: true + nullable: true + sort_order: + type: integer + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + example: 1 + nullable: true + is_sort_key: + type: boolean + title: Is Sort Key + description: If the column is a sort column. + example: true + nullable: true + calculated_column_mode: + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + example: source + nullable: true + order: + type: integer + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + example: 1 + nullable: true + target_type: + type: string + enum: + - s3 + title: Target Type + description: Internal field, populated automatically + default: s3 + nullable: true + additionalProperties: false + type: object + required: + - is_selected + - name + title: S3ModifiedColumn + description: S3 specific columns settings + S3TargetSettings: + properties: + name: + type: string + enum: + - s3 + title: Name + description: The name of the target + default: s3 + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + path: + type: string + title: Path + description: The path of the file zone entity. + example: my_path + bucket_name: + type: string + title: Bucket Name + description: The bucket name of the file zone entity. + example: my_bucket + partitioned_kind: + allOf: + - $ref: '#/components/schemas/PartitionedKindEnum' + description: The partitioned kind of the file zone entity. + example: by_day + convert_file_type: + allOf: + - $ref: '#/components/schemas/ConvertFileTypeEnum' + description: The type of file to convert to + example: parquet + nullable: true + type: object + required: + - path + - bucket_name + - partitioned_kind + title: S3TargetSettings + description: S3 target settings properties to return. + ScheduleEnum: + type: string + enum: + - 'true' + - 'false' + title: ScheduleEnum + description: Schedule can be either True or False (enabled or disabled) + Schema: + properties: + name: + type: string + title: Name + description: The name of the schema + tables: + items: + oneOf: + - $ref: '#/components/schemas/DatabaseTableInput' + - $ref: '#/components/schemas/PredefinedReportShopifyTableInput' + discriminator: + propertyName: run_type_and_datasource + mapping: + multi_tables: '#/components/schemas/DatabaseTableInput' + predefined_report_shopify: '#/components/schemas/PredefinedReportShopifyTableInput' + type: array + title: Tables + default: [] + type: object + required: + - name + title: Schema + description: The schema we use for GET operations + SnowflakeAdditionalTargetSettings: + properties: + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: >- + The order expression of the river entity,to filter duplications from + the source data by the provided order expression (for `merge` + loading method). + example: id desc,createDate asc + nullable: true + target_loading: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: >- + The target loading of the table entity,if not specified the default + loading mode of the riverwill be used. + example: merge + nullable: true + target_type: + type: string + enum: + - snowflake + title: Target Type + description: Internal field, populated automatically + default: snowflake + nullable: true + merge_method: + allOf: + - $ref: '#/components/schemas/MergeMethod' + description: >- + The merge method of the table, if not specified the default merge + method of the riverwill be used. + example: merge + nullable: true + enforce_masking_policy: + type: boolean + title: Enforce Masking Policy + description: >- + Reserve the data masking policy that is applied on the column level + in your target table. + default: false + example: false + nullable: true + recreate_keys: + type: boolean + title: Recreate Keys + description: Recreate the table keys. + default: false + example: false + nullable: true + escape_character: + type: string + title: Escape Character + description: >- + Escape characters allow special characters in strings to be + interpreted as literal characters, rather than as control characters + inside the query + example: \t + nullable: true + type: object + title: SnowflakeAdditionalTargetSettings + description: Snowflake specific target settings + SnowflakeModifiedColumn: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the column is selected and should be modified. + example: true + name: + type: string + title: Name + description: The name of the column. + example: column_name + type: + type: string + title: Type + description: The type of the column. + example: string + nullable: true + alias: + type: string + title: Alias + description: The alias of the column in the target table. + example: column_alias + nullable: true + expression: + type: string + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + example: select 'test' + nullable: true + is_key: + type: boolean + title: Is Key + description: If the column is a key. + example: true + nullable: true + sort_order: + type: integer + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + example: 1 + nullable: true + is_sort_key: + type: boolean + title: Is Sort Key + description: If the column is a sort column. + example: true + nullable: true + calculated_column_mode: + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + example: source + nullable: true + order: + type: integer + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + example: 1 + nullable: true + target_type: + type: string + enum: + - snowflake + title: Target Type + description: Internal field, populated automatically + default: snowflake + nullable: true + additionalProperties: false + type: object + required: + - is_selected + - name + title: SnowflakeModifiedColumn + description: Snowflake specific columns settings + SnowflakeTargetSettings: + properties: + name: + type: string + enum: + - snowflake + title: Name + description: The name of the target + default: snowflake + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + table_name: + type: string + title: Table Name + description: >- + The table name of this target (only relevant for non multi table + source to target rivers) + default: '' + example: Table 1 + nullable: true + target_prefix: + type: string + title: Target Prefix + description: >- + The table prefix of this target (only relevant for multi table + source to target rivers) + default: '' + example: start_at_ + nullable: true + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: The order expression of the river entity. + example: id desc,createDate asc + nullable: true + loading_method: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: The loading method of this target + example: merge + merge_method: + allOf: + - $ref: '#/components/schemas/MergeMethod' + description: >- + The merge method to preform,only relevant when the loading mode is + Merge,if not provided the default merge method will be used.(merge) + example: merge + nullable: true + file_zone_settings: + allOf: + - $ref: '#/components/schemas/RiverFileZoneSettings' + title: File Zone Settings + description: The file zone settings of this target + nullable: true + file_path_destination: + type: string + title: File Path Destination + description: The file name and path + example: path/to/file + bucket_name: + type: string + title: Bucket Name + description: The bucket name + example: bucket + additional_settings: + type: object + title: Additional Settings + description: The additional settings of this target + default: {} + example: + key: value + nullable: true + database_name: + type: string + title: Database Name + description: The database name of this target + example: Database 1 + nullable: true + schema_name: + type: string + title: Schema Name + description: The schema name of this target + example: Schema 1 + nullable: true + type: object + required: + - loading_method + title: SnowflakeTargetSettings + description: Snowflake target settings properties to return. + SortOrderEnum: + type: string + enum: + - desc + - asc + title: SortOrderEnum + description: Sorting can be either asc or desc, used in the api-service + SourceSettings: + properties: + name: + allOf: + - $ref: '#/components/schemas/SourceTypeEnum' + description: The name of the source (correlate to source type in db) + example: mysql + nullable: true + connection_id: + type: string + title: Connection Id + description: The connection ID of this source. + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this source. + example: Connection 1 + nullable: true + run_type: + allOf: + - $ref: '#/components/schemas/RunTypeEnum' + description: The run type of this source. + default: multi_tables + example: predefined_report + cdc_settings: + oneOf: + - $ref: '#/components/schemas/MysqlSourceCDCSettings' + - $ref: '#/components/schemas/PostgresSourceCDCSettings' + - $ref: '#/components/schemas/OracleSourceCDCSettings' + - $ref: '#/components/schemas/MongoDBSourceCDCSettings' + title: Cdc Settings + description: The CDC settings of this source. + discriminator: + propertyName: datasource_id + mapping: + mysql: '#/components/schemas/MysqlSourceCDCSettings' + postgres: '#/components/schemas/PostgresSourceCDCSettings' + oracle: '#/components/schemas/OracleSourceCDCSettings' + mongodb: '#/components/schemas/MongoDBSourceCDCSettings' + nullable: true + additional_settings: + type: object + title: Additional Settings + description: The additional settings of this source. + default: {} + example: + extract_method: all + nullable: true + type: object + required: + - name + title: SourceSettings + description: Source settings properties to return. + SourceToTargetRiverProperties: + properties: + properties_type: + type: string + enum: + - source_to_target + title: Properties Type + default: source_to_target + source: + allOf: + - $ref: '#/components/schemas/SourceSettings' + title: Source + description: The source of the river. + target: + oneOf: + - $ref: '#/components/schemas/SnowflakeTargetSettings' + - $ref: '#/components/schemas/BigQueryTargetSettings' + - $ref: '#/components/schemas/RedshiftTargetSettings' + - $ref: '#/components/schemas/S3TargetSettings' + - $ref: '#/components/schemas/EmailTargetSettings' + - $ref: '#/components/schemas/BlobStorageSettings' + - $ref: '#/components/schemas/GcsTargetSettings' + - $ref: '#/components/schemas/DatabricksTargetSettings' + - $ref: '#/components/schemas/AzureSynapseAnalyticsTargetSettings' + - $ref: '#/components/schemas/AthenaTargetSettings' + - $ref: '#/components/schemas/AzureSqlTargetSettings' + - $ref: '#/components/schemas/PostgresTargetSettings' + title: Target + description: The target of the river. + discriminator: + propertyName: name + mapping: + snowflake: '#/components/schemas/SnowflakeTargetSettings' + bigquery: '#/components/schemas/BigQueryTargetSettings' + redshift: '#/components/schemas/RedshiftTargetSettings' + s3: '#/components/schemas/S3TargetSettings' + target_email: '#/components/schemas/EmailTargetSettings' + blob_storage: '#/components/schemas/BlobStorageSettings' + GCS: '#/components/schemas/GcsTargetSettings' + databricks: '#/components/schemas/DatabricksTargetSettings' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsTargetSettings' + athena: '#/components/schemas/AthenaTargetSettings' + azure_sql: '#/components/schemas/AzureSqlTargetSettings' + postgres: '#/components/schemas/PostgresTargetSettings' + schemas: + items: + $ref: '#/components/schemas/Schema' + type: array + title: Schemas + description: The schemas of the river entity + default: [] + additionalProperties: false + type: object + required: + - source + - target + title: SourceToTargetRiverProperties + description: Source to target River properties that is being used for GET purposes + SourceTypeEnum: + type: string + enum: + - mysql + - postgresql + - oracle + - mongodb + - shopify + - facebook ads + title: SourceTypeEnum + description: The source type enum provide all the source type options. + SourcedMetadataModelResponse: + properties: + title: + type: string + title: Title + description: The datasource title. + example: my title + description: + type: string + title: Description + description: The datasource description. + example: report description + properties: + type: object + title: Properties + description: The datasource fields and metadata. + required: + items: + type: string + type: array + title: Required + description: A list of required datasource fields + example: + - id + type: object + required: + - title + - description + - properties + title: SourcedMetadataModelResponse + description: The response for the get source metadata. + SplitTimeIntervals: + properties: + time_interval: + allOf: + - $ref: '#/components/schemas/IntervalTimeExternalEnum' + description: The interval time unit to split when using date increment. + default: dont_split + example: days + extra: + name: date_range.split_time_intervals.time_interval + type: split_time_intervals + display_name: >- + Split your loading data into several intervals in case of a large + amount of returned data by: + interval_size: + type: integer + title: Interval Size + description: >- + The number of time units for each interval - for example, when the + interval is set to days and the interval size is 3, each interval + will extract data for 3 days. + default: 1 + example: 3 + extra: + name: date_range.split_time_intervals.interval_size + type: number + display_name: Split Interval Size + condition: + different: dont_split + field_name: date_range.split_time_intervals.time_interval + type: object + title: SplitTimeIntervals + description: >- + Settings for splitting to time intervals when using incremental loading + method by dates. + StatusEnum: + type: string + enum: + - any + - cancelled + - closed + - open + title: StatusEnum + description: Shopify order status enum + TableCDCSettings: + properties: + initiate_table: + type: boolean + title: Initiate Table + description: Initiate migration process for CDC table + example: true + nullable: true + overwrite_table_in_migration: + type: boolean + title: Overwrite Table In Migration + description: Overwrite target table for CDC migration process + example: true + nullable: true + type: object + title: TableCDCSettings + description: The table CDC settings + TableStatusEnum: + type: string + enum: + - waiting_for_migration + - migrating + - tracked + - live + title: TableStatusEnum + description: Table status for rivers in multi table mode + TargetsSortByEnum: + type: string + enum: + - units + - last_run + - table_name + title: TargetsSortByEnum + description: Activities sort properties in the UI. + TeamsSortByEnum: + type: string + enum: + - display_name + - created_at + - source + - is_all_environment_admin + title: TeamsSortByEnum + description: User teams sort properties in the UI. + UpdateRiverVariableInput: + properties: + name: + type: string + title: Name + description: The name of the variable + example: credentials + settings: + allOf: + - $ref: '#/components/schemas/RiverVariableSettings' + title: Settings + description: settings class for variable + example: + clear_value_on_start: true + is_multi_value: false + is_encrypted: false + value: + anyOf: + - type: string + - items: {} + type: array + title: Value + description: value of a variable + example: '1234' + type: object + required: + - name + - settings + title: UpdateRiverVariableInput + description: |- + Logic river variable fields for update. + + UpdateRiverVariableInputList: + properties: + items: + items: + $ref: '#/components/schemas/UpdateRiverVariableInput' + type: array + title: Items + type: object + required: + - items + title: UpdateRiverVariableInputList + description: |- + List of logic river variable fields for update. + + UpdateUserTeamsInput: + properties: + display_name: + type: string + title: Display Name + description: The display name in rivery + example: Rivery Core Team + description: + type: string + title: Description + description: Internal description + example: Some description + environments: + type: object + title: Environments + description: Dictionary of environment id and environment role + example: + 633ede20f1fc5500111fd7b3: + role: viewer + 5f887c764c40e5598f717676: + role: viewer + is_all_environment_admin: + type: boolean + title: Is All Environment Admin + description: Indicates if group have Admin permission for all environment + default: false + example: true + type: object + title: UpdateUserTeamsInput + description: Request update user groups input. + UserInfo: + properties: + user_name: + type: string + title: User Name + description: river version creator username + example: createdby_username + user_email: + type: string + title: User Email + description: river version creator email + example: createdby@rivery.io + type: object + required: + - user_name + - user_email + title: UserInfo + description: |- + River version creator info. + + UserTeamsListResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + account_id: + type: string + title: Account Id + description: The account id + items: + items: + $ref: '#/components/schemas/UserTeamsModel' + type: array + title: Items + type: object + required: + - current_page_size + - account_id + - items + title: UserTeamsListResponse + description: List user teams response + UserTeamsModel: + properties: + _id: + type: string + title: ' Id' + description: The user group id + example: 633ede20f1fc5500111fd7b3 + account_id: + type: string + title: Account Id + description: The account id + example: 55bf7c4270fdca16cac18761 + display_name: + type: string + title: Display Name + description: The display name in rivery + example: Rivery Core Team + remote_display_name: + type: string + title: Remote Display Name + description: The SCIM display name + example: Core Team + description: + type: string + title: Description + description: Internal description + example: Some description + environments: + type: object + title: Environments + description: Dictionary of environment id and environment role + default: {} + example: + 633ede20f1fc5500111fd7b3: + role: viewer + 5f887c764c40e5598f717676: + role: viewer + is_all_environment_admin: + type: boolean + title: Is All Environment Admin + description: Indicates if group have Admin permission for all environment + default: false + example: true + source: + allOf: + - $ref: '#/components/schemas/GroupOrUserSourceEnum' + description: >- + Source if this group locally of rivery or imported from external + such as Active Directory + default: rivery + example: rivery + created_at: + type: string + format: date-time + title: Created At + description: Created team datatime + example: '2024-03-29T20:59:20.796255' + type: object + required: + - _id + - account_id + - display_name + - created_at + title: UserTeamsModel + description: Base user team model properties to return. + ValidationError: + properties: + loc: + items: + anyOf: + - type: string + - type: integer + type: array + title: Location + msg: + type: string + title: Message + type: + type: string + title: Error Type + type: object + required: + - loc + - msg + - type + title: ValidationError + WriteDatabaseTableDetailsInput: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: The name of the target table (relevant to multi-tables rivers) + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + allOf: + - $ref: '#/components/schemas/ExtractMethodEnum' + description: >- + The extract method of the table entity.if not specified the extract + method of the riverwill be used. + example: incremental + nullable: true + name: + type: string + title: Name + description: The name of the table + example: table_name + incremental_field: + type: string + title: Incremental Field + description: The interval field of the river entity. + example: some_date_field + nullable: true + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: >- + The date range of the river entity only needed if the extract method + is incremental. + nullable: true + running_number: + allOf: + - $ref: '#/components/schemas/RunningNumber' + title: Running Number + description: >- + The running number of the river entity only needed if the extract + method is incremental. + nullable: true + exporter_chunk_size: + type: integer + title: Exporter Chunk Size + description: >- + The exporter chunk size of the river entity. i.e. the number of rows + to extract per chuck + default: 30000 + example: 1000 + table_status: + allOf: + - $ref: '#/components/schemas/TableStatusEnum' + description: The table status of the river entity. + default: waiting_for_migration + example: waiting_for_migration + cdc_settings: + allOf: + - $ref: '#/components/schemas/TableCDCSettings' + title: Cdc Settings + description: The CDC settings of this table. + nullable: true + additional_source_settings: + oneOf: + - $ref: '#/components/schemas/MongoDBAdditionalSourceSettings' + - $ref: '#/components/schemas/MySQLAdditionalSourceSettings' + - $ref: '#/components/schemas/PostgreSQLAdditionalSourceSettings' + - $ref: '#/components/schemas/OracleAdditionalSourceSettings' + title: Additional Source Settings + description: The additional source settings of this table. + examples: + - filter_expression: '' + source_type: mongodb + concurrent_requests_number: 1 + discriminator: + propertyName: source_type + mapping: + mongodb: '#/components/schemas/MongoDBAdditionalSourceSettings' + mysql: '#/components/schemas/MySQLAdditionalSourceSettings' + postgresql: '#/components/schemas/PostgreSQLAdditionalSourceSettings' + oracle: '#/components/schemas/OracleAdditionalSourceSettings' + nullable: true + additionalProperties: false + type: object + required: + - target_table + - name + title: WriteDatabaseTableDetailsInput + description: |- + Table properties which define the db table details data + This schema is being used for Create or Update purposes + WriteDatabaseTableInput: + properties: + run_type_and_datasource: + type: string + enum: + - multi_tables + title: Run Type And Datasource + description: Internal field + default: multi_tables + details: + allOf: + - $ref: '#/components/schemas/WriteDatabaseTableDetailsInput' + title: Details + description: The database table details + type: object + required: + - details + title: WriteDatabaseTableInput + description: |- + Table properties which define the db table data + This schema is being used for Create or Update purposes + WriteFacebookAdsPredefinedAdAccountActivitiesReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_ad_account_activities + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - Date + title: Incremental Field + description: The interval field of the river entity. + default: Date + example: date_field + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteFacebookAdsPredefinedAdAccountActivitiesReport + description: Facebook ads predefined ad account activities report, used for write. + WriteFacebookAdsPredefinedAdAccountReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + type: string + enum: + - predefined_ad_account + title: Report Id + description: The report id + type: object + required: + - target_table + - report_id + title: WriteFacebookAdsPredefinedAdAccountReport + description: Facebook ads predefined ad account report, used for write. + WriteFacebookAdsPredefinedAdCreativesReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_ad_creatives + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - Ads Creation Date + title: Incremental Field + description: The interval field of the river entity. + default: Ads Creation Date + example: ads_creation_date_field + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteFacebookAdsPredefinedAdCreativesReport + description: Facebook ads predefined ad creatives report, used for write. + WriteFacebookAdsPredefinedAdLeadsFormsReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + type: string + enum: + - predefined_ad_leads_forms + title: Report Id + description: The report id + type: object + required: + - target_table + - report_id + title: WriteFacebookAdsPredefinedAdLeadsFormsReport + description: Facebook ads predefined ad leads forms report, used for write. + WriteFacebookAdsPredefinedAdLeadsReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_ad_leads + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - Ads Creation Date + title: Incremental Field + description: The interval field of the river entity. + default: Ads Creation Date + example: ads_creation_date + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteFacebookAdsPredefinedAdLeadsReport + description: Facebook ads predefined ad leads report, used for write. + WriteFacebookAdsPredefinedAdSetsReport: + properties: + adsets_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Adsets Ac + description: Leave empty for all ad sets + default: [] + adsets_filter: + items: + type: string + type: array + title: Adsets Filter + description: Leave empty for all ad sets + default: [] + adsets_ids: + items: + type: string + type: array + title: Adsets Ids + description: Leave empty for all ad sets + default: [] + adsets_names: + items: + type: string + type: array + title: Adsets Names + description: Leave empty for all ad sets + default: [] + adsets_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsSetsTypeEnum' + description: The type of ad sets input to use + examples: + - adsets_names + - adsets_ids + - adsets_filter + campaigns_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Campaigns Ac + description: Leave empty for all campaigns + default: [] + campaigns_filter: + items: + type: string + type: array + title: Campaigns Filter + description: Leave empty for all campaigns + default: [] + campaigns_ids: + items: + type: string + type: array + title: Campaigns Ids + description: Leave empty for all campaigns + default: [] + campaigns_names: + items: + type: string + type: array + title: Campaigns Names + description: Leave empty for all campaigns + default: [] + campaigns_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsCampaignsTypeEnum' + description: The type of campaigns input to use + examples: + - campaigns_names + - campaigns_ids + - campaigns_filter + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + type: string + enum: + - predefined_adsets + title: Report Id + description: The report id + type: object + required: + - target_table + - report_id + title: WriteFacebookAdsPredefinedAdSetsReport + description: Facebook ads predefined ad sets report, used for write. + WriteFacebookAdsPredefinedAdsPixelsReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_ads_pixels + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - Date + title: Incremental Field + description: The interval field of the river entity. + default: Date + example: date_field + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteFacebookAdsPredefinedAdsPixelsReport + description: Facebook ads predefined ads pixels report, used for write. + WriteFacebookAdsPredefinedAdsReport: + properties: + ads_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Ads Ac + description: Leave empty for all ads + default: [] + ads_filter: + items: + type: string + type: array + title: Ads Filter + description: Leave empty for all ads + default: [] + ads_ids: + items: + type: string + type: array + title: Ads Ids + description: Leave empty for all ads + default: [] + ads_names: + items: + type: string + type: array + title: Ads Names + description: Leave empty for all ads + default: [] + ads_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsAdsTypeEnum' + description: The type of ads input to use + examples: + - ads_ids + - ads_names + - ads_filter + adsets_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Adsets Ac + description: Leave empty for all ad sets + default: [] + adsets_filter: + items: + type: string + type: array + title: Adsets Filter + description: Leave empty for all ad sets + default: [] + adsets_ids: + items: + type: string + type: array + title: Adsets Ids + description: Leave empty for all ad sets + default: [] + adsets_names: + items: + type: string + type: array + title: Adsets Names + description: Leave empty for all ad sets + default: [] + adsets_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsSetsTypeEnum' + description: The type of ad sets input to use + examples: + - adsets_names + - adsets_ids + - adsets_filter + campaigns_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Campaigns Ac + description: Leave empty for all campaigns + default: [] + campaigns_filter: + items: + type: string + type: array + title: Campaigns Filter + description: Leave empty for all campaigns + default: [] + campaigns_ids: + items: + type: string + type: array + title: Campaigns Ids + description: Leave empty for all campaigns + default: [] + campaigns_names: + items: + type: string + type: array + title: Campaigns Names + description: Leave empty for all campaigns + default: [] + campaigns_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsCampaignsTypeEnum' + description: The type of campaigns input to use + examples: + - campaigns_names + - campaigns_ids + - campaigns_filter + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_ads + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - Ads Creation Date + title: Incremental Field + description: The interval field of the river entity. + default: Ads Creation Date + example: ads_creation_date + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteFacebookAdsPredefinedAdsReport + description: Facebook ads predefined ads report, used for write. + WriteFacebookAdsPredefinedCampaignsReport: + properties: + campaigns_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Campaigns Ac + description: Leave empty for all campaigns + default: [] + campaigns_filter: + items: + type: string + type: array + title: Campaigns Filter + description: Leave empty for all campaigns + default: [] + campaigns_ids: + items: + type: string + type: array + title: Campaigns Ids + description: Leave empty for all campaigns + default: [] + campaigns_names: + items: + type: string + type: array + title: Campaigns Names + description: Leave empty for all campaigns + default: [] + campaigns_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsCampaignsTypeEnum' + description: The type of campaigns input to use + examples: + - campaigns_names + - campaigns_ids + - campaigns_filter + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + type: string + enum: + - predefined_campaigns + title: Report Id + description: The report id + type: object + required: + - target_table + - report_id + title: WriteFacebookAdsPredefinedCampaignsReport + description: Facebook ads predefined campaigns report, used for write. + WriteFacebookAdsPredefinedCustomAudiencesReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + type: string + enum: + - predefined_custom_audiences + title: Report Id + description: The report id + type: object + required: + - target_table + - report_id + title: WriteFacebookAdsPredefinedCustomAudiencesReport + description: Facebook ads predefined custom audiences report, used for write. + WriteFacebookAdsPredefinedCustomConversionsReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + type: string + enum: + - predefined_custom_conversions + title: Report Id + description: The report id + type: object + required: + - target_table + - report_id + title: WriteFacebookAdsPredefinedCustomConversionsReport + description: Facebook ads predefined custom conversions report, used for write. + WriteFacebookAdsPredefinedInsightBasicReport: + properties: + ads_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Ads Ac + description: Leave empty for all ads + default: [] + ads_filter: + items: + type: string + type: array + title: Ads Filter + description: Leave empty for all ads + default: [] + ads_ids: + items: + type: string + type: array + title: Ads Ids + description: Leave empty for all ads + default: [] + ads_names: + items: + type: string + type: array + title: Ads Names + description: Leave empty for all ads + default: [] + ads_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsAdsTypeEnum' + description: The type of ads input to use + examples: + - ads_ids + - ads_names + - ads_filter + adsets_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Adsets Ac + description: Leave empty for all ad sets + default: [] + adsets_filter: + items: + type: string + type: array + title: Adsets Filter + description: Leave empty for all ad sets + default: [] + adsets_ids: + items: + type: string + type: array + title: Adsets Ids + description: Leave empty for all ad sets + default: [] + adsets_names: + items: + type: string + type: array + title: Adsets Names + description: Leave empty for all ad sets + default: [] + adsets_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsSetsTypeEnum' + description: The type of ad sets input to use + examples: + - adsets_names + - adsets_ids + - adsets_filter + campaigns_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Campaigns Ac + description: Leave empty for all campaigns + default: [] + campaigns_filter: + items: + type: string + type: array + title: Campaigns Filter + description: Leave empty for all campaigns + default: [] + campaigns_ids: + items: + type: string + type: array + title: Campaigns Ids + description: Leave empty for all campaigns + default: [] + campaigns_names: + items: + type: string + type: array + title: Campaigns Names + description: Leave empty for all campaigns + default: [] + campaigns_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsCampaignsTypeEnum' + description: The type of campaigns input to use + examples: + - campaigns_names + - campaigns_ids + - campaigns_filter + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_insight_report_basic + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - Date + title: Incremental Field + description: The interval field of the river entity. + default: Date + example: date_field + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteFacebookAdsPredefinedInsightBasicReport + description: Facebook ads predefined insights basic report, used for write. + WriteFacebookAdsPredefinedInsightReportAgeGender: + properties: + ads_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Ads Ac + description: Leave empty for all ads + default: [] + ads_filter: + items: + type: string + type: array + title: Ads Filter + description: Leave empty for all ads + default: [] + ads_ids: + items: + type: string + type: array + title: Ads Ids + description: Leave empty for all ads + default: [] + ads_names: + items: + type: string + type: array + title: Ads Names + description: Leave empty for all ads + default: [] + ads_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsAdsTypeEnum' + description: The type of ads input to use + examples: + - ads_ids + - ads_names + - ads_filter + adsets_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Adsets Ac + description: Leave empty for all ad sets + default: [] + adsets_filter: + items: + type: string + type: array + title: Adsets Filter + description: Leave empty for all ad sets + default: [] + adsets_ids: + items: + type: string + type: array + title: Adsets Ids + description: Leave empty for all ad sets + default: [] + adsets_names: + items: + type: string + type: array + title: Adsets Names + description: Leave empty for all ad sets + default: [] + adsets_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsSetsTypeEnum' + description: The type of ad sets input to use + examples: + - adsets_names + - adsets_ids + - adsets_filter + campaigns_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Campaigns Ac + description: Leave empty for all campaigns + default: [] + campaigns_filter: + items: + type: string + type: array + title: Campaigns Filter + description: Leave empty for all campaigns + default: [] + campaigns_ids: + items: + type: string + type: array + title: Campaigns Ids + description: Leave empty for all campaigns + default: [] + campaigns_names: + items: + type: string + type: array + title: Campaigns Names + description: Leave empty for all campaigns + default: [] + campaigns_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsCampaignsTypeEnum' + description: The type of campaigns input to use + examples: + - campaigns_names + - campaigns_ids + - campaigns_filter + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_insight_report_age_gender + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - Date + title: Incremental Field + description: The interval field of the river entity. + default: Date + example: date_field + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteFacebookAdsPredefinedInsightReportAgeGender + description: Facebook ads predefined insights age gender report, used for write. + WriteFacebookAdsPredefinedInsightReportCountry: + properties: + ads_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Ads Ac + description: Leave empty for all ads + default: [] + ads_filter: + items: + type: string + type: array + title: Ads Filter + description: Leave empty for all ads + default: [] + ads_ids: + items: + type: string + type: array + title: Ads Ids + description: Leave empty for all ads + default: [] + ads_names: + items: + type: string + type: array + title: Ads Names + description: Leave empty for all ads + default: [] + ads_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsAdsTypeEnum' + description: The type of ads input to use + examples: + - ads_ids + - ads_names + - ads_filter + adsets_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Adsets Ac + description: Leave empty for all ad sets + default: [] + adsets_filter: + items: + type: string + type: array + title: Adsets Filter + description: Leave empty for all ad sets + default: [] + adsets_ids: + items: + type: string + type: array + title: Adsets Ids + description: Leave empty for all ad sets + default: [] + adsets_names: + items: + type: string + type: array + title: Adsets Names + description: Leave empty for all ad sets + default: [] + adsets_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsSetsTypeEnum' + description: The type of ad sets input to use + examples: + - adsets_names + - adsets_ids + - adsets_filter + campaigns_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Campaigns Ac + description: Leave empty for all campaigns + default: [] + campaigns_filter: + items: + type: string + type: array + title: Campaigns Filter + description: Leave empty for all campaigns + default: [] + campaigns_ids: + items: + type: string + type: array + title: Campaigns Ids + description: Leave empty for all campaigns + default: [] + campaigns_names: + items: + type: string + type: array + title: Campaigns Names + description: Leave empty for all campaigns + default: [] + campaigns_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsCampaignsTypeEnum' + description: The type of campaigns input to use + examples: + - campaigns_names + - campaigns_ids + - campaigns_filter + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_insight_report_country + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - Date + title: Incremental Field + description: The interval field of the river entity. + default: Date + example: date_field + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteFacebookAdsPredefinedInsightReportCountry + description: Facebook ads predefined insights country report, used for write. + WriteFacebookAdsPredefinedInsightReportPlatform: + properties: + ads_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Ads Ac + description: Leave empty for all ads + default: [] + ads_filter: + items: + type: string + type: array + title: Ads Filter + description: Leave empty for all ads + default: [] + ads_ids: + items: + type: string + type: array + title: Ads Ids + description: Leave empty for all ads + default: [] + ads_names: + items: + type: string + type: array + title: Ads Names + description: Leave empty for all ads + default: [] + ads_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsAdsTypeEnum' + description: The type of ads input to use + examples: + - ads_ids + - ads_names + - ads_filter + adsets_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Adsets Ac + description: Leave empty for all ad sets + default: [] + adsets_filter: + items: + type: string + type: array + title: Adsets Filter + description: Leave empty for all ad sets + default: [] + adsets_ids: + items: + type: string + type: array + title: Adsets Ids + description: Leave empty for all ad sets + default: [] + adsets_names: + items: + type: string + type: array + title: Adsets Names + description: Leave empty for all ad sets + default: [] + adsets_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsSetsTypeEnum' + description: The type of ad sets input to use + examples: + - adsets_names + - adsets_ids + - adsets_filter + campaigns_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Campaigns Ac + description: Leave empty for all campaigns + default: [] + campaigns_filter: + items: + type: string + type: array + title: Campaigns Filter + description: Leave empty for all campaigns + default: [] + campaigns_ids: + items: + type: string + type: array + title: Campaigns Ids + description: Leave empty for all campaigns + default: [] + campaigns_names: + items: + type: string + type: array + title: Campaigns Names + description: Leave empty for all campaigns + default: [] + campaigns_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsCampaignsTypeEnum' + description: The type of campaigns input to use + examples: + - campaigns_names + - campaigns_ids + - campaigns_filter + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_insight_report_platform + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - Date + title: Incremental Field + description: The interval field of the river entity. + default: Date + example: date_field + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteFacebookAdsPredefinedInsightReportPlatform + description: Facebook ads predefined insights platform report, used for write. + WriteFacebookAdsPredefinedInsightReportProduct: + properties: + ads_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Ads Ac + description: Leave empty for all ads + default: [] + ads_filter: + items: + type: string + type: array + title: Ads Filter + description: Leave empty for all ads + default: [] + ads_ids: + items: + type: string + type: array + title: Ads Ids + description: Leave empty for all ads + default: [] + ads_names: + items: + type: string + type: array + title: Ads Names + description: Leave empty for all ads + default: [] + ads_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsAdsTypeEnum' + description: The type of ads input to use + examples: + - ads_ids + - ads_names + - ads_filter + adsets_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Adsets Ac + description: Leave empty for all ad sets + default: [] + adsets_filter: + items: + type: string + type: array + title: Adsets Filter + description: Leave empty for all ad sets + default: [] + adsets_ids: + items: + type: string + type: array + title: Adsets Ids + description: Leave empty for all ad sets + default: [] + adsets_names: + items: + type: string + type: array + title: Adsets Names + description: Leave empty for all ad sets + default: [] + adsets_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsSetsTypeEnum' + description: The type of ad sets input to use + examples: + - adsets_names + - adsets_ids + - adsets_filter + campaigns_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Campaigns Ac + description: Leave empty for all campaigns + default: [] + campaigns_filter: + items: + type: string + type: array + title: Campaigns Filter + description: Leave empty for all campaigns + default: [] + campaigns_ids: + items: + type: string + type: array + title: Campaigns Ids + description: Leave empty for all campaigns + default: [] + campaigns_names: + items: + type: string + type: array + title: Campaigns Names + description: Leave empty for all campaigns + default: [] + campaigns_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsCampaignsTypeEnum' + description: The type of campaigns input to use + examples: + - campaigns_names + - campaigns_ids + - campaigns_filter + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_insight_report_product + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - Date + title: Incremental Field + description: The interval field of the river entity. + default: Date + example: date_field + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteFacebookAdsPredefinedInsightReportProduct + description: Facebook ads predefined insights product report, used for write. + WriteFacebookAdsPredefinedSavedAudiencesReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + type: string + enum: + - predefined_saved_audiences + title: Report Id + description: The report id + type: object + required: + - target_table + - report_id + title: WriteFacebookAdsPredefinedSavedAudiencesReport + description: Facebook ads predefined saved audiences report, used for write. + WritePredefinedReportFacebookAdsTableInput: + properties: + run_type_and_datasource: + type: string + enum: + - predefined_report_facebook ads + title: Run Type And Datasource + description: Internal field + default: predefined_report_facebook ads + details: + anyOf: + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedInsightBasicReport + - $ref: '#/components/schemas/WriteFacebookAdsPredefinedCampaignsReport' + - $ref: '#/components/schemas/WriteFacebookAdsPredefinedAdsReport' + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedAdLeadsFormsReport + - $ref: '#/components/schemas/WriteFacebookAdsPredefinedAdsPixelsReport' + - $ref: '#/components/schemas/WriteFacebookAdsPredefinedAdSetsReport' + - $ref: '#/components/schemas/WriteFacebookAdsPredefinedAdAccountReport' + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedAdAccountActivitiesReport + - $ref: '#/components/schemas/WriteFacebookAdsPredefinedAdCreativesReport' + - $ref: '#/components/schemas/WriteFacebookAdsPredefinedAdLeadsReport' + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedCustomAudiencesReport + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedCustomConversionsReport + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedInsightReportAgeGender + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedInsightReportCountry + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedInsightReportPlatform + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedInsightReportProduct + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedSavedAudiencesReport + title: Details + description: The predefined report table details + additionalProperties: false + type: object + required: + - details + title: WritePredefinedReportFacebookAdsTableInput + description: |- + Table properties which define the predefined report table data + This schema is being used for Create or Update purposes + WritePredefinedReportShopifyTableInput: + properties: + run_type_and_datasource: + type: string + enum: + - predefined_report_shopify + title: Run Type And Datasource + description: Internal field + default: predefined_report_shopify + details: + anyOf: + - $ref: '#/components/schemas/WriteShopifyPredefinedOrdersReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedShopReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedAddressesReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedAnalyticReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedCustomersReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedInventoryLevelsReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedMarketingEventsReport' + - $ref: >- + #/components/schemas/WriteShopifyPredefinedOrderTransactionsReport + - $ref: '#/components/schemas/WriteShopifyPredefinedProductsReport' + title: Details + description: The predefined report table details + additionalProperties: false + type: object + required: + - details + title: WritePredefinedReportShopifyTableInput + description: |- + Table properties which define the predefined report table data + This schema is being used for Create or Update purposes + WriteRiverInput: + properties: + name: + type: string + title: Name + description: The name of the river. + example: river_name + kind: + allOf: + - $ref: '#/components/schemas/RiverKindEnum' + description: The kind of the river. + default: main_river + example: main_river + nullable: true + type: + allOf: + - $ref: '#/components/schemas/RiverTypeEnum' + description: The type of river. + example: source_to_target + group_id: + type: string + title: Group Id + description: The id of the group the river belongs to. + example: 55fr7d4270fdca16cac18261 + nullable: true + group_name: + type: string + title: Group Name + description: The name of the group the river belongs to. + example: river_group_1 + nullable: true + metadata: + allOf: + - $ref: '#/components/schemas/RiverMetadata' + title: Metadata + description: An object containing river metadata. + default: + description: '' + river_status: disabled + settings: + allOf: + - $ref: '#/components/schemas/RiverSettings' + title: Settings + description: An object containing river settings. + default: + run_timeout_seconds: 43200 + properties: + oneOf: + - $ref: '#/components/schemas/WriteSourceToTargetRiverPropertiesInput' + - $ref: '#/components/schemas/ActionProperties' + - $ref: '#/components/schemas/LogicProperties' + title: Properties + description: The properties of a river. + discriminator: + propertyName: properties_type + mapping: + source_to_target: '#/components/schemas/WriteSourceToTargetRiverPropertiesInput' + actions: '#/components/schemas/ActionProperties' + logic: '#/components/schemas/LogicProperties' + schedulers: + items: + $ref: '#/components/schemas/RiverSchedule' + type: array + maxItems: 1 + minItems: 0 + title: Schedulers + description: >- + An object containing the schedule settings. Currently support only + one scheduler + default: [] + cross_id: + type: string + title: Cross Id + description: The cross_id of the river to be deployed. + nullable: true + hidden: true + deployment_definition: + type: object + title: Deployment Definition + description: The deployment definition of the river to be deployed. + nullable: true + hidden: true + additionalProperties: false + type: object + required: + - name + - type + - properties + title: WriteRiverInput + description: River fields for new river creation / update an existing river. + WriteSchemaInput: + properties: + name: + type: string + title: Name + description: The name of the schema + tables: + items: + oneOf: + - $ref: '#/components/schemas/WriteDatabaseTableInput' + - $ref: '#/components/schemas/WritePredefinedReportShopifyTableInput' + - $ref: >- + #/components/schemas/WritePredefinedReportFacebookAdsTableInput + discriminator: + propertyName: run_type_and_datasource + mapping: + multi_tables: '#/components/schemas/WriteDatabaseTableInput' + predefined_report_shopify: '#/components/schemas/WritePredefinedReportShopifyTableInput' + predefined_report_facebook ads: >- + #/components/schemas/WritePredefinedReportFacebookAdsTableInput + type: array + title: Tables + default: [] + type: object + required: + - name + title: WriteSchemaInput + description: Schema properties to write (PUT operations) + WriteShopifyPredefinedAddressesReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_addresses + title: Report Id + description: The report id + incremental_field: + allOf: + - $ref: '#/components/schemas/IncrementalFieldEnum' + description: The interval field of the river entity. + default: updated at + example: date_field + extra: + display_name: Incremental Field + type: incremental_field + options: + - label: updated at + value: updated at + - label: created at + value: created at + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteShopifyPredefinedAddressesReport + description: Shopify predefined addresses report, used for write. + report_index: + extract_method: 0 + incremental_field: 1 + incremental_type: 2 + date_range: 3 + advanced_settings: 4 + include_end_value: 4.1 + time_interval: 4.2 + interval_size: 4.3 + skip_failed_queues: 5 + extra_fields: + skip_failed_queues: + display_name: Number of allowed failed queues + name: skip_failed_queues + value: 0 + required: false + type: number + readonly: true + chakra: true + WriteShopifyPredefinedAnalyticReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_analytic_reports + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - updated at + title: Incremental Field + description: The interval field of the river entity. + default: updated at + example: date_field + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteShopifyPredefinedAnalyticReport + description: Shopify predefined analytic report, used for write. + report_index: + extract_method: 0 + incremental_field: 1 + incremental_type: 2 + date_range: 3 + advanced_settings: 4 + include_end_value: 4.1 + time_interval: 4.2 + interval_size: 4.3 + skip_failed_queues: 5 + extra_fields: + skip_failed_queues: + display_name: Number of allowed failed queues + name: skip_failed_queues + value: 0 + required: false + type: number + readonly: true + chakra: true + WriteShopifyPredefinedCustomersReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_customers + title: Report Id + description: The report id + incremental_field: + allOf: + - $ref: '#/components/schemas/IncrementalFieldEnum' + description: The interval field of the river entity. + default: updated at + example: date_field + extra: + display_name: Incremental Field + type: incremental_field + options: + - label: updated at + value: updated at + - label: created at + value: created at + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteShopifyPredefinedCustomersReport + description: Shopify predefined analytic report, used for write. + report_index: + extract_method: 0 + incremental_field: 1 + incremental_type: 2 + date_range: 3 + advanced_settings: 4 + include_end_value: 4.1 + time_interval: 4.2 + interval_size: 4.3 + skip_failed_queues: 5 + extra_fields: + skip_failed_queues: + display_name: Number of allowed failed queues + name: skip_failed_queues + value: 0 + required: false + type: number + readonly: true + chakra: true + WriteShopifyPredefinedInventoryLevelsReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_inventory_levels + title: Report Id + description: The report id + incremental_field: + allOf: + - $ref: '#/components/schemas/IncrementalFieldEnum' + description: The interval field of the river entity. + default: created at + example: date_field + extra: + display_name: Incremental Field + type: incremental_field + options: + - label: updated at + value: updated at + - label: created at + value: created at + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteShopifyPredefinedInventoryLevelsReport + description: Shopify predefined inventory levels report, used for write. + report_index: + extract_method: 0 + incremental_field: 1 + incremental_type: 2 + date_range: 3 + advanced_settings: 4 + include_end_value: 4.1 + time_interval: 4.2 + interval_size: 4.3 + skip_failed_queues: 5 + extra_fields: + skip_failed_queues: + display_name: Number of allowed failed queues + name: skip_failed_queues + value: 0 + required: false + type: number + readonly: true + chakra: true + WriteShopifyPredefinedMarketingEventsReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + type: string + enum: + - predefined_marketing_events + title: Report Id + description: The report id + type: object + required: + - target_table + - report_id + title: WriteShopifyPredefinedMarketingEventsReport + description: Shopify predefined marketing events report, used for write. + report_index: + extract_method: 0 + WriteShopifyPredefinedOrderTransactionsReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_order_transactions + title: Report Id + description: The report id + incremental_field: + allOf: + - $ref: '#/components/schemas/IncrementalFieldEnum' + description: The interval field of the river entity. + default: updated at + example: date_field + extra: + display_name: Incremental Field + type: incremental_field + options: + - label: updated at + value: updated at + - label: created at + value: created at + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteShopifyPredefinedOrderTransactionsReport + description: Shopify predefined order transaction report, used for write. + report_index: + extract_method: 0 + incremental_field: 1 + incremental_type: 2 + date_range: 3 + advanced_settings: 4 + include_end_value: 4.1 + time_interval: 4.2 + interval_size: 4.3 + skip_failed_queues: 5 + extra_fields: + skip_failed_queues: + display_name: Number of allowed failed queues + name: skip_failed_queues + value: 0 + required: false + type: number + readonly: true + chakra: true + WriteShopifyPredefinedOrdersReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_orders + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - updated at + title: Incremental Field + description: The interval field of the river entity. + default: updated at + example: date_field + extra: + display_name: Incremental Field + type: incremental_field + options: + - label: updated at + value: updated at + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + status: + allOf: + - $ref: '#/components/schemas/StatusEnum' + description: Filter by order status + default: any + extra: + required: true + chakra: true + display_name: Status + type: list_single_options + options: + - id: any + name: Any + - id: cancelled + name: Cancelled + - id: closed + name: Closed + - id: open + name: Open + financial_status: + allOf: + - $ref: '#/components/schemas/FinancialStatusEnum' + description: Filter by order's financial status + default: any + extra: + chakra: true + display_name: Financial Status + type: list_single_options + options: + - id: any + name: Any + - id: paid + name: Paid + - id: unpaid + name: Unpaid + - id: voided + name: Voided + - id: pending + name: Pending + - id: refunded + name: Refunded + - id: authorized + name: Authorized + - id: partially_paid + name: Partially paid + - id: partially_refunded + name: Partially refunded + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteShopifyPredefinedOrdersReport + description: Shopify predefined orders report, used for write. + report_index: + status: 0 + financial_status: 1 + extract_method: 2 + incremental_field: 3 + incremental_type: 4 + date_range: 5 + advanced_settings: 6 + include_end_value: 6.1 + time_interval: 6.2 + interval_size: 6.3 + skip_failed_queues: 7 + extra_fields: + skip_failed_queues: + display_name: Number of allowed failed queues + name: skip_failed_queues + value: 0 + required: false + type: number + readonly: true + chakra: true + WriteShopifyPredefinedProductsReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_products + title: Report Id + description: The report id + incremental_field: + allOf: + - $ref: '#/components/schemas/ProductsIncrementalFieldEnum' + description: The interval field of the river entity. + default: updated at + example: date_field + extra: + display_name: Incremental Field + type: incremental_field + options: + - label: updated at + value: updated at + - label: created at + value: created at + - label: published at + value: published at + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteShopifyPredefinedProductsReport + description: Shopify predefined products report, used for write. + report_index: + extract_method: 0 + incremental_field: 1 + incremental_type: 2 + date_range: 3 + advanced_settings: 4 + include_end_value: 4.1 + time_interval: 4.2 + interval_size: 4.3 + skip_failed_queues: 5 + extra_fields: + skip_failed_queues: + display_name: Number of allowed failed queues + name: skip_failed_queues + value: 0 + required: false + type: number + readonly: true + chakra: true + WriteShopifyPredefinedShopReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + type: string + enum: + - predefined_shop + title: Report Id + description: The report id + type: object + required: + - target_table + - report_id + title: WriteShopifyPredefinedShopReport + description: Shopify predefined shop report, used for write. + report_index: + extract_method: 0 + WriteSourceToTargetRiverPropertiesInput: + properties: + properties_type: + type: string + enum: + - source_to_target + title: Properties Type + default: source_to_target + source: + allOf: + - $ref: '#/components/schemas/SourceSettings' + title: Source + description: The source of the river. + target: + oneOf: + - $ref: '#/components/schemas/SnowflakeTargetSettings' + - $ref: '#/components/schemas/BigQueryTargetSettings' + - $ref: '#/components/schemas/RedshiftTargetSettings' + - $ref: '#/components/schemas/S3TargetSettings' + - $ref: '#/components/schemas/EmailTargetSettings' + - $ref: '#/components/schemas/BlobStorageSettings' + - $ref: '#/components/schemas/GcsTargetSettings' + - $ref: '#/components/schemas/DatabricksTargetSettings' + - $ref: '#/components/schemas/AzureSynapseAnalyticsTargetSettings' + - $ref: '#/components/schemas/AthenaTargetSettings' + - $ref: '#/components/schemas/AzureSqlTargetSettings' + - $ref: '#/components/schemas/PostgresTargetSettings' + title: Target + description: The target of the river. + discriminator: + propertyName: name + mapping: + snowflake: '#/components/schemas/SnowflakeTargetSettings' + bigquery: '#/components/schemas/BigQueryTargetSettings' + redshift: '#/components/schemas/RedshiftTargetSettings' + s3: '#/components/schemas/S3TargetSettings' + target_email: '#/components/schemas/EmailTargetSettings' + blob_storage: '#/components/schemas/BlobStorageSettings' + GCS: '#/components/schemas/GcsTargetSettings' + databricks: '#/components/schemas/DatabricksTargetSettings' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsTargetSettings' + athena: '#/components/schemas/AthenaTargetSettings' + azure_sql: '#/components/schemas/AzureSqlTargetSettings' + postgres: '#/components/schemas/PostgresTargetSettings' + schemas: + items: + $ref: '#/components/schemas/WriteSchemaInput' + type: array + title: Schemas + description: The schemas of the river entity + default: [] + additionalProperties: false + type: object + required: + - source + - target + title: WriteSourceToTargetRiverPropertiesInput + description: Source to target River properties that is being used for PUT purposes + securitySchemes: + HTTPBearer: + type: http + scheme: bearer +tags: + - name: Rivers + description: Management of rivers + - name: Activities + description: Get the Rivery's activities data with various of GET operations + - name: Connections + description: Management of connection entities + - name: Dataframes + description: Management of dataframe entities + - name: Environments + description: Listing account's environments + - name: Accounts + description: Listing accounts + - name: Audit Events + description: Listing account's audit events + - name: Beta Endpoints + description: Beta endpoints diff --git a/sdks/db/custom-request-specs/secoda.co.yaml b/sdks/db/custom-request-specs/secoda.co.yaml new file mode 100644 index 000000000..0c4af1eab --- /dev/null +++ b/sdks/db/custom-request-specs/secoda.co.yaml @@ -0,0 +1,5157 @@ +openapi: 3.0.0 +info: + title: Secoda API + version: 1.0.0 + description: > + Use this API to programmatically use Secoda's data enablement features. With + these APIs, you can bring in resource metadata, build documentation + pipelines, and manage workspace settings programmatically. + + + To learn more about Secoda, visit the [Secoda + documentation](https://docs.secoda.co/). + + + To get in touch with Secoda, contact customer support at support@secoda.co. + + + ## Getting Started + + + ### Authentication + + + Secoda API's require an Authorization header with a Bearer token. You can + generate an API key in your workspace, as outlined + [here](https://docs.secoda.co/secoda-api/authentication). + + + ### Base URL + + + To determine the base URL of your API requests, please refer to the chart + below. + + + | Workspace URL | Base URL | + + | ---------------------- | ---------------------- | + + | app.secoda.co | api.secoda.co | + + | eu.secoda.co | eapi.secoda.co | + + | apac.secoda.co | aapi.secoda.co | + + + For teams with an On Premise or Managed instance with a custom domain, the + Base URL is the custom domain followed by `/api/v1`. + + + ## Helpful Information + + + Secoda’s APIs generally follow the CRUD pattern (Create, Read, Update, + Delete). The data elements that are managed with these APIs are called + Resources. Generally, each resource maps to an integration, with many set + and customizable properties called Metadata. + + + ### Important Terminology + + + **Workspace:** + + In Secoda, a workspace is the environment within the application where teams + can integrate resources and metadata and add documentation, either through + the UI or programatically through the API. + + + **Resource:** + + In Secoda, a resource is any entity that metadata can be added to. This + includes, but is not limited to, tables, dashboards, charts, columns, + queries, documents, dictionary terms, and more. + + + **Metadata:** + + In Secoda, metadata is the additional information you can provide to add + context to your resources. This includes descriptions, definitions, owners, + custom properties, and more. Metadata is the lifeblood of Secoda; the more + you put in, the more you'll get out of the tool! + + + ### Resource Heirarchy + + + Nearly all resources in Secoda can be nested under a parent. A resource has + a one to many relationship with its child. This means thats a parent + resource can have several children, but a child resource can only have one + parent. + + + For Collections, Dictionary Terms, and Documents, the parent must be the + same resource type. However, there are two unique heirarchy structures that + the application expects when adding net new resources. + + + **Table Heirarchy:** Integration > Databases > Schemas > Tables > Columns > + Columns (if nested) + + + **Dashboard Heirarchy:** Integration > Groups > Dashboards > Charts +servers: + - url: https://api.secoda.co + description: Base URL for all US cloud based workspaces. + - url: https://eapi.secoda.co + description: Base URL for all EU cloud based workspaces. + - url: https://aapi.secoda.co + description: Base URL for all APAC cloud based workspaces. + - url: https://{customer_domain}.secoda.co/api/v1 + description: Base URL for On Premise Secoda workspaces. + variables: + customer_domain: + default: customer_domain + description: The specific domain set up for your On Premise Secoda workspace. +security: + - ApiKeyAuth: [] +tags: + - name: Integrations + description: External sources from which resources and metadata are extracted. + - name: Databases + description: Databases or similar data elements from an integration. + - name: Schemas + description: Schemas or similar data elements from an integration. + - name: Tables + description: Tables or similar data elements from an integration. + - name: Columns + description: Columns or similar data elements from an integration. + - name: Dashboard Groups + description: A grouping of related dashboards or charts from an integration. + - name: Dashboards + description: Dashboards or similar visualization elements from an integration. + - name: Charts + description: Charts or similar visualization elements from an integration. + - name: Event Categories + description: A grouping of related events from an integration. + - name: Events + description: Data elements representing an event from an integration. + - name: Event Properties + description: The properties associated with an event from an integration. + - name: Lineage + description: > + The dependencies between resources. Learn more about lineage + [here](https://docs.secoda.co/features/data-lineage). + - name: Tags + description: >- + Labels used to categorize, filter, and classify resources. Learn more + about tags + [here](https://docs.secoda.co/resource-and-metadata-management/tags/custom-tags). + - name: Terms + description: > + Definitions and explanations of specific data-related concepts. Learn more + about terms [here](https://docs.secoda.co/features/metrics). + - name: Collections + description: > + Groups of related resources within the workspace. Learn more about + collections [here](https://docs.secoda.co/features/collections-1). + - name: Questions + description: > + Questions asked by data consumers and their associated answers in the + workspace. Learn more about questions + [here](https://docs.secoda.co/features/ask-questions-in-secoda). + - name: Documents + description: > + Mark down content used to add documentation to the workspace. Learn more + about documents [here](https://docs.secoda.co/features/documents). + - name: Queries + description: > + Queries from an extraction. Learn more about queries + [here](https://docs.secoda.co/features/queries). + - name: Users + description: > + Members within the workspace. Learn more about user management + [here](https://docs.secoda.co/user-management). + - name: Teams + description: > + Teams within the workspace. Learn more about team management + [here](https://docs.secoda.co/user-management/teams). + - name: User Groups + description: > + Groups within the workspace. Learn more about team management + [here](https://docs.secoda.co/user-management/groups). + - name: Monitors + description: > + Monitors allow Secoda admins to have insight into the health of the data + stack. Learn more about monitors + [here](https://docs.secoda.co/features/monitoring). +paths: + /integration/integrations: + post: + tags: + - Integrations + summary: Create a New Integration + description: >- + Use this endpoint to create a [custom + integration](https://docs.secoda.co/integrations/custom-integration), or + add credentials for a native integration programatically. + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Represents the name of the integration data source or tool. + example: Sample Integration + type: + type: string + description: This indicates the type of integration (e.g., "custom"). + example: custom + teams: + type: array + items: + type: string + description: >- + Indicates the teams associated with this integration. The + access can be edited in the UI. + example: + - 4c0e07c0-306a-4f4e-8b2b-6a8d7a33d251 + - a5423e2e-93b8-4b2c-af3c-7b7f0eefea14 + credentials: + type: object + description: >- + If you are adding a custom integration, the value of this + parameter should always be empty {}. + example: {} + responses: + '201': + description: Integration created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/IntegrationResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + get: + tags: + - Integrations + summary: List Integrations + description: This endpoint will return all the integrations active in your workspace. + parameters: + - name: type + in: query + schema: + type: string + description: The type of integrations to filter. + example: bigquery + responses: + '200': + description: List of integrations. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/IntegrationResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + /integration/integrations/{integration_id}: + get: + tags: + - Integrations + summary: Get Integration by ID + description: This endpoint will provide the details of an individual integration. + parameters: + - name: integration_id + in: path + required: true + schema: + type: string + description: The ID of the integration to retrieve. + example: d31e59c7-cd52-4398-9d6e-da313a7b7775 + responses: + '200': + description: Integration details retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/IntegrationResponse' + '404': + description: Integration not found. + '500': + description: Internal server error. + /integration/integrations/{integration_id}/import_metadata: + post: + tags: + - Integrations + summary: Upload Integration Metadata (via CSV) + description: >- + This endpoint allows the upload of integration metadata using a CSV. + This can also be done through the UI. See more about CSV uploads + [here](https://docs.secoda.co/integrations/custom-integration/import-your-resources). + parameters: + - name: integration_id + in: path + required: true + schema: + type: string + description: The ID of the integration to upload metadata for. + example: d31e59c7-cd52-4398-9d6e-da313a7b7775 + requestBody: + required: true + content: + multipart/form-data: + schema: + type: object + properties: + file: + description: >- + The path to the CSV file containing your metadata and + resources. The format of the CSV file can be found + [here](https://docs.secoda.co/integrations/custom-integration/import-your-resources/create-your-csv). + type: string + format: binary + example: path/to/your/file.csv + responses: + '200': + description: Integration metadata uploaded successfully. + '404': + description: Integration not found. + '500': + description: Internal server error. + /integration/integrations/{integration_id}/import_jsonl_metadata: + post: + tags: + - Integrations + summary: Upload Integration Metadata (via JSONL) + description: >- + This endpoint allows the upload of integration metadata as well as + integration lineage using a JSONL file. This can also be done through + the UI. See more about JSONL uploads + [here](https://docs.secoda.co/integrations/custom-integration/import-your-resources). + parameters: + - name: integration_id + in: path + required: true + schema: + type: string + description: The ID of the integration to upload metadata and/or lineage for. + example: d31e59c7-cd52-4398-9d6e-da313a7b7775 + requestBody: + required: true + content: + multipart/form-data: + schema: + type: object + required: + - resources_file + properties: + resources_file: + type: string + format: binary + description: >- + The path to the your resources file. The expected formatting + of this file can be found + [here](https://docs.secoda.co/integrations/custom-integration/import-your-resources/create-your-jsonl-file). + example: path/to/your/resources_file.jsonl + lineages_file: + description: >- + The path to the your lineages file. The expected formatting + of this file can be found + [here](https://docs.secoda.co/integrations/custom-integration/import-your-resources/create-your-jsonl-file). + type: string + format: binary + example: path/to/your/lineages_file.jsonl + responses: + '200': + description: Integration JSONL file uploaded successfully. + '404': + description: Integration not found. + '500': + description: Internal server error. + /table/databases: + post: + tags: + - Databases + summary: Create a New Database + description: >- + Create a new database resource. It must have a schema as a parent, and + an associated integration. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Database created successfully + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + get: + tags: + - Databases + summary: List Databases + description: Use this endpoint to see all the databases active in your workspace. + parameters: + - in: query + name: title + schema: + type: string + description: The title of the database to search for. + example: customers + responses: + '200': + description: List of databases. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/BaseResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + /table/databases/{database_id}: + get: + tags: + - Databases + summary: Get Database by ID + description: Use this endpoint for retrieving a specific database by its ID. + parameters: + - in: path + name: database_id + required: true + schema: + type: string + description: The unique identifier of the database to retrieve. + example: 27498d73-db31-4a4e-8cf0-faccff1bed0f + responses: + '200': + description: Database retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '404': + description: Database not found. + '500': + description: Internal server error. + /table/schemas: + post: + tags: + - Schemas + description: >- + Create a new schema. Schema must have one database as a parent, and be + associated with an integration. + summary: Create a New Schema + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + native_type: + type: string + description: >- + The native type of the schema as it's referred to in the + integration. + example: System + database: + type: string + description: The title of the database. + example: Sample Database + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Schema created successfully + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + get: + tags: + - Schemas + summary: List Schemas + description: >- + Endpoint for retrieving a list of schemas with optional filtering by + parent schema and title. + parameters: + - in: query + name: parent + schema: + type: string + description: The ID of the parent database to filter by. + - in: query + name: title + schema: + type: string + description: The title of the schema to filter by. + responses: + '200': + description: List of schemas. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/BaseResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + /table/schemas/{schema_id}: + parameters: + - in: path + name: schema_id + required: true + description: The ID of the schema to retrieve or update. + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + schema: + type: string + get: + tags: + - Schemas + summary: Get Schema by ID + description: Retrieve schema details by its unique ID. + responses: + '200': + description: Schema details retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '404': + description: Schema not found. + '500': + description: Internal server error. + patch: + tags: + - Schemas + summary: Update Schema by ID + description: Use this endpoint to update schema metadata. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: Schema updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '400': + description: Bad request. + '404': + description: Schema not found. + '500': + description: Internal server error. + /table/tables: + post: + tags: + - Tables + summary: Create a New Table + description: >- + Create a new table with a schema as a parent. The table must be + associated with an integration. + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + native_type: + type: string + description: The native type of the table. + example: Dataset + database: + type: string + description: The name of the database the table belongs to. + example: Sample Database + schema: + type: string + description: The name of the schema the table belongs to. + example: Sample Schema + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Table created successfully + content: + application/json: + schema: + $ref: '#/components/schemas/TableResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + get: + tags: + - Tables + summary: List Tables + description: > + This endpoint retrieves a list of tables, with optional filters for the + integration, the schema, and the title of the table resource. + parameters: + - name: integration_id + in: query + description: Integration ID + schema: + type: string + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + - name: parent_id + in: query + description: ID of the schema + schema: + type: string + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + - name: title + in: query + description: Title of the table + schema: + type: string + example: Sample Table + responses: + '200': + description: List of databases. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/TableResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + /table/tables/{table_id}: + get: + tags: + - Tables + summary: Get Table by ID + description: | + This endpoint retrieves a specific table by its ID. + parameters: + - name: table_id + in: path + description: ID of the table to retrieve + required: true + schema: + type: string + example: d935a76c-2125-4c30-9389-ef42fa7e23bb + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/TableResponse' + '404': + description: Table not found. + '500': + description: Internal server error. + patch: + tags: + - Tables + summary: Update Table by ID + description: | + Use this endpoint to update table metadata. + parameters: + - name: table_id + in: path + description: ID of the table to update + required: true + schema: + type: string + example: d935a76c-2125-4c30-9389-ef42fa7e23bb + requestBody: + description: Table data to update + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/TableResponse' + '400': + description: Bad request. + '404': + description: Table not found. + '500': + description: Internal server error. + delete: + tags: + - Tables + summary: Delete Table by ID + description: | + This endpoint deletes a specific table by its ID. + parameters: + - name: table_id + in: path + description: ID of the table to delete + required: true + schema: + type: string + example: e7691426-2c2a-46b4-98e7-d09d0b82b2b1 + responses: + '204': + description: Table deleted successfully + '404': + description: Table not found. + '500': + description: Internal server error. + /table/columns: + post: + tags: + - Columns + summary: Create a New Column + description: > + This endpoint allows you to create a new column. Columns must have + tables as a parent or another column for nested records. Columns must be + associated with an integration. + requestBody: + content: + application/json: + schema: + type: object + properties: + native_type: + type: string + description: The native data type of the column in the source. + example: Record + data_type: + type: string + description: The type of the column. + example: null + is_pk: + type: string + description: Indicates whether the column is a primary key. + example: false + table_database: + type: string + description: The name of the database where the column's table belongs. + example: Sample Database + table_schema: + type: string + description: The name of the schema where the column's table belongs. + example: Sample Schema + table_title: + type: string + description: The title of the table to which the column belongs. + example: Sample Table + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Column created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ColumnResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + get: + tags: + - Columns + summary: List Columns + description: > + This endpoint allows you to retrieve a list of all columns in the + workspace. Optional filters for integration_id, title, and parent_id + (the table or parent column) are available. + parameters: + - name: integration_id + in: query + description: Optional. Filter columns by integration identifier. + schema: + type: string + example: 6c69de0f-b269-4380-bcf5-0686de276b9e + - name: parent_id + in: query + description: >- + Optional. Filter columns by parent identifier. This could be the ID + of the table or of the parent column in the case of nested columns. + schema: + type: string + example: c444bc26-433e-4cd2-b3ee-f5a1fbb2caf8 + - name: title + in: query + description: Optional. Filter columns by title of the column. + schema: + type: string + example: Sample Column + - name: table_title + in: query + description: >- + Optional. Filter columns by title of the table that the columns + belong to. If several integrations have the same naming of tables, + it is recommended to combine this with the `integration_id`. + schema: + type: string + example: Sample Table + responses: + '200': + description: List of columns. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/ColumnResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + /table/columns/{column_id}: + get: + tags: + - Columns + summary: Get Column by ID + description: > + This endpoint allows you to retrieve information about a specific column + by its identifier. + parameters: + - name: column_id + in: path + description: Identifier of the column to retrieve. + required: true + schema: + type: string + example: 8b2e01e0-603b-4559-8eac-4e16ecc61fc7 + responses: + '200': + description: Column retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ColumnResponse' + '404': + description: Column not found. + '500': + description: Internal server error. + patch: + tags: + - Columns + summary: Edit Column by ID + description: > + This endpoint allows you to edit the metadata of a specific column by + its identifier. + parameters: + - name: column_id + in: path + description: Identifier of the column to retrieve. + required: true + schema: + type: string + example: 8b2e01e0-603b-4559-8eac-4e16ecc61fc7 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: Column retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ColumnResponse' + '404': + description: Column not found. + '500': + description: Internal server error. + delete: + tags: + - Columns + summary: Delete Column by ID + description: | + This endpoint allows you to delete a specific column by its identifier. + parameters: + - name: column_id + in: path + description: Identifier of the column to delete. + required: true + schema: + type: string + example: 8b2e01e0-603b-4559-8eac-4e16ecc61fc7 + responses: + '204': + description: Column deleted successfully. + '404': + description: Column not found. + '500': + description: Internal server error. + /dashboard/groups: + post: + summary: Create a New Dashboard Group + description: >- + Use this endpoint to create a dashboard group, which will be the parent + of dashboards. + tags: + - Dashboard Groups + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + native_type: + type: string + description: The native type of the group. + example: dashboard_group + url: + type: string + description: Reprents the URL of the group. + example: sample.url.com + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardGroupResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + summary: List Dashboard Groups + description: >- + List all the dashboard groups in the workspace. Optional filter by + title. + tags: + - Dashboard Groups + parameters: + - in: query + name: title + schema: + type: string + description: Filter groups by title + example: Sample Group + responses: + '200': + description: List of groups. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/DashboardGroupResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /dashboard/groups/{group_id}: + get: + summary: Get Dashboard Group by ID + description: Retrieve the information of a specific dashboard group. + tags: + - Dashboard Groups + parameters: + - in: path + name: group_id + required: true + schema: + type: string + description: ID of the dashboard group to retrieve + example: 43d7c33d-ad74-4dfb-bfad-c172f6701afb + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardGroupResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + /dashboard/dashboards: + post: + tags: + - Dashboards + summary: Create a new Dashboard + description: > + Create a new dashboard with the provided data. Dashboards must have a + Group as a parent, and be associated with an integration. + requestBody: + description: Dashboard data + required: true + content: + application/json: + schema: + type: object + properties: + group: + type: string + description: >- + Indicates the title name of the group to which the dashboard + belongs. + example: Sample Group + url: + type: string + description: Indicates the URL of the dashboard. + example: sample.url.com + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Dashboards + summary: List Dashboards + description: > + Retrieve a list of dashboards with optional filtering using the + integration_id, parent_id (the dashboard group), and title. + parameters: + - name: integration_id + in: query + schema: + type: string + example: cf103b47-8576-4467-ad34-384cd523abd9 + description: Filter by integration ID + - name: parent_id + in: query + schema: + type: string + example: 43d7c33d-ad74-4dfb-bfad-c172f6701afb + description: Filter by parent ID + - name: title + in: query + schema: + type: string + description: Filter by title + example: Sample Dashboard + responses: + '200': + description: List of dashboards. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/DashboardResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /dashboard/dashboards/{dashboard_id}: + get: + tags: + - Dashboards + summary: Get Dashboard by ID + description: | + Retrieve a specific dashboard by its ID. + parameters: + - name: dashboard_id + in: path + required: true + schema: + type: string + description: The ID of the dashboard to retrieve. + example: 226dc8aa-fa8d-4646-8b11-6652cdc64065 + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + patch: + tags: + - Dashboards + summary: Update Dashboard by ID + description: | + Use this endpoint to update dashboard metadata. + parameters: + - name: dashboard_id + in: path + required: true + schema: + type: string + description: The ID of the dashboard to update. + example: 226dc8aa-fa8d-4646-8b11-6652cdc64065 + requestBody: + description: Represents the description of the dashboard + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + delete: + tags: + - Dashboards + summary: Delete Dashboard by ID + description: | + Delete a specific dashboard by its ID. + parameters: + - name: dashboard_id + in: path + required: true + schema: + type: string + description: The ID of the dashboard to delete. + example: 0b3938f4-692c-4d78-b40c-247c75dc6930 + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + /dashboard/charts: + post: + tags: + - Charts + summary: Create a new Chart + description: > + Create a new chart with the provided data. Charts must have a dashboard + as a parent, and be associated with an integration. + requestBody: + description: Chart data + required: true + content: + application/json: + schema: + type: object + properties: + native_type: + type: string + description: Set a different name to the charts term. + example: Other Chart + group: + type: string + description: Indicates the name of the group. + url: + type: string + description: Indicates the URL of the chart. + example: sample.url.com + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/ChartResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Charts + summary: List Charts + description: > + Retrieve a list of charts with optional filtering by integration_id, + parent_id (the dashboard the chart belongs to), and title. + parameters: + - name: integration_id + in: query + schema: + type: string + description: Filter by integration ID + example: cf103b47-8576-4467-ad34-384cd523abd9 + - name: parent_id + in: query + schema: + type: string + example: 226dc8aa-fa8d-4646-8b11-6652cdc64065 + description: Filter by parent ID + - name: title + in: query + schema: + type: string + description: Filter by title + example: Sample Chart + responses: + '200': + description: List of charts. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/ChartResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /dashboard/charts/{chart_id}: + get: + tags: + - Charts + summary: Get Chart by ID + description: | + Retrieve a specific chart by its ID. + parameters: + - name: chart_id + in: path + required: true + schema: + type: string + description: The ID of the chart to retrieve. + example: 45813776-8934-442d-adf7-74ec921c53bf + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ChartResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + patch: + tags: + - Charts + summary: Update Chart by ID + description: Use this endpoint to update chart metadata. + parameters: + - name: chart_id + in: path + required: true + schema: + type: string + description: The ID of the chart to update. + example: 45813776-8934-442d-adf7-74ec921c53bf + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ChartResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + delete: + tags: + - Charts + summary: Delete Chart by ID + description: | + Delete a specific chart by its ID. + parameters: + - name: chart_id + in: path + required: true + schema: + type: string + description: The ID of the chart to delete. + example: 45813776-8934-442d-adf7-74ec921c53bf + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ChartResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + /lineage/manual: + post: + tags: + - Lineage + summary: Create new Lineage + description: >- + Create a new lineage object manually. Only one direction of the + relationship needs to be created. The opposite direction of the lineage + is automatically generated. + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + from_entity: + type: string + description: Indicates the source of the resource data. + example: 7879886b-9e0e-4d02-8b37-c7d3c496a587 + to_entity: + type: string + description: >- + Points to the final destination of the resouce data through + various transformations and entities. + example: b500ef23-c9b4-4259-a87d-d77b8b588f06 + direction: + type: string + description: >- + Represents the flow of the resource data. Values can be - +
  • Upstream
  • Downstream
+ example: DOWNSTREAM + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/LineageResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Lineage + summary: List Lineage + description: >- + Get lineage objects with optional filtering by source and destination + entity. + parameters: + - name: from_entity__in + in: query + schema: + type: string + example: 7879886b-9e0e-4d02-8b37-c7d3c496a587 + description: The source resource. + - name: to_entity__in + in: query + schema: + type: string + example: b500ef23-c9b4-4259-a87d-d77b8b588f06 + description: The destination resource. + responses: + '200': + description: List of lineage entries. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/LineageResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /lineage/manual/{lineage_id}: + get: + tags: + - Lineage + summary: Get Lineage by ID + description: Get a lineage object by its ID. + parameters: + - name: lineage_id + in: path + required: true + description: The ID of the lineage entry to retrieve. + schema: + type: string + example: 34d983b3-bfe0-4b49-abea-0692c8be6693 + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/LineageResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + delete: + tags: + - Lineage + summary: Delete Lineage by ID + description: Delete a lineage object by its ID. + parameters: + - name: lineage_id + in: path + required: true + description: The ID of the lineage entry to delete. + schema: + type: string + example: 34d983b3-bfe0-4b49-abea-0692c8be6693 + responses: + '204': + description: No Content + '404': + description: Not Found + '500': + description: Internal Server Error + /tag: + post: + tags: + - Tags + summary: Create a new Tag + description: Create a new tag for the workspace. + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Indicates the name of the tag. + example: Sample Tag + description: + type: string + description: Indicates the description of the tag. + example: This is a sample tag. + color: + type: string + description: Defines the different colors of the tags. + example: '#4299E1' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/TagsResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Tags + summary: List Tags + description: Get a list of tags. No filtering is currently available. + responses: + '200': + description: List of tags. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/TagsResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /tag/{tag_id}: + get: + tags: + - Tags + summary: Get Tag by ID + description: Get a tag by its ID. + parameters: + - name: tag_id + in: path + required: true + description: The ID of the tag to retrieve. + schema: + type: string + example: 69e0b863-8bb8-47e1-b566-8b8d57441c70 + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/TagsResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + patch: + tags: + - Tags + summary: Update Tag by ID + description: Use this endpoint to update tag name, colour, or icon. + parameters: + - name: tag_id + in: path + required: true + description: The ID of the tag to update. + schema: + type: string + example: 38040671-8f1d-4322-b895-4fd7b73317bf + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + color: + type: string + description: Represents the color of the tags. + example: '#316650' + required: + - color + responses: + '204': + description: No Content + '404': + description: Not Found + '500': + description: Internal Server Error + delete: + tags: + - Tags + summary: Delete Tag by ID + description: Delete a tag by its ID. + parameters: + - name: tag_id + in: path + required: true + description: The ID of the tag to delete. + schema: + type: string + example: 69e0b863-8bb8-47e1-b566-8b8d57441c70 + responses: + '204': + description: No Content + '404': + description: Not Found + '500': + description: Internal Server Error + /user: + post: + tags: + - Users + summary: Create a New User + description: Create a new user in the workspace. + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + first_name: + type: string + description: Indicates the first name of the user. + example: Sample + last_name: + type: string + description: Indicates the last name of the user. + example: User + email: + type: string + description: Indicates the email id of the user. + example: sample@sample.com + role: + type: string + description: >- + Indicates the role of the user. Values can be -
  • + Admin
  • Editor
  • Viewer
+ example: editor + _role: + type: string + description: >- + Indicates the role of the user. Values can be -
  • + Admin
  • Editor
  • Viewer
+ example: editor + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/UsersResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Users + summary: List Users + description: Get a list of users. + responses: + '200': + description: List of users. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/UsersResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /user/{id}: + get: + tags: + - Users + summary: Get User by ID + description: Get a user by their ID. + parameters: + - name: id + in: path + required: true + description: The ID of the user to retrieve. + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/UsersResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + patch: + tags: + - Users + summary: Update User by ID + description: >- + Use this endpoint to update the user. Editable fields include the first + name, last name, and role. + parameters: + - name: id + in: path + required: true + description: The ID of the user to update. + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + first_name: + type: string + description: Indicates the first name of the user. + example: Sample + last_name: + type: string + description: Indicates the last name of the user. + example: User + responses: + '200': + description: User updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/UsersResponse' + '400': + description: Bad Request + '404': + description: User not found + '500': + description: Internal Server Error + delete: + tags: + - Users + summary: Delete User by ID + description: Delete a user by their ID. + parameters: + - name: id + in: path + required: true + description: The ID of the user to delete. + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + responses: + '204': + description: No Content + '404': + description: Not Found + '500': + description: Internal Server Error + /auth/teams: + post: + tags: + - Teams + summary: Create a New Team + description: Create a new team in the workspace. + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Indicates the name of the team. + example: Test Team + icon: + type: string + description: Indicates the icon of the team. + example: 😀 + type: + type: string + description: >- + Indicates the type of the team. If a team is Open, this + means it is Public and can be joined by anyone in the + workspace. If a team is Closed, the team is private and only + admins can invite members into the team. Values can be - +
  • OPEN
  • CLOSED
+ example: OPEN + description: + type: string + description: Description of the team. + example: This is the best team in this workspace. + sidebar_settings: + type: object + description: >- + Use these settings to toggle which pages should be shown to + team members in the side bar. + properties: + home: + type: boolean + description: Whether to show the home page to team members. + example: true + catalog: + type: boolean + description: Whether to show the catalog page to team members. + example: true + documents: + type: boolean + description: Whether to show the documents page to team members. + example: true + questions: + type: boolean + description: Whether to show the questions page to team members. + example: true + dictionary: + type: boolean + description: Whether to show the dictionary page to team members. + example: true + collections: + type: boolean + description: Whether to show the collections page to team members. + example: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/TeamsResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Teams + summary: List Teams + description: Get a list of teams in the workspace. + responses: + '200': + description: List of teams. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/TeamsResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /auth/teams/{id}: + get: + tags: + - Teams + summary: Get Team by ID + description: Get a team by their ID. + parameters: + - name: id + in: path + required: true + description: The ID of the team to retrieve. + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/TeamsResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + patch: + tags: + - Teams + summary: Update Team by ID + description: >- + Use this endpoint to update the Team. Editable fields include the name, + description, icon, type, and sidebar settings. + parameters: + - name: id + in: path + required: true + description: The ID of the team to update. + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Indicates the name of the team. + example: New Team + responses: + '200': + description: Team updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/TeamsResponse' + '400': + description: Bad Request + '404': + description: User not found + '500': + description: Internal Server Error + delete: + tags: + - Teams + summary: Delete Team by ID + description: >- + Delete a team by their ID. Any resources that belong solely to this team + will be set to the default team. + parameters: + - name: id + in: path + required: true + description: The ID of the team to delete. + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + responses: + '204': + description: No Content + '404': + description: Not Found + '500': + description: Internal Server Error + /auth/group: + post: + tags: + - User Groups + summary: Create a New User Group + description: Create a new user group in the workspace. + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Indicates the name of the group. + example: Data Stewards + icon: + type: string + description: Indicates the icon of the team. + example: 😀 + description: + type: string + description: Description of the group. + example: Users responsible for keeping documentation up to date. + users: + type: array + description: A list of user IDs that are part of this group. + example: + - 33733f42-8ff7-460b-9e20-50a2133d3bb0 + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + items: + type: string + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/UserGroupResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - User Groups + summary: List User Groups + description: Get a list of user groups in the workspace. + responses: + '200': + description: List of groups. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/UserGroupResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /auth/group/{id}: + get: + tags: + - User Groups + summary: Get User Group by ID + description: Get a user group by their ID. + parameters: + - name: id + in: path + required: true + description: The ID of the group to retrieve. + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/UserGroupResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + patch: + tags: + - User Groups + summary: Update User Group by ID + description: >- + Use this endpoint to update the Group. Editable fields include the name, + description, icon, and users. + parameters: + - name: id + in: path + required: true + description: The ID of the group to update. + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Indicates the name of the group. + example: New Group + responses: + '200': + description: Group updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/UserGroupResponse' + '400': + description: Bad Request + '404': + description: User not found + '500': + description: Internal Server Error + delete: + tags: + - User Groups + summary: Delete User Group by ID + description: Delete a group by their ID. + parameters: + - name: id + in: path + required: true + description: The ID of the group to delete. + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + responses: + '204': + description: No Content + '404': + description: Not Found + '500': + description: Internal Server Error + /dictionary/terms: + post: + tags: + - Terms + summary: Create a New Dictionary Term + description: > + This endpoint allows you to create a new dictionary term with the + specified data. The `title` will map to the dictionary term name, and + the definition of the term can be added to the `definition` field. + requestBody: + required: true + content: + application/json: + schema: + type: object + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/TermResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Terms + summary: List Dictionary Terms + description: > + This endpoint allows you to retrieve a list of dictionary terms with + optional filtering by name of the term (title). + parameters: + - in: query + name: title + description: Filter terms by title (optional) + schema: + type: string + example: Sample Dictionary Term + responses: + '200': + description: List of dictionary terms. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/TermResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /dictionary/terms/{term_id}: + get: + tags: + - Terms + summary: Get Dictionary Term by ID + description: > + This endpoint allows you to retrieve a single dictionary term by its + unique identifier (term_id). + parameters: + - in: path + name: term_id + description: The unique identifier of the dictionary term + required: true + schema: + type: string + example: 61ce0a34-ce90-4f1a-a135-f122dcbed242 + responses: + '200': + description: Dictionary term retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/TermResponse' + '404': + description: Term not found + '500': + description: Internal Server Error + patch: + tags: + - Terms + summary: Edit Dictionary Term by ID + description: > + This endpoint allows you to edit the metadata of a dictionary term by + its unique identifier (term_id). + parameters: + - in: path + name: term_id + description: The unique identifier of the dictionary term to edit + required: true + schema: + type: string + example: 61ce0a34-ce90-4f1a-a135-f122dcbed24 + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: Description updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/TermResponse' + '400': + description: Bad Request + '404': + description: Term not found + '500': + description: Internal Server Error + delete: + tags: + - Terms + summary: Delete Dictionary Term by ID + description: > + This endpoint allows you to delete a dictionary term by its unique + identifier (term_id). + parameters: + - in: path + name: term_id + description: The unique identifier of the dictionary term to delete + required: true + schema: + type: string + example: 61ce0a34-ce90-4f1a-a135-f122dcbed242 + responses: + '204': + description: Term deleted successfully + '404': + description: Term not found + '500': + description: Internal Server Error + /collection/collections: + post: + tags: + - Collections + summary: Create a New Collection + description: > + This endpoint allows you to create a new collection. Note, adding + resources to a collection through the API must be done on the resource + that is added (by adding the collection_id to the `collections` + parameter). Related resources cannot be added using the + `/collection/collections` endpoints. + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + icon: + type: string + description: >- + Graphical or visual representation that symbolizes or + represents an item within the collection + example: 🗂 + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/CollectionResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Collections + summary: List Collections + description: > + This endpoint allows you to retrieve a list of collections. You can + optionally filter the collections by title using the "title" query + parameter. + parameters: + - in: query + name: title + description: Filter collections by title (optional) + schema: + type: string + example: Sample Collection + responses: + '200': + description: List of collections. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/CollectionResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /collection/collections/{collection_id}: + get: + tags: + - Collections + summary: Get Collection by ID + description: > + This endpoint allows you to retrieve a collection by its unique + identifier (collection_id). + parameters: + - in: path + name: collection_id + description: The unique identifier of the collection + required: true + schema: + type: string + example: 3ea9a7c2-9538-46a0-899d-b2018c80113c + responses: + '200': + description: Collection retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/CollectionResponse' + '404': + description: Collection not found + '500': + description: Internal Server Error + patch: + tags: + - Collections + summary: Edit Collection by ID + description: >- + Use this endpoint to update collections. Note, adding resources to a + collection through the API must be done on the resource that is added + (by adding the collection_id to the `collections` parameter). Related + resources cannot be added using the `/collection/collections` endpoints. + parameters: + - in: path + name: collection_id + description: The unique identifier of the collection to edit + required: true + schema: + type: string + example: 3ea9a7c2-9538-46a0-899d-b2018c80113c + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: Description updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/CollectionResponse' + '400': + description: Bad Request + '404': + description: Collection not found + '500': + description: Internal Server Error + delete: + tags: + - Collections + summary: Delete Collection by ID + description: > + This endpoint allows you to delete a collection by its unique identifier + (collection_id). + parameters: + - in: path + name: collection_id + description: The unique identifier of the collection to delete + required: true + schema: + type: string + example: 3ea9a7c2-9538-46a0-899d-b2018c80113c + responses: + '204': + description: Collection deleted successfully + '404': + description: Collection not found + '500': + description: Internal Server Error + /question/questions: + post: + tags: + - Questions + summary: Create a New Question + description: > + This endpoint allows you to create a new question. The answer to the + question can be set in the answer field, or added as a reply to the + `question/replies` endpoint. + requestBody: + required: true + content: + application/json: + schema: + type: object + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + properties: + assigned_to: + type: string + description: Represents to whom the question is assigned to. + example: 33733f42-8ff7-460b-9e20-50a2133d3bb0 + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/QuestionResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Questions + summary: List Questions + description: | + This endpoint allows you to retrieve a list of questions. + responses: + '200': + description: List of questions. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/QuestionResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /question/questions/{question_id}: + get: + tags: + - Questions + summary: Get Question by ID + description: > + This endpoint allows you to retrieve a question by its unique identifier + (question_id). + parameters: + - in: path + name: question_id + description: The unique identifier of the question + required: true + schema: + type: string + example: 7795133a-6e36-4ef2-b95a-664babb99b71 + responses: + '200': + description: Question retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/QuestionResponse' + '404': + description: Question not found + '500': + description: Internal Server Error + patch: + tags: + - Questions + summary: Edit Question by ID + description: > + This endpoint allows you to edit the metadata of a question by its + unique identifier (question_id). + parameters: + - in: path + name: question_id + description: The unique identifier of the question to edit + required: true + schema: + type: string + example: 7795133a-6e36-4ef2-b95a-664babb99b71 + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: Definition updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/QuestionResponse' + '400': + description: Bad Request + '404': + description: Question not found + '500': + description: Internal Server Error + delete: + tags: + - Questions + summary: Delete Question by ID + description: > + This endpoint allows you to delete a question by its unique identifier + (question_id). + parameters: + - in: path + name: question_id + description: The unique identifier of the question to delete + required: true + schema: + type: string + example: 4272310f-0129-4982-8849-4b20edd3f2d5 + responses: + '204': + description: Question deleted successfully + '404': + description: Question not found + '500': + description: Internal Server Error + /question/replies: + post: + summary: Create a New Question Reply + description: > + This endpoint allows you to create a new reply to a specified question + (indicated by the parent_id). + tags: + - Questions + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + definition: + type: string + description: The answer of the reply + example: Replying to the question + accepted_answer: + type: boolean + description: >- + Indicates if the answer is accepted or not. Values can be - +
  • True
  • False
+ example: false + parent: + type: string + description: The unique identifier of the parent question + example: 7795133a-6e36-4ef2-b95a-664babb99b71 + owners: + type: array + items: + type: string + description: Defines the UUIDs that are the owners of the replies. + example: 33733f42-8ff7-460b-9e20-50a2133d3bb0 + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/ReplyResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + summary: List Question Replies + description: > + This endpoint allows you to retrieve a list of replies. You can + optionally filter the replies by question_id using the "question_id" + query parameter. + tags: + - Questions + parameters: + - in: query + name: question_id + description: Filter replies by question_id (optional) + schema: + type: string + example: 7795133a-6e36-4ef2-b95a-664babb99b71 + responses: + '200': + description: List of replies. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/ReplyResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /question/replies/{reply_id}: + get: + summary: Get Question Reply by ID + description: > + This endpoint allows you to retrieve a reply by its unique identifier + (reply_id). + tags: + - Questions + parameters: + - in: path + name: reply_id + description: The unique identifier of the reply + required: true + schema: + type: string + example: 47f9d5ab-4ae1-4eea-a8b8-6d3847829b3f + responses: + '200': + description: Reply retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/ReplyResponse' + '404': + description: Reply not found + '500': + description: Internal Server Error + patch: + summary: Edit Question Reply by ID + description: > + This endpoint allows you to edit the content of a reply by its unique + identifier (reply_id). You can also use this endoint to set this reply + as the accepted answer. + tags: + - Questions + parameters: + - in: path + name: reply_id + description: The unique identifier of the reply to edit + required: true + schema: + type: string + example: 47f9d5ab-4ae1-4eea-a8b8-6d3847829b3f + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + definition: + type: string + description: The updated definition for the reply + example: Changing the answer. + accepted_answer: + type: boolean + description: >- + Indicates if the answer is accepted or not. Values can be - +
  • True
  • False
+ example: false + responses: + '200': + description: Definition updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/ReplyResponse' + '400': + description: Bad Request + '404': + description: Reply not found + '500': + description: Internal Server Error + delete: + summary: Delete Question Reply by ID + description: > + This endpoint allows you to delete a reply by its unique identifier + (reply_id). + tags: + - Questions + parameters: + - in: path + name: reply_id + description: The unique identifier of the reply to delete + required: true + schema: + type: string + example: 47f9d5ab-4ae1-4eea-a8b8-6d3847829b3f + responses: + '204': + description: Reply deleted successfully + '404': + description: Reply not found + '500': + description: Internal Server Error + /document: + post: + summary: Create a New Document + description: > + This endpoint allows you to create a new document with the specified + data. The document content is pulled from the `definition` parameter. + tags: + - Documents + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + icon: + type: string + description: The icon of the document + example: 🗂 + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/DocumentResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + summary: List Documents + description: > + This endpoint allows you to retrieve a list of documents. You can + optionally filter the documents by title using the "title" query + parameter. + tags: + - Documents + parameters: + - in: query + name: title + description: Filter documents by title (optional) + schema: + type: string + example: Sample Document + responses: + '200': + description: List of documents. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/DocumentResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /document/{document_id}: + get: + summary: Get Document by ID + description: > + This endpoint allows you to retrieve a document by its unique identifier + (document_id). + tags: + - Documents + parameters: + - in: path + name: document_id + description: The unique identifier of the document + required: true + schema: + type: string + example: 1f5c76c3-e7a3-406f-b51e-7ba220244f1b + responses: + '200': + description: Document retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/DocumentResponse' + '404': + description: Document not found + '500': + description: Internal Server Error + patch: + summary: Edit Document by ID + description: > + This endpoint allows you to edit the definition of a document by its + unique identifier (document_id). The definition of the document maps to + the visible content of the document itself. + tags: + - Documents + parameters: + - in: path + name: document_id + description: The unique identifier of the document to edit + required: true + schema: + type: string + example: 1f5c76c3-e7a3-406f-b51e-7ba220244f1b + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: Definition updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/DocumentResponse' + '400': + description: Bad Request + '404': + description: Document not found + '500': + description: Internal Server Error + delete: + summary: Delete Document by ID + description: > + This endpoint allows you to delete a document by its unique identifier + (document_id). + tags: + - Documents + parameters: + - in: path + name: document_id + description: The unique identifier of the document to delete + required: true + schema: + type: string + example: 1f5c76c3-e7a3-406f-b51e-7ba220244f1b + responses: + '204': + description: Document deleted successfully + '404': + description: Document not found + '500': + description: Internal Server Error + /query/queries: + get: + summary: List Queries + description: > + This endpoint allows you to retrieve a list of all queries in the + workspace. No filtering is available at this time. + tags: + - Queries + responses: + '200': + description: List of queries. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/QueryResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /query/queries/{query_id}: + get: + summary: Get Query by ID + description: > + This endpoint allows you to retrieve a query by its unique identifier + (query_id). + tags: + - Queries + parameters: + - in: path + name: query_id + description: The unique identifier of the query + required: true + schema: + type: string + example: 871fc00d-828b-4348-9353-c635313ee459 + responses: + '200': + description: Query retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/QueryResponse' + '404': + description: Query not found + '500': + description: Internal Server Error + /monitors/monitors: + get: + summary: List Monitors + description: > + This endpoint allows you to retrieve a list of all the monitors in your + workspace. + tags: + - Monitors + responses: + '200': + description: List of Monitors. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/MonitorResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /monitors/monitors/{monitor_id}: + get: + summary: Get Monitor by ID + description: > + This endpoint allows you to retrieve a monitors by it's ID. You can find + the ID in the URL of the monitor when accessing it from the Secoda UI. + tags: + - Monitors + parameters: + - in: path + name: monitor_id + description: The unique identifier of the monitor + required: true + schema: + type: string + example: 871fc00d-828b-4348-9353-c635313ee459 + responses: + '200': + description: Monitor retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/MonitorResponse' + '404': + description: Monitor not found + '500': + description: Internal Server Error + /monitors/incidents: + get: + summary: List Incidents + description: > + This endpoint allows you to retrieve a list of all the incidents in your + workspace. + tags: + - Monitors + responses: + '200': + description: List of Incidents. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/IncidentResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /monitors/incident/{incident_id}: + get: + summary: Get Incident by ID + description: | + This endpoint allows you to retrieve an incident by it's ID. + tags: + - Monitors + parameters: + - in: path + name: incident_id + description: The unique identifier of the incident + required: true + schema: + type: string + example: 871fc00d-828b-4348-9353-c635313ee459 + responses: + '200': + description: Monitor retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentResponse' + '404': + description: Incident not found + '500': + description: Internal Server Error + /monitors/measurements: + get: + summary: List Measurements + description: > + This endpoint allows you to retrieve a list of all the measurements in + your workspace filtered by a Monitor or Incident. A query param of + either the Monitor ID or Incident ID is required. + + + If using monitoring in automatic mode, thresholds will take some time to + populate as the system learnins the appropriate range for your data. + tags: + - Monitors + parameters: + - in: query + name: monitor + description: The unique identifier of the monitor + schema: + type: string + example: 871fc00d-828b-4348-9353-c635313ee459 + - in: query + name: incident_id + description: The unique identifier of the incident + schema: + type: string + example: 40b3e4d3-3bf8-4ec4-ae87-56d1e738ca76 + responses: + '200': + description: List of Measurements. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/MeasurementResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /event/category: + post: + summary: Create a New Event Category + description: >- + Use this endpoint to create a new event category. This will be the + parent of events. The category must be associated to an integration. + tags: + - Event Categories + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + title: + type: string + description: The name of the category. + example: Landing Page + integration: + type: string + description: The UUID of the associated integration. + teams: + type: array + description: The teams the category belongs to. + example: + - e8ac09ede51e4e618eaf59942c98c260 + responses: + '201': + description: Event category created + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + summary: List Event Categories + description: >- + List all the event categories in the workspace. Optional filter by + title. + tags: + - Event Categories + parameters: + - in: query + name: title + schema: + type: string + description: Filter event categories by title + example: Landing Page + responses: + '200': + description: List of event categories. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/BaseResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /event/category/{event_category_id}: + get: + summary: Get Event Category by Id + description: Retrieve the information of a specific event category. + tags: + - Event Categories + parameters: + - name: event_category_id + required: true + in: path + schema: + type: string + description: ID of the event category to retrieve + example: 43d7c33dad744dfbbfadc172f6701afb + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + /event/events: + post: + tags: + - Events + summary: Create a new Event + description: >- + Create a new event with the provided data. Events must have a Category + as a parent, and be associated with an integration. + requestBody: + required: true + content: + application/json: + schema: + type: object + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Event created + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Events + summary: List Events + description: >- + Retrieve a list of events with optional filtering using the + integration_id, parent_id (the event category), and title. + parameters: + - name: integration_id + in: query + schema: + type: string + example: cf103b4785764467ad34384cd523abd9 + description: Filter by integration ID + - name: parent_id + in: query + schema: + type: string + example: 43d7c33dad744dfbbfadc172f6701afb + description: Filter by parent ID + - name: title + in: query + schema: + type: string + description: Filter by title + example: Clicked + responses: + '200': + description: List of events. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/BaseResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /event/events/{event_id}: + get: + tags: + - Events + summary: Get Event by ID + description: Retrieve a specific event by its ID. + parameters: + - name: event_id + in: path + required: true + schema: + type: string + description: The ID of the event to retrieve. + example: 226dc8aafa8d46468b116652cdc64065 + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + patch: + tags: + - Events + summary: Update an Event by ID + description: Use this endpoint to partially update event metadata. + parameters: + - name: event_id + in: path + required: true + schema: + type: string + description: The ID of the event to update. + example: 226dc8aafa8d46468b116652cdc64065 + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + delete: + tags: + - Events + summary: Delete Event by ID + description: Delete a specific event by it's ID. + parameters: + - name: event_id + in: path + required: true + schema: + type: string + description: The ID of the event to delete. + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + /event/event_properties: + post: + tags: + - Event Properties + summary: Create a new Event Property + description: >- + Create a new event property with the provided data. Event properties + must have an Event as a parent, and be associated with an integration. + requestBody: + required: true + content: + application/json: + schema: + type: object + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + properties: + type: + type: string + description: >- + The type of property associated with the event. Examples + include string, enum, integer, etc. + example: enum + enum: + type: string + description: >- + If the property type is enum, this field indicates the + various enum values. + example: red, green, yellow + is_required: + type: boolean + description: Set this to true if the property is required. + responses: + '200': + description: Event property created. + content: + application/json: + schema: + $ref: '#/components/schemas/EventPropertyResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + get: + tags: + - Event Properties + summary: List Event Properties + description: >- + Retrieve a list of events with optional filtering using the + integration_id, parent_id (the event), and title. + parameters: + - name: integration_id + in: query + schema: + type: string + example: cf103b4785764467ad34384cd523abd9 + description: Filter by integration ID + - name: parent_id + in: query + schema: + type: string + example: 43d7c33dad744dfbbfadc172f6701afb + description: Filter by parent ID + - name: title + in: query + schema: + type: string + description: Filter by title + example: 'true' + responses: + '200': + description: List of event properties. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/EventPropertyResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /event/event_properties/{event_property_id}: + get: + tags: + - Event Properties + summary: Get Event Property by ID + description: Retrieve a specific event property by its ID. + parameters: + - name: event_property_id + in: path + required: true + schema: + type: string + description: The ID of the event property to retrieve. + example: 226dc8aafa8d46468b116652cdc64065 + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/EventPropertyResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + patch: + tags: + - Event Properties + summary: Update an Event Property by ID + description: Use this endpoint to partially update event metadata. + parameters: + - name: event_property_id + in: path + required: true + schema: + type: string + description: The ID of the event property to update. + example: 226dc8aafa8d46468b116652cdc64065 + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/EventPropertyResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + delete: + tags: + - Event Properties + summary: Delete Event Property by ID + description: Delete a specific event property by it's ID. + parameters: + - name: event_property_id + in: path + required: true + schema: + type: string + description: The ID of the event property to delete. + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/EventPropertyResponse' + '404': + description: Not Found + '500': + description: Internal Server Error +components: + securitySchemes: + ApiKeyAuth: + type: http + scheme: bearer + bearerFormat: string + schemas: + UserGroupResponse: + type: object + properties: + id: + type: string + example: f3bdd4f8-d6ea-4f9b-8384-e179fa8eb3da + description: The ID of the group. + created_at: + type: string + example: '2023-05-10T14:27:23.797657Z' + description: The creation timestamp of the group. + updated_at: + type: string + example: '2023-10-20T13:53:06.088248Z' + description: The last update timestamp of the group. + users: + type: array + items: + type: string + example: + - 33733f42-8ff7-460b-9e20-50a2133d3bb0 + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + description: List of user IDs of the members in the group. + name: + type: string + example: Data Stewards + description: The name of the group. + icon: + type: string + example: 🧪 + description: The icon associated with the group. + description: + type: string + example: >- + Group of users that are responsible for keeping documentation + updated. + description: The description of the group. + workspace_id: + type: string + example: f71585fa-251c-4102-8d81-c97c57c8d435 + description: The ID of the workspace associated with the grop. + snowflake_role: + description: This field can be ignored. + MonitorResponse: + type: object + properties: + id: + type: string + example: 886337a0-f298-4259-84dc-710879c826de + description: The unique identifier of the monitor. + created_at: + type: string + example: '2023-10-12T14:59:58.781935Z' + description: The timestamp when the monitor was created. + updated_at: + type: string + example: '2023-10-12T15:06:19.251573Z' + description: The timestamp when the data was last updated. + integration: + type: string + example: 337c5803-b484-4128-a24d-dcc55dee2ea2 + description: The identifier of the integration associated with the resource. + target: + type: string + example: 11db7782-4030-4acf-93e4-85aff3b860a1 + description: The identifier of the resource that the monitor is watching. + workspace: + type: string + example: e051db43-cda6-42dc-8a69-12d1aefc3a91 + description: The identifier of the workspace. + metric_type: + type: string + enum: + - row_count + - cardinality + - mean + - max + - min + - unique_percentage + - null_percentage + - freshness + - custom_sql + example: null_percentage + description: The type of metric. + metric_config: + type: string + description: Configuration for the metric. + frequency: + type: integer + example: 24 + description: The frequency with which this monitor is run. + name: + type: string + example: Null percentage in amount + description: >- + The full name of the monitor, includes the metric type and target + resource. + is_enabled: + type: boolean + example: true + description: Whether the monitor is enabled. + last_attempted_at: + type: string + example: '2023-10-12T15:03:40.693728Z' + description: The timestamp of the last attempted monitor. + last_success_at: + type: string + format: date-time + description: >- + The timestamp of the last check on Secoda's access and ability to + read the data source on which this monitor is set. This is + connctivity check - not a data quality check. + example: '2023-09-29T17:46:22.552345Z' + last_error_at: + type: string + example: null + description: The timestamp of the last error, if any. + last_error_message: + type: string + example: '' + description: The message associated with the last error, if any. + condition_auto_sensitivity: + type: integer + example: 5 + description: The automatic sensitivity condition. + condition_manual_min: + type: integer + example: null + description: The manual minimum condition if set by the user. + condition_manual_max: + type: integer + example: null + description: The manual maximum condition if set by the user. + status: + type: string + enum: + - normal + - incident + - error + - learning + - inactive + description: The status of the monitor. + example: incident + display_metadata: + type: object + description: >- + This is an internally used object that provides additional + information about the incident. This can be ignored by customers. + properties: + target: + type: object + properties: + icon: + type: string + example: null + description: Icon associated with the target resource, if one exists. + label: + type: string + example: amount + description: Title of the target resource. + entity_type: + type: string + example: column + description: The type of the target resource (e.g., column). + integration: + type: string + example: 337c5803-b484-4128-a24d-dcc55dee2ea2 + description: >- + The UUID of the integration from which the target resource + is extracted. + integration_type: + type: string + example: redshift + description: The type of integration. + last_measurement_value: + type: number + description: The last measured value if one is available. + example: 1234.56 + last_incident: + type: string + description: >- + The UUID of the last active incident. If there are no active + incidents (if the last incident has been closed), the field is set + to null. + example: 102ac399-6e3a-42dd-a710-dbbb6b2addbe + last_measurement: + type: string + example: 5d6ad413-5f74-41d6-b2f5-870b6f04de5c + description: The identifier of the last measurement. + next_run_at: + type: string + example: '2023-10-13T15:03:40.693728Z' + description: >- + The timestamp for the next run. Note, the run may occur shortly + after the time set, but never before. + IncidentResponse: + type: object + properties: + acknowledged_at: + type: string + format: date-time + description: >- + The time that the incident was acknowledged at. This will be null if + an incident hasn't been acknowledged yet. + example: '2023-11-10T19:20:44.975657Z' + actions: + type: array + description: A list of actions associated with the incident. + example: + - type: notification_initial + user_id: e1250ab7-c4dc-4b9c-8963-105fa73d4ba5 + user_name: John Doe + items: + type: object + properties: + type: + type: string + enum: + - notification_initial + - notification_reminder + - notification_resolved + - acknowledged + - resolved + user_id: + type: string + user_name: + type: string + created_at: + type: string + format: date-time + description: When the incident was created. + example: '2023-10-10T19:20:44.975657Z' + display_metadata: + type: object + description: >- + This is an internally used object that provides additional + information about the incident. This can be ignored by customers. + properties: + monitor: + type: object + properties: + label: + type: string + example: Unique percentage on extraction_completed_at + target: + type: object + properties: + entity_type: + type: string + description: The type of resource the incident is associated with. + example: column + icon: + type: string + integration: + type: string + description: The UUID of the integration associated with the resource. + example: 0c6f8b1a-0c8f-4fdf-b95d-57da8f80ef82 + integration_type: + type: string + description: >- + The type of the integration that the resource is extracted + from. + example: snowflake + label: + type: string + first_seen_at: + type: string + format: date-time + description: The first time this incident was observed. + example: '2023-10-10T19:20:44.973632Z' + id: + type: string + description: The UUID of the incident. + example: 6ac1bff0-b85f-47e8-84fb-8dca29614785 + last_notified_at: + type: string + format: date-time + description: The time of the last notification sent about this incident. + example: '2023-10-10T19:20:45.047056Z' + last_seen_at: + type: string + format: date-time + description: The most recent occurence about this incident. + example: '2023-10-10T19:20:45.047056Z' + monitor: + type: string + description: The UUID of the associated monitor. + example: b45bc798-763d-4ca5-863a-c12a882967c9 + name: + type: string + description: >- + The name of the incident, which indicates the type of metric set for + the monitor. + example: Unique percentage incident + resolved_at: + type: string + format: date-time + description: >- + The time that the incident was resolved. Will be null if the + incident has not yet been resolved. + status: + type: string + enum: + - acknowledged + - expired + - resolved + - active + description: The status of the incident. + example: active + summary: + type: string + example: Unique percentage incident + description: An automatically generated short summary of the incident. + target: + type: string + description: The UUID of the target resource being monitored for anomolies. + example: c332407c-cfa4-47c9-8d83-31df72b30c20 + updated_at: + type: string + format: date-time + description: The last updated time for the incident. + example: '2023-10-10T19:20:45.047238Z' + value: + type: number + description: The value of the measurement at the time of incident creation. + example: 86.4081806 + MeasurementResponse: + type: object + properties: + id: + type: string + description: The UUID of the measurement. + example: 6ac1bff0-b85f-47e8-84fb-8dca29614785 + created_at: + type: string + format: date-time + description: Timestamp of when the measurement was created. + example: '2023-10-03T04:46:24.290765Z' + updated_at: + type: string + format: date-time + description: Timestamp of the when the measurement was updated. + example: '2023-10-03T04:46:24.290765Z' + incident: + type: string + nullable: true + description: >- + The UUID of the associated incident, if it exists. Otherwise, this + is set to null. + example: 102ac399-6e3a-42dd-a710-dbbb6b2addbe + incident_metadata: + type: string + description: Additional information about the incident. + monitor: + type: string + description: The UUID of the associated monitor. + example: 102ac399-6e3a-42dd-a710-dbbb6b2addbe + upper_threshold: + type: number + description: > + The upper threshold of the measurement. A value crossing this + threshold will trigger an incident. The threshold will be set to + null when one is not configured, or the monitor is still learning + the thresholds. + example: 90.64496791804484 + lower_threshold: + type: number + description: > + The lower threshold of the measurement. A value crossing this + threshold will trigger an incident. The threshold will be set to + null when one is not configured, or the monitor is still learning + the thresholds. + example: 87.83219024929676 + value: + type: number + description: The exact value at the time of measurement. + example: 90.81823317519981 + TermResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + parent_id: + type: string + description: Indicates the UUID of the parent of terms. + example: None + base_entity_id: + type: string + description: >- + Indicates the UUID of the highest level ancestor of the + document. + example: 1f5c76c3-e7a3-406f-b51e-7ba220244f1b + sql: + type: string + description: Represents the sql query associated with the term. + example: select * from sample_table + last_run: + type: string + format: date-time + description: >- + Indicates the last time the query was ran in UTC format. This + could be the same as the scheduled last run. If this value is + different, it indicates the the last extraction was triggered + manually. + example: '2023-08-16T23:12:53.245493Z' + scheduled_delta: + type: string + description: Represents the time difference between last run and next run. + example: 4 + scheduled_next_run: + type: string + format: date-time + description: Indicates the next time the query will be run in UTC format. + example: '2023-08-20T23:12:53.245493Z' + scheduled_last_run: + type: string + description: >- + Indicates the scheduled last run time of the extraction in UTC + format. + example: '2023-08-20T14:12:53.245493Z' + results: + type: array + description: Specifies the results of the query of the terms. + chart_config: + type: object + description: Defines chart configuration for the query of the term. + properties: + grid: + type: object + description: controls the visibility of gridlines on a chart. + properties: + top: + type: integer + example: 32 + left: + type: string + example: 10% + show: + type: boolean + example: false + right: + type: integer + example: 32 + bottom: + type: string + example: 10% + color: + type: array + items: + type: string + description: Defines the different colors of the terms. + example: '#198B9A' + title: + type: object + properties: + text: + type: string + description: Defines the details of the title + example: Chart title + xAxis: + type: object + description: Customizes and control xAxis parameters of charts. + properties: + name: + type: string + type: + type: string + example: category + nameGap: + type: integer + example: 32 + axisLabel: + type: object + description: Customize and control the labels on the axes of a chart. + properties: + interval: + type: integer + nameLocation: + type: string + example: middle + yAxis: + type: object + description: Customizes and control yAxis parameters of charts. + example: null + properties: + name: + type: string + example: null + type: + type: string + example: category + nameGap: + type: integer + example: 32 + nameLocation: + type: string + example: middle + nameTextStyle: + type: object + description: >- + Represents a set of settings and attributes that control + the visual appearance and styling of text + properties: + padding: + type: array + items: + type: integer + example: '-30, 0, 0, 0' + legend: + type: object + description: >- + Indicates the legend associated with the chart if a chart + was generated. + series: + type: array + items: + type: object + description: >- + Represents the series associated with the chart if a chart + was generated. + properties: + type: + type: string + example: line + encode: + type: object + properties: + x: + type: integer + example: 0 + 'y': + type: integer + example: 1 + smooth: + type: boolean + example: false + dataset: + type: array + items: + type: object + properties: + source: + type: string + description: >- + Refers to data source that serves as the basis for + creating a chart. + toolbox: + type: object + properties: + show: + type: boolean + example: true + feature: + type: object + properties: + dataZoom: + type: object + properties: + show: + type: boolean + example: true + saveAsImage: + type: object + properties: + show: + type: boolean + example: true + tooltip: + type: object + properties: + show: + type: boolean + example: false + CollectionResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + pinned: + type: boolean + description: Refers to whether the resource has been pinned by user. + example: false + resource_count: + type: integer + description: Indicates how many resources are part of the collection. + example: 0 + QuestionResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + status: + type: string + description: >- + Indicates the status of the question. Values can be -
  • + Answered
  • Unanswered
+ example: UNANSWERED + priority: + type: string + description: Indicates the priority of the question or request. + example: High + reactions: + type: array + items: + type: string + description: Represents the emoji reactions to a question. + example: + - 👍 + answer: + type: string + description: Represents the verified answer of the question. + example: This is the answer to the question. + assigned_to: + type: string + description: Represents the user whom the question is assigned to. + example: 33733f42-8ff7-460b-9e20-50a2133d3bb0 + votes_sum: + type: integer + description: Indicates the amount of votes for the quesion. + example: 5 + current_user_vote: + type: integer + description: Represents the vote number of the current user. + example: 4 + ReplyResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + reactions: + type: array + items: + type: string + description: Represents the emoji reactions to a question. + example: + - 👍 + accepted_answer: + type: boolean + description: >- + Indicates if the answer is accepted or not. Values can be -
    +
  • True
  • False
+ example: false + DocumentResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + parent_id: + type: string + description: >- + Indicates the UUID of the parent of the document, which is + always another document. + example: 1f5c76c3-e7a3-406f-b51e-7ba220244f1b + base_entity_id: + type: string + description: >- + Indicates the UUID of the highest level ancestor of the + document. + example: 1f5c76c3-e7a3-406f-b51e-7ba220244f1b + QueryResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + type: + type: string + description: Indicates the type of query. Currently this is returned as None. + example: None + freq: + type: integer + description: >- + Represents the frequency with which the query is running. + Currently this will be returned as 0. + example: 0 + LineageResponse: + type: object + properties: + id: + type: string + description: The unique identifier of the resource. + example: d935a76c-2125-4c30-9389-ef42fa7e23bb + created_at: + type: string + format: date-time + description: The timestamp when the resource was created in Secoda in UTC format. + example: '2023-08-16T23:12:53.245493Z' + updated_at: + type: string + format: date-time + description: >- + The timestamp when the resource was last updated in Secoda in UTC + format. + example: '2023-08-16T23:12:53.245507Z' + from_entity: + type: string + description: Indicates the source resource of the lineage. + example: 7879886b-9e0e-4d02-8b37-c7d3c496a587 + to_entity: + type: string + description: Indicates the destination resource of the lineage. + example: b500ef23-c9b4-4259-a87d-d77b8b588f06 + direction: + type: string + description: >- + Represents the flow of data between the source and destination. + Values can be -
  • Upstream
  • Downstream
+ enum: + - UPSTREAM + - DOWNSTREAM + example: DOWNSTREAM + is_manual: + type: boolean + description: >- + Represents if data lineage is manually created or not. Values can be + -
  • True
  • False
+ example: true + TagsResponse: + type: object + properties: + id: + type: string + description: The unique identifier of the resource. + example: 69e0b863-8bb8-47e1-b566-8b8d57441c70 + created_at: + type: string + format: date-time + description: The timestamp when the resource was created in Secoda in UTC format. + example: '2023-09-05T17:32:56.571134Z' + updated_at: + type: string + format: date-time + description: >- + The timestamp when the resource was last updated in Secoda in UTC + format. + example: '2023-09-05T17:32:56.571151Z' + name: + type: string + description: Indicates the name of the tag. + example: Sample Tag + description: + type: string + description: Indicates the description of the tag. + example: This is a sample tag. + color: + type: string + description: Defines the different colors of the tags in HEX format. + example: '#4299E1' + integration_id: + type: string + description: >- + The unique identifier of the integration the tag is pulled from. + Null if the tag is created manually in Secoda. + example: 69e0b863-8bb8-47e1-b566-8b8d57441c70 + workspace_id: + type: string + description: Indiactes the workspace ID where the tag belongs. + example: f71585fa-251c-4102-8d81-c97c57c8d435 + TeamsResponse: + type: object + properties: + id: + type: string + description: Indicates the UUID of the team. + example: 3131f219-16bb-4c95-853a-894ae12db42a + created_at: + type: string + format: date-time + description: The timestamp when the team was created in Secoda in UTC format. + example: '2023-09-22T15:30:00Z' + updated_at: + type: string + format: date-time + description: The timestamp when the team was last updated in Secoda UTC format. + example: '2023-09-22T15:30:00Z' + name: + type: string + description: Indicates the name of the team. + example: Test Team + icon: + type: string + description: Indicates the icon of the team. + example: 😀 + type: + type: string + description: >- + Indicates the type of the team. If a team is Open, this means it is + Public and can be joined by anyone in the workspace. If a team is + Closed, the team is private and only admins can invite members into + the team. Values can be -
  • OPEN
  • CLOSED
+ example: OPEN + description: + type: string + description: Description of the team. + example: This is the best team in this workspace. + sidebar_settings: + type: object + description: >- + Use these settings to toggle which pages should be shown to team + members in the side bar. + properties: + home: + type: boolean + description: Whether to show the home page to team members. + example: true + catalog: + type: boolean + description: Whether to show the catalog page to team members. + example: true + documents: + type: boolean + description: Whether to show the documents page to team members. + example: true + questions: + type: boolean + description: Whether to show the questions page to team members. + example: true + dictionary: + type: boolean + description: Whether to show the dictionary page to team members. + example: true + collections: + type: boolean + description: Whether to show the collections page to team members. + example: true + workspace_id: + type: string + description: Indicates the workspace ID of the user. + example: f71585fa-251c-4102-8d81-c97c57c8d435 + archived: + type: boolean + description: Indicates if the team has been deleted. + example: false + is_default_team: + type: boolean + description: >- + Indicates if the team is the default team. Any resource without a + specified team will automatically get added to this team. + example: true + onboarding_complete: + type: boolean + description: This field will be deprecated. + example: true + UsersResponse: + type: object + properties: + id: + type: string + description: Indicates the UUID of the user. + example: 3131f219-16bb-4c95-853a-894ae12db42a + first_name: + type: string + description: Indicates the first name of the user. + example: Sample + last_name: + type: string + description: Indicates the last name of the user. + example: User + email: + type: string + description: Indicates the email id of the user. + example: sample@sample.com + role: + type: string + description: >- + Indicates the role of the user. Values can be -
  • Admin
  • + Editor
  • Viewer
+ example: editor + _role: + type: string + description: >- + Indicates the role of the user. Is the same value as the `role` + parameter. Values can be -
  • Admin
  • Editor
  • Viewer +
+ example: editor + workspace_id: + type: string + description: Indicates the workspace ID of the user. + example: f71585fa-251c-4102-8d81-c97c57c8d435 + secoda_is_superuser: + type: boolean + description: >- + Represents if the user is super user or not. Values can be -
    +
  • True
  • False
+ example: false + profile_picture: + type: string + description: Indicates the file name of the profile picture for the user. + example: image.jpg + pending: + type: boolean + description: >- + Represents if the user has been invited to the space but not + accepted yet. Values can be -
  • "True"
  • "False"
+ example: 'False' + viewer_mode: + type: boolean + description: >- + Indicates if the user is in Preview mode. Values can be -
    +
  • True
  • False
+ example: false + user_groups: + type: array + description: A list of UUIDs of groups the user belongs to. + items: + type: string + example: + - f71585fa-251c-4102-8d81-c97c57c8d435 + bookmarks: + type: array + items: + type: string + description: Represents the resorces that the user has bookmarked. + example: + - f71585fa-251c-4102-8d81-c97c57c8d435 + workspace: + type: string + description: Indicates the workspace of the user. + example: f71585fa-251c-4102-8d81-c97c57c8d435 + is_service_account: + type: boolean + example: false + description: >- + Indicates if the user account is a service account or not. Values + can be -
  • True
  • False
+ service_account_count_popularity: + type: boolean + description: >- + Indicates if the account counts towards popularity calculations. + Values can be -
  • True
  • False
+ example: true + last_login: + type: string + format: date-time + description: >- + Indicates the last time account was logged in to Secoda in UTC + format. + example: None + new_feature_acknowledged: + type: boolean + description: >- + Indicates if the new feature has been acknowleged or not. Values can + be -
  • True
  • False
+ example: true + disabled: + type: boolean + description: >- + Represents if the account is disabled or not. Values can be -
    +
  • True
  • False
+ example: false + DashboardGroupResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + visible: + type: boolean + description: This is a deprecated field. + DashboardResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + group: + type: string + description: Indicates the name of the group. + example: Samples + product: + type: string + description: Indicates the name of the integration. + example: tableau + ChartResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + product: + type: string + description: Indicates the name of the integration. + example: tableau + ListResponse: + type: object + properties: + links: + type: object + description: Indicates Links to associated pages. + properties: + next: + type: string + description: The link to the next page (null if there are no more pages). + example: https://api.secoda.co/resource/all/?page=2 + previous: + type: string + description: The link to the previous page (null if on the first page). + example: None + meta: + type: object + description: Reprents the meta data of the response. + properties: + page: + type: integer + description: The current page number. + example: 1 + previous_page: + type: integer + description: The previous page number (null if on the first page). + example: None + next_page: + type: integer + description: The next page number (null if on the last page). + example: 2 + count: + type: integer + description: The total count of items returned. + example: 315 + total_pages: + type: integer + description: The total number of pages. + example: 7 + IntegrationResponse: + type: object + properties: + id: + type: string + description: The ID of the created integration. + example: 740904fe-e87d-44f8-8a91-b13631ff2812 + created_at: + type: string + format: date-time + description: >- + The timestamp when the integration was created in Secoda in UTC + format. + example: '2023-09-22T15:30:00Z' + updated_at: + type: string + format: date-time + description: >- + The timestamp when the integration was last updated in Secoda UTC + format. + example: '2023-09-22T15:30:00Z' + name: + type: string + description: The name of the integration. + example: Tableau + type: + type: string + description: The type of integration. + example: tableau + credentials: + type: object + description: >- + The actual credentials of the integration will NOT be returned. Can + you find the easter egg in this response parameter for native + integrations? + example: {} + workspace_id: + type: string + description: The ID of the associated workspace. + example: f71585fa-251c-4102-8d81-c97c57c8d435 + ssh_tunnel: + type: string + description: Information about SSH tunnel if one is set update. + example: None + execute_access: + type: array + items: + type: string + description: List of IDs that have the permission to trigger the extracton. + example: + - f71585fa-251c-4102-8d81-c97c57c8d435 + scheduled_extractions_hour: + type: integer + description: Hour for scheduled extractions. Will be null for custom extractions. + example: 3 + scheduled_extractions_frequency: + type: integer + description: >- + Frequency in days of scheduled extractions. Will be null for custom + extractions. + example: 7 + scheduled_extractions_next_run: + type: string + format: date-time + description: >- + Next scheduled extraction run time. Will be null for custom + extractions. + example: '2023-10-15T09:45:00Z' + scheduled_extractions_last_run: + type: string + description: Last scheduled extraction run time (null in this response). + example: '2023-10-15T09:45:00Z' + properties: + type: object + description: Additional properties associated with the integration. + preview_access_users: + type: array + items: + type: string + description: >- + List of users IDs with access to preview the data in the + integration. + example: + - f71585fa-251c-4102-8d81-c97c57c8d435 + preview_access_roles: + type: array + items: + type: string + description: >- + List of roles that are allowed to preview the data in the + integration.
  • Admin
  • Editor
  • Viewer
+ example: + - Admin + - Editor + preview_access_groups: + type: array + items: + type: string + description: >- + List of users group IDs with access to preview the data in the + integration. + example: + - f71585fa-251c-4102-8d81-c97c57c8d435 + teams: + type: array + items: + type: string + description: List of team IDs associated with the integration. + example: + - e8ac09ed-e51e-4e61-8eaf-59942c98c260 + ColumnResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + data_type: + type: string + description: Indicates the data type of the column. + example: integer + sort_order: + type: integer + description: >- + Indicates the order the column should be in amongst the other + columns + example: 3 + is_pk: + type: boolean + description: Whether the column is a primary key. + example: true + hidden: + type: boolean + description: This is a deprecated field. + table_cluster: + type: string + description: This is a deprecated field. + table_database: + type: string + description: Indicates the name of the database that the column belongs to. + example: aws-datacatalog + table_schema: + type: string + description: Indicates the name of the schema that the column belongs to. + example: secoda-glue + table_title: + type: string + description: Indicates the name of the table that the column belongs to. + example: customers + TableResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + database: + type: string + description: Indicates the name of the database that the table belongs to. + example: awsdatacatalog + schema: + type: string + description: Indicates the name of the schema that the table belongs to. + example: secoda-glue + cluster: + type: string + description: This is a deprecated field. + creation_query: + type: string + description: >- + If the table is a view, this indicates the query written to + generate the view. + example: select * from customers where country=='CAN' + CustomProperties: + type: object + properties: + name: + type: string + description: The name of the custom property. + example: Custom Property + type: + type: string + enum: + - string + - number + - multiselect + - checkbox + - user + - resource + - date + description: The type of the custom property. + example: string + order: + type: integer + description: The order of the custom property. + example: 1 + value: + type: string + description: The value of the custom property. + example: TestValue + BaseResponse: + type: object + properties: + id: + type: string + description: The unique identifier of the resource. + example: d935a76c-2125-4c30-9389-ef42fa7e23bb + created_at: + type: string + format: date-time + description: The timestamp when the resource was created in Secoda in UTC format. + example: '2023-08-16T23:12:53.245493Z' + updated_at: + type: string + format: date-time + description: >- + The timestamp when the resource was last updated in Secoda in UTC + format. + example: '2023-08-16T23:12:53.245507Z' + entity_type: + type: string + description: The type of resource in Secoda. + example: table + native_type: + type: string + description: >- + The native type of the resource as it is referred to in the + integration. + example: Dataset + bookmarked_by: + type: array + items: + type: string + description: List of member IDs that have bookmarked the resource. + example: + - d935a76c-2125-4c30-9389-ef42fa7e23bb + - 33733f42-8ff7-460b-9e20-50a2133d3bb0 + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + icon: + type: string + description: The icon associated with the resource. + example: icon-url.png + title: + type: string + description: The title of the resource. + example: Sample Table + title_full: + type: string + description: The full title of the resource. This is a generated field + example: Sample Database.Sample Schema.Sample Table + title_cased: + type: string + description: The title in a cased format. + example: sampleTable + description: + type: string + description: A description of the resource. + example: This is a description for a sample table. + definition: + type: string + format: markdown + description: The documentation of the resource, written in Mark Down format. + definition_version: + type: integer + description: The version of the resource's documentation. + example: 1 + multiplayers: + type: array + items: + type: string + description: >- + List of members who have opened or worked with the resource + recently. + example: + - 429693a2-a5e7-4525-b413-ece5e96bc5b3 + - f71585fa-251c-4102-8d81-c97c57c8d435 + multiplayer_last_modified_by: + type: string + description: The last member who modified this resource. + example: 429693a2-a5e7-4525-b413-ece5e96bc5b3 + multiplayer_last_modified: + type: string + format: date-time + description: The timestamp when the multiplayer was last modified in UTC format. + example: '2023-08-16T23:12:53.245507Z' + owners: + type: array + items: + type: string + description: List of owner IDs for the resource. + example: + - 429693a2-a5e7-4525-b413-ece5e96bc5b3 + - f71585fa-251c-4102-8d81-c97c57c8d435 + owners_groups: + type: array + items: + type: string + description: List of owner group IDs for the resource. + example: + - 3b2c7185-fb5d-4d94-89d4-3dae08e093a9 + collections: + type: array + items: + type: string + description: >- + List of IDs representing the collection(s) that the resource has + been added to. + example: + - e8ac09ed-e51e-4e61-8eaf-59942c98c260 + tags: + type: array + items: + type: string + description: List of tag IDs added to the resource. + example: + - f7466f09-33bf-4ac2-9ff2-165fb4b8bdc2 + - a17f4ed0-0e5a-45a9-92c0-6c93c0b8242c + workspace_id: + type: string + description: The ID of the workspace. + example: f71585fa-251c-4102-8d81-c97c57c8d435 + total_usage: + type: integer + description: The total usage count for the resource. + example: 483 + published: + type: boolean + description: Indicates if the resource is published and can be seen by Viewers. + example: false + archived: + type: boolean + description: Indicates if the resource is deleted. + example: false + pii: + type: boolean + description: >- + Indicates if the resource contains Personally Identifiable + Information (PII). Values can be -
  • True
  • False
+ example: true + verified: + type: boolean + description: >- + Indicates if the resource is verified. Values can be -
  • True +
  • False
+ example: false + url: + type: string + description: The URL associated with the resource. + example: https://example.com/sample-table + parent: + type: string + description: The parent resource's ID. + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + children_count: + type: integer + description: The count of children entities of the resource. + example: 2 + integration: + type: string + description: The integration ID associated with the resource. + example: ca529385-fbc9-4934-afae-e372affe795b + external_updated_at: + type: string + format: date-time + description: The timestamp of the last update for the resource in the source. + example: '2023-08-16T23:12:53.245507Z' + internal_usage: + type: integer + description: The internal usage count for the resource. + example: 3 + internal_users: + type: array + items: + type: string + description: List of internal user IDs for the resource. + example: + - 04654d61-4f64-4f08-b697-3915b5137c49 + external_users: + type: array + items: + type: string + description: >- + List of external user IDs for the resource extracted from the + integration. + example: + - 33733f42-8ff7-460b-9e20-50a2133d3bb0 + external_usage: + type: integer + description: >- + The external usage count for the resource extracted from the source + source. This is what is used to calculate Popularity of a resource. + example: 38 + databuilder_id: + type: string + description: >- + The databuilder ID associated with the resource. This is a generated + field. + example: b818280a-ae1a-43bf-90d3-dbccf812b025.x68605bd2 + search_metadata: + type: object + description: Metadata related to indexing the resource for optimizing search. + example: + cluster: glue + database: awsdatacatalog + schema: secoda-glue + type: table + sources: + type: array + items: + type: string + description: >- + List of other integrations associated with the resource. For + example, if a description is pulled in from DBT for a Snowflake + table, this field will reference DBT. + example: + - 8a3af948-026c-45d6-983d-3873f6156f86 + subscribers: + type: array + items: + type: string + description: List of User IDs who subscribe to the resource. + example: + - 33733f42-8ff7-460b-9e20-50a2133d3bb0 + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + teams: + type: array + items: + type: string + description: List of team IDs associated with the resource. + example: + - 8680f886-97d2-4f4e-92c8-c80b46a3017d + stale: + type: boolean + description: >- + Indicates if the resource is stale. This means this resource no + longer exists in the source, as of the last extraction. + example: false + current_user_permissions: + type: object + description: Permissions of the current user for this resource. + properties: + read: + type: boolean + example: true + write: + type: boolean + example: true + execute: + type: boolean + example: false + properties: + type: object + description: A list of custom properties associated with the resource. + properties: + custom: + type: array + items: + $ref: '#/components/schemas/CustomProperties' + BaseResourceRequest: + type: object + properties: + title: + type: string + description: The title of the resource. + example: Sample Title + integration: + type: string + description: The integration ID associated with the resource, if one exists. + example: ca529385-fbc9-4934-afae-e372affe795b + description: + type: string + description: A description of the resource. + example: This is a description for a sample table. + definition: + type: string + description: Mark down documentation to be added to the resource. + example: \n# Castae illa\n\n## Finemque aequore\n\nLorem markdownum motus + parent: + type: string + description: >- + The ID of the parent resource. Please keep the resource heirarchy in + mind when setting the parent. + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + pii: + type: boolean + description: >- + Indicates whether the resource contains personally identifiable + information (PII). Values can be -
  • True
  • False
+ example: false + verified: + type: boolean + description: >- + Indicates whether the resource has been set as verified. Values can + be -
  • True
  • False
+ example: true + published: + type: boolean + description: >- + Indicates if the resource is visible to viewers or not. Values can + be -
  • True
  • False
+ example: true + teams: + type: array + items: + type: string + description: A list of team IDs that the resource belongs to. + example: + - e8ac09ed-e51e-4e61-8eaf-59942c98c260 + - cca810f1-11c1-4117-bc23-20ae8020897f + owners: + type: array + items: + type: string + description: A list of owner user IDs for the resource. + example: + - 33733f42-8ff7-460b-9e20-50a2133d3bb0 + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + collections: + type: array + items: + type: string + description: A list of collection IDs the resource belongs to. + example: + - 3b2c7185-fb5d-4d94-89d4-3dae08e093a9 + tags: + type: array + items: + type: string + description: A list of tag IDs associated with the resources. + example: + - 04654d61-4f64-4f08-b697-3915b5137c49 + - 429693a2-a5e7-4525-b413-ece5e96bc5b3 + subscribers: + type: array + description: >- + A list of user IDs that have been subscribed to the resource. Anyone + subscribed will be notified of any changes. + items: + type: string + example: + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + properties: + type: object + description: A list of custom properties associated with the resource. + properties: + custom: + type: array + items: + $ref: '#/components/schemas/CustomProperties' + BasePatchRequest: + type: object + properties: + description: + type: string + description: A description of the resource. + example: This is a description for a sample table. + definition: + type: string + description: Mark down documentation to be added to the resource. + example: \n# Castae illa\n\n## Finemque aequore\n\nLorem markdownum motus + pii: + type: boolean + description: >- + Indicates whether the resource contains personally identifiable + information (PII). Values can be -
  • True
  • False
+ example: false + verified: + type: boolean + description: >- + Indicates whether the table has been set as verified. Values can be + -
  • True
  • False
+ example: true + published: + type: boolean + description: >- + Indicates if the resource is visible to viewers or not. Values can + be -
  • True
  • False
+ example: true + teams: + type: array + items: + type: string + description: A list of team IDs that the resource belongs to. + example: + - e8ac09ed-e51e-4e61-8eaf-59942c98c260 + - cca810f1-11c1-4117-bc23-20ae8020897f + owners: + type: array + items: + type: string + description: A list of owner user IDs for the resource. + example: + - 33733f42-8ff7-460b-9e20-50a2133d3bb0 + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + collections: + type: array + items: + type: string + description: A list of collection IDs the resource belongs to. + example: + - 3b2c7185-fb5d-4d94-89d4-3dae08e093a9 + tags: + type: array + items: + type: string + description: A list of tag IDs associated with the resources. + example: + - 04654d61-4f64-4f08-b697-3915b5137c49 + - 429693a2-a5e7-4525-b413-ece5e96bc5b3 + subscribers: + type: array + description: >- + A list of the added user IDs that have been subscribed to the + resource. Anyone subscribed will be notified of any changes. + items: + type: string + example: + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + properties: + type: object + description: A list of custom properties to add to the resource. + properties: + custom: + type: array + items: + $ref: '#/components/schemas/CustomProperties' + EventPropertyResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + type: + type: string + description: >- + The type of property associated with the event. Examples include + string, enum, integer, etc. + example: enum + enum: + type: string + description: >- + If the property type is enum, this field indicates the various + enum values. + example: red, green, yellow + is_required: + type: boolean + description: Set this to true if the property is required. diff --git a/sdks/db/custom-request-specs/sellsy.com.yaml b/sdks/db/custom-request-specs/sellsy.com.yaml new file mode 100644 index 000000000..42937747a --- /dev/null +++ b/sdks/db/custom-request-specs/sellsy.com.yaml @@ -0,0 +1,38693 @@ +openapi: 3.0.2 +info: + title: Sellsy API + version: 2.126.0 + description: >- + Find out the [Postman collections](dist/postman/CollectionsApiV2.json) with + the required [environment variables](dist/postman/Environment.json) + + + Find out the [Changelog](changelog.html) + + # Errors + + + The errors are returned in JSON with the following format: + + ``` + + { + "error": { + "code": HTTP_CODE, + "message": "Error message", + "context": "Error context code" + "details": { + "FIELD": "Error message" + } + } + + ``` + + + The `details` field can contain an object that details the error. It is used + in particular during validation to return the invalid fields + + + + | HTTP Code | Description | + + | ------------- | ------------- | + + | 400 | Validation and logic errors | + + | 401 | Authentification errors | + + | 402 | Quotas limit reached or limit of feature reached on your + current plan | + + | 403 | Insufficient privileges | + + | 404 | Page not found | + + | 409 | A request conflicts with the current state of the server | + + | 413 | Payload is too large | + + | 429 | Quotas of requests reached (See quotas section) | + + | 5xx | Server errors | + + + + # Versioning + + + This API is versioned, the modifications carried out on this one should not + generate regression if you respect the following recommendations: + + + - A new field can be added, your code must authorize this + + - A new error code can be added, your code must deal with unknown errors + + - On lists, values can be added + + - A missing field is not equal to `null` + + + To target a specific **major** version of the API, just precise the number + in the url: `{url}/v2/{endpoint}` + + + # Quotas + + + A limit on the number of requests per second, minute, day and/or month is + applied to each user account. + + + A 429 error will be sent if at least one of the quotas has reached zero. + + + You can know your remaining quota through the headers of the response: + + - `X-Quota-Remaining-By-Second` + + - `X-Quota-Remaining-By-Minute` + + - `X-Quota-Remaining-By-Day` + + - `X-Quota-Remaining-By-Month` + + + The quotas are counted on each request, even in the event of an error. On + the scripts generating a lot of requests, it is therefore necessary to check + these values before returning requests. + + + A new 402 error code has created. This error appears when you try to create + ressources like a pipeline or custom fields and the quota limit has been + reached. + + + # Pagination on list and search requests + + On list and search requests, the pagination offset can be typed as either an + int or a string, depending on the pagination method used. + + + We provide 2 ways to interact with the pagination. + + ### 1. "Seek" method + + The offset value represents the LAST object in the response list, it's the + default one used. + + + **We recommend to use the "seek" method, it has better performance and + includes optimizations.** + + ``` + + GET {{url}}/comments?limit=1 { + "data": [ + { + "id": 1 + } + ], + "pagination": { + "limit": 1, + "count": 1, + "total": 13, + "offset": "WyIxMSJd" + } + } + + --- + + GET {{url}}/comments?limit=1&offset=WyIxMSJd { + "data": [ + { + "id": 2 + } + ], + "pagination": { + "limit": 1, + "count": 1, + "total": 13, + "offset": "SoIxNyJd" + } + } + + ``` + + ### 2. Numeric offset method + + The second method, more classical, where the offset corresponds to the + number of the result page, it must be explicitly specified in the first + request. + + + **We have applied a limit to the first 100 000 results on this method, for + performance purposes.** + + ``` + + GET {{url}}/comments?limit=1&offset=0 { + "data": [ + { + "id": 1 + } + ], + "pagination": { + "limit": 1, + "count": 1, + "total": 13, + "offset": 0 + } + } + + --- + + GET {{url}}/comments?limit=1&offset=1 { + "data": [ + { + "id": 2 + } + ], + "pagination": { + "limit": 1, + "count": 1, + "total": 13, + "offset": 1 + } + } + + ``` + + # Embed objects + + Additional objects can be included in the result, and are specified on each + endpoint under the `embed` parameter. Those objects may require different + OAuth2 scopes than the main endpoint, and will automatically be `null` if + the scopes are not respected. Usually, the scopes are listed in the + description of the parameter. + contact: + email: api@sellsy.com + x-logo: + url: ./resources/sellsy.png +servers: + - url: https://api.sellsy.com/v2 +tags: + - name: API Management + description: Api management + - name: Accounting + description: Accounting management + - name: Activities + description: Activities management + - name: Batch + description: Batch requests + - name: CRM Activities + description: CRM Activity management + - name: Calendar + description: Calendar management + - name: Comments + description: Comments + - name: Companies + description: Client, prospect and supplier management + - name: Conformities + description: Invoicing conformities management + - name: Contacts + description: Contacts management + - name: Corporations + description: Corporations management + - name: Countries + description: Countries management + - name: Credit notes + description: Credit notes documents + - name: Currencies + description: Currency management + - name: Custom Activities + description: Custom Activities management + - name: Custom Fields + description: Custom Fields management + - name: Discount Including Taxes + description: Discount Including Taxes + - name: Document Layouts + description: Document layouts on the account + - name: Document Models + description: Document models management + - name: Documents + description: Invoices and credit notes on the account + - name: Electronic Signature + description: Electronic signature management + - name: Emails + description: Emails management + - name: Estimates + description: Estimates documents + - name: Files + description: Files endpoint + - name: Fiscal Year + description: Fiscal year endpoint + - name: Imports + description: Imports management + - name: Individuals + description: Individuals management + - name: Invoices + description: Invoices documents + - name: Items + description: Items management + - name: Language + description: Language management + - name: Listings + description: Listings management + - name: Marketing + description: Marketing management + - name: Masquerade + description: Masquerade management + - name: Notifications + description: Notifications management + - name: Objectives + description: Objectives management + - name: Onboarding + description: Onboarding Management + - name: Opportunities + description: Opportunity Management + - name: Orders + description: Orders managemenm + - name: Payments + description: Payments management + - name: PhoneCalls + description: PhoneCalls management + - name: Purchase (OCR) + description: Ocr management + - name: Quotas + description: Quotas management + - name: Rate Categories + description: Rate categories management + - name: Search Documents + description: Search documents + - name: Smart Tags + description: Smart-tags management + - name: Staffs + description: Staffs management + - name: Tasks + description: Tasks management + - name: Taxes + description: Taxes management + - name: Two Factor Authentication + description: Two factor authentication management + - name: Units + description: Units management + - name: Webhooks + description: Webhooks +x-tagGroups: + - name: Core + tags: + - Batch + - API Management + - Webhooks + - Listings + - Activities + - Custom Activities + - null + - null + - Files + - null + - null + - null + - name: Prospection + tags: + - Companies + - Contacts + - Individuals + - Opportunities + - Calendar + - Emails + - Comments + - Tasks + - PhoneCalls + - CRM Activities + - Estimates + - null + - name: Catalog + tags: + - Discount Including Taxes + - Items + - Units + - Taxes + - Rate Categories + - name: Invoicing + tags: + - null + - Document Models + - Invoices + - Credit Notes + - Orders + - Accounting + - Payments + - Subscriptions + - Purchase (OCR) + - name: Account + tags: + - Currencies + - Custom Fields + - Countries + - Smart Tags + - Document Layouts + - Documents + - Staffs + - Subscription + - Quotas + - Conformities + - Notifications + - null + - Fiscal Year + - Language + - null +paths: + /comments: + get: + summary: Comments List + tags: + - Comments + description: Get a list of comments + operationId: get-comments + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/commentItemEmbed' + - $ref: '#/components/parameters/commentOrder' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CommentItem' + required: + - pagination + - data + security: + - oauth2: + - comments.read + post: + summary: Create a comment + tags: + - Comments + description: Create a comment + operationId: create-comment + parameters: + - $ref: '#/components/parameters/commentItemEmbed' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/verify' + responses: + '201': + description: Comment created + content: + application/json: + schema: + $ref: '#/components/schemas/CommentItem' + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CommentCreateItem' + security: + - oauth2: + - comments.write + /comments/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Comment id + get: + summary: Get comment details + parameters: + - $ref: '#/components/parameters/commentItemEmbed' + - $ref: '#/components/parameters/fields' + tags: + - Comments + responses: + '200': + description: Comment fetched + content: + application/json: + schema: + $ref: '#/components/schemas/CommentItem' + operationId: get-comment + description: Fetch comment details + security: + - oauth2: + - comments.read + put: + summary: Update a comment + tags: + - Comments + description: Udate a comment + operationId: update-comment + parameters: + - $ref: '#/components/parameters/commentItemEmbed' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/verify' + responses: + '200': + description: Comment updated + content: + application/json: + schema: + $ref: '#/components/schemas/CommentItem' + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CommentUpdateItem' + security: + - oauth2: + - comments.write + delete: + summary: Delete a comment + tags: + - Comments + operationId: delete-comment + responses: + '204': + description: Comment deleted + description: Remove a comment + security: + - oauth2: + - comments.write + /comments/search: + post: + summary: Search comments + tags: + - Comments + description: Search through comments + operationId: search-comments + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/commentItemEmbed' + - $ref: '#/components/parameters/commentOrder' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CommentFilters' + responses: + '200': + description: Comments list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CommentItem' + required: + - pagination + - data + security: + - oauth2: + - comments.read + /companies: + post: + summary: Create a company + tags: + - Companies + operationId: create-company + parameters: + - in: query + name: embed + description: > + Example : `embed[]=invoicing_contact&embed[]=cf.1542&embed[]=acl` +
Additional object included in the result.

Each + embed object may require different oauth2 scopes than the main + endpoint:
- opportunities: `opportunities.read`
- + main_contact, dunning_contact, invoicing_contact: `contacts.read`
- estimates,invoices,orders,deliveries: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is + limited to the 20 first results sorted in alphabetical order.
+ schema: + type: array + items: + oneOf: + - type: string + title: standards + description: The standards embeds + enum: + - invoicing_address + - delivery_address + - main_contact + - dunning_contact + - invoicing_contact + - opportunities + - estimates + - invoices + - orders + - deliveries + - acl + - smart_tags + - type: string + title: custom-fields + description: >- + Each custom field value can be requested as an embed object + by passing the custom field identifier in the query, + prefixed with the "cf." string. Such as `embed[]=cf.123` for + the value of the custom field of identifier `123` + pattern: ^cf.\d+$ + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/verify' + responses: + '201': + description: Company created + content: + application/json: + schema: + title: Company with embed + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + - type: object + properties: + _embed: + nullable: true + allOf: + - title: Embed for Company + type: object + description: Optional objects added through the embed parameter + x-examples: {} + additionalProperties: false + allOf: + - type: object + properties: + invoicing_address: + nullable: true + description: Invocing address + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + delivery_address: + nullable: true + description: Delivery address + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + main_contact: + nullable: true + description: Main contact + allOf: + - $ref: >- + #/components/schemas/OpportunityItem/properties/_embed/allOf/0/properties/contacts/items + dunning_contact: + nullable: true + description: Dunning contact + allOf: + - $ref: >- + #/components/schemas/OpportunityItem/properties/_embed/allOf/0/properties/contacts/items + invoicing_contact: + nullable: true + description: Invoicing contact + allOf: + - $ref: >- + #/components/schemas/OpportunityItem/properties/_embed/allOf/0/properties/contacts/items + opportunities: + nullable: true + type: integer + description: Count of opportunities + example: 2 + estimates: + nullable: true + type: integer + description: Count of estimates + example: 2 + invoices: + nullable: true + type: integer + description: Count of invoices + example: 2 + orders: + nullable: true + type: integer + description: Count of orders + example: 2 + deliveries: + nullable: true + type: integer + description: Count of deliveries + example: 2 + acl: + nullable: true + description: Company acl + allOf: + - $ref: >- + #/components/schemas/Activity/properties/_embed/properties/acl/oneOf/0 + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/2 + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + title: Company + type: object + additionalProperties: false + description: '' + x-examples: {} + required: + - name + - type + properties: + type: + type: string + enum: + - prospect + - client + - supplier + name: + type: string + description: Company name + example: Example company + maxLength: 250 + email: + description: Company email + type: string + format: email + example: contact@example-company.com + nullable: true + website: + type: string + format: url + description: Company website + example: http://example-company.com + nullable: true + phone_number: + type: string + description: Company phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Company mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Company Fax number + example: '+33100000000' + nullable: true + legal_france: + type: object + additionalProperties: false + properties: + siret: + description: Company Siret + type: string + minLength: 14 + maxLength: 14 + nullable: true + example: '73282932000074' + siren: + description: Company Siren + type: string + minLength: 9 + maxLength: 9 + nullable: true + example: '732829320' + vat: + description: VAT number + type: string + minLength: 2 + maxLength: 15 + nullable: true + example: FR99999999999 + ape_naf_code: + description: APE/NAF Code + type: string + minLength: 5 + maxLength: 6 + nullable: true + example: 4711C + company_type: + description: Company type + type: string + minLength: 2 + maxLength: 100 + nullable: true + example: SAS + rcs_immatriculation: + description: RCS immatriculation code + type: string + minLength: 3 + maxLength: 200 + nullable: true + example: RCS xxxxx + capital: + type: string + nullable: true + description: Company Capital + example: '4000' + reference: + type: string + description: Company reference + example: CLI-1654 + nullable: true + note: + type: string + description: Note on company + example: An handed-written note describing this company + auxiliary_code: + type: string + description: Auxiliary code + example: 0EX11C + nullable: true + social: + type: object + properties: + twitter: + type: string + format: url + description: Twitter account + example: https://twitter.com/example + nullable: true + facebook: + type: string + format: url + description: Facebook account + example: https://facebook.com/example + nullable: true + linkedin: + type: string + format: url + description: Linkedin account + example: https://linkedin.com/example + nullable: true + viadeo: + type: string + format: url + description: Viadeo account + example: https://viadeo.com/example + nullable: true + rate_category_id: + type: integer + nullable: true + description: Company Rate category id + example: 9956 + accounting_code_id: + type: integer + nullable: true + description: Company accounting code id + example: 12345 + accounting_purchase_code_id: + type: integer + nullable: true + description: Company accouting purchase code id + example: 98556 + owner_id: + type: integer + nullable: true + description: Owner of the company (Staff id expected) + example: 112 + minimum: 1 + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + business_segment: + type: integer + description: Company business segment + nullable: true + number_of_employees: + type: integer + description: Number of employees of company + nullable: true + marketing_campaigns_subscriptions: + type: array + items: + type: string + enum: + - sms + - phone + - email + - postal_mail + - custom + description: list of campaign type subscribed + uniqueItems: true + created: + description: Date of creation of the company + type: string + format: date-time + description: '' + security: + - oauth2: + - companies.write + description: Create a company + get: + summary: Companies List + tags: + - Companies + description: Get a list of companies + operationId: get-companies + parameters: + - in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - name + - id + - created_at + - updated_at + - $ref: '#/paths/~1companies/post/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Companies list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1companies/post/responses/201/content/application~1json/schema + required: + - pagination + - data + security: + - oauth2: + - companies.read + /companies/search: + post: + summary: Search companies + tags: + - Companies + description: Search companies + operationId: search-companies + parameters: + - $ref: '#/paths/~1companies/get/parameters/0' + - $ref: '#/paths/~1companies/post/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + title: Company filters + type: object + additionalProperties: false + required: + - filters + properties: + filters: + type: object + additionalProperties: false + description: Company filters + properties: + created: + title: Created at + type: object + description: Filter the company list by creation date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + updated_at: + title: Updated at + type: object + description: Filter the company list by last update date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + name: + title: Name + type: string + description: Filter the company list by name (exact search) + example: Company + email: + title: Email + type: string + description: Filter the company list by email (exact search) + example: contact@example.com + type: + title: Type + description: Filter the company list by type + oneOf: + - type: string + enum: + - prospect + - client + - supplier + - type: array + uniqueItems: true + items: + type: string + enum: + - prospect + - client + - supplier + is_archived: + title: Is archived + type: boolean + description: Filter the company list by is_archived + example: false + contacts: + title: Contacts + description: Filter the company list for the given contacts + type: array + items: + type: integer + siret: + title: Siret + description: Filter the company list by siret + type: string + example: '36252187900034' + id: + title: Companies + type: array + items: + type: integer + description: Filter companies list by ID + example: + - 12 + - 22 + country_code: + title: Country code + description: >- + Filter the company list by country code (main address + only) + type: string + example: FR + postal_code: + title: Postal code + description: >- + Filter the company list by postal code (main address + only) + type: array + items: + type: string + example: + - '17001' + - '17002' + favourite_filter: + $ref: >- + #/components/schemas/ContactFilters/properties/filters/properties/favourite_filter + responses: + '200': + description: Companies list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1companies/post/responses/201/content/application~1json/schema + required: + - pagination + - data + security: + - oauth2: + - companies.read + /companies/favourite-filters: + get: + summary: List companies favourite filters + tags: + - Companies + description: > + List favourite filters for faster access to specific companies
> + Favourite filters can be applied directly to company search endpoints +
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-company-favourite-filters + parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + security: + - oauth2: + - companies.read + /companies/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Company id + get: + summary: Get Company + tags: + - Companies + parameters: + - $ref: '#/paths/~1companies/post/parameters/0' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Company fetched + content: + application/json: + schema: + $ref: >- + #/paths/~1companies/post/responses/201/content/application~1json/schema + operationId: get-company + description: Fetch company informations + security: + - oauth2: + - companies.read + put: + summary: Update Company + tags: + - Companies + operationId: update-company + parameters: + - $ref: '#/paths/~1companies/post/parameters/0' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/verify' + responses: + '200': + description: Company updated + content: + application/json: + schema: + $ref: >- + #/paths/~1companies/post/responses/201/content/application~1json/schema + '204': + $ref: '#/components/schemas/Verify' + description: Update Company informations + requestBody: + content: + application/json: + schema: + title: Company + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + name: + type: string + description: Company name + example: Example company + maxLength: 250 + email: + description: Company email + type: string + format: email + example: contact@example-company.com + nullable: true + website: + type: string + format: url + description: Company website + example: http://example-company.com + nullable: true + phone_number: + type: string + description: Company phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Company mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Company Fax number + example: '+33100000000' + nullable: true + legal_france: + $ref: >- + #/paths/~1companies/post/requestBody/content/application~1json/schema/properties/legal_france + capital: + type: string + nullable: true + description: Company Capital + example: '4000' + reference: + type: string + description: Company reference + example: CLI-1654 + nullable: true + note: + type: string + description: Note on company + example: An handed-written note describing this company + auxiliary_code: + type: string + description: Auxiliary code + example: 0EX11C + nullable: true + social: + $ref: >- + #/paths/~1companies/post/requestBody/content/application~1json/schema/properties/social + rate_category_id: + type: integer + nullable: true + description: Company Rate category id + example: 9956 + accounting_code_id: + type: integer + nullable: true + description: Company accounting code id + example: 12345 + accounting_purchase_code_id: + type: integer + nullable: true + description: Company accouting purchase code id + example: 98556 + owner_id: + type: integer + nullable: true + description: Owner of the company (Staff id expected) + example: 112 + minimum: 1 + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + business_segment: + type: integer + description: Company business segment + nullable: true + number_of_employees: + type: integer + description: Number of employees of company + nullable: true + marketing_campaigns_subscriptions: + type: array + items: + type: string + enum: + - sms + - phone + - email + - postal_mail + - custom + description: list of campaign type subcribed + uniqueItems: true + security: + - oauth2: + - companies.write + delete: + summary: Delete company + tags: + - Companies + operationId: delete-company + responses: + '204': + description: Company deleted + description: Remove a company + security: + - oauth2: + - companies.write + /companies/{companyId}/addresses: + parameters: + - schema: + type: integer + name: companyId + in: path + required: true + description: Company id + get: + summary: Get company addresses + tags: + - Companies + responses: + '200': + description: Addresses fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Address' + required: + - pagination + - data + operationId: get-company-addresses + security: + - oauth2: + - companies.read + post: + tags: + - Companies + parameters: + - $ref: '#/components/parameters/verify' + responses: + '201': + description: Address created + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + '204': + $ref: '#/components/schemas/Verify' + operationId: create-company-address + summary: Create a company address + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/AddressCreate' + security: + - oauth2: + - companies.write + /companies/{companyId}/addresses/{id}: + parameters: + - schema: + type: integer + name: companyId + in: path + required: true + description: Company id + - schema: + type: integer + name: id + in: path + required: true + description: Address id + get: + tags: + - Companies + responses: + '200': + description: Address fetched + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + operationId: get-company-address + summary: Get a company address + security: + - oauth2: + - companies.read + put: + tags: + - Companies + parameters: + - $ref: '#/components/parameters/verify' + responses: + '200': + description: Address updated + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + '204': + $ref: '#/components/schemas/Verify' + operationId: update-company-address + summary: Update a company address + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddressUpdate' + security: + - oauth2: + - companies.write + delete: + tags: + - Companies + responses: + '204': + description: Address deleted + operationId: delete-company-address + summary: Delete a company address + security: + - oauth2: + - companies.write + /companies/{id}/payments: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Company identifier + post: + summary: Record payment on a company + description: > + Record a payment on a company
This route is available + in open beta.
Please note that its specifications may be + subject to significant and breaking changes in the coming weeks.
+ operationId: create-company-payment + tags: + - Companies + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreatePayment' + responses: + '201': + description: Payment created + content: + application/json: + schema: + $ref: '#/components/schemas/Payment' + security: + - oauth2: + - companies.read + - payments.write + /companies/{id}/contacts: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Company id + get: + summary: Get a company contacts + tags: + - Companies + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ContactCollectionItem' + required: + - pagination + - data + operationId: get-company-contacts + parameters: + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/contactEmbed' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - companies.read + - contacts.read + /companies/{companyId}/contacts/{contactId}: + parameters: + - schema: + type: integer + name: companyId + in: path + required: true + description: Company id + - schema: + type: integer + name: contactId + in: path + required: true + description: Contact id + post: + summary: Link a contact at one company + tags: + - Companies + responses: + '200': + description: Contact already linked + '201': + description: Contact linked + operationId: link-company-contact + security: + - oauth2: + - companies.write + - contacts.read + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LinkCompanyContact' + put: + summary: Update a contact of company link + tags: + - Companies + responses: + '200': + description: Contact updated + operationId: update-company-contact + security: + - oauth2: + - companies.write + - companies.read + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateLinkCompanyContact' + delete: + summary: Unlink a contact of company + tags: + - Companies + responses: + '204': + description: Contact unlinked + operationId: unlink-company-contact + security: + - oauth2: + - companies.write + - contacts.read + /companies/{id}/custom-fields: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Company id + get: + summary: Company custom fields List + description: Get list of custom fields for a company + tags: + - Companies + operationId: get-company-custom-fields + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + anyOf: + - title: Simple text + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0 + - type: object + nullable: true + properties: + value: + type: string + description: Value of custom field + nullable: true + example: Lorem + - title: Rich text + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/1 + - type: object + nullable: true + properties: + value: + type: string + description: Value of custom field + nullable: true + example:

Lorem ipsum in dolor.

+ - title: Email address + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/2 + - type: object + nullable: true + properties: + value: + type: string + format: email + description: Email + nullable: true + example: john.doe@email.com + - title: Url + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/3 + - type: object + nullable: true + properties: + value: + type: string + format: url + description: URL + nullable: true + example: https://domain.com + - title: Numeric value + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/4 + - type: object + nullable: true + properties: + value: + type: string + description: Value of custom field, numeric value + nullable: true + example: '15' + - title: Date + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/5 + - type: object + nullable: true + properties: + value: + type: string + format: date + description: Date + nullable: true + example: '2021-03-22' + - title: Hour + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/6 + - type: object + nullable: true + properties: + value: + type: string + description: Time + nullable: true + pattern: ^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$ + example: '05:30' + - title: Amount with currency + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/7 + - type: object + nullable: true + properties: + value: + type: object + additionalProperties: false + properties: + amount: + type: string + description: Amount, numeric value + nullable: true + example: '15.26' + currency: + type: string + description: Currency (ISO 4217) + pattern: ^[A-Za-z *]{2,5}$ + nullable: true + example: EUR + - title: Numeric field with unit + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/8 + - type: object + nullable: true + properties: + value: + type: object + additionalProperties: false + properties: + number: + type: string + description: Value of custom field, numeric value + nullable: true + example: '15.26' + unit_id: + type: integer + description: Unit ID + nullable: true + example: 1 + - title: Radio button + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/9 + - type: object + nullable: true + properties: + value: + type: integer + description: Selected choice + nullable: true + example: 12345 + - title: Select + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/10 + - type: object + nullable: true + properties: + value: + type: integer + description: Value of custom field + nullable: true + example: 12345 + - title: Multiple choice + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/11 + - type: object + nullable: true + properties: + value: + type: array + description: List of selected choice + nullable: true + example: '{ 1, 2, 3 }' + items: + type: integer + - title: Yes / No + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/12 + - type: object + nullable: true + properties: + value: + type: boolean + description: Value of custom field + nullable: true + example: true + - title: Client/Prospect/Supplier + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/13 + - type: object + nullable: true + properties: + value: + type: array + description: List of company/inviduals + nullable: true + items: + type: object + properties: + type: + type: string + description: company/individual's type + example: company + id: + type: integer + description: company/individual's ID + example: 15 + - title: Contact + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/14 + - type: object + nullable: true + properties: + value: + type: array + description: List of Contact IDs + nullable: true + example: '{ 1, 2, 3 }' + items: + type: integer + - title: Staff member + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/15 + - type: object + nullable: true + properties: + value: + type: array + description: List of Staff IDs + nullable: true + example: '{ 1, 2, 3 }' + items: + type: integer + - title: Products/services + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/16 + - type: object + nullable: true + properties: + value: + type: array + description: List of Item IDs + nullable: true + example: '{ 1, 2, 3 }' + items: + type: integer + required: + - pagination + - data + parameters: + - in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - companies.read + - custom-fields.read + put: + summary: Update Company custom fields + description: Update list of custom fields for a company + tags: + - Companies + parameters: + - $ref: '#/components/parameters/verify' + operationId: update-company-custom-fields + responses: + '200': + description: Company's custom fields updated + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + type: array + description: Custom fields + items: + type: object + description: Company + properties: + id: + type: integer + example: 1 + description: Custom Field id + value: + anyOf: + - type: string + description: Value of custom field + title: Simple text + example: Lorem + nullable: true + - type: string + description: Value of custom field + title: Rich text + example:

Lorem ipsum in dolor.

+ nullable: true + - type: string + description: Value of custom field. Numeric value (integer) only + example: '15' + nullable: true + title: Numeric value + - type: object + nullable: true + additionalProperties: false + title: Amount with currency + properties: + amount: + type: string + description: >- + Amount. Will use the default one if null. Numeric + value + example: '15.26' + nullable: true + currency: + type: string + description: >- + Currency (ISO 4217). Will use the default one if + null + example: EUR + nullable: true + required: + - amount + - currency + - type: object + nullable: true + additionalProperties: false + title: Numeric field with unit + properties: + number: + type: string + description: Value of custom field. Numeric value + example: '15.26' + nullable: true + unit_id: + type: integer + description: Unit ID + example: 1 + nullable: true + required: + - number + - unit_id + - type: integer + description: Selected choice + example: 12345 + nullable: true + title: Radio button + - type: integer + description: Value of custom field + example: 12345 + title: Select + nullable: true + - type: array + description: List of selected choice + example: '{ 1, 2, 3 }' + items: + type: integer + nullable: true + title: Multiple choice + - type: string + format: date + title: Date + nullable: true + description: Date + example: '2021-03-22' + - type: string + description: Time + title: Time + nullable: true + example: '05:30' + - type: string + format: email + description: Email + title: Email address + nullable: true + maxLength: 250 + example: john.doe@email.com + - type: string + format: url + title: Url + nullable: true + description: URL + example: https://domain.com + - type: boolean + description: Value of custom field + example: true + title: Yes / No + nullable: true + - type: array + description: List of company/invidual IDs + example: '{ 1, 2, 3 }' + items: + type: integer + nullable: true + title: Client / Prospect / Supplier + - type: array + description: List of Item IDs + example: '{ 1, 2, 3 }' + items: + type: integer + nullable: true + title: Product / service + - type: array + description: List of Contact IDs + example: '{ 1, 2, 3 }' + items: + type: integer + nullable: true + title: Contact + - type: array + description: List of Staff IDs + example: '{ 1, 2, 3 }' + items: + type: integer + title: Staff member + nullable: true + nullable: true + required: + - id + - value + security: + - oauth2: + - companies.write + - custom-fields.write + /companies/{companyId}/smart-tags: + parameters: + - schema: + type: integer + name: companyId + in: path + required: true + description: Company id + get: + summary: Company smart tags List + description: Get list of smart tags for a company + tags: + - Companies + operationId: get-company-smart-tags + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + title: smart tag + type: array + items: + type: object + properties: + value: + type: string + description: value of smart tags + example: smart tag + id: + type: integer + description: id of smart tags + example: 55 + security: + - oauth2: + - companies.read + - smart-tags.read + post: + summary: Link smart tags to company + description: Link a list of smart tag to a company + tags: + - Companies + operationId: link-company-smart-tags + responses: + '200': + description: Smart tag linked + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + requestBody: + content: + application/json: + schema: + title: smart tag + type: array + nullable: true + items: + anyOf: + - title: Create and link smart-tags + type: object + description: >- + Create a new tag and link it to the entity. If the value + already exists, the tag is only linked to the entity and + does not create a duplicate. It's not case sensitive and + not accented. + properties: + value: + type: string + description: value of smart tags + example: smart tag + nullable: false + required: + - value + - title: Link by identifier + type: object + description: Link an existing tag to the entity + properties: + id: + type: integer + description: id of smart tags + example: 55 + nullable: false + required: + - id + security: + - oauth2: + - smart-tags.write + - companies.write + /companies/{companyId}/files: + parameters: + - name: companyId + in: path + description: Company id + schema: + type: integer + required: true + post: + summary: Attach file to a company + description: >- + Attach file to a company
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: upload-company-file + tags: + - Companies + responses: + '201': + description: File uploaded + content: + application/json: + schema: + $ref: '#/components/schemas/FileOuput' + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + security: + - oauth2: + - companies.read + - files.write + get: + summary: List directories and files of a company + description: >- + List directories and files attached to a company
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-company-files + tags: + - Companies + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + security: + - oauth2: + - companies.read + - files.read + /contacts/{id}/companies: + get: + summary: Companies contact + description: Get the companies of a contact + tags: + - Contacts + operationId: get-contact-companies + security: + - oauth2: + - companies.read + - contacts.read + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Contact id + responses: + '200': + description: Companies list linked to the contact + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + title: Company + type: object + description: '' + x-examples: {} + properties: + id: + type: integer + description: Unique ID + example: 6657 + type: + type: string + enum: + - prospect + - client + - supplier + name: + type: string + description: Company name + example: Example company + maxLength: 250 + email: + description: Company email + type: string + format: email + example: contact@example-company.com + nullable: true + website: + type: string + format: url + description: Company website + example: http://example-company.com + nullable: true + phone_number: + type: string + description: Company phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Company mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Company Fax number + example: '+33100000000' + nullable: true + legal_france: + type: object + additionalProperties: false + properties: + siret: + description: Company Siret + type: string + nullable: true + example: '73282932000074' + siren: + description: Company Siren + type: string + nullable: true + example: '732829320' + vat: + description: VAT number + type: string + nullable: true + example: FR99999999999 + ape_naf_code: + description: APE/NAF Code + type: string + nullable: true + example: 4711C + company_type: + description: Company type + type: string + nullable: true + example: SAS + rcs_immatriculation: + description: RCS immatriculation code + type: string + nullable: true + example: RCS xxxxx + capital: + type: string + nullable: true + description: Company Capital + example: '4000' + reference: + type: string + description: Company reference + example: CLI-1654 + nullable: true + note: + type: string + description: Note on company + example: An handed-written note describing this company + auxiliary_code: + type: string + description: Auxiliary code + example: 0EX11C + nullable: true + social: + $ref: >- + #/paths/~1companies/post/requestBody/content/application~1json/schema/properties/social + rate_category_id: + type: integer + nullable: true + description: Company Rate category id + example: 9956 + main_contact_id: + description: Main contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + dunning_contact_id: + description: Dunning contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + invoicing_contact_id: + description: Invoicing contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + invoicing_address_id: + description: Invoicing address unique ID + type: integer + nullable: true + minimum: 1 + example: 9987 + delivery_address_id: + description: Delivery address unique ID + type: integer + nullable: true + minimum: 1 + example: 6547 + accounting_code_id: + type: integer + nullable: true + description: Company accounting code id + example: 12345 + accounting_purchase_code_id: + type: integer + nullable: true + description: Company accouting purchase code id + example: 98556 + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + created: + type: string + format: date-time + nullable: false + description: Datetime of creating company + example: '2020-05-29T11:22:03+02:00' + updated_at: + type: string + format: date-time + nullable: false + description: Datetime of the last update of the company + example: '2020-05-29T11:22:03+02:00' + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + business_segment: + type: object + description: Company business segment + nullable: true + properties: + id: + type: integer + example: 3 + label: + type: string + example: Software publisher / Digital services company + number_of_employees: + type: object + description: Number of employees of company + nullable: true + properties: + id: + type: integer + example: 1 + label: + type: string + example: From 1 to 5 + marketing_campaigns_subscriptions: + type: array + items: + type: string + enum: + - sms + - phone + - email + - postal_mail + - custom + description: list of campaign type subcribed + uniqueItems: true + required: + - pagination + - data + /smart-tags/{linkedtype}/autocomplete: + parameters: + - schema: + type: string + enum: + - company + - contact + - individual + name: linkedtype + in: path + required: true + description: Linked type of smart tags searched + - schema: + type: string + name: q + in: query + required: true + description: Word for the research of autocomplete + get: + summary: Smart tags autocomplete + description: Autocompled for smart tags + tags: + - Smart Tags + operationId: autocomplete-smart-tags + responses: + '200': + description: Smart tags find + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + security: + - oauth2: + - smart-tags.read + /smart-tags/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Smart tags ID + delete: + summary: Delete a smart tags + description: >- + Delete a smart tags

Note that deleting a smart tags will also + remove it's presence on any object he was linked to.
To unlink a + smart-tag (without deleting it), please use the "Link smart-tags to ..." + endpoint
+ tags: + - Smart Tags + operationId: delete-smart-tags + responses: + '200': + description: Smart tags deleted + security: + - oauth2: + - smart-tags.write + /custom-fields: + get: + summary: Custom Fields List + description: Get a list of custom fields + tags: + - Custom Fields + operationId: get-custom-fields + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Custom fields fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + anyOf: + - title: Simple text + type: object + additionalProperties: false + allOf: + - title: Custom field + type: object + description: '' + x-examples: {} + properties: + id: + type: integer + readOnly: true + description: Customfield id + example: 6657 + name: + type: string + maxLength: 250 + description: Name of custom field + example: Business sector + code: + type: string + maxLength: 250 + description: Machine name of custom field + example: business-sector + description: + type: string + maxLength: 250 + description: Description of custom field + example: A text describing this custom field. + mandatory: + type: boolean + description: Custom field must be completed or not + example: false + rank: + type: integer + description: Rank of custom field in group + example: 1 + related_object: + type: array + items: + type: string + enum: + - document + - contact + - client + - prospect + - supplier + - product + - service + - ticket + - task + - purchase + - opportunity + - project + - staff + - site + description: >- + List of objects the custom field can be used + on + uniqueItems: true + customfield_group: + type: object + description: Full custom field group object + properties: + id: + type: integer + readOnly: true + description: Group id + example: 123 + name: + type: string + maxLength: 250 + description: Group name + example: intervention + code: + type: string + maxLength: 250 + description: Group code + example: groupintervention + open_by_default: + type: boolean + description: Group is open by default or not + example: false + - type: object + properties: + type: + type: string + description: Simple text + enum: + - simple-text + parameters: + type: object + description: Field type parameters + additionalProperties: false + properties: + default_value: + type: string + description: Default value + minLength: 0 + maxLength: 250 + nullable: true + example: Simple text + char_min: + type: integer + description: Min characters + minimum: 0 + maximum: 250 + nullable: true + example: 0 + char_max: + type: integer + description: Max characters + minimum: 0 + maximum: 250 + nullable: true + example: 250 + - title: Rich text + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Rich text + enum: + - rich-text + parameters: + type: object + description: Field type parameters + additionalProperties: false + properties: + default_value: + type: string + description: Default value + minLength: 0 + maxLength: 65000 + nullable: true + example: Rich text + char_min: + type: integer + description: Min characters + minimum: 0 + maximum: 65000 + nullable: true + example: 0 + char_max: + type: integer + description: Max characters + minimum: 0 + maximum: 65000 + nullable: true + example: 500 + - title: Email address + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Email address + enum: + - email + parameters: + type: object + description: Field type parameters + additionalProperties: false + properties: + default_value: + type: string + description: Default value + format: email + nullable: true + example: contact@domain.fr + - title: Url + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Url + enum: + - url + parameters: + type: object + description: Field type parameters + additionalProperties: false + properties: + default_value: + type: string + description: Default value + format: uri + nullable: true + example: www.sellsy.com + - title: Numeric value + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Numeric value + enum: + - numeric + parameters: + type: object + description: Field type parameters + additionalProperties: false + properties: + default_value: + type: string + description: Default value, numeric value only + nullable: true + example: '5' + min_value: + type: string + description: Min value, numeric value only + nullable: true + example: '0' + max_value: + type: string + description: Max value, numeric value only + nullable: true + example: '500' + - title: Date + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Date + enum: + - date + parameters: + type: object + description: Field type parameters + additionalProperties: false + properties: + min_date: + type: string + description: Min date + format: date + nullable: true + example: '2002-01-01' + max_date: + type: string + description: Max date + format: date + nullable: true + example: '2017-01-01' + - title: Time + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Time + enum: + - time + parameters: + type: object + description: Field type parameters + additionalProperties: false + properties: + min_hour: + type: string + description: Min hour + pattern: ^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$ + nullable: true + example: '00:00' + max_hour: + type: string + description: Max hour + pattern: ^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$ + nullable: true + example: '08:45' + - title: Amount with currency + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Amount with currency + enum: + - amount + parameters: + type: object + description: Field type parameters + additionalProperties: false + properties: + default_value: + type: string + description: Default value, numeric value only + nullable: true + example: '15.36' + min_value: + type: string + description: Min value, numeric value only + nullable: true + example: '0.00' + max_value: + type: string + description: Max value, numeric value only + nullable: true + example: '1898.32' + currency: + type: string + description: Currency (ISO 4217) + pattern: ^[A-Za-z *]{2,5}$ + nullable: true + example: EUR + - title: Numeric field with unit + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Numeric field with unit + enum: + - numeric-with-unit + parameters: + type: object + description: Field type parameters + additionalProperties: false + properties: + default_value: + type: string + description: Default value, numeric value only + nullable: true + example: '15.35' + min_value: + type: string + description: Min value, numeric value only + nullable: true + example: '0.00' + max_value: + type: string + description: Max value, numeric value only + nullable: true + example: '100.25' + unit: + type: string + description: Type of unit + nullable: true + enum: + - unit + - package + - m2 + - m3 + - ton + - kg + - g + - metres + - days + - hour + - minutes + - title: Radio button + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Radio button + enum: + - radio + parameters: + type: object + description: Available values list + additionalProperties: false + properties: + items: + type: array + minItems: 2 + description: Values list + items: + type: object + additionalProperties: false + properties: + id: + type: integer + description: Id of label + example: 15 + label: + type: string + description: Label of checkbox item + minLength: 1 + maxLength: 250 + example: Label + checked: + type: boolean + description: Checked + example: false + rank: + type: integer + description: Rank of item + example: 1 + - title: Select + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Select + enum: + - select + parameters: + type: object + description: Available values list + additionalProperties: false + properties: + items: + type: array + minItems: 2 + description: Values list + items: + type: object + additionalProperties: false + properties: + id: + type: integer + description: Id of label + example: 15 + label: + type: string + description: Label of checkbox item + minLength: 1 + maxLength: 250 + example: Label + checked: + type: boolean + description: Checked + example: false + rank: + type: integer + description: Rank of item + example: 1 + - title: Multiple choice + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Multiple choice + enum: + - checkbox + parameters: + type: object + description: Available values list + additionalProperties: false + properties: + min: + type: integer + description: Number minimum of checked values + nullable: true + minimum: 1 + example: 1 + max: + type: integer + description: Number maximum of checked values + nullable: true + example: 3 + items: + type: array + minItems: 2 + description: Values list + items: + type: object + additionalProperties: false + properties: + id: + type: integer + description: Id of label + example: 15 + label: + type: string + description: Label of checkbox item + minLength: 1 + maxLength: 250 + example: Label + checked: + type: boolean + description: Checked + example: false + rank: + type: integer + description: Rank of item + example: 1 + - title: Yes / No + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Yes / No + enum: + - boolean + parameters: + type: object + description: Field type parameters + additionalProperties: false + properties: + default_value: + type: boolean + description: Default value + nullable: true + example: false + - title: Client/Prospect/Supplier + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Client/Prospect/Supplier + enum: + - company-individual + parameters: + type: object + description: Custom settings for this field type + additionalProperties: false + properties: + number_of_values: + type: integer + description: Between 1 and 10 + minimum: 1 + maximum: 10 + example: 1 + client: + type: boolean + description: Enabled for client-type companies + example: true + prospect: + type: boolean + description: Enabled for prospect-type companies + example: false + supplier: + type: boolean + description: Enabled for supplier-type companies + example: false + address_on_pdf: + type: boolean + description: Add address information on PDFs + example: false + email_on_pdf: + type: boolean + description: Add email information on PDFs + example: false + phone_on_pdf: + type: boolean + description: Add phone information on PDFs + example: false + mobile_on_pdf: + type: boolean + description: Add mobile information on PDFs + example: false + - title: Contact + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Contact + enum: + - contact + parameters: + type: object + description: Custom settings for this field type + additionalProperties: false + properties: + number_of_values: + type: integer + description: Between 1 and 10 + minimum: 1 + maximum: 10 + example: 2 + address_on_pdf: + type: boolean + description: Add address information on PDFs + example: false + email_on_pdf: + type: boolean + description: Add email information on PDFs + example: false + phone_on_pdf: + type: boolean + description: Add phone information on PDFs + example: false + mobile_on_pdf: + type: boolean + description: Add mobile information on PDFs + example: false + - title: Staff member + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Staff member + enum: + - staff + parameters: + type: object + description: Custom settings for this field type + additionalProperties: false + properties: + number_of_values: + type: integer + description: Between 1 and 10 + minimum: 1 + maximum: 10 + example: 2 + email_on_pdf: + type: boolean + description: Add email information on PDFs + example: false + phone_on_pdf: + type: boolean + description: Add phone information on PDFs + example: false + mobile_on_pdf: + type: boolean + description: Add mobile information on PDFs + example: false + - title: Products/services + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Products/services + enum: + - item + parameters: + type: object + description: Custom settings for this field type + additionalProperties: false + properties: + number_of_values: + type: integer + description: Between 1 and 10 + minimum: 1 + maximum: 10 + example: 1 + product: + type: boolean + description: Enabled for product-type items + example: true + service: + type: boolean + description: Enabled for service-type items + example: false + required: + - pagination + - data + security: + - oauth2: + - custom-fields.read + /custom-fields/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Custom field id + get: + summary: Get custom field + description: Fetch a custom field informations + tags: + - Custom Fields + operationId: get-custom-field + parameters: + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Custom field fetched + content: + application/json: + schema: + oneOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/1 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/2 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/3 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/4 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/5 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/6 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/7 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/8 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/9 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/10 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/11 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/12 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/13 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/14 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/15 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/16 + security: + - oauth2: + - custom-fields.read + /custom-fields/search: + post: + summary: Custom Fields Search + description: Search custom fields + tags: + - Custom Fields + operationId: search-custom-fields + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + title: Custom Fields filters + type: object + additionalProperties: false + required: + - filters + properties: + filters: + type: object + additionalProperties: false + description: Custom Fields filters + properties: + related_object: + title: Related object + type: string + description: Filter the custom fields by object they can be used on + enum: + - document + - contact + - client + - prospect + - supplier + - item + - service + - ticket + - task + - purchase + - opportunity + - project + - staff + - site + is_required: + type: boolean + description: >- + Filter custom fields according to whether they are + required or not. + responses: + '200': + description: Custom fields fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + security: + - oauth2: + - custom-fields.read + /estimates: + get: + tags: + - Estimates + summary: Get all estimates + operationId: get-estimates + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/SaleEmbed' + - $ref: '#/components/parameters/SaleOrder' + responses: + '200': + description: Get a list of estimate + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/EstimateCollection' + security: + - oauth2: + - estimates.read + post: + tags: + - Estimates + summary: Create estimate + operationId: create-estimate + responses: + '201': + description: Estimate created + headers: {} + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/EstimateOne' + - $ref: '#/components/schemas/SaleEmbed' + description: Create an estimate + security: + - oauth2: + - estimates.write + parameters: + - $ref: '#/components/parameters/SaleEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EstimateCreate' + examples: {} + description: '' + /estimates/search: + post: + tags: + - Estimates + summary: Search estimates + operationId: search-estimates + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/SaleEmbed' + - $ref: '#/components/parameters/SaleOrder' + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/EstimateFilters' + responses: + '200': + description: Get a list of estimate + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/EstimateCollection' + - type: object + properties: + aggregations: + $ref: '#/components/schemas/EstimateAggregations' + '400': + description: Validation and logic errors + security: + - oauth2: + - estimates.read + /estimates/{id}/custom-fields: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Estimate id + get: + summary: Estimate custom fields List + description: Get list of custom fields for an Estimate + tags: + - Estimates + operationId: get-estimate-custom-fields + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - estimates.read + - custom-fields.read + put: + summary: Update Estimate custom fields + description: Update list of custom fields for an estimate + tags: + - Estimates + parameters: + - $ref: '#/components/parameters/verify' + operationId: update-estimate-custom-fields + responses: + '200': + description: Estimate's custom fields updated + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/put/requestBody/content/application~1json/schema + security: + - oauth2: + - estimates.write + - custom-fields.write + /estimates/favourite-filters: + get: + summary: List estimates favourite filters + tags: + - Estimates + description: > + List favourite filters for faster access to specific estimates
> + Favourite filters can be applied directly to estimate search endpoints +
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-estimate-favourite-filters + parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + security: + - oauth2: + - estimates.read + /estimates/{id}: + parameters: + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/EstimateOneEmbed' + - schema: + type: integer + name: id + in: path + required: true + description: Estimate id + get: + tags: + - Estimates + summary: Get an estimate + operationId: get-estimate + responses: + '200': + description: get an estimate + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/EstimateOne' + - $ref: '#/components/schemas/EstimateOneEmbed' + '404': + description: Estimate no found + security: + - oauth2: + - estimates.read + put: + tags: + - Estimates + summary: Update estimate + operationId: update-estimate + responses: + '200': + description: Estimate updated + headers: {} + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/EstimateOne' + - $ref: '#/components/schemas/SaleEmbed' + description: Update an estimate + security: + - oauth2: + - estimates.write + parameters: + - $ref: '#/components/parameters/SaleEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EstimateUpdate' + examples: {} + description: '' + /estimates/{id}/status: + parameters: + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/SaleEmbed' + - schema: + type: integer + name: id + in: path + required: true + description: Estimate id + put: + tags: + - Estimates + summary: Update estimate status + operationId: update-estimate-status + responses: + '200': + description: Estimate step updated + headers: {} + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/EstimateOne' + - $ref: '#/components/schemas/SaleEmbed' + description: Update an estimate status + security: + - oauth2: + - estimates.write + parameters: + - $ref: '#/components/parameters/SaleEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EstimateStatusUpdate' + examples: {} + description: '' + /estimates/compute: + post: + tags: + - Estimates + summary: Compute an estimate + operationId: compute-estimate + responses: + '200': + description: Estimate computed successfully + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/EstimateCompute' + description: Compute an estimate + security: + - oauth2: + - estimates.read + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EstimateCreate' + examples: {} + description: '' + /estimates/{documentId}/files: + parameters: + - name: documentId + in: path + description: Document id + schema: + type: integer + required: true + post: + summary: Attach file to an estimate + description: >- + Attach file to an estimate
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: upload-estimate-file + tags: + - Estimates + responses: + '201': + description: File uploaded + content: + application/json: + schema: + $ref: '#/components/schemas/FileOuput' + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + security: + - oauth2: + - estimates.read + - files.write + get: + summary: List directories and files of an estimate + description: >- + List directories and files attached to an estimate
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-estimate-files + tags: + - Estimates + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + security: + - oauth2: + - estimates.read + - files.read + /estimates/{id}/payments: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Estimate ID + get: + summary: Estimate payments list + description: >- + Get list of payments for an estimate
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Estimates + operationId: get-estimate-payments + responses: + '200': + description: Payments list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/InvoicingPayment' + security: + - oauth2: + - estimates.read + - payments.read + /estimates/{documentId}/payments/{paymentId}: + parameters: + - name: documentId + in: path + required: true + schema: + type: integer + description: Estimate identifier + - name: paymentId + in: path + required: true + schema: + type: integer + description: Payment identifier + post: + summary: Link payment to estimate + description: > + Link a payment to an estimate
This route is available + in open beta.
Please note that its specifications may be + subject to significant and breaking changes in the coming weeks.
+ tags: + - Estimates + operationId: link-estimate-payment + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LinkPaymentToDocument' + responses: + '201': + description: Payments list attached to the estimate + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/InvoicingPayment' + security: + - oauth2: + - estimates.write + - payments.write + delete: + summary: Unlink payment from estimate + description: > + Unlink a payment from an estimate
This route is + available in open beta.
Please note that its specifications may + be subject to significant and breaking changes in the coming + weeks.
+ tags: + - Estimates + operationId: unlink-estimate-payment + responses: + '204': + description: Payment unlinked + security: + - oauth2: + - estimates.write + - payments.write + /estimates/{id}/smart-tags: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Estimate ID + get: + summary: Estimate smart-tags list + description: Get list of smart-tags for an estimate + tags: + - Estimates + operationId: get-estimate-smart-tags + responses: + '200': + description: Smart-tags list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + security: + - oauth2: + - estimates.read + - smart-tags.read + post: + summary: Link smart tags to estimate + description: Link a list of smart-tags to an estimate + tags: + - Estimates + operationId: link-estimate-smart-tags + responses: + '200': + description: Smart-tags list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/post/requestBody/content/application~1json/schema + security: + - oauth2: + - estimates.write + - smart-tags.write + /estimates/{estimateId}/primes/{primeId}: + parameters: + - schema: + type: integer + name: estimateId + in: path + required: true + description: Estimate identifier + - schema: + type: integer + name: primeId + in: path + required: true + description: Prime identifier + post: + deprecated: true + operationId: link-estimate-prime + summary: Link prime to estimate + description: > + Link a prime to an estimate
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Estimates + security: + - oauth2: + - primes.read + - estimates.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesDocumentInput' + responses: + '201': + description: Prime linked + '403': + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + delete: + deprecated: true + summary: Unlink a prime from an estimate + description: > + Unlink a prime from an estimate
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Estimates + operationId: unlink-estimate-prime + responses: + '204': + description: Prime unlinked + '403': + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + '404': + description: Requested prime was not applied on the document + security: + - oauth2: + - primes.read + - estimates.write + /estimates/{estimateId}/discount-incl-taxes/{discountId}: + parameters: + - schema: + type: integer + name: estimateId + in: path + required: true + description: Estimate identifier + - schema: + type: integer + name: discountId + in: path + required: true + description: Discount including taxes identifier + post: + operationId: link-estimate-discount-incl-taxes + summary: Link discount including taxes to estimate + description: > + Link a discount including taxes to an estimate
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Estimates + security: + - oauth2: + - discount-incl-taxes.read + - estimates.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesDocumentInput' + responses: + '201': + description: Discount linked + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + delete: + summary: Unlink a discount including taxes from an estimate + description: > + Unlink a discount including taxes from an estimate
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ tags: + - Estimates + operationId: unlink-estimate-discount-incl-taxes + responses: + '204': + description: Discount unlinked + '403': + description: >- + Either Discounts on documents are not activated on your account or + you don't have the required privileges + '404': + description: Requested discount was not applied on the document + security: + - oauth2: + - discount-incl-taxes.read + - estimates.write + /orders: + get: + operationId: get-orders + summary: Get all orders + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/orderEmbed' + - $ref: '#/components/parameters/orderOrder' + tags: + - Orders + description: > + Get all orders
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '200': + description: Orders list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Order' + security: + - oauth2: + - orders.read + post: + operationId: create-order + summary: Create an order + tags: + - Orders + description: > + Create an order
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrderCreate' + parameters: + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/orderEmbedOne' + responses: + '201': + description: Order created + content: + application/json: + schema: + $ref: '#/components/schemas/OrderOne' + security: + - oauth2: + - orders.write + /orders/compute: + post: + operationId: compute-order + summary: Compute an order + tags: + - Orders + description: > + Compute an order
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrderCreate' + responses: + '200': + description: Order computed successfully + content: + application/json: + schema: + $ref: '#/components/schemas/OrderCompute' + security: + - oauth2: + - orders.read + /orders/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Order ID + - $ref: '#/components/parameters/orderEmbedOne' + get: + operationId: get-order + summary: Get order + description: > + Get an order by ID
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Orders + responses: + '200': + description: Order fetched + content: + application/json: + schema: + $ref: '#/components/schemas/OrderOne' + security: + - oauth2: + - orders.read + put: + operationId: update-order + summary: Update an order + tags: + - Orders + description: > + Update a given order
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrderUpdate' + responses: + '200': + description: Order updated + content: + application/json: + schema: + $ref: '#/components/schemas/OrderOne' + security: + - oauth2: + - orders.write + /orders/search: + post: + summary: Search orders + tags: + - Orders + description: > + Search orders
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: search-orders + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/orderEmbed' + - $ref: '#/components/parameters/orderOrder' + requestBody: + content: + application/json: + schema: + description: Orders filters + $ref: '#/components/schemas/OrderFilters' + responses: + '200': + description: Orders list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Order' + required: + - pagination + - data + security: + - oauth2: + - orders.read + /orders/{id}/payments: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Order ID + get: + summary: Order payments list + description: > + Get list of payments for an order
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Orders + operationId: get-order-payments + responses: + '200': + description: Payments list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/InvoicingPayment' + security: + - oauth2: + - orders.read + - payments.read + /orders/{id}/smart-tags: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Order id + get: + summary: Order smart tags List + description: Get list of smart tags for an order + tags: + - Orders + operationId: get-order-smart-tags + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + security: + - oauth2: + - orders.read + - smart-tags.read + post: + summary: Link smart tags to an order + description: Link a list of smart tag to an order + tags: + - Orders + operationId: link-order-smart-tags + responses: + '200': + description: Smart tag linked + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/post/requestBody/content/application~1json/schema + security: + - oauth2: + - smart-tags.write + - orders.write + /orders/{id}/custom-fields: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Order id + get: + summary: Order custom fields List + description: Get list of custom fields for an order + tags: + - Orders + operationId: get-order-custom-fields + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - orders.read + - custom-fields.read + put: + summary: Update Order custom fields + description: Update list of custom fields for an order + tags: + - Orders + parameters: + - $ref: '#/components/parameters/verify' + operationId: update-order-custom-fields + responses: + '200': + description: Order's custom fields updated + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/put/requestBody/content/application~1json/schema + security: + - oauth2: + - orders.write + - custom-fields.write + /orders/favourite-filters: + get: + summary: List orders favourite filters + tags: + - Orders + description: > + List favourite filters for faster access to specific orders
> + Favourite filters can be applied directly to order search endpoints
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-order-favourite-filters + parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + security: + - oauth2: + - orders.read + /orders/{documentId}/payments/{paymentId}: + parameters: + - name: documentId + in: path + required: true + schema: + type: integer + description: Order identifier + - name: paymentId + in: path + required: true + schema: + type: integer + description: Payment identifier + post: + summary: Link payment to order + description: >- + Link a payment to an order
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Orders + operationId: link-order-payment + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LinkPaymentToDocument' + responses: + '201': + description: Payments list attached to the order + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/InvoicingPayment' + security: + - oauth2: + - orders.write + - payments.write + delete: + summary: Unlink payment from order + description: >- + Unlink a payment from an order
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Orders + operationId: unlink-order-payment + responses: + '204': + description: Payment unlinked + security: + - oauth2: + - orders.write + - payments.write + /orders/{documentId}/files: + parameters: + - name: documentId + in: path + description: Document id + schema: + type: integer + required: true + post: + summary: Attach file to an order + description: >- + Attach file to an order
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: upload-order-file + tags: + - Orders + responses: + '201': + description: File uploaded + content: + application/json: + schema: + $ref: '#/components/schemas/FileOuput' + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + security: + - oauth2: + - orders.read + - files.write + get: + summary: List directories and files of an orders + description: >- + List directories and files attached to an orders
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-order-files + tags: + - Orders + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + security: + - oauth2: + - orders.read + - files.read + /orders/{orderId}/primes/{primeId}: + parameters: + - schema: + type: integer + name: orderId + in: path + required: true + description: Order identifier + - schema: + type: integer + name: primeId + in: path + required: true + description: Prime identifier + post: + deprecated: true + operationId: link-order-prime + summary: Link prime to order + description: > + Link a prime to an order
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Orders + security: + - oauth2: + - primes.read + - orders.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesDocumentInput' + responses: + '201': + description: Prime linked + '403': + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + delete: + deprecated: true + summary: Unlink a prime from an order + description: > + Unlink a prime from an order
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Orders + operationId: unlink-order-prime + responses: + '204': + description: Prime unlinked + '403': + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + '404': + description: Requested prime was not applied on the document + security: + - oauth2: + - primes.read + - orders.write + /orders/{orderId}/discount-incl-taxes/{discountId}: + parameters: + - schema: + type: integer + name: orderId + in: path + required: true + description: Order identifier + - schema: + type: integer + name: discountId + in: path + required: true + description: Discount including taxes identifier + post: + operationId: link-order-discount-incl-taxes + summary: Link discount including taxes to order + description: > + Link a discount including taxes to an order
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Orders + security: + - oauth2: + - discount-incl-taxes.read + - orders.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesDocumentInput' + responses: + '201': + description: Discount linked + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + delete: + summary: Unlink a discount including taxes from an order + description: > + Unlink a discount including taxes from an order
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ tags: + - Orders + operationId: unlink-order-discount-incl-taxes + responses: + '204': + description: Discount unlinked + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + '404': + description: Requested discount was not applied on the document + security: + - oauth2: + - discount-incl-taxes.read + - orders.write + /individuals: + get: + summary: Individuals List + tags: + - Individuals + description: Get a list of individuals + operationId: get-individuals + parameters: + - in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - name + - id + - created_at + - updated_at + - in: query + name: embed + description: > + Example : `embed[]=invoicing_address&embed[]=cf.1542&embed[]=acl` +
Additional object included in the result.

Each + embed object may require different oauth2 scopes than the main + endpoint:
- opportunities: `opportunities.read`
- + main_contact, dunning_contact, invoicing_contact: `contacts.read`
- estimates,invoices,orders,deliveries: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is + limited to the 20 first results sorted in alphabetical order.
+ schema: + type: array + items: + oneOf: + - type: string + title: standards + description: The standards embeds + enum: + - invoicing_address + - delivery_address + - main_contact + - dunning_contact + - invoicing_contact + - opportunities + - estimates + - invoices + - orders + - deliveries + - acl + - smart_tags + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Individuals list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + title: Individual with embed + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + - type: object + properties: + _embed: + nullable: true + allOf: + - title: Embed for Individual + description: >- + Optional objects added through the embed + parameter + x-examples: {} + additionalProperties: false + allOf: + - type: object + properties: + invoicing_address: + nullable: true + description: Invocing address + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + delivery_address: + nullable: true + description: Delivery address + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + main_contact: + nullable: true + description: Main contact + allOf: + - $ref: >- + #/components/schemas/OpportunityItem/properties/_embed/allOf/0/properties/contacts/items + dunning_contact: + nullable: true + description: Dunning contact + allOf: + - $ref: >- + #/components/schemas/OpportunityItem/properties/_embed/allOf/0/properties/contacts/items + invoicing_contact: + nullable: true + description: Invoicing contact + allOf: + - $ref: >- + #/components/schemas/OpportunityItem/properties/_embed/allOf/0/properties/contacts/items + opportunities: + nullable: true + type: integer + description: Count of opportunities + example: 2 + estimates: + nullable: true + type: integer + description: Count of estimates + example: 2 + invoices: + nullable: true + type: integer + description: Count of invoices + example: 2 + orders: + nullable: true + type: integer + description: Count of orders + example: 2 + deliveries: + nullable: true + type: integer + description: Count of deliveries + example: 2 + acl: + nullable: true + description: Individual acl + allOf: + - $ref: >- + #/components/schemas/Activity/properties/_embed/properties/acl/oneOf/2 + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/2 + required: + - pagination + - data + security: + - oauth2: + - individuals.read + post: + summary: Create an individual + tags: + - Individuals + operationId: create-individual + responses: + '201': + description: Individual created + headers: {} + content: + application/json: + schema: + $ref: >- + #/paths/~1individuals/get/responses/200/content/application~1json/schema/properties/data/items + '204': + $ref: '#/components/schemas/Verify' + description: Create an individual + security: + - oauth2: + - individuals.write + parameters: + - $ref: '#/paths/~1individuals/get/parameters/1' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/verify' + requestBody: + content: + application/json: + schema: + title: Individual + type: object + description: '' + x-examples: {} + required: + - last_name + - type + properties: + type: + type: string + enum: + - prospect + - client + - supplier + last_name: + type: string + description: Individual contact lastname + example: Martin + maxLength: 200 + first_name: + type: string + description: Individual contact firstname + example: Jean + nullable: true + civility: + type: string + description: Civility of individual + example: mr + nullable: true + enum: + - mr + - mrs + - ms + email: + description: Individual email + type: string + format: email + example: jean.martin@personal-example.com + nullable: true + website: + type: string + format: url + description: Individual website + example: http://personal-example.com + nullable: true + phone_number: + type: string + description: Phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Fax number + example: '+33100000000' + nullable: true + reference: + type: string + description: Internal reference + example: IND-1654 + nullable: true + note: + type: string + description: Note on company + example: An handed-written note describing this company + auxiliary_code: + type: string + description: Auxiliary code + example: 0EX11C + nullable: true + social: + $ref: >- + #/paths/~1companies/post/requestBody/content/application~1json/schema/properties/social + rate_category_id: + type: integer + nullable: true + description: Rate category id + example: 9956 + accounting_code_id: + type: integer + nullable: true + description: Accounting code id + example: 12345 + accounting_purchase_code_id: + type: integer + nullable: true + description: Accouting purchase code id + example: 98556 + owner_id: + type: integer + nullable: true + description: Owner of the company (Staff id expected) + example: 112 + minimum: 1 + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + marketing_campaigns_subscriptions: + type: array + items: + type: string + enum: + - sms + - phone + - email + - postal_mail + - custom + description: list of campaign type subcribed + uniqueItems: true + sync: + type: object + properties: + mailchimp: + type: boolean + description: Activate the mailchimp synchronization + nullable: false + mailjet: + type: boolean + description: Activate the mailjet synchronization + nullable: false + simplemail: + type: boolean + description: Activate the simplemail synchronization + nullable: false + created: + description: Date of creation of the individual + type: string + format: date-time + examples: {} + description: '' + /individuals/search: + post: + summary: Search individuals + tags: + - Individuals + description: Search individuals + operationId: search-individuals + parameters: + - $ref: '#/paths/~1individuals/get/parameters/0' + - $ref: '#/paths/~1individuals/get/parameters/1' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + title: Individual filters + type: object + additionalProperties: false + required: + - filters + properties: + filters: + type: object + additionalProperties: false + description: Individual filters + properties: + created: + title: Created at + type: object + description: Filter the individual list by creation date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + updated_at: + title: Updated at + type: object + description: Filter the individual list by last update date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + name: + title: Name + type: string + description: Filter the individual list by name (exact search) + example: Jean + email: + title: Email + type: string + description: Filter the individual list by email (exact search) + example: contact@example.com + type: + title: Type + description: Filter the individual list by type + oneOf: + - type: string + example: prospect + enum: + - prospect + - client + - supplier + - type: array + uniqueItems: true + items: + type: string + example: prospect + enum: + - prospect + - client + - supplier + is_archived: + title: Is archived + type: boolean + description: Filter the individual list by is_archived + example: false + id: + title: Individuals + type: array + items: + type: integer + description: Filter individuals list by ID + example: + - 12 + - 22 + favourite_filter: + $ref: >- + #/components/schemas/ContactFilters/properties/filters/properties/favourite_filter + responses: + '200': + description: Individuals list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1individuals/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + security: + - oauth2: + - individuals.read + /individuals/favourite-filters: + get: + summary: List individuals favourite filters + tags: + - Individuals + description: > + List favourite filters for faster access to specific individuals
> + Favourite filters can be applied directly to individual search endpoints +
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-individual-favourite-filters + parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + security: + - oauth2: + - individuals.read + /individuals/{individualId}/files: + parameters: + - name: individualId + in: path + description: Individual id + schema: + type: integer + required: true + post: + summary: Attach file to an individual + description: >- + Attach file to an individual
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: upload-individual-file + tags: + - Individuals + responses: + '201': + description: File uploaded + content: + application/json: + schema: + $ref: '#/components/schemas/FileOuput' + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + security: + - oauth2: + - individuals.read + - files.write + get: + summary: List directories and files of an individual + description: >- + List directories and files attached to an individual
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-individual-files + tags: + - Individuals + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + security: + - oauth2: + - individuals.read + - files.read + /individuals/{id}/smart-tags: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Individual id + get: + summary: Individual smart tags List + description: Get list of smart tags for an individual + tags: + - Individuals + operationId: get-individual-smart-tags + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + security: + - oauth2: + - individuals.read + - smart-tags.read + post: + summary: Link smart tags to individual + description: Link a list of smart tag to an individual + tags: + - Individuals + operationId: link-individual-smart-tags + responses: + '200': + description: Smart tag linked + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/post/requestBody/content/application~1json/schema + security: + - oauth2: + - smart-tags.write + - individuals.write + /individuals/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Individual id + get: + summary: Get Individual + tags: + - Individuals + parameters: + - $ref: '#/paths/~1individuals/get/parameters/1' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Individual fetched + content: + application/json: + schema: + $ref: >- + #/paths/~1individuals/get/responses/200/content/application~1json/schema/properties/data/items + operationId: get-individual + description: Fetch individual informations + security: + - oauth2: + - individuals.read + put: + summary: Update Individual + tags: + - Individuals + operationId: update-individual + parameters: + - $ref: '#/paths/~1individuals/get/parameters/1' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/verify' + responses: + '200': + description: Individual updated + content: + application/json: + schema: + $ref: >- + #/paths/~1individuals/get/responses/200/content/application~1json/schema/properties/data/items + '204': + $ref: '#/components/schemas/Verify' + description: Update Individual informations + requestBody: + content: + application/json: + schema: + title: Individual + type: object + description: '' + x-examples: {} + properties: + last_name: + type: string + description: Individual contact lastname + example: Martin + maxLength: 200 + first_name: + type: string + description: Individual contact firstname + example: Jean + nullable: true + civility: + type: string + description: Civility of individual + example: mr + nullable: true + enum: + - mr + - mrs + - ms + email: + description: Individual email + type: string + format: email + example: jean.martin@personal-example.com + nullable: true + website: + type: string + format: url + description: Individual website + example: http://personal-example.com + nullable: true + phone_number: + type: string + description: Phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Fax number + example: '+33100000000' + nullable: true + reference: + type: string + description: Internal reference + example: IND-1654 + nullable: true + note: + type: string + description: Note on company + example: An handed-written note describing this company + auxiliary_code: + type: string + description: Auxiliary code + example: 0EX11C + nullable: true + social: + $ref: >- + #/paths/~1companies/post/requestBody/content/application~1json/schema/properties/social + rate_category_id: + type: integer + nullable: true + description: Rate category id + example: 9956 + accounting_code_id: + type: integer + nullable: true + description: Accounting code id + example: 12345 + accounting_purchase_code_id: + type: integer + nullable: true + description: Accouting purchase code id + example: 98556 + owner_id: + type: integer + nullable: true + description: Owner of the individual (Staff id expected) + example: 112 + minimum: 1 + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + marketing_campaigns_subscriptions: + type: array + items: + type: string + enum: + - sms + - phone + - email + - postal_mail + - custom + description: list of campaign type subcribed + uniqueItems: true + sync: + type: object + properties: + mailchimp: + type: boolean + description: Activate the mailchimp synchronization + nullable: false + mailjet: + type: boolean + description: Activate the mailjet synchronization + nullable: false + simplemail: + type: boolean + description: Activate the simplemail synchronization + nullable: false + security: + - oauth2: + - individuals.write + delete: + summary: Delete Individual + tags: + - Individuals + operationId: delete-individual + responses: + '204': + description: Individual deleted + description: Remove a individual + security: + - oauth2: + - individuals.write + /individuals/{individualId}/addresses: + parameters: + - schema: + type: integer + name: individualId + in: path + required: true + description: Individual id + get: + summary: Get individual addresses + tags: + - Individuals + responses: + '200': + description: Addresses list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Address' + required: + - pagination + - data + operationId: get-individual-addresses + security: + - oauth2: + - individuals.read + post: + tags: + - Individuals + parameters: + - $ref: '#/components/parameters/verify' + responses: + '201': + description: Address created + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + '204': + $ref: '#/components/schemas/Verify' + operationId: create-individual-address + summary: Create an individual address + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/AddressCreate' + security: + - oauth2: + - individuals.write + /individuals/{individualId}/addresses/{id}: + parameters: + - schema: + type: integer + name: individualId + in: path + required: true + description: Individual id + - schema: + type: integer + name: id + in: path + required: true + description: Address id + get: + tags: + - Individuals + responses: + '200': + description: Address fetched + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + operationId: get-individual-address + summary: Get an individual address + security: + - oauth2: + - individuals.read + put: + tags: + - Individuals + parameters: + - $ref: '#/components/parameters/verify' + responses: + '200': + description: Address updated + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + '204': + $ref: '#/components/schemas/Verify' + operationId: update-individual-address + summary: Update an individual address + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddressUpdate' + security: + - oauth2: + - individuals.write + delete: + tags: + - Individuals + responses: + '204': + description: Address deleted + operationId: delete-individual-address + summary: Delete an individual address + security: + - oauth2: + - individuals.write + /individuals/{id}/payments: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Individual identifier + post: + summary: Record payment on an individual + description: > + Record a payment on an individual
This route is + available in open beta.
Please note that its specifications may + be subject to significant and breaking changes in the coming + weeks.
+ operationId: create-individual-payment + tags: + - Individuals + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreatePayment' + responses: + '201': + description: Payment created + content: + application/json: + schema: + $ref: '#/components/schemas/Payment' + security: + - oauth2: + - individuals.read + - payments.write + /individuals/{id}/contacts: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Individual id + get: + summary: Get an individual contacts + tags: + - Individuals + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ContactCollectionItem' + required: + - pagination + - data + operationId: get-individual-contacts + parameters: + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/contactEmbed' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - individuals.read + - contacts.read + /individuals/{individualId}/contacts/{contactId}: + parameters: + - schema: + type: integer + name: individualId + in: path + required: true + description: Individual id + - schema: + type: integer + name: contactId + in: path + required: true + description: Contact id + post: + summary: Link contact to individual + tags: + - Individuals + responses: + '200': + description: Contact already link + '201': + description: Contact was link to individual + operationId: link-individual-contact + security: + - oauth2: + - individuals.write + - contacts.read + delete: + summary: Delete link between contact and individual + tags: + - Individuals + responses: + '204': + description: Delete link between contact and individual + operationId: unlink-individual-contact + security: + - oauth2: + - individuals.write + - contacts.read + /individuals/{id}/custom-fields: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Individual id + get: + summary: Individual custom fields List + description: Get list of custom fields for an individual + tags: + - Individuals + operationId: get-individual-custom-fields + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - individuals.read + - custom-fields.read + put: + summary: Update Individual custom fields + description: Update list of custom fields for an individual + tags: + - Individuals + parameters: + - $ref: '#/components/parameters/verify' + operationId: update-individual-custom-fields + responses: + '200': + description: Individual's custom fields updated + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/put/requestBody/content/application~1json/schema + security: + - oauth2: + - custom-fields.write + - individuals.write + /activities/crm: + get: + summary: Get the CRM activity + tags: + - CRM Activities + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CrmActivity' + aggregations: + $ref: '#/components/schemas/CrmActivityAggregations' + required: + - pagination + - data + operationId: get-crm-activities + security: + - oauth2: + - activities.read + parameters: + - $ref: '#/components/parameters/crmActivityOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/crmActivityEmbed' + - $ref: '#/components/parameters/fields' + description: Get the activity + /activities/crm/search: + post: + summary: Search in CRM activity + tags: + - CRM Activities + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CrmActivity' + aggregations: + $ref: '#/components/schemas/CrmActivityAggregations' + required: + - pagination + - data + '206': + description: Partial content if the due_date range is too wide + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CrmActivity' + aggregations: + $ref: '#/components/schemas/CrmActivityAggregations' + required: + - pagination + - data + headers: + X-Partial-Content: + schema: + type: string + description: Detail of the partial content reason + operationId: search-crm-activities + security: + - oauth2: + - activities.read + parameters: + - $ref: '#/components/parameters/crmActivityOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/crmActivityEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CrmActivityFilters' + description: Search the activity + /activities/crm/export: + post: + summary: Export the CRM activity + tags: + - CRM Activities + responses: + '202': + description: Accepted + operationId: export-crm-activities + security: + - oauth2: + - activities.read + parameters: + - $ref: '#/components/parameters/crmActivityOrder' + - $ref: '#/components/parameters/direction' + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ExportParams' + - $ref: '#/components/schemas/CrmActivityFilters' + description: Search the activity + /activities/crm/metas: + get: + summary: Get meta informations for activity + tags: + - CRM Activities + responses: + '200': + description: Context object + content: + application/json: + schema: + $ref: '#/components/schemas/CrmActivityMetas' + operationId: meta-crm-activities + security: + - oauth2: + - activities.read + parameters: [] + description: >- + Get metadata, ie everything you need to build the form (filter labels, + static values aso..) + /custom-activities/{id}: + parameters: + - schema: + type: string + name: id + in: path + required: true + description: Custom Activity ID + get: + summary: Get Custom Activity + tags: + - Custom Activities + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivity' + operationId: get-custom-activities-id + description: Fetch custom activity informations + security: + - oauth2: + - custom-activities.read + put: + summary: Update Custom Activity + operationId: put-custom-activities-id + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivity' + description: Edit a custom activity + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivity' + description: '' + security: + - oauth2: + - custom-activities.write + tags: + - Custom Activities + delete: + summary: Delete Custom Activity + operationId: delete-custom-activities-id + responses: + '204': + description: No Content + description: Delete a custom activity + security: + - oauth2: + - custom-activities.write + tags: + - Custom Activities + /custom-activities: + get: + summary: Customs Activities List + tags: + - Custom Activities + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CustomActivity' + operationId: get-custom-activities + description: Get a list of custom activities + security: + - oauth2: + - custom-activities.read + parameters: + - $ref: '#/components/parameters/direction' + - in: query + name: order + description: The order field + schema: + type: string + example: date + enum: + - date + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + post: + summary: Create Custom Activity + operationId: post-custom-activities + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivity' + description: Create a custom activity + security: + - oauth2: + - custom-activities.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivityCreate' + tags: + - Custom Activities + /custom-activities/search: + post: + summary: Search Custom Activities + operationId: post-custom-activities-search + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/CustomActivity' + pagination: + title: pagination + type: object + description: The pagination + properties: + limit: + type: integer + example: 25 + minimum: 0 + maximum: 100 + total: + type: integer + example: 152 + minimum: 0 + count: + type: integer + example: 25 + minimum: 0 + offset: + anyOf: + - type: integer + minimum: 0 + example: 25 + - type: string + example: WzIwMTQtMDEtMDEsNTk4XQ== + required: + - limit + - total + - count + - offset + description: Search Custom Activities + security: + - oauth2: + - custom-activities.read + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivityFilters' + tags: + - Custom Activities + /custom-activity-types/{id}: + parameters: + - schema: + type: string + name: id + in: path + required: true + description: Custom activity type ID + get: + summary: Get Custom Activity Type + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivityType' + operationId: get-custom-activity-types-id + description: Get a custom activity type + security: + - oauth2: + - custom-activities.read + tags: + - Custom Activities + put: + summary: Update Custom Activity Type + operationId: put-custom-activity-types-id + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivityType' + description: Update a custom activity type + security: + - oauth2: + - custom-activities.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivityType' + tags: + - Custom Activities + /custom-activity-types: + post: + summary: Create Custom Activity Type + operationId: post-custom-activity-types + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivityType' + description: Create a custom activity type + security: + - oauth2: + - custom-activities.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivityType' + tags: + - Custom Activities + get: + summary: Custom Activity Types List + operationId: get-custom-activity-types + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CustomActivityType' + description: Get a list of custom actvity types + security: + - oauth2: + - custom-activities.read + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + tags: + - Custom Activities + /scopes: + get: + summary: Scopes List + tags: + - API Management + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: string + operationId: get-scopes + description: Get list of scopes + security: + - oauth2: + - scopes.read + /scopes/tree: + get: + summary: Get Scopes Tree + tags: + - API Management + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + examples: {} + operationId: get-scopes-tree + description: Get tree of scopes + security: + - oauth2: + - scopes.read + /clients: + post: + summary: Create OAuth client + tags: + - API Management + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ClientWSecret' + operationId: create-clients + description: Create OAuth2 client for API + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ClientCreate' + security: + - oauth2: + - clients.write + get: + summary: List OAuth clients + tags: + - API Management + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Client' + parameters: + - $ref: '#/components/parameters/offset' + operationId: list-clients + description: List the OAuth clients for API + security: + - oauth2: + - clients.read + /clients/{id}: + parameters: + - schema: + type: string + name: id + in: path + required: true + description: OAuth client id + get: + summary: Get OAuth client + tags: + - API Management + responses: + '200': + description: OAuth client + content: + application/json: + schema: + $ref: '#/components/schemas/Client' + operationId: fetch-clients + description: Fetch OAuth 2 client for API + security: + - oauth2: + - clients.read + put: + summary: Update OAuth client + tags: + - API Management + responses: + '200': + description: OAuth client + content: + application/json: + schema: + $ref: '#/components/schemas/Client' + operationId: update-clients + description: Update OAuth2 client for API + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ClientUpdate' + security: + - oauth2: + - clients.write + delete: + summary: Delete OAuth client + tags: + - API Management + responses: + '204': + description: Client deleted + operationId: delete-clients + description: Delete OAuth 2 client for API + security: + - oauth2: + - clients.write + /personal-access-tokens: + get: + deprecated: true + summary: List personal access tokens + tags: + - API Management + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/PersonalAccessTokenItem' + parameters: + - $ref: '#/components/parameters/offset' + operationId: list-personal-access-tokens + description: List the personal access tokens for API + security: + - oauth2: + - access-tokens.read + post: + deprecated: true + summary: Create personal access token + tags: + - API Management + responses: + '201': + description: OK + content: + application/json: + schema: + title: createPersonalAccessTokenItem + allOf: + - $ref: '#/components/schemas/PersonalAccessTokenItem/allOf/0' + - type: object + properties: + name: + type: string + description: The token name + example: My Token 7 + token: + type: string + description: The oauth2 access token + example: >- + eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiI2NzBmYWRlZi01NzZlLTQ3YTEtOTM1OC02Mjc4NDYwNWMwMjQiLCJqdGkiOiI5MWUyYmRhNTI4MTYzMTZjMDJjMzRkNTU3YjI4NzJmYjJkNDRkYTNlMDNiZjY3YTQ1YTA2Yjk2MDgzZjNlZjlkNmU5YzU0ZmEzN2VjMGVlYSIsImlhdCI6MTU5MDQyMDUwOSwibmJmIjoxNTkwNDIwNTA5LCJleHAiOjQ3NDYwOTc3MDksInN1YiI6IjM1NjdlMzA0LTk4YTUtNGI3My1hOGY0LWJlN2Y5NzgwZjU4YiIsInNjb3BlcyI6WyJhbGwiLCJjb21wYW5pZXMiLCJjb21wYW5pZXMucmVhZCIsImNvbXBhbmllcy53cml0ZSIsImFjdGl2aXRpZXMiLCJhY3Rpdml0aWVzLnJlYWQiLCJhY3Rpdml0aWVzLndyaXRlIiwibGlzdGluZ3MiLCJsaXN0aW5ncy5yZWFkIiwibGlzdGluZ3Mud3JpdGUiXSwidXNlclR5cGUiOiJzdGFmZiIsInVzZXJJZCI6MSwiY29ycElkIjoxfQ.e6EhrwGhis1w2LdUdR_3aJMOnHRr3eYdiIExqChb_mXOo843spzOOhP5Gigv21IJIEslF7mqudahoLbWIeq12AAUUapAgA93f9-Pxl1OgKkqzvRHN_Ft_Q_HQhX2BuSKrd6HTFtgL6B-vCi21wL-VRsMuasuLl7KDVqlQxikqJ-59MAYCHXOE9hyLOUc85OFvBWyyJOzX_Ey45IYIG6VuieyuNNm6eibjrmnW47gFsT-1YWVDvDJnLwyPew1MuSwbaVmUBLOe9hfjOJGWYPz5Wlrwo0zwbuiKHaXK8BAJ5pLXMpL8uUuMHuaPiMza-mZETXmNKScUwSdUXwEFEmgoQ + required: + - name + - token + operationId: create-personal-access-tokens + description: Create OAuth2 personal access token for API + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PersonalAccessTokenCreateItem' + security: + - oauth2: + - access-tokens.write + /personal-access-tokens/metas: + get: + deprecated: true + summary: Get meta informations for personal access tokens + tags: + - API Management + responses: + '200': + description: Context object + content: + application/json: + schema: + $ref: '#/components/schemas/PersonalAccessTokenMetas' + operationId: personal-access-tokens-meta + security: + - oauth2: + - access-tokens.read + parameters: [] + description: 'Get metadata, ie everything you need to build the form ' + /personal-access-tokens/{id}: + parameters: + - schema: + type: string + name: id + in: path + required: true + description: Personal access token id + get: + deprecated: true + summary: Get personal access token + tags: + - API Management + responses: + '200': + description: Personal access token + content: + application/json: + schema: + $ref: '#/components/schemas/PersonalAccessTokenItem' + operationId: fetch-personal-access-tokens + description: Fetch OAuth2 personal access token for API + security: + - oauth2: + - access-tokens.read + delete: + deprecated: true + summary: Delete personal access token + tags: + - API Management + responses: + '204': + description: Personal access token deleted + operationId: delete-personal-access-tokens + description: Delete OAuth2 personal access token for API + security: + - oauth2: + - access-tokens.write + /accounting-codes: + get: + summary: Get accounting codes + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/AccountingCode' + required: + - pagination + - data + operationId: get-accounting-codes + tags: + - Accounting + description: Get list of accounting codes + security: + - oauth2: + - accounting-codes.read + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/accountingOrder' + post: + summary: Create an accounting code + responses: + '201': + description: Accounting code created + content: + application/json: + schema: + $ref: '#/components/schemas/AccountingCode' + '400': + description: Code already exists + '403': + description: Module is not accessible + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AccountingCodeCreate' + operationId: create-accounting-code + tags: + - Accounting + description: Create an accounting code + security: + - oauth2: + - accounting-codes.write + /accounting-codes/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: ID of the accounting code + delete: + summary: Delete an accounting code + responses: + '204': + description: Accounting code deleted + '403': + description: Module is not accessible + operationId: delete-accounting-code + tags: + - Accounting + description: Delete an accounting code + security: + - oauth2: + - accounting-codes.write + /accounting-codes/search: + post: + summary: Search accounting codes + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/AccountingCode' + required: + - pagination + - data + application/xml: + schema: + type: object + properties: {} + operationId: search-accounting-codes + tags: + - Accounting + description: Search in list of accouting codes + security: + - oauth2: + - accounting-codes.read + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/accountingOrder' + requestBody: + content: + application/json: + schema: + title: accountingCodeFilters + type: object + description: Accounting code filters + properties: + filters: + type: object + description: Accounting code filters + additionalProperties: false + properties: + views: + type: array + items: + type: string + enum: + - third + - purchase + - sell + - bank + - reconciliation + required: + - filters + description: '' + /accounting-journal/{type}: + parameters: + - schema: + type: string + enum: + - sells + - purchases + - bank + - cashtill + - misc + name: type + in: path + required: true + description: Type of accounting journal to fetch + get: + summary: Get accounting journal + description: Get list of accounting journal + tags: + - Accounting + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/accountingEmbed' + responses: + '200': + description: Accounting journal + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/AccountingJournal' + aggregations: + $ref: '#/components/schemas/AccountingAggregations' + required: + - pagination + - data + operationId: get-accounting-journal + security: + - oauth2: + - accounting-entry.read + /accounting-journal/{type}/search: + parameters: + - schema: + type: string + enum: + - sells + - purchases + - bank + - cashtill + - misc + name: type + in: path + required: true + description: Type of accounting journal to fetch + post: + summary: Search accounting journal + description: Search in list of accounting journal + tags: + - Accounting + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/accountingEmbed' + responses: + '200': + description: Accounting journal + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/AccountingJournal' + aggregations: + $ref: '#/components/schemas/AccountingAggregations' + required: + - pagination + - data + requestBody: + content: + application/json: + schema: + title: Accounting journal filters + type: object + description: Accounting code filters + properties: + filters: + type: object + description: Accounting code filters + additionalProperties: false + properties: + date: + description: Filter by date of accounting entry + type: object + properties: + start: + type: string + format: date + end: + type: string + format: date + accounting_codes: + description: Filter by accounting codes + type: array + items: + type: string + currency: + description: Filter by currency + type: string + include_exported_entries: + description: Include or not, entries already exported + type: boolean + bank_accounts: + description: Filter by bank accounts. Usable only for bank journal + type: array + items: + type: integer + simplified_view_by_client: + type: boolean + description: Filter client entries. Usable only for bank journal + required: + - filters + description: '' + operationId: search-accounting-journal + security: + - oauth2: + - accounting-entry.read + /accounting-journal/{type}/metas: + parameters: + - schema: + type: string + enum: + - sells + - purchases + - bank + - cashtill + - misc + name: type + in: path + required: true + description: Type of accounting journal to fetch + get: + summary: Get meta informations for accounting journal + tags: + - Accounting + responses: + '200': + description: Context object + content: + application/json: + schema: + $ref: '#/components/schemas/AccountingMetas' + operationId: meta-accounting-journal + security: + - oauth2: + - accounting-entry.read + parameters: [] + /accounting-journal/{type}/export: + parameters: + - schema: + type: string + enum: + - sells + - purchases + - bank + - cashtill + - misc + name: type + in: path + required: true + description: Type of accounting journal to fetch + post: + summary: Export accounting journal + description: Export list of accounting journal + tags: + - Accounting + operationId: export-accounting-journal + security: + - oauth2: + - accounting-entry.read + responses: + '202': + description: Accepted + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/AccountingJournalExportParams' + - $ref: >- + #/paths/~1accounting-journal~1%7Btype%7D~1search/post/requestBody/content/application~1json/schema + /taxes: + get: + summary: Taxes list + responses: + '200': + description: Taxes list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + title: Tax with embed + allOf: + - $ref: >- + #/components/schemas/CompanyPreferences/properties/tax + - type: object + properties: + _embed: + nullable: true + allOf: + - title: Embed for Tax + type: object + description: >- + Optional objects added through the embed + parameter + x-examples: {} + additionalProperties: false + properties: + acl: + nullable: true + description: Tax acl + allOf: + - title: Tax ACL + type: object + description: '' + x-examples: {} + properties: + rate_can_be_updated: + type: boolean + nullable: false + description: Tax rate can be updated + example: true + can_be_deleted: + type: boolean + nullable: false + description: Tax can be deleted + example: true + translations: + type: array + nullable: false + description: Tax translations + items: + title: Tax Translations + type: object + description: '' + x-examples: {} + properties: + id: + type: integer + nullable: false + description: Translation id + example: 5 + lang_id: + type: integer + nullable: false + description: Lang id + example: 12 + value: + type: string + nullable: false + description: Translation value + example: The value + required: + - pagination + - data + operationId: get-taxes + tags: + - Taxes + description: Get list of taxes + security: + - oauth2: + - taxes.read + parameters: + - in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - rank + - in: query + name: embed + description: | + Additional object included in the result. + schema: + type: array + items: + type: string + enum: + - acl + - translations + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - in: query + name: include_ecotax + description: Include ecotaxes in the response + schema: + type: boolean + allowEmptyValue: true + post: + summary: Create tax + operationId: create-tax + responses: + '201': + description: Tax created + content: + application/json: + schema: + $ref: >- + #/paths/~1taxes/get/responses/200/content/application~1json/schema/properties/data/items + description: Create a tax + parameters: + - $ref: '#/paths/~1taxes/get/parameters/1' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - taxes.write + requestBody: + content: + application/json: + schema: + title: Tax + type: object + description: '' + x-examples: {} + required: + - rate + - label + properties: + rate: + type: number + description: Tax rate + example: 20 + nullable: false + label: + type: string + description: Tax label + example: TVA + nullable: false + before_sibling: + type: integer + description: > + ID of tax before which to place the tax specified in path + parameter
> if not specified, tax will be placed at + the last rank of the taxes list + nullable: true + example: 57 + tags: + - Taxes + /taxes/search: + post: + summary: Search taxes + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1taxes/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + operationId: search-taxes + tags: + - Taxes + description: Search taxes + security: + - oauth2: + - taxes.read + parameters: + - $ref: '#/paths/~1taxes/get/parameters/0' + - $ref: '#/paths/~1taxes/get/parameters/1' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TaxFilter' + /taxes/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Tax id + get: + summary: Get Tax + tags: + - Taxes + operationId: get-tax + parameters: + - $ref: '#/paths/~1taxes/get/parameters/1' + - $ref: '#/components/parameters/fields' + - $ref: '#/paths/~1taxes/get/parameters/6' + responses: + '200': + description: Tax fetched + content: + application/json: + schema: + $ref: >- + #/paths/~1taxes/get/responses/200/content/application~1json/schema/properties/data/items + description: Fetch tax informations + security: + - oauth2: + - taxes.read + put: + summary: Update tax + tags: + - Taxes + operationId: update-tax + parameters: + - $ref: '#/paths/~1taxes/get/parameters/1' + - $ref: '#/components/parameters/fields' + - $ref: '#/paths/~1taxes/get/parameters/6' + responses: + '200': + description: Tax updated + content: + application/json: + schema: + $ref: >- + #/paths/~1taxes/get/responses/200/content/application~1json/schema/properties/data/items + description: Update Tax informations + requestBody: + content: + application/json: + schema: + title: Tax + type: object + description: '' + x-examples: {} + properties: + rate: + type: number + description: Tax rate + example: 20 + nullable: false + label: + type: string + description: Tax label + example: TVA + nullable: false + before_sibling: + type: integer + description: > + ID of tax before which to place the tax specified in path + parameter
> if not specified, tax will be placed at + the last rank of the taxes list + nullable: true + example: 57 + security: + - oauth2: + - taxes.write + delete: + summary: Delete tax + tags: + - Taxes + operationId: delete-tax + responses: + '204': + description: Tax deleted + description: Remove a tax + security: + - oauth2: + - taxes.write + /taxes/accounting-codes: + get: + summary: Taxes accounting codes list + responses: + '200': + description: Taxes accounting codes list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + title: Accounting codes of taxes + type: object + properties: + id: + type: integer + readOnly: true + description: Id of tax + example: 6 + rate: + type: number + format: float + description: Rate of tax + example: 20 + label: + type: string + description: Label of tax + example: Product TVA + debit_vat: + title: Accounting code + type: object + description: accounting codes applied to debit vat + additionalProperties: false + properties: + collected_vat: + description: Accounting code for collected vat + type: object + additionalProperties: false + properties: + id: + type: integer + nullable: true + description: Accounting code id for collected vat + example: 23 + code: + type: string + nullable: true + description: Accounting code for collected vat + example: '445680' + required: + - id + - code + deductible_vat: + description: Accounting code for deductible vat + type: object + additionalProperties: false + properties: + id: + type: integer + nullable: true + description: Accounting code id for deductible vat + example: 12 + code: + type: string + nullable: true + description: Accounting code for deductible vat + example: '445680' + required: + - id + - code + required: + - collected_vat + - deductible_vat + collection_vat: + title: Accounting code + type: object + description: accounting codes applied to collection vat + additionalProperties: false + properties: + collected_vat: + description: Accounting code for collected vat + type: object + additionalProperties: false + properties: + id: + type: integer + nullable: true + description: Accounting code id for collected vat + example: 12 + code: + type: string + nullable: true + description: Accounting code for collected vat + example: '445680' + required: + - id + - code + deductible_vat: + description: Accounting code for deductible vat + type: object + additionalProperties: false + properties: + id: + type: integer + nullable: true + description: Accounting code id for deductible vat + example: 7 + code: + type: string + nullable: true + description: Accounting code for deductible vat + example: '445680' + required: + - id + - code + required: + - collected_vat + - deductible_vat + required: + - pagination + - data + operationId: get-taxes-accounting-charts + tags: + - Taxes + description: Get list of accounting codes + security: + - oauth2: + - taxes.read + parameters: + - $ref: '#/paths/~1taxes/get/parameters/0' + - $ref: '#/paths/~1taxes/get/parameters/1' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + /taxes/{id}/accounting-codes: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Tax id + get: + summary: Tax accounting codes list + responses: + '200': + description: Tax accounting codes list fetched + content: + application/json: + schema: + $ref: >- + #/paths/~1taxes~1accounting-codes/get/responses/200/content/application~1json/schema/properties/data/items + operationId: get-tax-accounting-chart + tags: + - Taxes + description: Get tax accounting codes + security: + - oauth2: + - taxes.read + parameters: + - $ref: '#/paths/~1taxes/get/parameters/0' + - $ref: '#/paths/~1taxes/get/parameters/1' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + put: + summary: Update tax accounting codes + tags: + - Taxes + operationId: update-tax-accounting-chart + parameters: + - $ref: '#/paths/~1taxes/get/parameters/1' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Tax updated + content: + application/json: + schema: + $ref: >- + #/paths/~1taxes~1accounting-codes/get/responses/200/content/application~1json/schema/properties/data/items + description: Update tax accounting codes + requestBody: + content: + application/json: + schema: + title: Accouting codes of taxes + type: object + properties: + debit_vat: + title: Accounting code + type: object + description: accounting codes applied to debit vat + additionalProperties: false + properties: + collected_vat_id: + type: integer + description: Accounting code for collected vat + example: 44568 + deductible_vat_id: + type: integer + description: Accounting code for deductible vat + example: 44568 + required: + - collected_vat_id + - deductible_vat_id + collection_vat: + title: Accounting code + type: object + description: accounting codes applied to collection vat + additionalProperties: false + properties: + collected_vat_id: + type: integer + description: Accounting code for collected vat + example: 44568 + deductible_vat_id: + type: integer + description: Accounting code for deductible vat + example: 44568 + required: + - collected_vat_id + - deductible_vat_id + security: + - oauth2: + - taxes.write + /rate-categories: + get: + summary: Rate categories list + responses: + '200': + description: Rate categories list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + title: Tax with embed + allOf: + - title: Rate category + type: object + description: '' + x-examples: {} + additionalProperties: false + properties: + id: + type: integer + readOnly: true + description: Id of rate category + example: 6657 + label: + type: string + description: Label of rate category + example: Tarif HT + includes_taxes: + type: boolean + description: Are taxes included + example: true + currency: + type: string + nullable: true + description: Currency + example: EUR + tax_id: + type: integer + nullable: true + description: Id of tax + example: 3822666 + is_default: + type: boolean + description: Is the default rate category + example: false + accounting: + title: Accounting + type: object + nullable: true + description: Accounting codes + x-examples: {} + additionalProperties: false + properties: + accounting_code_id: + type: integer + nullable: true + description: Id of accounting code + example: 1160745 + discount_accounting_code_id: + type: integer + nullable: true + description: Id of discount accounting code + example: 1160745 + default_layouts: + title: Default layouts + type: object + description: Default layouts + x-examples: {} + additionalProperties: false + properties: + estimates: + type: object + description: Estimates layout + properties: + enabled: + type: boolean + description: Indicates if estimates are enabled + example: true + id: + type: integer + nullable: true + description: Layout id + example: 157 + invoices: + type: object + description: Invoices layout + properties: + enabled: + type: boolean + description: Indicates if invoices are enabled + example: true + id: + type: integer + nullable: true + description: Layout id + example: 158 + credit_notes: + type: object + description: Credit notes layout + properties: + enabled: + type: boolean + description: Indicates if credit notes are enabled + example: true + id: + type: integer + nullable: true + description: Layout id + example: 159 + models: + type: object + description: Models layout + properties: + enabled: + type: boolean + description: Indicates if models are enabled + example: true + id: + type: integer + nullable: true + description: Layout id + example: 160 + deliveries: + type: object + description: Deliveries layout + properties: + enabled: + type: boolean + description: Indicates if deliveries are enabled + example: false + id: + type: integer + nullable: true + description: Layout id + example: 161 + orders: + type: object + description: Orders layout + properties: + enabled: + type: boolean + description: Indicates if orders are enabled + example: false + id: + type: integer + nullable: true + description: Layout id + example: 162 + proformas: + type: object + description: Proformas layout + properties: + enabled: + type: boolean + description: Indicates if proformas are enabled + example: false + id: + type: integer + nullable: true + description: Layout id + example: 163 + price: + description: Price rule + oneOf: + - title: Price type value + type: object + description: Price type value + x-examples: {} + additionalProperties: false + properties: + type: + type: string + description: Set an amount per product + enum: + - value + example: value + - title: Price type percent + type: object + description: Price type percent + x-examples: {} + additionalProperties: false + properties: + type: + type: string + description: >- + Apply a percentage to the reference + price of the product + enum: + - percent + example: percent + value: + type: string + description: Price value + example: 10.5 + - type: object + properties: + _embed: + nullable: true + allOf: + - title: Embed for Rate Category + type: object + description: >- + Optional objects added through the embed + parameter + x-examples: {} + additionalProperties: false + properties: + currency: + nullable: true + description: Rate category currency + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/currency + required: + - pagination + - data + operationId: get-rate-categories + tags: + - Rate Categories + description: Get list of rate categories + security: + - oauth2: + - rate-categories.read + parameters: + - in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - in: query + name: embed + description: | + Additional object included in the result. + schema: + type: array + items: + type: string + enum: + - currency + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + post: + summary: Create rate category + operationId: create-rate-category + responses: + '201': + description: Rate category created + content: + application/json: + schema: + $ref: >- + #/paths/~1rate-categories/get/responses/200/content/application~1json/schema/properties/data/items + '402': + description: Quotas limit reached on your current plan + description: Create a rate category + parameters: + - $ref: '#/paths/~1rate-categories/get/parameters/1' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - rate-categories.write + requestBody: + content: + application/json: + schema: + title: Rate category + type: object + description: '' + x-examples: {} + additionalProperties: false + required: + - label + properties: + label: + type: string + description: Label of rate category + example: Tarif HT + includes_taxes: + type: boolean + description: Are taxes included + example: true + default: false + currency: + type: string + nullable: true + description: Currency + example: EUR + tax_id: + type: integer + nullable: true + description: Id of tax + example: 3822666 + accounting_code_id: + type: integer + nullable: true + description: Id of accounting code + example: 1160745 + discount_accounting_code_id: + type: integer + nullable: true + description: Id of discount accounting code + example: 1160745 + default_layouts: + title: Default layouts + type: object + description: Default layouts + x-examples: {} + additionalProperties: false + properties: + estimates: + type: integer + nullable: true + description: Estimates layout id + example: 157 + invoices: + type: integer + nullable: true + description: Invoices layout id + example: 158 + credit_notes: + type: integer + nullable: true + description: Credit notes layout id + example: 159 + models: + type: integer + nullable: true + description: Models layout id + example: 157 + deliveries: + type: integer + nullable: true + description: Deliveries layout id + example: null + orders: + type: integer + nullable: true + description: Orders layout id + example: null + proformas: + type: integer + nullable: true + description: Proformas layout id + example: null + price: + description: Price rule + oneOf: + - title: Price type value + type: object + description: Price type value + x-examples: {} + additionalProperties: false + required: + - type + properties: + type: + type: string + description: Set an amount per product + enum: + - value + example: value + - title: Price type percent + type: object + description: Price type percent + x-examples: {} + additionalProperties: false + required: + - type + - value + properties: + type: + type: string + description: >- + Apply a percentage to the reference price of the + product + enum: + - percent + example: percent + value: + type: string + description: Price value + example: 10.5 + tags: + - Rate Categories + /rate-categories/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Rate category id + get: + summary: Get rate category + tags: + - Rate Categories + operationId: get-rate-category + parameters: + - $ref: '#/paths/~1rate-categories/get/parameters/1' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Rate category fetched + content: + application/json: + schema: + $ref: >- + #/paths/~1rate-categories/get/responses/200/content/application~1json/schema/properties/data/items + description: Fetch a rate category + security: + - oauth2: + - rate-categories.read + put: + summary: Update a rate category + tags: + - Rate Categories + operationId: update-rate-category + parameters: + - $ref: '#/paths/~1rate-categories/get/parameters/1' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Rate category updated + content: + application/json: + schema: + $ref: >- + #/paths/~1rate-categories/get/responses/200/content/application~1json/schema/properties/data/items + description: Update a rate category + requestBody: + content: + application/json: + schema: + title: Rate category + type: object + description: '' + x-examples: {} + additionalProperties: false + properties: + label: + type: string + description: Label of rate category + example: Tarif HT + includes_taxes: + type: boolean + description: Are taxes included + example: true + default: false + currency: + type: string + nullable: true + description: Currency + example: EUR + tax_id: + type: integer + nullable: true + description: Id of tax + example: 3822666 + accounting_code_id: + type: integer + nullable: true + description: Id of accounting code + example: 1160745 + discount_accounting_code_id: + type: integer + nullable: true + description: Id of discount accounting code + example: 1160745 + default_layouts: + $ref: >- + #/paths/~1rate-categories/post/requestBody/content/application~1json/schema/properties/default_layouts + price: + description: Price rule + oneOf: + - $ref: >- + #/paths/~1rate-categories/post/requestBody/content/application~1json/schema/properties/price/oneOf/0 + - $ref: >- + #/paths/~1rate-categories/post/requestBody/content/application~1json/schema/properties/price/oneOf/1 + security: + - oauth2: + - rate-categories.write + delete: + summary: Delete Rate category + tags: + - Rate Categories + operationId: delete-rate-category + responses: + '204': + description: Rate category deleted + description: Remove a rate category + security: + - oauth2: + - rate-categories.write + /payments/methods/{id}: + get: + parameters: + - schema: + type: string + name: id + in: path + required: true + description: Payment method id + summary: Get the payment method + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentMethod' + operationId: get-payment-method + tags: + - Payments + description: List of all payment methods + security: + - oauth2: + - payments.read + /payments/methods: + get: + summary: List of all payment methods + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/PaymentMethod' + required: + - pagination + - data + operationId: get-payment-methods + tags: + - Payments + description: List of all payment methods + security: + - oauth2: + - payments.read + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/paymentMethodOrder' + /payments/methods/search: + post: + summary: Search methods of payment + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/PaymentMethod' + required: + - pagination + - data + requestBody: + content: + application/json: + schema: + type: object + properties: + filters: + type: object + operationId: search-payment-methods + tags: + - Payments + description: Search method of payment + security: + - oauth2: + - payments.read + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/paymentMethodOrder' + /ocr/pur-invoice: + get: + summary: Ocr List - Purchase invoices + operationId: get-ocr-pur-invoice + description: Get list of OCR documents for purchase invoices + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Ocr' + security: + - oauth2: + - ocr.read + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/ocrOrder' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + tags: + - Purchase (OCR) + /ocr/pur-invoice/search: + post: + summary: Search OCR - Purchase invoices + operationId: search-ocr-pur-invoice + description: Search OCR document of purchase invoices + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Ocr' + security: + - oauth2: + - ocr.read + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/ocrOrder' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + tags: + - Purchase (OCR) + requestBody: + content: + application/json: + schema: + type: object + properties: + filters: + type: object + properties: + state: + description: Filter by ocr state + type: array + items: + type: string + enum: + - pending + - processing + - completed + - error + staff_id: + description: filters by staff ids + type: array + items: + type: integer + /ocr/pur-invoice/metas: + get: + summary: Get Metadata for purchase invoice OCR + tags: + - Purchase (OCR) + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/OcrPurInvoiceMetas' + operationId: get-ocr-pur-invoice-metas + description: Get metadata + security: + - oauth2: + - scopes.read + /contacts: + post: + summary: Create a contact + tags: + - Contacts + description: Create a contact + operationId: create-contact + parameters: + - $ref: '#/components/parameters/contactEmbed' + - $ref: '#/components/parameters/verify' + responses: + '201': + description: Contact created + content: + application/json: + schema: + $ref: '#/components/schemas/ContactItem' + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContactCreateItem' + description: '' + security: + - oauth2: + - contacts.write + get: + summary: Contacts List + tags: + - Contacts + description: Get a list of contacts + operationId: get-contacts + parameters: + - $ref: '#/components/parameters/contactOrders' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/contactEmbed' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Contacts list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ContactCollectionItem' + required: + - pagination + - data + security: + - oauth2: + - contacts.read + /contacts/search: + post: + summary: Search contacts + tags: + - Contacts + description: Search contacts + operationId: search-contacts + parameters: + - $ref: '#/components/parameters/contactOrders' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/contactEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContactFilters' + responses: + '200': + description: Contacts list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ContactCollectionItem' + required: + - pagination + - data + security: + - oauth2: + - contacts.read + /contacts/favourite-filters: + get: + summary: List contacts favourite filters + tags: + - Contacts + description: > + List favourite filters for faster access to specific contacts
> + Favourite filters can be applied directly to contact search endpoints +
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-contact-favourite-filters + parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + security: + - oauth2: + - contacts.read + /contacts/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Contact id + get: + summary: Get contact + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/contactEmbed' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Contact fetched + content: + application/json: + schema: + $ref: '#/components/schemas/ContactItem' + operationId: get-contact + description: Fetch contact informations + security: + - oauth2: + - contacts.read + put: + summary: Update contact + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/contactEmbed' + - $ref: '#/components/parameters/verify' + responses: + '200': + description: Contact updated + content: + application/json: + schema: + $ref: '#/components/schemas/ContactItem' + '204': + $ref: '#/components/schemas/Verify' + description: Update contact informations + operationId: update-contact + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContactUpdateItem' + security: + - oauth2: + - contacts.write + delete: + summary: Delete contact + tags: + - Contacts + operationId: delete-contact + responses: + '204': + description: Contact deleted + description: Remove a contact + security: + - oauth2: + - contacts.write + /contacts/{contactId}/addresses: + parameters: + - schema: + type: integer + name: contactId + in: path + required: true + description: Contact id + get: + summary: Get contact addresses + tags: + - Contacts + responses: + '200': + description: Addresses fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Address' + required: + - pagination + - data + operationId: get-contact-addresses + security: + - oauth2: + - contacts.read + post: + tags: + - Contacts + responses: + '201': + description: Address created + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + operationId: create-contact-address + summary: Create a contact address + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/AddressCreate' + security: + - oauth2: + - contacts.write + /contacts/{contactId}/addresses/{id}: + parameters: + - schema: + type: integer + name: contactId + in: path + required: true + description: Contact id + - schema: + type: integer + name: id + in: path + required: true + description: Address id + get: + tags: + - Contacts + responses: + '200': + description: Address fetched + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + operationId: get-contact-address + summary: Get a contact address + security: + - oauth2: + - contacts.read + put: + tags: + - Contacts + responses: + '200': + description: Address updated + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + operationId: update-contact-address + summary: Update a contact address + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddressUpdate' + security: + - oauth2: + - contacts.write + delete: + tags: + - Contacts + responses: + '204': + description: Address deleted + operationId: delete-contact-address + summary: Delete a contact address + security: + - oauth2: + - contacts.write + /contacts/{contactId}/custom-fields: + parameters: + - schema: + type: integer + name: contactId + in: path + required: true + description: Contact id + get: + summary: Contact custom fields List + description: Get list of custom fields for a contact + tags: + - Contacts + operationId: get-contact-custom-fields + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - custom-fields.read + - contacts.read + put: + summary: Update contact custom fields + description: Update list of custom fields for a contact + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/verify' + operationId: update-contact-custom-fields + responses: + '200': + description: Contact's custom fields updated + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/put/requestBody/content/application~1json/schema + security: + - oauth2: + - custom-fields.write + - contacts.write + /contacts/{contactId}/files: + parameters: + - name: contactId + in: path + description: Contact id + schema: + type: integer + required: true + get: + summary: List directories and files of a contact + description: >- + List directories and files attached to a contact
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-contact-files + tags: + - Contacts + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + security: + - oauth2: + - contacts.read + - files.read + post: + summary: Attach file to a contact + description: >- + Attach file to a contact
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: upload-contact-file + tags: + - Contacts + responses: + '201': + description: File uploaded + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + security: + - oauth2: + - contacts.read + - files.write + /contacts/{contactId}/smart-tags: + parameters: + - schema: + type: integer + name: contactId + in: path + required: true + description: Contact id + get: + summary: Contact smart tags List + description: Get list of smart tags for a contact + tags: + - Contacts + operationId: get-contact-smart-tags + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + security: + - oauth2: + - smart-tags.read + - contacts.read + post: + summary: Link smart tags to contact + description: Link a list of smart tag to a contact + tags: + - Contacts + operationId: link-contact-smart-tags + responses: + '200': + description: Smart tag linked + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/post/requestBody/content/application~1json/schema + security: + - oauth2: + - smart-tags.write + - contacts.write + /accounts/conformities: + get: + summary: Retrieve invoicing conformity state + tags: + - Conformities + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicingConformityState' + operationId: get-invoicing-conformity-state + description: Get invoicing conformity state + security: + - oauth2: + - accounts.read + post: + summary: Activate invoice conformity (Definitively) + tags: + - Conformities + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicingConformityState' + '403': + description: Conformity has already been activated + requestBody: + content: + application/json: + schema: + type: object + properties: + confirm_final_change: + description: Confirm definitively activate invoice conformity + type: boolean + enum: + - true + required: + - confirm_final_change + operationId: activate-invoicing-conformity + description: Definitively activate invoice conformity + security: + - oauth2: + - accounts.write + /document-layouts: + get: + summary: Get all document layouts + tags: + - Document Layouts + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/DocumentLayoutsCollection' + operationId: get-document-layouts + description: Get all document layouts + security: + - oauth2: + - document-layouts.read + /accounts/documents: + get: + summary: Get your invoices and credit notes + tags: + - Documents + parameters: + - $ref: '#/components/parameters/accountDocumentOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/AccountDocumentCollection' + operationId: get-accounts-documents + description: Get your invoices and credit notes + security: + - oauth2: + - accounts.read + /opportunities/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: ID of opportunity + get: + summary: Get Opportunity + tags: + - Opportunities + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunityItem' + operationId: get-opportunity + description: Get an opportunity + security: + - oauth2: + - opportunities.read + parameters: + - $ref: '#/components/parameters/opportunityEmbed' + - in: query + name: field + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- + `field[]=address.id`: Return the `id` field of the `address` + object
- `field[]=addresses[].id`: Return the `id` field of + the `address` objects

On endpoints that implement the + `embed` query parameter, if you specified embeds in your call, you + will need to request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ schema: + type: array + items: + type: string + pattern: ^[A-Za-z0-9\.\[\]_-]+$ + put: + summary: Update Opportunity + tags: + - Opportunities + operationId: update-opportunity + responses: + '200': + description: Opportunity updated + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunityItem' + '204': + $ref: '#/components/schemas/Verify' + description: Update Opportunity informations + security: + - oauth2: + - opportunities.write + parameters: + - $ref: '#/components/parameters/opportunityEmbed' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/verify' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunityUpdate' + description: '' + delete: + summary: Delete an Opportunity + tags: + - Opportunities + operationId: delete-opportunity + responses: + '204': + description: Opportunity deleted + description: Delete an opportunity + security: + - oauth2: + - opportunities.write + /opportunities/{id}/step-rank: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: ID of opportunity + patch: + operationId: update-opportunity-rank + description: > + Update opportunity's rank in its pipeline step or in a new step
> + To apply new rank according to the sibling, we consider to be in the + default ascending sort on opportunities rank + summary: Update opportunity's rank and/or step + tags: + - Opportunities + responses: + '204': + description: Opportunity's rank updated + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunityRankUpdate' + security: + - oauth2: + - opportunities.write + /opportunities: + post: + summary: Create an opportunity + tags: + - Opportunities + operationId: create-opportunity + parameters: + - $ref: '#/components/parameters/opportunityEmbed' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/verify' + responses: + '201': + description: Opportunity created + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunityItem' + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunityCreate' + description: '' + security: + - oauth2: + - opportunities.write + description: Create an opportunity + get: + summary: Get Opportunities + tags: + - Opportunities + operationId: get-opportunities + description: Get list of opportunities + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/opportunityEmbedWithAggregations' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/opportunityOrder' + responses: + '200': + description: Opportunities list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/OpportunityItem' + aggregations: + $ref: '#/components/schemas/OpportunitiesAggregations' + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/{opportunityId}/files: + parameters: + - name: opportunityId + in: path + description: Opportunity id + schema: + type: integer + required: true + post: + summary: Attach file to an opportunity + description: >- + Attach file to an opportunity
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: upload-opportunity-file + tags: + - Opportunities + responses: + '201': + description: File uploaded + content: + application/json: + schema: + $ref: '#/components/schemas/FileOuput' + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + security: + - oauth2: + - opportunities.read + - files.write + get: + summary: List directories and files of an opportunity + description: >- + List directories and files attached to an opportunity
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-opportunity-files + tags: + - Opportunities + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + - files.read + /opportunities/search: + post: + summary: Search Opportunities + tags: + - Opportunities + description: Search opportunities + operationId: search-opportunities + parameters: + - $ref: '#/components/parameters/opportunityOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/opportunityEmbedWithAggregations' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunityFilters' + responses: + '200': + description: Opportunities list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/OpportunityItem' + aggregations: + $ref: '#/components/schemas/OpportunitiesAggregations' + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/favourite-filters: + get: + summary: List opportunities favourite filters + tags: + - Opportunities + description: > + List favourite filters for faster access to specific opportunities
> Favourite filters can be applied directly to opportunity search + endpoints
This route is available in open beta.
Please note that its specifications are potentially subject to + significant and breaking changes in the coming weeks.
+ operationId: get-opportunity-favourite-filters + parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + security: + - oauth2: + - opportunities.read + /opportunities/sources: + get: + summary: Get Opportunity Sources + tags: + - Opportunities + operationId: get-opportunity-sources + description: Get list of opportunity sources + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/opportunitySourceOrder' + responses: + '200': + description: Opportunity sources list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/OpportunitySourceCollectionItem' + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/sources/search: + post: + summary: Search Opportunity Sources + tags: + - Opportunities + description: Search opportunity sources + operationId: search-opportunity-sources + parameters: + - $ref: '#/components/parameters/opportunitySourceOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunitySourceFilters' + responses: + '200': + description: Opportunity sources list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/OpportunitySourceCollectionItem' + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/categories/{sourceCategoryId}/sources: + parameters: + - schema: + type: integer + name: sourceCategoryId + in: path + required: true + description: ID of Opportunity Sources Category + get: + summary: Get Opportunity Category Sources + tags: + - Opportunities + operationId: get-opportunity-category-sources + description: Get list of opportunity category sources + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/opportunitySourceOrder' + responses: + '200': + description: Opportunity category sources list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/OpportunitySourceCollectionItem' + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/pipelines: + get: + summary: Get Opportunity Pipelines + tags: + - Opportunities + operationId: get-opportunity-pipelines + description: Get list of opportunity pipelines + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/opportunityPipelineOrder' + responses: + '200': + description: Opportunity pipelines list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/OpportunityPipelineCollectionItem' + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/pipelines/search: + post: + summary: Search Opportunity Pipelines + tags: + - Opportunities + description: Search opportunity pipelines + operationId: search-opportunity-pipelines + parameters: + - $ref: '#/components/parameters/opportunityPipelineOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunityPipelineFilters' + responses: + '200': + description: Opportunity pipelines list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/OpportunityPipelineCollectionItem' + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/pipelines/{pipelineId}/steps: + parameters: + - schema: + type: integer + name: pipelineId + in: path + required: true + description: Pipeline id + get: + summary: Get Opportunity Pipeline Steps + tags: + - Opportunities + operationId: get-opportunity-pipeline-steps + description: Get list of opportunity pipeline steps + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/pipelineStepOrder' + - $ref: '#/components/parameters/pipelineStepEmbed' + responses: + '200': + description: Opportunity pipeline steps list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + title: Step with embed + allOf: + - title: Step + type: object + additionalProperties: false + description: Represents an Opportunity Pipeline Step + x-examples: {} + properties: + id: + type: integer + description: Internal Opportunity Pipeline Step ID + readOnly: true + example: 1 + name: + type: string + description: Opportunity Pipeline Step name + example: New website + probability: + type: integer + description: Opportunity Pipeline Step probability + example: 75 + maximum: 100 + minimum: 0 + rank: + type: integer + description: Pipeline rank in preferences + example: 2 + minimum: 0 + - type: object + properties: + _embed: + nullable: true + allOf: + - title: Embed for Pipeline Steps + type: object + description: >- + Optional objects added through the embed + parameter + x-examples: {} + additionalProperties: false + properties: + opportunities_number: + type: integer + description: Number of opportunities on this step + example: 8 + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/pipelines/{pipelineId}/steps/search: + parameters: + - schema: + type: integer + name: pipelineId + in: path + required: true + description: Pipeline id + post: + summary: Search Opportunity Pipeline Steps + tags: + - Opportunities + description: Search opportunity pipeline steps + operationId: search-opportunity-pipeline-steps + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/pipelineStepOrder' + - $ref: '#/components/parameters/pipelineStepEmbed' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PipelineStepFilters' + responses: + '200': + description: Opportunity pipeline steps list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1opportunities~1pipelines~1%7BpipelineId%7D~1steps/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/steps/search: + post: + summary: Search All Opportunity Pipeline Steps + tags: + - Opportunities + description: Search all opportunity pipeline steps + operationId: search-all-opportunity-pipeline-steps + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/pipelineStepOrder' + - $ref: '#/components/parameters/pipelineStepEmbed' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PipelineStepFilters' + responses: + '200': + description: Opportunity steps list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1opportunities~1pipelines~1%7BpipelineId%7D~1steps/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/categories: + get: + summary: Get Opportunities Categories List + tags: + - Opportunities + operationId: get-opportunities-categories + description: Get list of opportunities categories + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/opportuntiyCategoryEmbed' + responses: + '200': + description: Opportunities Categories List + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/OpportunitiesCategoryItem' + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/categories/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Opportunities category id + - $ref: '#/components/parameters/opportuntiyCategoryEmbed' + get: + tags: + - Opportunities + summary: Get Opportunities Category + responses: + '200': + description: Opportunity category fetched + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunitiesCategoryItem' + operationId: get-opportunities-category + security: + - oauth2: + - opportunities.read + /opportunities/{id}/custom-fields: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Opportunity id + get: + summary: Opportunity custom fields List + description: Get list of custom fields for an opportunity + tags: + - Opportunities + operationId: get-opportunity-custom-fields + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - opportunities.read + - custom-fields.read + put: + summary: Update opportunity custom fields + description: Update list of custom fields for an opportunity + tags: + - Opportunities + parameters: + - $ref: '#/components/parameters/verify' + operationId: update-opportunity-custom-fields + responses: + '200': + description: Opportunity's custom fields updated + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/put/requestBody/content/application~1json/schema + security: + - oauth2: + - custom-fields.write + - opportunities.write + /opportunities/{id}/smart-tags: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Opportunity ID + get: + summary: Opportunity smart-tags list + description: Get list of smart-tags for an opportunity + tags: + - Opportunities + operationId: get-opportunity-smart-tags + responses: + '200': + description: Smart-tags list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + security: + - oauth2: + - opportunities.read + - smart-tags.read + post: + summary: Link smart tags to opportunity + description: Link a list of smart-tags to an opportunity + tags: + - Opportunities + operationId: link-opportunity-smart-tags + responses: + '200': + description: Smart-tags list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/post/requestBody/content/application~1json/schema + security: + - oauth2: + - opportunities.write + - smart-tags.write + /tasks/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Task id + get: + tags: + - Tasks + summary: Get a task + responses: + '200': + description: Task fetched + content: + application/json: + schema: + $ref: '#/components/schemas/TaskItem' + operationId: get-task + security: + - oauth2: + - tasks.read + parameters: + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/taskEmbed' + put: + tags: + - Tasks + summary: Update a task + responses: + '200': + description: Task updated + content: + application/json: + schema: + $ref: '#/components/schemas/TaskItem' + operationId: update-task + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/TaskUpdateItem' + security: + - oauth2: + - tasks.write + parameters: + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/taskEmbed' + delete: + tags: + - Tasks + operationId: delete-task + summary: Delete a task + responses: + '204': + description: Task deleted + security: + - oauth2: + - tasks.write + /tasks: + post: + tags: + - Tasks + summary: Create a task + responses: + '201': + description: Task created + content: + application/json: + schema: + $ref: '#/components/schemas/TaskItem' + operationId: create-task + parameters: + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/taskEmbed' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TaskCreateItem' + security: + - oauth2: + - tasks.write + get: + summary: Tasks List + tags: + - Tasks + description: Get a list of tasks + operationId: get-tasks + parameters: + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/taskEmbed' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Tasks list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/TaskCollectionItem' + required: + - pagination + - data + security: + - oauth2: + - tasks.read + /tasks/search: + post: + summary: Search Tasks + tags: + - Tasks + description: Search tasks + operationId: search-tasks + parameters: + - $ref: '#/components/parameters/taskOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/taskEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TaskFilter' + responses: + '200': + description: Tasks list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/TaskCollectionItem' + required: + - pagination + - data + security: + - oauth2: + - tasks.read + /tasks/labels: + get: + summary: Get tasks labels + description: Get all tasks labels available + tags: + - Tasks + operationId: get-tasks-labels + security: + - oauth2: + - tasks.read + parameters: + - $ref: '#/components/parameters/labelOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Label' + required: + - pagination + - data + /calendar-events/labels: + get: + summary: Get calendar events labels + description: Get all calendar events labels available + tags: + - Calendar + operationId: get-calendar-events-labels + security: + - oauth2: + - calendars.read + parameters: + - $ref: '#/components/parameters/labelOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Label' + required: + - pagination + - data + /staffs/{id}: + parameters: + - in: path + name: id + schema: + type: string + pattern: ^([0-9]+|me)$ + required: true + description: >- + Numerical identifier of the Staff. The logged-in Staff can also be + retrieved by using the "/me" alias + get: + summary: Get Staff + tags: + - Staffs + responses: + '200': + description: >- + Schema content depends on current user level of visibility on + staffs, a restricted version could be return + content: + application/json: + schema: + anyOf: + - title: Staff with embed + allOf: + - $ref: >- + #/components/schemas/Activity/properties/_embed/properties/author + - type: object + properties: + _embed: + nullable: true + allOf: + - title: Embed for Staff + type: object + description: >- + Optional objects added through the embed + parameter + x-examples: {} + additionalProperties: false + properties: + preferences: + description: Staff preferences + allOf: + - title: Staff preferences + type: object + properties: + timezone: + type: string + description: Staff timezone + example: Europe/Paris + format_phone_number: + readOnly: true + type: string + description: display phone number format + enum: + - international + - national + example: international + format_date: + readOnly: true + type: string + description: display date format + example: DD-MM-YYYY + enum: + - MM-DD-YYYY + - DD-MM-YYYY + format_hour: + readOnly: true + type: string + description: display hour format + example: 24 + enum: + - 12 + - 24 + currency: + readOnly: true + type: string + description: current currency for staff + example: EUR + acl: + nullable: true + description: Staff acl + allOf: + - title: Staff ACL + type: object + description: '' + x-examples: {} + properties: + view_companies: + type: boolean + nullable: false + description: Is allowed to view companies + example: true + create_companies: + type: boolean + nullable: false + description: Is allowed to create companies + example: true + update_companies: + type: boolean + nullable: false + description: Is allowed to update companies + example: true + delete_companies: + type: boolean + nullable: false + description: Is allowed to delete companies + example: true + view_individuals: + type: boolean + nullable: false + description: Is allowed to view individuals + example: true + create_individuals: + type: boolean + nullable: false + description: Is allowed to create individuals + example: true + update_individuals: + type: boolean + nullable: false + description: Is allowed to update individuals + example: true + delete_individuals: + type: boolean + nullable: false + description: Is allowed to delete individuals + example: true + view_clients: + type: boolean + nullable: false + description: Is allowed to view clients + example: true + create_clients: + type: boolean + nullable: false + description: Is allowed to create clients + example: true + update_clients: + type: boolean + nullable: false + description: Is allowed to update clients + example: true + delete_clients: + type: boolean + nullable: false + description: Is allowed to delete clients + example: true + view_prospects: + type: boolean + nullable: false + description: Is allowed to view prospects + example: true + create_prospects: + type: boolean + nullable: false + description: Is allowed to create prospects + example: true + update_prospects: + type: boolean + nullable: false + description: Is allowed to update prospects + example: true + delete_prospects: + type: boolean + nullable: false + description: Is allowed to delete prospects + example: true + view_suppliers: + type: boolean + nullable: false + description: Is allowed to view suppliers + example: true + create_suppliers: + type: boolean + nullable: false + description: Is allowed to create suppliers + example: true + update_suppliers: + type: boolean + nullable: false + description: Is allowed to update suppliers + example: true + delete_suppliers: + type: boolean + nullable: false + description: Is allowed to delete suppliers + example: true + view_contacts: + type: boolean + nullable: false + description: Is allowed to view contacts + example: true + create_contacts: + type: boolean + nullable: false + description: Is allowed to create contacts + example: true + update_contacts: + type: boolean + nullable: false + description: Is allowed to update contacts + example: true + delete_contacts: + type: boolean + nullable: false + description: Is allowed to delete contacts + example: true + view_opportunities: + type: boolean + nullable: false + description: Is allowed to view opportunities + example: true + create_opportunities: + type: boolean + nullable: false + description: Is allowed to create opportunities + example: true + update_opportunities: + type: boolean + nullable: false + description: Is allowed to update opportunities + example: true + delete_opportunities: + type: boolean + nullable: false + description: Is allowed to delete opportunities + example: true + view_estimates: + type: boolean + nullable: false + description: Is allowed to view estimates + example: true + create_estimates: + type: boolean + nullable: false + description: Is allowed to create estimates + example: true + update_estimates: + type: boolean + nullable: false + description: Is allowed to update estimates + example: true + delete_estimates: + type: boolean + nullable: false + description: Is allowed to delete estimates + example: true + view_phone_calls: + type: boolean + nullable: false + description: Is allowed to view phone calls + example: true + create_phone_calls: + type: boolean + nullable: false + description: Is allowed to create phone calls + example: true + update_phone_calls: + type: boolean + nullable: false + description: Is allowed to update phone calls + example: true + delete_phone_calls: + type: boolean + nullable: false + description: Is allowed to delete phone calls + example: true + view_document_models: + type: boolean + nullable: false + description: Is allowed to view document models + example: true + create_document_models: + type: boolean + nullable: false + description: Is allowed to create document models + example: true + update_document_models: + type: boolean + nullable: false + description: Is allowed to update document models + example: true + delete_document_models: + type: boolean + nullable: false + description: Is allowed to delete document models + example: true + view_invoices: + type: boolean + nullable: false + description: Is allowed to view invoices + example: true + create_invoices: + type: boolean + nullable: false + description: Is allowed to create invoices + example: true + update_invoices: + type: boolean + nullable: false + description: Is allowed to update invoices + example: true + delete_invoices: + type: boolean + nullable: false + description: Is allowed to delete invoices + example: true + validate_invoices: + type: boolean + nullable: false + description: Is allowed to validate invoices + view_credit_notes: + type: boolean + nullable: false + description: Is allowed to view credit notes + example: true + create_credit_notes: + type: boolean + nullable: false + description: Is allowed to create credit notes + example: true + update_credit_notes: + type: boolean + nullable: false + description: Is allowed to update credit notes + example: true + delete_credit_notes: + type: boolean + nullable: false + description: Is allowed to delete credit notes + example: true + validate_credit_notes: + type: boolean + nullable: false + description: Is allowed to validate credit notes + example: true + view_orders: + type: boolean + nullable: false + description: Is allowed to view orders + example: true + create_orders: + type: boolean + nullable: false + description: Is allowed to create orders + example: true + update_orders: + type: boolean + nullable: false + description: Is allowed to update orders + example: true + delete_orders: + type: boolean + nullable: false + description: Is allowed to delete orders + example: true + view_deliveries: + type: boolean + nullable: false + description: Is allowed to view deliveries + example: true + view_proformas: + type: boolean + nullable: false + description: Is allowed to view proformas + example: true + view_purchase_invoices: + type: boolean + nullable: false + description: Is allowed to view purchase invoices + example: true + view_purchase_credit_notes: + type: boolean + nullable: false + description: Is allowed to view purchase credit notes + example: true + view_purchase_deliveries: + type: boolean + nullable: false + description: Is allowed to view purchase deliveries + example: true + view_purchase_orders: + type: boolean + nullable: false + description: Is allowed to view purchase orders + example: true + view_items: + type: boolean + nullable: false + description: Is allowed to view items + example: true + create_items: + type: boolean + nullable: false + description: Is allowed to create items + example: true + update_items: + type: boolean + nullable: false + description: Is allowed to update items + example: true + delete_items: + type: boolean + nullable: false + description: Is allowed to delete items + example: true + view_payments: + type: boolean + description: Is allowed to view payments + example: true + create_payments: + type: boolean + description: Is allowed to create payments + example: true + update_payments: + type: boolean + description: Is allowed to update payments + example: true + delete_payments: + type: boolean + description: Is allowed to delete payments + example: true + attach_payments: + type: boolean + description: >- + Is allowed to attach existing payments + to objects + example: true + view_subscriptions: + type: boolean + description: Is allowed to view subscriptions + example: true + create_subscriptions: + type: boolean + description: Is allowed to create subscriptions + example: true + update_subscriptions: + type: boolean + description: Is allowed to update subscriptions + example: true + delete_subscriptions: + type: boolean + description: Is allowed to delete subscriptions + example: true + view_cashflow: + type: boolean + nullable: false + description: Is allowed to view cashflow + example: true + create_cashflow: + type: boolean + nullable: false + description: Is allowed to create cashflow + example: true + view_files: + type: boolean + nullable: false + description: Is allowed to view files + example: true + attach_files: + type: boolean + nullable: false + description: Is allowed to attach files + example: true + delete_files: + type: boolean + nullable: false + description: Is allowed to delete files + example: true + view_tickets: + type: boolean + nullable: false + description: Is allowed to view support tickets + example: true + licenses: + nullable: true + description: Staff licenses + type: array + items: + type: object + properties: + id: + type: string + description: License identifier + example: 9998a80a-7b75-4616-96d5-7ccff7ac08e8 + code: + type: string + description: License code + example: pack_all_included + enabled: + type: boolean + description: License is enabled + preferences_calendar: + description: Staff preferences calendar + allOf: + - title: Staff preferences calendar + type: object + description: >- + Optional objects added through the embed + parameter + x-examples: {} + additionalProperties: false + properties: + provider: + readOnly: true + type: string + description: display calendar provider + enum: + - google + - outlook + - sellsy + example: google + - type: object + properties: + profile: + type: object + title: Profile + properties: + id: + type: integer + description: Profile id + example: 6657 + name: + type: string + description: Profile name + example: Collaborator + is_administrator: + type: boolean + description: >- + Indicates if this profile grants + administrator privileges + example: true + required: + - id + - name + - is_administrator + - type: object + properties: + account: + type: object + title: Account details + properties: + id: + type: integer + description: >- + Numerical identifier referencing the + account + example: 97417 + uuid: + type: string + description: Identifier referencing the account + example: 600b851b-e5c9-44f0-a66b-9b8391eff153 + name: + type: string + description: Account's name + example: Sellsy + country_code: + type: string + description: Account's country code + example: FR + minLength: 2 + maxLength: 2 + nullable: true + created: + type: string + format: date-time + description: Created at (format at RFC3339) + example: '2020-01-01T00:00:00+01:00' + required: + - uuid + - id + - name + - created + - type: object + properties: + user: + type: object + title: User details + properties: + uuid: + type: string + description: Identifier referencing the user + example: 600b851b-e5c9-44f0-a66b-9b8391eff153 + required: + - uuid + - type: object + properties: + subscriptions: + title: Staff subscriptions + type: object + description: >- + Optional objects added through the embed + parameter + x-examples: {} + additionalProperties: false + properties: + cashflow: + type: object + nullable: true + properties: + plan: + type: string + description: Cashflow plan + enum: + - TRIAL + - STARTER + - PRO + - BUSINESS + - EXTERNAL + example: TRIAL + trial_end_date: + nullable: true + type: string + format: date-time + description: Trial end date + example: '2022-04-20T23:59:59+02:00' + marketing: + type: object + nullable: true + properties: + plan: + type: string + description: Marketing plan + enum: + - TRIAL + - STARTER + - PRO + - BUSINESS + example: TRIAL + trial_end_date: + nullable: true + type: string + format: date-time + description: Trial end date + example: '2022-04-20T23:59:59+02:00' + service_start_date: + nullable: true + type: string + format: date-time + description: Service start date + example: '2023-09-04T00:00:00+02:00' + service_end_date: + nullable: true + type: string + format: date-time + description: Service end date + example: '2024-09-03T23:59:59+02:00' + options: + type: array + description: Marketing options + items: + type: object + properties: + name: + type: string + example: pack_marketing_dedicated_ip + quantity: + type: integer + example: 4 + metadata: + nullable: true + type: object + properties: + domains: + type: array + description: Marketing domains + items: + type: object + properties: + sender_domain: + type: string + example: example.com + sub_domain: + type: string + example: email + - type: object + properties: + intercom_hash: + title: Intercom hmac + type: object + properties: + web: + type: string + description: Web HMAC + example: >- + 64a4e500f2b08a855f1bc1cf202066c0d18adddf04d23583bf4b5db91778e067 + ios: + type: string + description: iOS HMAC + example: >- + 64a4e500f2b08a855f1bc1cf202066c0d18adddf04d23583bf4b5db91778e067 + android: + type: string + description: Android HMAC + example: >- + 64a4e500f2b08a855f1bc1cf202066c0d18adddf04d23583bf4b5db91778e067 + required: + - web + - ios + - android + - type: object + properties: + features: + title: Staff features + type: object + description: >- + Optional objects added through the embed + parameter + x-examples: {} + additionalProperties: false + properties: + collaborative_sharing_suite: + type: boolean + example: false + map_listing: + type: boolean + example: false + payment_deadlines: + type: boolean + example: false + price_exceptions: + type: boolean + example: false + product_variations: + type: boolean + example: false + promotion_management: + type: boolean + example: false + sepa_export: + type: boolean + example: false + - $ref: '#/components/schemas/StaffRestrictedView' + '404': + description: Staff not found. Depending on your subscription plan + operationId: get-staff + description: Get a staff + security: + - oauth2: + - staffs.read + parameters: + - $ref: '#/paths/~1opportunities~1%7Bid%7D/get/parameters/1' + - $ref: '#/components/parameters/staffItemEmbed' + put: + summary: Update Staff + tags: + - Staffs + operationId: update-staff + description: Update staff informations + responses: + '200': + description: >- + Staff updated, schema content depends on current user level of + visibility on staffs, a restricted version could be return + content: + application/json: + schema: + anyOf: + - title: Staff with embed + allOf: + - $ref: >- + #/components/schemas/Activity/properties/_embed/properties/author + - type: object + properties: + _embed: + nullable: true + allOf: + - $ref: >- + #/paths/~1staffs~1%7Bid%7D/get/responses/200/content/application~1json/schema/anyOf/0/allOf/1/properties/_embed/allOf/0 + - $ref: '#/components/schemas/StaffRestrictedView' + security: + - oauth2: + - staffs.write + parameters: + - $ref: '#/paths/~1opportunities~1%7Bid%7D/get/parameters/1' + - $ref: '#/components/parameters/staffEmbed' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StaffUpdateItem' + /staffs: + post: + tags: + - Staffs + summary: Create a staff + responses: + '201': + description: >- + Staff created, schema content depends on current user level of + visibility on staffs, a restricted version could be return + content: + application/json: + schema: + anyOf: + - $ref: >- + #/paths/~1staffs~1%7Bid%7D/put/responses/200/content/application~1json/schema/anyOf/0 + - $ref: '#/components/schemas/StaffRestrictedView' + operationId: create-staff + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StaffCreateItem' + security: + - oauth2: + - staffs.write + get: + summary: Get Staffs + tags: + - Staffs + responses: + '200': + description: >- + Schema content depends on current user level of visibility on + staffs, a restricted version could be return + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + anyOf: + - $ref: >- + #/paths/~1staffs~1%7Bid%7D/put/responses/200/content/application~1json/schema/anyOf/0 + - $ref: '#/components/schemas/StaffRestrictedView' + required: + - pagination + - data + operationId: get-staffs + description: > + Get a list of staffs.
The response may contain only your own staff, + depending on your subscription plan. + security: + - oauth2: + - staffs.read + parameters: + - $ref: '#/paths/~1opportunities~1%7Bid%7D/get/parameters/1' + - $ref: '#/components/parameters/staffEmbed' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/staffOrder' + /staffs/search: + post: + summary: Search Staffs + tags: + - Staffs + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StaffFilters' + responses: + '200': + description: >- + Schema content depends on current user level of visibility on + staffs, a restricted version could be return + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + anyOf: + - $ref: >- + #/paths/~1staffs~1%7Bid%7D/put/responses/200/content/application~1json/schema/anyOf/0 + - $ref: '#/components/schemas/StaffRestrictedView' + required: + - pagination + - data + operationId: search-staffs + description: > + Search list of staffs.
The response may contain only your own + staff, depending on your subscription plan. + security: + - oauth2: + - staffs.read + parameters: + - $ref: '#/paths/~1opportunities~1%7Bid%7D/get/parameters/1' + - $ref: '#/components/parameters/staffEmbed' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/staffOrder' + /teams: + get: + summary: Team List + tags: + - Staffs + description: Get a list of team + operationId: get-teams + security: + - oauth2: + - staffs.read + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + responses: + '200': + description: Teams list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Team' + required: + - pagination + - data + /profiles: + get: + summary: Profiles list + tags: + - Staffs + description: Get profiles list + operationId: get-profiles + security: + - oauth2: + - staffs.read + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/profileOrder' + - $ref: '#/components/parameters/direction' + responses: + '200': + description: Profiles list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Profiles' + required: + - pagination + - data + /files/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: File identifier + delete: + summary: Delete file + operationId: delete-file + description: > + Delete a file
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Files + security: + - oauth2: + - files.write + responses: + '204': + description: File deleted + patch: + summary: Move a file to a new directory + operationId: move-file + description: > + Move a file to a new directory. The target specified could be as either + a folder or a direct entity, such as "company".
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ tags: + - Files + security: + - oauth2: + - files.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MoveFileInput' + responses: + '204': + description: File moved + '409': + description: Conflict + get: + summary: Get file + operationId: get-file + description: > + Get a file
This route is available in open beta.
Please note that its specifications are potentially subject to + significant and breaking changes in the coming weeks.
+ tags: + - Files + security: + - oauth2: + - files.read + responses: + '200': + description: File fetched + content: + application/json: + schema: + $ref: '#/components/schemas/FileOuput' + /search: + get: + summary: Search + tags: + - Listings + operationId: search + description: Search for objects + security: + - oauth2: + - search.read + parameters: + - $ref: '#/components/parameters/autocomplete' + - $ref: '#/components/parameters/searchType' + - in: query + name: limit + description: >- + The pagination limit. On a default search (without the `type` + parameter), the limit parameter is not used because the limit is + automatically calculated in relation to the relevance of the search + results. + schema: + type: integer + description: Pagination limit + default: 25 + maximum: 100 + minimum: 0 + responses: + '200': + description: Search result + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/SearchResult' + aggregations: + $ref: '#/components/schemas/SearchResultAggregations' + required: + - pagination + - data + - aggregations + /calendar-events: + post: + summary: Create a calendar event + operationId: create-calendar-event + tags: + - Calendar + security: + - oauth2: + - calendars.write + parameters: + - $ref: '#/paths/~1opportunities~1%7Bid%7D/get/parameters/1' + - $ref: '#/components/parameters/calendarEventEmbed' + responses: + '201': + description: Calendar event created + content: + application/json: + schema: + $ref: '#/components/schemas/CalendarEventItem' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CalendarEventCreateItem' + get: + summary: Calendar events List + tags: + - Calendar + description: Get a list of calendar event + operationId: get-calendar-events + parameters: + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/calendarEventEmbed' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Calendar events list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CalendarEventItem' + required: + - pagination + - data + security: + - oauth2: + - calendars.read + /calendar-events/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Calendar event id + get: + summary: Get calendar event + operationId: get-calendar-event + tags: + - Calendar + security: + - oauth2: + - calendars.read + parameters: + - $ref: '#/paths/~1opportunities~1%7Bid%7D/get/parameters/1' + - $ref: '#/components/parameters/calendarEventEmbed' + responses: + '200': + description: Calendar event fetched + content: + application/json: + schema: + $ref: '#/components/schemas/CalendarEventItem' + put: + summary: Update calendar event + operationId: update-calendar-event + tags: + - Calendar + security: + - oauth2: + - calendars.write + responses: + '200': + description: Calendar event updated + content: + application/json: + schema: + $ref: '#/components/schemas/CalendarEventItem' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CalendarEventUpdateItem' + delete: + summary: Delete calendar event + operationId: delete-calendar-event + tags: + - Calendar + security: + - oauth2: + - calendars.write + responses: + '204': + description: Calendar event deleted + /calendar-events/search: + post: + summary: Search calendar event + tags: + - Calendar + description: Search calendar events + operationId: search-calendar-events + parameters: + - $ref: '#/components/parameters/calendarEventOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/calendarEventEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CalendarEventFilters' + responses: + '200': + description: Calendar events list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CalendarEventItem' + required: + - pagination + - data + security: + - oauth2: + - calendars.read + /activities/search: + post: + summary: Search in activity + description: Search in activity + tags: + - Activities + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Activity' + required: + - pagination + - data + operationId: search-activities + security: + - oauth2: + - activities.read + parameters: + - $ref: '#/components/parameters/activityOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/activityEmbed' + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ActivityFilters' + - type: object + description: The activity filters + properties: + filters: + type: object + description: Activity filters + properties: + object_related: + type: object + description: Filter for get the activity related to an object + properties: + type: + type: string + enum: + - company + - individual + - opportunity + - contact + id: + type: integer + minimum: 1 + example: 1029 + /timeline/{type}/{id}/search: + parameters: + - in: path + name: id + description: Object identifier + schema: + type: string + required: true + - in: path + name: type + description: Object type + schema: + type: string + enum: + - individual + - company + - contact + - opportunity + required: true + post: + summary: Timeline search + description: Search in timeline activity of an object + tags: + - Activities + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Activity' + required: + - pagination + - data + operationId: search-timeline + security: + - oauth2: + - activities.read + parameters: + - $ref: '#/components/parameters/activityOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/activityEmbed' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityFilters' + /phone-calls/{id}: + parameters: + - in: path + name: id + schema: + type: integer + required: true + description: Numerical identifier of phone call + get: + summary: Get a phoneCall + tags: + - PhoneCalls + description: Get a phoneCall + operationId: get-phone-call + parameters: + - $ref: '#/components/parameters/phoneCallEmbed' + - $ref: '#/paths/~1opportunities~1%7Bid%7D/get/parameters/1' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/PhoneCallItem' + security: + - oauth2: + - phonecalls.read + put: + summary: Update a phoneCall + tags: + - PhoneCalls + description: Update a phoneCall + operationId: update-phone-call + parameters: + - $ref: '#/components/parameters/phoneCallEmbed' + - $ref: '#/paths/~1opportunities~1%7Bid%7D/get/parameters/1' + responses: + '200': + description: PhoneCall updated + content: + application/json: + schema: + $ref: '#/components/schemas/PhoneCallItem' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PhoneCallUpdateItem' + security: + - oauth2: + - phonecalls.write + delete: + summary: Delete a phoneCall + tags: + - PhoneCalls + operationId: delete-phone-call + responses: + '204': + description: PhoneCall deleted + security: + - oauth2: + - phonecalls.write + /phone-calls: + get: + summary: PhoneCalls List + tags: + - PhoneCalls + description: Get a list of phoneCalls + operationId: get-phone-calls + parameters: + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/phoneCallEmbed' + responses: + '200': + description: Phonecalls list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/PhoneCallCollectionItem' + required: + - pagination + - data + security: + - oauth2: + - phonecalls.read + post: + tags: + - PhoneCalls + summary: Create a phone call + responses: + '201': + description: PhoneCall created + content: + application/json: + schema: + $ref: '#/components/schemas/PhoneCallItem' + operationId: create-phone-call + parameters: + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/phoneCallEmbed' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PhoneCallCreateItem' + security: + - oauth2: + - phonecalls.write + /phone-calls/search: + post: + summary: Search phoneCalls + tags: + - PhoneCalls + description: Search a list of phoneCalls + operationId: search-phone-calls + parameters: + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/phoneCallEmbed' + responses: + '200': + description: Phonecalls list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/PhoneCallCollectionItem' + required: + - pagination + - data + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PhoneCallFilter' + security: + - oauth2: + - phonecalls.read + /emails/{id}: + parameters: + - in: path + name: id + schema: + type: string + required: true + description: identifier of email + get: + summary: Get Email + tags: + - Emails + description: Get an Email + operationId: get-email + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/EmailItem' + '206': + description: Partial content if the email provider is unreachable + content: + application/json: + schema: + $ref: '#/components/schemas/EmailItem' + headers: + X-Mail-Provider-Error: + schema: + $ref: '#/components/schemas/PartialEmailHeader' + security: + - oauth2: + - emails.read + /emails/threads/{id}: + parameters: + - in: path + name: id + schema: + type: string + required: true + description: Identifier of email thread + get: + summary: Get Emails Thread + tags: + - Emails + description: Get the emails list of a thread + operationId: get-email-thread + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: Identifier of email thread + emails: + type: array + items: + $ref: '#/components/schemas/EmailEngineItem' + security: + - oauth2: + - emails.read + /email/authenticate: + parameters: + - in: query + name: email + schema: + type: string + format: email + required: true + description: email whose domain should be authenticated + example: jonh.doe@email.com + get: + operationId: get-email-domain-dns-data + summary: Get email's domain DNS data + description: Get DNS data for the domain extracted from the email + tags: + - Emails + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/EmailAuthenticationItem' + security: + - oauth2: + - emails.settings + /email/domain/validate: + post: + operationId: validate-email-domain-dns + summary: Validate email's DNS + description: Validate an email DNS + tags: + - Emails + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/EmailValidationItem' + '400': + description: Bad Request + security: + - oauth2: + - emails.settings + requestBody: + content: + application/json: + schema: + type: object + description: Email domain validation's request body + properties: + domain: + type: string + description: The email DNS + example: domain.com + /webhooks: + get: + operationId: get-webhooks + summary: Get Webhooks + description: Get list of webhooks + tags: + - Webhooks + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Webhooks list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/WebhookReadItem' + required: + - pagination + - data + security: + - oauth2: + - webhooks.read + post: + operationId: create-webhook + summary: Create Webhook + description: Create a webhook + tags: + - Webhooks + parameters: + - $ref: '#/components/parameters/fields' + responses: + '201': + description: Webhook created + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookReadItem' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookCreateItem' + description: '' + security: + - oauth2: + - webhooks.write + /webhooks/search: + post: + operationId: search-webhooks + summary: Search Webhooks + description: Get list of webhooks + tags: + - Webhooks + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookFilters' + responses: + '200': + description: Webhooks list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/WebhookReadItem' + required: + - pagination + - data + security: + - oauth2: + - webhooks.read + /webhooks/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: ID of webhook + get: + operationId: get-webhook + summary: Get Webhook + description: Get a webhook + tags: + - Webhooks + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookReadItem' + security: + - oauth2: + - webhooks.read + put: + operationId: update-webhook + summary: Update Webhook + description: Update Webhook informations + tags: + - Webhooks + responses: + '200': + description: Webhook updated + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookReadItem' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookEditItem' + description: '' + security: + - oauth2: + - webhooks.write + delete: + operationId: delete-webhook + summary: Delete Webhook + description: Delete a webhook + tags: + - Webhooks + responses: + '204': + description: Webhook deleted + security: + - oauth2: + - webhooks.write + /webhooks/events: + get: + operationId: get-webhook-events + description: List all events' name available for a webhook + summary: List Webhook Events + tags: + - Webhooks + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookEventsList' + security: + - oauth2: + - webhooks.read + /units: + get: + operationId: get-units + description: Get all units of the corp + summary: Get Units + tags: + - Units + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Unit' + required: + - pagination + - data + security: + - oauth2: + - accounts.read + /currencies: + get: + operationId: get-currencies + description: Get all currencies of the corp + summary: Get currencies + tags: + - Currencies + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Currency' + required: + - pagination + - data + security: + - oauth2: + - accounts.read + /countries: + get: + operationId: get-countries + description: Get a list of countries + summary: Get countries list + tags: + - Countries + parameters: + - $ref: '#/components/parameters/language' + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + pagination: + title: pagination + type: object + description: The pagination + properties: + limit: + type: integer + example: 25 + minimum: 0 + total: + type: integer + example: 152 + minimum: 0 + count: + type: integer + example: 25 + minimum: 0 + offset: + anyOf: + - type: integer + minimum: 0 + example: 25 + - type: string + example: WzIwMTQtMDEtMDEsNTk4XQ== + required: + - limit + - total + - count + - offset + data: + type: array + items: + $ref: '#/components/schemas/Country' + required: + - pagination + - data + security: + - oauth2: + - accounts.read + /settings/subscription: + get: + summary: Get my Sellsy subscription informations + description: Retrieve the details of my Sellsy subscription + operationId: get-account-subscription + tags: + - Subscription + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Subscription' + security: + - oauth2: + - accounts.read + /items: + get: + summary: Items List + tags: + - Items + description: Get a list of items + operationId: get-items + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/itemOrder' + responses: + '200': + description: Items list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ItemReadItem' + required: + - pagination + - data + security: + - oauth2: + - items.read + post: + summary: Create an item + tags: + - Items + description: Create an item + operationId: create-item + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/ItemReadItem' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateItem' + security: + - oauth2: + - items.write + /items/search: + post: + summary: Search items + tags: + - Items + description: Search items + operationId: search-items + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/itemOrder' + requestBody: + content: + application/json: + schema: + title: Item filters + type: object + additionalProperties: false + required: + - filters + properties: + filters: + type: object + description: Item filters + properties: + type: + title: Item type + type: array + minItems: 1 + items: + type: string + enum: + - product + - service + - shipping + - packaging + description: Filter items list by item type + example: + - product + - service + favourite_filter: + $ref: >- + #/components/schemas/ContactFilters/properties/filters/properties/favourite_filter + responses: + '200': + description: Items list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ItemReadItem' + required: + - pagination + - data + security: + - oauth2: + - items.read + /items/favourite-filters: + get: + summary: List items favourite filters + tags: + - Items + description: > + List favourite filters for faster access to specific items
> + Favourite filters can be applied directly to item search endpoints
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-item-favourite-filters + parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + security: + - oauth2: + - items.read + /items/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: ID of item + get: + operationId: get-item + summary: Get an item + description: Get an item + tags: + - Items + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ItemReadItem' + security: + - oauth2: + - items.read + put: + operationId: update-item + summary: Update an item + description: Update an item + tags: + - Items + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ItemReadItem' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateItem' + security: + - oauth2: + - items.write + delete: + operationId: delete-item + description: Delete an item + summary: Delete item + tags: + - Items + responses: + '204': + description: Item deleted + security: + - oauth2: + - items.write + /items/{id}/prices: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: ID of item + get: + operationId: get-item-prices + summary: Get item prices + description: Get prices list for an item + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + tags: + - Items + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ItemPrice' + required: + - pagination + - data + security: + - oauth2: + - items.read + put: + operationId: put-item-prices + summary: Update item prices + description: Update prices list for an item + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + tags: + - Items + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ItemInputPrice' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ItemPrice' + required: + - pagination + - data + security: + - oauth2: + - items.write + /items/{id}/declinations: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: ID of item + get: + summary: Declinations List + tags: + - Items + - Declinations + description: Get the declination's list + operationId: get-item-declinations + requestBody: + content: + application/json: + schema: + title: Declinations filters + type: object + additionalProperties: false + properties: + filters: + type: object + description: Declinations filters + properties: + id: + title: Declination id + type: integer + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DeclinationRead' + security: + - oauth2: + - items.read + /staffs/{id}/licenses: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: ID of staff + put: + operationId: put-staff-licenses + summary: Put staff licenses + description: >- + Put staff licenses. Need to pass all existing licenses if you want to + keep licenses. + tags: + - Staffs + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/LicenseRead' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LicenseEdit' + security: + - oauth2: + - accounts.write + delete: + operationId: delete-staff-licenses + summary: Delete licenses + description: Delete staff licenses + tags: + - Staffs + responses: + '204': + description: licenses deleted + security: + - oauth2: + - accounts.write + /quotas: + get: + operationId: get-quotas + description: Get quotas of the corp + summary: Get Quotas + tags: + - Quotas + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Quotas' + security: + - oauth2: + - accounts.read + /batch: + post: + summary: Batch request + tags: + - Batch + description: Create a batch request + operationId: create-batch + requestBody: + content: + text/plain: + schema: + type: string + examples: + example1: + summary: PUT example + value: | + {"uri": "/comments/83", "method": "PUT"} + {"description": "description updated !"} + {"uri": "/comments/84", "method": "PUT"} + {"description": "description updated !"} + example2: + summary: GET example + value: | + {"uri": "/comments", "method": "GET", "query": {"limit": 2}} + {} + {"uri": "/companies", "method": "GET", "query": {"limit": 3}} + {} + example3: + summary: UUID usage + value: > + {"uri": "/companies", "method": "POST", "uuid": + "6e9dbe21-2967-4762-a035-f2d2effbc433"} + + {"type": "client", "name": "Company Name"} + + {"uri": + "/companies/6e9dbe21-2967-4762-a035-f2d2effbc433/addresses", + "method": "POST", "uuid": + "2ca47a9d-b41b-4f3f-b8c4-fafc54380a66"} + + {"name": "Main office", "address_line_1": "57 rue lucile", + "postal_code":"75012", "city": "Paris", "country": "France", + "country_code": "FR"} + + {"uri": + "/companies/6e9dbe21-2967-4762-a035-f2d2effbc433/addresses/2ca47a9d-b41b-4f3f-b8c4-fafc54380a66", + "method": "PUT"} + + {"name": "Main office updated"} + responses: + '207': + description: Batch response + content: + application/json: + schema: + type: object + example: + error: false + responses: + - code: 200 + response: + data: + - id: 83 + owner: + id: 21 + type: staff + related: [] + created: '2021-04-13T15:11:51+02:00' + updated: '2021-04-13T15:11:51+02:00' + description: Lorem ipsum dolor sit amet + parent_id: null + company_id: null + individual_id: null + contact_id: null + - id: 85 + owner: + id: 21 + type: staff + related: [] + created: '2021-04-13T15:39:34+02:00' + updated: '2021-04-13T15:39:34+02:00' + description: Lorem ipsum dolor sit amet + parent_id: null + company_id: null + individual_id: null + contact_id: null + pagination: + limit: 2 + count: 2 + total: 45 + offset: WyI4NSJd + - code: 200 + response: + id: 83 + owner: + id: 21 + type: staff + related: [] + created: '2021-04-13T15:11:51+02:00' + updated: '2021-04-13T15:11:51+02:00' + description: description updated ! + parent_id: null + company_id: null + individual_id: null + contact_id: null + security: + - oauth2: [] + /notifications: + get: + operationId: get-notifications + description: Get notifications related to current user + summary: Get User Notifications + tags: + - Notifications + responses: + '200': + description: Notifications list fetched + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Notification' + pagination: + $ref: '#/components/schemas/Pagination' + required: + - data + - pagination + security: + - oauth2: + - notifications.read + /notifications/search: + post: + operationId: search-notifications + description: Search notifications related to current user + summary: Search User Notifications + tags: + - Notifications + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationFilters' + responses: + '200': + description: Notifications list fetched + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Notification' + pagination: + $ref: '#/components/schemas/Pagination' + required: + - data + - pagination + security: + - oauth2: + - notifications.read + /notifications/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: ID of notification + delete: + operationId: delete-notification + description: Delete a notification + summary: Delete notification + tags: + - Notifications + responses: + '204': + description: notification deleted + security: + - oauth2: + - notifications.write + /notifications/{id}/mark-as-read: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: ID of notification + patch: + operationId: mark-notification-as-read + description: Mark a notification as read or unread + summary: Mark notification as read + tags: + - Notifications + responses: + '204': + description: notification read status updated + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationMarkAsRead' + security: + - oauth2: + - notifications.write + /notifications/mark-all-as-read: + patch: + operationId: mark-all-notifications-as-read + description: Mark all unread notifications as read + summary: Mark all unread notifications as read + tags: + - Notifications + responses: + '204': + description: notifications read status updated + security: + - oauth2: + - notifications.write + /notifications/settings: + get: + summary: Get Notifications settings + tags: + - Notifications + description: Get notifications settings + operationId: get-notifications-settings + responses: + '200': + description: Notification settings response + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationSettingsOutput' + security: + - oauth2: + - notifications.read + put: + summary: Update Notifications settings + tags: + - Notifications + description: Update notifications settings + operationId: put-notifications-settings + responses: + '200': + description: Notification settings updated response + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationSettingsOutput' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationSettingsInput' + security: + - oauth2: + - notifications.write + /invoices/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Invoice ID + - $ref: '#/components/parameters/invoiceOneEmbed' + get: + operationId: get-invoice + summary: Get invoice + description: >- + Get an invoice by ID
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Invoices + responses: + '200': + description: Invoice fetched + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceOne' + security: + - oauth2: + - invoices.read + put: + operationId: update-invoice + summary: Update invoice + description: >- + Update an invoice
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Invoices + security: + - oauth2: + - invoices.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceUpdate' + examples: {} + responses: + '200': + description: Invoice updated + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceOne' + /invoices: + get: + summary: Invoices List + tags: + - Invoices + description: >- + Get a list of invoices
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: get-invoices + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/invoiceEmbed' + - $ref: '#/components/parameters/invoiceOrder' + responses: + '200': + description: Invoices list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Invoice' + required: + - pagination + - data + security: + - oauth2: + - invoices.read + post: + tags: + - Invoices + summary: Create invoice + operationId: create-invoice + description: >- + Create an invoice
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '201': + description: Invoice created + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceOne' + security: + - oauth2: + - invoices.write + parameters: + - $ref: '#/components/parameters/invoiceOneEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceCreate' + examples: {} + description: '' + /invoices/search: + post: + summary: Search invoices + tags: + - Invoices + description: >- + Search invoices
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: search-invoices + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/invoiceEmbed' + - $ref: '#/components/parameters/invoiceOrder' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceFilters' + responses: + '200': + description: Invoices list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Invoice' + required: + - pagination + - data + security: + - oauth2: + - invoices.read + /invoices/favourite-filters: + get: + summary: List invoices favourite filters + tags: + - Invoices + description: > + List favourite filters for faster access to specific invoices
> + Favourite filters can be applied directly to invoice search endpoints +
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-invoice-favourite-filters + parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + security: + - oauth2: + - invoices.read + /invoices/compute: + post: + tags: + - Invoices + summary: Compute an invoice + operationId: compute-invoice + responses: + '200': + description: Invoice computed successfully + headers: {} + content: + application/json: + schema: + type: object + $ref: '#/components/schemas/InvoiceCompute' + description: > + Compute an invoice
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ security: + - oauth2: + - invoices.read + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceCreate' + examples: {} + description: '' + /invoices/{id}/smart-tags: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Invoice ID + get: + summary: Invoice smart-tags list + description: Get list of smart-tags for an invoice + tags: + - Invoices + operationId: get-invoice-smart-tags + responses: + '200': + description: Smart-tags list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + security: + - oauth2: + - invoices.read + - smart-tags.read + post: + summary: Link smart tags to invoice + description: Link a list of smart-tags to an invoice + tags: + - Invoices + operationId: link-invoice-smart-tags + responses: + '200': + description: Smart-tags list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/post/requestBody/content/application~1json/schema + security: + - oauth2: + - invoices.write + - smart-tags.write + /invoices/{id}/validate: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Invoice ID + post: + operationId: validate-invoice + summary: Validate Invoice + description: > + Validate an invoice, which is in draft status, into due status. + After validation, the invoice can no longer be + edited.
You could provide a date if you want to change the + invoice date.
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.

+ tags: + - Invoices + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ValidateInvoice' + responses: + '200': + description: Invoice validated + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceOne' + security: + - oauth2: + - invoices.write + /invoices/{id}/credit-notes: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Invoice id + get: + summary: Get credit notes linked to invoice + description: > + Get list of credit notes linked to an invoice
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.

+ tags: + - Invoices + operationId: get-invoice-credit-notes + responses: + '200': + description: List of credit notes linked to invoice + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CreditNote' + required: + - pagination + - data + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - credit-notes.read + - invoices.read + /invoices/{invoiceId}/credit-notes/{creditNoteId}: + parameters: + - schema: + type: integer + name: invoiceId + in: path + required: true + description: Invoice identifier + - schema: + type: integer + name: creditNoteId + in: path + required: true + description: Credit note identifier + post: + summary: Link a credit note to an invoice + description: > + Link a credit note to an invoice for a specific amount
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ tags: + - Invoices + operationId: link-credit-note-to-invoice + requestBody: + content: + application/json: + schema: + title: Metada related to the link between documents + description: Metada related to the link between documents + additionalProperties: false + type: object + properties: + amount: + type: string + description: Amount to be balanced on the document + example: '12.66' + required: + - amount + responses: + '200': + description: Credit note linked to invoice + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNote' + security: + - oauth2: + - credit-notes.read + - invoices.read + delete: + summary: Unlink a credit note from an invoice + description: > + Unlink a credit note from an invoice
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Invoices + operationId: unlink-invoices-credit-note + responses: + '204': + description: Document unlinked + security: + - oauth2: + - credit-notes.write + - invoices.write + /invoices/{id}/payments: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Invoice ID + get: + summary: Invoice payments list + description: >- + Get list of payments for an invoice
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Invoices + operationId: get-invoice-payments + responses: + '200': + description: Payments list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/InvoicingPayment' + security: + - oauth2: + - invoices.read + - payments.read + /invoices/{documentId}/payments/{paymentId}: + parameters: + - name: documentId + in: path + required: true + schema: + type: integer + description: Invoice identifier + - name: paymentId + in: path + required: true + schema: + type: integer + description: Payment identifier + post: + summary: Link payment to invoice + description: > + Link a payment to an invoice
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Invoices + operationId: link-invoice-payment + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LinkPaymentToDocument' + responses: + '201': + description: Payments list attached to the invoice + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/InvoicingPayment' + security: + - oauth2: + - invoices.write + - payments.write + delete: + summary: Unlink payment from invoice + description: > + Unlink a payment from an invoice
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Invoices + operationId: unlink-invoice-payment + responses: + '204': + description: Payment unlinked + security: + - oauth2: + - invoices.write + - payments.write + /invoices/{documentId}/files: + parameters: + - name: documentId + in: path + description: Document id + schema: + type: integer + required: true + post: + summary: Attach file to an invoice + description: >- + Attach file to an invoice
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: upload-invoice-file + tags: + - Invoices + responses: + '201': + description: File uploaded + content: + application/json: + schema: + $ref: '#/components/schemas/FileOuput' + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + security: + - oauth2: + - invoices.read + - files.write + get: + summary: List directories and files of an invoice + description: >- + List directories and files attached to an invoice
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-invoice-files + tags: + - Invoices + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + security: + - oauth2: + - invoices.read + - files.read + /invoices/{id}/custom-fields: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Invoice id + get: + summary: Invoice custom fields List + description: Get list of custom fields for an invoice + tags: + - Invoices + operationId: get-invoice-custom-fields + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - invoices.read + - custom-fields.read + put: + summary: Update Invoice custom fields + description: Update list of custom fields for an invoice + tags: + - Invoices + parameters: + - $ref: '#/components/parameters/verify' + operationId: update-invoice-custom-fields + responses: + '200': + description: Invoice's custom fields updated + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/put/requestBody/content/application~1json/schema + security: + - oauth2: + - invoices.write + - custom-fields.write + /invoices/{invoiceId}/primes/{primeId}: + parameters: + - schema: + type: integer + name: invoiceId + in: path + required: true + description: Invoice identifier + - schema: + type: integer + name: primeId + in: path + required: true + description: Prime identifier + post: + deprecated: true + operationId: link-invoice-prime + summary: Link prime to invoice + description: > + Link a prime to an invoice
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Invoices + security: + - oauth2: + - primes.read + - invoices.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesDocumentInput' + responses: + '201': + description: Prime linked + '403': + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + delete: + deprecated: true + summary: Unlink a prime from an invoice + description: > + Unlink a prime from an invoice
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Invoices + operationId: unlink-invoice-prime + responses: + '204': + description: Prime unlinked + '403': + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + '404': + description: Requested prime was not applied on the document + security: + - oauth2: + - primes.read + - invoices.write + /invoices/{invoiceId}/discount-incl-taxes/{discountId}: + parameters: + - schema: + type: integer + name: invoiceId + in: path + required: true + description: Invoice identifier + - schema: + type: integer + name: discountId + in: path + required: true + description: Discount including taxes identifier + post: + operationId: link-invoice-discount-incl-taxes + summary: Link discount including taxes to invoice + description: > + Link a discount including taxes to an invoice
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Invoices + security: + - oauth2: + - discount-incl-taxes.read + - invoices.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesDocumentInput' + responses: + '201': + description: Discount linked + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + delete: + summary: Unlink a discount including taxes from an invoice + description: > + Unlink a discount including from an invoice
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Invoices + operationId: unlink-invoice-discount-incl-taxes + responses: + '204': + description: Discount unlinked + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + '404': + description: Requested discount was not applied on the document + security: + - oauth2: + - discount-incl-taxes.read + - invoices.write + /credit-notes/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Credit Note ID + - $ref: '#/components/parameters/creditNoteOneEmbed' + get: + operationId: get-credit-note + summary: Get credit note + description: >- + Get a credit note by ID
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Credit Notes + responses: + '200': + description: Credit note fetched + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNoteOne' + security: + - oauth2: + - credit-notes.read + put: + operationId: update-credit-note + summary: Update credit note + description: > + Update a credit note
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Credit Notes + security: + - oauth2: + - credit-notes.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNoteUpdate' + examples: {} + responses: + '200': + description: Credit note updated + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNoteOne' + /credit-notes: + get: + summary: Credit notes List + tags: + - Credit Notes + description: >- + Get a list of credit notes
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: get-credit-notes + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/creditNoteEmbed' + - $ref: '#/components/parameters/creditNoteOrder' + responses: + '200': + description: Credit notes list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CreditNote' + required: + - pagination + - data + security: + - oauth2: + - credit-notes.read + post: + tags: + - Credit Notes + summary: Create credit note + operationId: create-credit-note + description: > + Create a credit note
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ parameters: + - $ref: '#/components/parameters/creditNoteOneEmbed' + - $ref: '#/components/parameters/fields' + responses: + '201': + description: Credit note created + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNoteOne' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNoteCreate' + examples: {} + description: '' + security: + - oauth2: + - credit-notes.write + /credit-notes/search: + post: + summary: Search credit notes + tags: + - Credit Notes + description: >- + Search credit notes
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: search-credit-notes + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/creditNoteEmbed' + - $ref: '#/components/parameters/creditNoteOrder' + requestBody: + content: + application/json: + schema: + type: object + description: Credit notes filters + $ref: '#/components/schemas/CreditNoteFilters' + responses: + '200': + description: Credit notes list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CreditNote' + required: + - pagination + - data + security: + - oauth2: + - credit-notes.read + /credit-notes/favourite-filters: + get: + summary: List credit-notes favourite filters + tags: + - Credit Notes + description: > + List favourite filters for faster access to specific credit-notes
> Favourite filters can be applied directly to credit-note search + endpoints
This route is available in open beta.
Please note that its specifications are potentially subject to + significant and breaking changes in the coming weeks.
+ operationId: get-credit-note-favourite-filters + parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + security: + - oauth2: + - credit-notes.read + /credit-notes/compute: + post: + tags: + - Credit Notes + summary: Compute a credit note + operationId: compute-credit-note + responses: + '200': + description: Credit note computed successfully + headers: {} + content: + application/json: + schema: + type: object + $ref: '#/components/schemas/CreditNoteCompute' + description: > + Compute a credit note
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ security: + - oauth2: + - credit-notes.read + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNoteCreate' + examples: {} + description: '' + /credit-notes/{id}/smart-tags: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Credit note ID + get: + summary: Credit note smart-tags list + description: Get list of smart-tags for a credit note + tags: + - Credit Notes + operationId: get-credit-note-smart-tags + responses: + '200': + description: Smart-tags list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + security: + - oauth2: + - credit-notes.read + - smart-tags.read + post: + summary: Link smart tags to credit note + description: Link a list of smart-tags to a credit note + tags: + - Credit Notes + operationId: link-credit-note-smart-tags + responses: + '200': + description: Smart-tags list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/post/requestBody/content/application~1json/schema + security: + - oauth2: + - credit-notes.write + - smart-tags.write + /credit-notes/{id}/validate: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Credit note ID + post: + operationId: validate-credit-note + summary: Validate credit note + description: > + Validate a credit note in status draft. Update the status to due. You + could provide a date if you want to change the credit note date.
+ Credit note can not be updated after validation.
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ tags: + - Credit Notes + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNoteValidate' + responses: + '200': + description: Credit note validated + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNoteOne' + security: + - oauth2: + - credit-notes.write + /credit-notes/{id}/custom-fields: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Credit note id + get: + summary: Credit note custom fields List + description: Get list of custom fields for a credit note + tags: + - Credit Notes + operationId: get-credit-note-custom-fields + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - credit-notes.read + - custom-fields.read + put: + summary: Update credit note custom fields + description: Update list of custom fields for a credit note + tags: + - Credit Notes + parameters: + - $ref: '#/components/parameters/verify' + operationId: update-credit-note-custom-fields + responses: + '200': + description: Credit note's custom fields updated + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/put/requestBody/content/application~1json/schema + security: + - oauth2: + - credit-notes.write + - custom-fields.write + /credit-notes/{id}/invoices: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Credit note id + get: + summary: Get invoices linked to credit note + description: > + Get list of invoices linked to a credit note
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Credit Notes + operationId: get-credit-note-invoices + responses: + '200': + description: List of invoices linked to credit note + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Invoice' + required: + - pagination + - data + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - credit-notes.read + - invoices.read + /credit-notes/{creditNoteId}/invoices/{invoiceId}: + parameters: + - schema: + type: integer + in: path + name: creditNoteId + required: true + description: Credit note identifier + - schema: + type: integer + in: path + name: invoiceId + required: true + description: Invoice identifier + post: + summary: Link an invoice to a credit note + description: > + Link an invoice to a credit note for a specific amount
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ tags: + - Credit Notes + operationId: link-invoice-to-credit-note + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1invoices~1%7BinvoiceId%7D~1credit-notes~1%7BcreditNoteId%7D/post/requestBody/content/application~1json/schema + responses: + '200': + description: Invoice linked to credit note + content: + application/json: + schema: + $ref: '#/components/schemas/Invoice' + security: + - oauth2: + - credit-notes.read + - invoices.read + delete: + summary: Unlink an invoice from a credit note + description: > + Unlink an invoice from a credit note
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Credit Notes + operationId: unlink-credit-note-invoices + responses: + '204': + description: Document unlinked + security: + - oauth2: + - credit-notes.write + - invoices.write + /credit-notes/{id}/payments: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Credit note ID + get: + summary: Credit note payments list + description: >- + Get list of payments for an credit note
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Credit Notes + operationId: get-credit-note-payments + responses: + '200': + description: Payments list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/InvoicingPayment' + security: + - oauth2: + - credit-notes.read + - payments.read + /credit-notes/{documentId}/payments/{paymentId}: + parameters: + - name: documentId + in: path + required: true + schema: + type: integer + description: Credit note identifier + - name: paymentId + in: path + required: true + schema: + type: integer + description: Payment identifier + post: + summary: Link payment to credit note + description: > + Link a payment to a credit note
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Credit Notes + operationId: link-credit-note-payment + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LinkPaymentToDocument' + responses: + '201': + description: Payments list attached to the credit note + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/InvoicingPayment' + security: + - oauth2: + - credit-notes.write + - payments.write + delete: + summary: Unlink payment from credit note + description: > + Unlink a payment from a credit note
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Credit Notes + operationId: unlink-credit-note-payment + responses: + '204': + description: Payment unlinked + security: + - oauth2: + - credit-notes.write + - payments.write + /credit-notes/{documentId}/files: + parameters: + - name: documentId + in: path + description: Document id + schema: + type: integer + required: true + post: + summary: Attach file to an credit note + description: >- + Attach file to an credit note
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: upload-credit-note-file + tags: + - Credit Notes + responses: + '201': + description: File uploaded + content: + application/json: + schema: + $ref: '#/components/schemas/FileOuput' + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + security: + - oauth2: + - credit-notes.read + - files.write + get: + summary: List directories and files of a credit note + description: >- + List directories and files attached to an credit note
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-credit-note-files + tags: + - Credit Notes + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + security: + - oauth2: + - credit-notes.read + - files.read + /credit-notes/{creditNoteId}/primes/{primeId}: + parameters: + - schema: + type: integer + name: creditNoteId + in: path + required: true + description: Credit note identifier + - schema: + type: integer + name: primeId + in: path + required: true + description: Prime identifier + post: + deprecated: true + operationId: link-credit-note-prime + summary: Link prime to credit note + description: > + Link a prime to a credit note
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Credit Notes + security: + - oauth2: + - primes.read + - credit-notes.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesDocumentInput' + responses: + '201': + description: Prime linked + '403': + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + delete: + deprecated: true + summary: Unlink a prime from a credit note + description: > + Unlink a prime from a credit note
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Credit Notes + operationId: unlink-credit-note-prime + responses: + '204': + description: Prime unlinked + '403': + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + '404': + description: Requested prime was not applied on the document + security: + - oauth2: + - primes.read + - credit-notes.write + /credit-notes/{creditNoteId}/discount-incl-taxes/{discountId}: + parameters: + - schema: + type: integer + name: creditNoteId + in: path + required: true + description: Credit note identifier + - schema: + type: integer + name: discountId + in: path + required: true + description: Discount including taxes identifier + post: + operationId: link-credit-note-discount-incl-taxes + summary: Link discount including taxes to credit note + description: > + Link a discount including taxes to a credit note
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ tags: + - Credit Notes + security: + - oauth2: + - discount-incl-taxes.read + - credit-notes.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesDocumentInput' + responses: + '201': + description: Discount linked + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + delete: + summary: Unlink a discount including taxes from a credit note + description: > + Unlink a discount including taxes from a credit note
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ tags: + - Credit Notes + operationId: unlink-credit-note-discount-incl-taxes + responses: + '204': + description: Discount unlinked + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + '404': + description: Requested discount was not applied on the document + security: + - oauth2: + - discount-incl-taxes.read + - credit-notes.write + /payments/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Payment identifier + - in: query + name: embed + description: Optional objects added through the embed parameter + schema: + type: array + items: + type: string + enum: + - acl + - company + - individual + get: + summary: Get a payment + description: > + Get a payment
This route is available + in open beta.
Please note that its specifications may be + subject to significant and breaking changes in the coming weeks.
+ tags: + - Payments + operationId: get-payment + responses: + '200': + description: Payment fetched + content: + application/json: + schema: + $ref: '#/components/schemas/Payment' + security: + - oauth2: + - payments.read + delete: + summary: Delete payment + description: > + Delete a payment that is not linked to a document
This route is available in open beta.
Please note + that its specifications may be subject to significant and breaking + changes in the coming weeks.
+ tags: + - Payments + operationId: delete-payment + responses: + '204': + description: Payment deleted + security: + - oauth2: + - payments.write + /payments: + get: + summary: Get payments + description: > + Get a list of payments
This route is available + in open beta.
Please note that its specifications may be + subject to significant and breaking changes in the coming weeks.
+ tags: + - Payments + operationId: get-payments + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/paths/~1payments~1%7Bid%7D/parameters/1' + - in: query + name: order + description: The order field + schema: + type: string + example: paid_date + enum: + - id + - paid_date + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Payment' + required: + - pagination + - data + security: + - oauth2: + - payments.read + /payments/search: + post: + summary: Search payments + description: > + Search through payments
This route is available + in open beta.
Please note that its specifications may be + subject to significant and breaking changes in the coming weeks.
+ tags: + - Payments + operationId: search-payments + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/paths/~1payments~1%7Bid%7D/parameters/1' + - $ref: '#/paths/~1payments/get/parameters/5' + requestBody: + content: + application/json: + schema: + title: Payments filters + type: object + description: Payments filters + properties: + filters: + type: object + description: Payments filters + properties: + status: + title: Status + description: Filter payments by status + example: + - pending + - confirmed + type: array + items: + type: string + enum: + - pending + - confirmed + - rejected + - failed + - refund + related_objects: + title: Related Objects + type: array + items: + type: object + properties: + type: + type: string + enum: + - company + - individual + example: company + id: + type: integer + example: 22 + required: + - filters + responses: + '200': + description: Payments list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Payment' + required: + - pagination + - data + security: + - oauth2: + - payments.read + /settings/email: + get: + summary: Get email settings + tags: + - Emails + description: Get email settings + operationId: get-email-settings + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/EmailSettings' + security: + - oauth2: + - emails.settings + put: + summary: Update email settings + tags: + - Emails + description: Update email settings + operationId: put-email-settings + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/EmailSettings' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EmailSettingsInput' + security: + - oauth2: + - emails.settings + /settings/email/tags: + get: + summary: Get available tags for email signature settings + tags: + - Emails + description: Get available tags for email signature settings + operationId: get-email-signature-tags + responses: + '200': + description: '' + content: + application/json: + schema: + title: List of email tags + description: >- + List of available email tags to insert in email signature + content + type: array + items: + type: object + properties: + key: + type: string + description: Tag identifier to insert in your email signature + example: '%{account.name}%' + description: + type: string + description: Tag's meaning + example: Current account's name + security: + - oauth2: + - emails.settings + /fiscal-years: + get: + summary: Get fiscal years + tags: + - Fiscal Year + description: Get list of fiscal years of account + operationId: get-fiscal-years + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/FiscalYear' + required: + - pagination + - data + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - accounts.read + /languages: + get: + summary: Get the account languages + tags: + - Language + description: Get the account languages + operationId: get-languages + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/LanguageCollection' + security: + - oauth2: + - accounts.read + /directories: + post: + summary: Create directory + description: >- + Create a new directory and attach it to the provided parent entity
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: create-directory + tags: + - Files + responses: + '201': + description: Directory created + content: + application/json: + schema: + title: Directory schema + type: object + description: Directory schema + properties: + id: + type: integer + description: Directory ID + readOnly: true + example: 1 + type: + type: string + description: Directory type + enum: + - directory + name: + type: string + description: Directory name + example: business-cards + minLength: 1 + maxLength: 30 + description: + type: string + nullable: true + description: Directory description + maxLength: 160 + created: + type: string + description: Creation date of directory + format: date-time + example: '1970-01-01T00:00:00+00:00' + breadcrumbs: + description: >- + Current directory location. The first element is the + direct parent of the directory + type: array + minItems: 1 + items: + $ref: >- + #/components/schemas/FileOuput/properties/breadcrumbs/items + '404': + description: Parent not found + '409': + description: Directory already exists + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateDirectory' + security: + - oauth2: + - files.write + /directories/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Id of directory + get: + summary: Get directory + description: > + Fetch directory informations
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Files + parameters: + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Directory fetched + content: + application/json: + schema: + $ref: >- + #/paths/~1directories/post/responses/201/content/application~1json/schema + operationId: get-directory + security: + - oauth2: + - files.read + put: + summary: Update directory + description: >- + Update a directory
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: update-directory + tags: + - Files + responses: + '200': + description: Directory updated + content: + application/json: + schema: + $ref: >- + #/paths/~1directories/post/responses/201/content/application~1json/schema + '403': + description: Cannot modify this directory + '409': + description: Directory already exists + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateDirectory' + security: + - oauth2: + - files.write + delete: + summary: Delete the directory and all items attached + description: > + Delete the directory and all items attached
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: delete-directory + tags: + - Files + responses: + '204': + description: Directory deleted + '403': + description: Cannot delete this directory + security: + - oauth2: + - files.write + /directories/{id}/files: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Id of directory + get: + summary: List directories and files in a directory + description: >- + List directories and files belonging to a directory
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-directory-files + tags: + - Files + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - files.read + post: + summary: Attach file to a directory + description: >- + Attach file to a directory
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: upload-directory-file + tags: + - Files + responses: + '201': + description: File uploaded + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + security: + - oauth2: + - files.write + /subscriptions: + post: + tags: + - Subscriptions + summary: Create a subscription + operationId: create-subscription + responses: + '201': + description: Subscription created + headers: {} + content: + application/json: + schema: + type: object + $ref: '#/components/schemas/SubscriptionOne' + description: > + Create a subscription
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ security: + - oauth2: + - subscriptions.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionCreate' + description: '' + get: + tags: + - Subscriptions + summary: Fetch list of subscriptions + description: > + Fetch list of subscriptions
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: get-subscriptions + responses: + '200': + description: Fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/SubscriptionOne' + required: + - pagination + - data + security: + - oauth2: + - subscriptions.read + /subscriptions/search: + post: + tags: + - Subscriptions + summary: Search subscriptions + description: > + Search subscriptions
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: search-subscriptions + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/order' + requestBody: + content: + application/json: + schema: + type: object + properties: + filters: + title: Subscription filters + type: object + description: Subscription filters + properties: + related_objects: + type: array + items: + title: Related + description: Objects linked to the subscription + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + required: + - id + - type + required: + - filters + responses: + '200': + description: Fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/SubscriptionOne' + required: + - pagination + - data + security: + - oauth2: + - subscriptions.read + /subscriptions/{id}: + parameters: + - name: id + in: path + schema: + type: integer + required: true + description: Subscription identifier + delete: + summary: Delete a subscription + operationId: delete-subscription + description: > + Delete a subscription and all future payment installments
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Subscriptions + security: + - oauth2: + - subscriptions.write + responses: + '204': + description: Subscription deleted + get: + tags: + - Subscriptions + summary: Get subscription + description: > + Get a subscription
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: get-subscription + responses: + '200': + description: Fetched + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionOne' + security: + - oauth2: + - subscriptions.read + /subscriptions/{id}/payment-installments: + parameters: + - name: id + in: path + schema: + type: integer + required: true + description: Subscription identifier + patch: + tags: + - Subscriptions + summary: Add payment installment for a subscription + operationId: patch-subscription-payment-installment + responses: + '201': + description: Payment installment added for subscription + '422': + description: >- + It is not allowed to add payment installment if the next calculated + date for the 1st payment installment is not in the future. The + subscription is considered completed. + description: > + Allows to add a certain number of payment installment to an existing + subscription. The new payment installment will take the frequency + defined on the subscription and will follow the date of the last + existing payment installment
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ security: + - oauth2: + - subscriptions.write + requestBody: + content: + application/json: + schema: + title: Add deadlines for a subscription + type: object + properties: + count: + type: integer + description: Number of deadlines to add to the subscription + example: 2 + minimum: 1 + required: + - count + description: '' + /subscriptions/payment-installments: + get: + operationId: get-subscriptions-payment-installments + summary: Get all payment installments of subscriptions + description: > + Get all payment installments of subscriptions
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ tags: + - Subscriptions + parameters: + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + title: Payment installment + type: object + properties: + id: + type: integer + description: Id of payment installment + example: 2 + status: + type: string + description: Status of payment installment + enum: + - generated + - scheduled + - in_progress + - failed + example: generated + subscription_id: + type: integer + description: Id of subscription + example: 23 + date: + type: string + format: date + description: Date of invoice generation + example: '2023-01-01' + sending: + type: object + description: Email sending configuration + properties: + mode: + description: >- + Once the invoice has been generated, from + subscription payment install, if sending mode is + automatic, email will be sent to all recipients, + otherwise, if it's manual, email should be send + manually + enum: + - automatic + - manual + example: manual + model: + type: object + description: >- + Document to use as a template for subscription + payment installment + properties: + type: + type: string + description: Template type + enum: + - model + example: model + id: + type: integer + description: Template id + example: 5 + related: + description: | + Objects linked to the subscription + type: array + minItems: 1 + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + document: + nullable: true + type: object + description: Generated document, even if it's deleted + properties: + type: + type: string + description: Type of document + enum: + - invoice + example: invoice + id: + type: integer + description: Id of document + example: 56 + required: + - pagination + - data + security: + - oauth2: + - subscriptions.read + /subscriptions/payment-installments/search: + post: + operationId: search-subscriptions-payment-installments + summary: Search payment installments of subscriptions + description: > + Search payment installments of subscriptions
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ tags: + - Subscriptions + parameters: + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + title: Payment installment filters + type: object + description: Payment installment filters + properties: + filters: + type: object + description: Payment installment filters + required: + - filters + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1subscriptions~1payment-installments/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + security: + - oauth2: + - subscriptions.read + /documents/models: + post: + summary: Create a document model + description: > + Create a document model
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: create-model + tags: + - Document Models + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateModel' + responses: + '201': + description: Document model created + content: + application/json: + schema: + $ref: '#/components/schemas/ModelOne' + security: + - oauth2: + - models.write + get: + summary: List document models + description: > + Fetch a list of document models
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-models + tags: + - Document Models + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Model' + security: + - oauth2: + - models.read + /documents/models/{id}: + parameters: + - name: id + in: path + schema: + type: integer + required: true + description: Model identifier + get: + summary: Get document model + description: > + Get a document model
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: get-model + tags: + - Document Models + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ModelOne' + security: + - oauth2: + - models.read + put: + summary: Update document model + description: > + Update a document model
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: update-model + tags: + - Document Models + requestBody: + content: + application/json: + schema: + title: Update model + type: object + additionalProperties: false + properties: + number: + type: string + description: Name of model + maxLength: 100 + example: model#1 + subject: + type: string + description: > + Subject of model

Note: Date variables, called + "tag", can be integrated in this property, they will be + replaced by the real value when converting the document + template to a document
> Refer to endpoint's description + of list available tags for document model. + example: Subject + currency: + type: string + description: Currency code of the model + example: EUR + discount: + type: object + description: Global discount applied on the model + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + type: string + description: value of discount + example: '25.20' + owner_id: + type: integer + description: Invoice's owner (staff id) + example: 145 + minimum: 1 + rows: + type: array + nullable: true + items: + $ref: '#/components/schemas/CreateModel/properties/rows/items' + responses: + '200': + description: Updated + content: + application/json: + schema: + $ref: '#/components/schemas/ModelOne' + security: + - oauth2: + - models.write + /documents/models/search: + post: + summary: Search document models + tags: + - Document Models + description: Search document models + operationId: search-models + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/ModelOrder' + requestBody: + content: + application/json: + schema: + title: Models filters + type: object + description: Models filters + properties: + filters: + type: object + description: Models filters + properties: + created: + title: Created at + type: object + description: Filter the document models list by creation date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + owners: + title: Owners + type: array + description: Filter the document models list by owner (staff id) + items: + type: integer + assigned_staff_ids: + title: Assigned staffs + type: array + description: >- + Filter the document models list by assigned staffs + (staff id) + items: + type: integer + number: + title: number + type: string + description: Filter the document models list by number (exact search) + example: FAC-0001 + currency: + title: currency + type: string + description: Currency code (exact search) + example: EUR + required: + - filters + responses: + '200': + description: Model list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Model' + required: + - pagination + - data + security: + - oauth2: + - models.read + /documents/models/{id}/convert: + parameters: + - name: id + in: path + schema: + type: integer + required: true + description: Document model identifier + post: + summary: Convert a document model into a document + description: > + Build the request body expected by document create endpoint with + prefilled properties from the document model
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: convert-model + tags: + - Document Models + requestBody: + content: + application/json: + schema: + title: Convert model + type: object + additionalProperties: false + properties: + doctype: + type: string + description: Type of document to generate + example: invoice + enum: + - estimate + - invoice + - credit-note + - order + related: + type: array + description: >- + Objects that should be linked to the document to be + generated + items: + type: object + properties: + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - opportunity + id: + type: integer + description: Related identifier + example: 7 + refresh_rows_content: + type: boolean + description: >- + Update the price of the rows product, service, shipping and + packaging + example: true + required: + - doctype + - related + - refresh_rows_content + responses: + '200': + description: ok + content: + application/json: + schema: + title: Document body + type: object + properties: + parent: + type: object + properties: + type: + type: string + description: Parent type + example: model + enum: + - model + id: + type: integer + description: Parent identifier + example: 7 + subject: + type: string + description: Subject of document + example: Subject of document + currency: + type: string + description: Currency code of the model + example: EUR + discount: + type: object + description: Global discount applied on the model + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + type: string + description: value of discount + example: '25.20' + related: + description: Objects linked to the document + type: array + minItems: 1 + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - opportunity + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + rows: + type: array + nullable: true + items: + $ref: >- + #/components/schemas/EstimateCompute/properties/rows/items + security: + - oauth2: + - models.read + /documents/models/tags: + get: + summary: Get available tags for document models + tags: + - Document Models + description: > + Get available tags that could be used on a document model, as variable, + that will be replaced when compute a concrete document.
Tag could be + used on subject and row's descriptions
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-model-tags + responses: + '200': + description: '' + content: + application/json: + schema: + title: List of document models tags + description: List of available tags to insert in document models content + type: array + items: + anyOf: + - type: object + title: Common tag + properties: + key: + type: string + description: Tag identifier to insert + example: '%{day.number}%' + description: + type: string + description: Tag's meaning + example: Current day number + - type: object + title: Customizable tag + properties: + key: + type: string + description: Tag identifier + example: '%{custom(direction.iterations.interval).format}%' + description: + type: string + description: Tag's meaning + example: Customizable date tag + meta: + description: > + We offer a customizable date tag format in the + following form: + %{custom(direction.iterations.interval).format}%.
This + tag allows for customization in the following ways: +
    +
  • Define the projected date: +
    • direction define if we want the past or the future
    • +
    • iterations define the number of times the interval is called
    • +
    • interval define the date interval to apply on date projection
  • +
  • Output format +
    • format define the output format to apply on the projected date
  • +

Using this tag format allows for the + creation of dynamic content that incorporates dates + and times.
> Example: + %{custom(plus.2.day).day.name}% to + return the name of the day in 2 days
> Example: + %{custom(minus.1.month).last_day.name}% + to return the name of the last day of the previous + month + type: object + properties: + direction: + type: array + description: Available values + items: + type: object + properties: + key: + type: string + enum: + - plus + - minus + description: + type: string + interval: + type: array + description: Available values + items: + type: object + properties: + key: + type: string + enum: + - day + - week + - month + - year + description: + type: string + tag: + type: array + description: Available values + items: + type: object + properties: + key: + type: string + enum: + - day.number + - day.name + - first_day.number + - first_day.name + - last_day.number + - last_day.name + - month.number + - month.name + - year.number + description: + type: string + security: + - oauth2: + - models.read + /primes: + get: + deprecated: true + summary: Get list of primes + description: >- + Get primes list
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: get-primes + tags: + - Discount Including Taxes + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/DiscountInclTaxesOutput' + required: + - pagination + - data + security: + - oauth2: + - primes.read + /discount-incl-taxes: + get: + summary: Get list of discounts including taxes + description: >- + Get discounts including taxes list
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: get-discounts-incl-taxes + tags: + - Discount Including Taxes + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/DiscountInclTaxesOutput' + required: + - pagination + - data + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + security: + - oauth2: + - discount-incl-taxes.read + post: + summary: Create a discount including taxes + description: >- + Create a discount including taxes
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: create-discount-incl-taxes + tags: + - Discount Including Taxes + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesInput' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesOutput' + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + security: + - oauth2: + - discount-incl-taxes.write + /discount-incl-taxes/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Discount including taxes id + get: + summary: Get a discount including taxes + description: >- + Get a discount including taxes
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: get-discount-incl-taxes + tags: + - Discount Including Taxes + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesOutput' + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + security: + - oauth2: + - discount-incl-taxes.read + put: + summary: Update a discount including taxes + description: >- + Update a discount including taxes
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: update-discount-incl-taxes + tags: + - Discount Including Taxes + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateDiscountInclTaxes' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesOutput' + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + security: + - oauth2: + - discount-incl-taxes.write + delete: + summary: Delete a discount including taxes + description: >- + Delete a discount including taxes
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: delete-discount-incl-taxes + tags: + - Discount Including Taxes + responses: + '204': + description: Discount deleted + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + security: + - oauth2: + - discount-incl-taxes.write +components: + schemas: + PredictPlan: + title: Predict + type: object + properties: + predicted_plan: + type: string + description: Plan predicted. If the pricing version is < 4, return `null` + example: essential + nullable: true + predicted_marketing_plan: + type: string + description: >- + Marketing plan predicted. If the pricing version is < 5, return + `null` + example: pack_marketing_starter + nullable: true + CreateModel: + title: Create model + type: object + additionalProperties: false + properties: + number: + type: string + description: Name of model + maxLength: 100 + example: model#1 + created: + type: string + description: Created date of model + format: date-time + example: '2018-02-21T12:00:00Z' + subject: + type: string + description: > + Subject of model

Note: Date variables, called "tag", + can be integrated in this property, they will be replaced by the + real value when converting the document template to a document
> + Refer to endpoint's description of list available tags for document + model. + example: Subject + currency: + type: string + description: Currency code of the model + example: EUR + discount: + type: object + description: Global discount applied on the model + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + type: string + description: value of discount + example: '25.20' + owner_id: + type: integer + description: Invoice's owner (staff id) + example: 145 + minimum: 1 + rows: + type: array + nullable: true + items: + type: object + oneOf: + - title: Single Row + type: object + allOf: + - type: object + properties: + type: + type: string + enum: + - single + description: + description: > + Row description

Note: Date variables, + called "tag", can be integrated in this property, they + will be replaced by the real value when converting the + document template to a document
> Refer to + endpoint's description of list available tags for + document model. + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/0/allOf/1 + - title: Shipping/Packaging Row + description: By default take value of related item + type: object + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + readOnly: true + type: + type: string + enum: + - shipping + - packaging + related: + type: object + description: Related shipping or packaging + properties: + id: + type: integer + description: item identifier + type: + type: string + description: Type of item + enum: + - shipping + - packaging + unit_amount: + description: Unit amount without tax. + type: string + example: '90.22' + tax_id: + type: integer + description: Tax identifier + example: 12 + quantity: + type: string + description: Quantity + example: '7.2' + reference: + type: string + description: Row reference - get name of shipping/packaging + example: MB880174910 + deprecated: true + description: + type: string + nullable: true + description: No row description for this type + example: Aluminium rail 4x3m + deprecated: true + discount: + type: object + nullable: true + description: Discount applied on the row + properties: + type: + type: string + description: >- + Type of the discount. Express her in percentage or + with an amount + enum: + - percent + - amount + example: amount + value: + oneOf: + - type: string + description: >- + value of discount (Expressed in amount or percent + depending choosen type) + example: '20.5' + total: + type: string + description: Total of all discount for this row + example: '400' + readOnly: true + accounting_code_id: + type: integer + description: Accouting code id of row + example: 7576 + analytic_code: + type: string + nullable: true + description: Analytic code of row + example: divers + tax_rate: + type: string + description: Tax rate + readOnly: true + example: '20.00' + tax_amount: + type: string + description: Tax amount + readOnly: true + example: '23.44' + tax_label: + type: string + description: Tax label + readOnly: true + example: tva + amount_tax_inc: + type: string + description: total amount of row tax included + readOnly: true + example: '1229.93' + amount_tax_exc: + type: string + description: total amount of row without tax + readOnly: true + example: '445.33' + is_optional: + type: boolean + description: > + If row is optional
The special feature of these lines + is that they are not taken into account in the calculation + of the document. + example: true + required: + - related + - quantity + - type + - title: Catalog Item Row + type: object + allOf: + - type: object + properties: + type: + type: string + enum: + - catalog + description: + description: > + Row description

Note: Date variables, + called "tag", can be integrated in this property, they + will be replaced by the real value when converting the + document template to a document
> Refer to + endpoint's description of list available tags for + document model. + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/2/allOf/1 + - title: Comment Row + type: object + allOf: + - type: object + properties: + type: + type: string + enum: + - comment + text: + description: > + Comment content

Note: Date variables, + called "tag", can be integrated in this property, they + will be replaced by the real value when converting the + document template to a document
> Refer to + endpoint's description of list available tags for + document model. + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/3/allOf/1 + - type: object + title: Title Row + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + readOnly: true + type: + type: string + enum: + - title + text: + type: string + required: + - type + - type: object + title: Sub Total Row + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + readOnly: true + type: + type: string + enum: + - sub-total + amount: + type: string + readOnly: true + description: Amount of the sub-total + required: + - type + - type: object + title: Break Line Row + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + readOnly: true + type: + type: string + enum: + - break-line + required: + - type + - type: object + title: Break Page Row + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + readOnly: true + type: + type: string + enum: + - break-page + required: + - type + rate_category_id: + type: integer + description: Rate Category to apply on document + example: 777 + required: + - number + - rate_category_id + Model: + title: Model + type: object + properties: + id: + type: integer + description: Identifier of model + example: 7 + number: + type: string + description: Name of model + maxLength: 100 + example: model#1 + created: + type: string + description: Created date of model + format: date-time + example: '2018-02-21T12:00:00Z' + subject: + type: string + description: > + Subject of model
> the property can include custom tags, the + list of available ones is available on response for endpoint + `get./documents/models/tags` + example: Subject + amounts: + type: object + description: Amounts of invoice, with and without taxes + readOnly: true + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging costs. + Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + currency: + type: string + description: Currency code of the model + example: EUR + taxes: + type: array + description: List of taxes used on the invoice + readOnly: true + items: + type: object + description: Tax used + properties: + id: + type: integer + label: + type: string + rate: + type: string + amount: + type: string + required: + - id + - label + - rate + - amount + discount: + type: object + description: Global discount applied on the invoice + nullable: true + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + payment_conditions_acceptance: + type: object + description: Acceptance of terms and conditions + readOnly: true + properties: + enabled: + type: boolean + description: Acceptance is required to pay or sign the document + owner: + allOf: + - type: object + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + type: + type: string + readOnly: true + description: Type of owner + example: staff + - type: object + description: Invoice's owner + readOnly: true + pdf_link: + type: string + description: >- + Link to the pdf of document. /!\ Link is regenerate after an update + of document + format: uri + nullable: true + readOnly: true + decimal_number: + type: object + description: Precision for decimal numbers + readOnly: true + properties: + unit_price: + type: integer + description: Precision of unit price + nullable: true + quantity: + type: integer + description: Precision of quantity + nullable: true + main: + type: integer + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + assigned_staff_id: + type: integer + description: The staff linked + nullable: false + readOnly: true + example: 2 + ModelOne: + allOf: + - title: Model + type: object + properties: + id: + type: integer + description: Identifier of model + example: 7 + number: + type: string + description: Name of model + maxLength: 100 + example: model#1 + created: + type: string + description: Created date of model + format: date-time + example: '2018-02-21T12:00:00Z' + subject: + type: string + description: > + Subject of model
> the property can include custom tags, + the list of available ones is available on response for endpoint + `get./documents/models/tags` + example: Subject + amounts: + type: object + description: Amounts of invoice, with and without taxes + readOnly: true + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging + costs. Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + currency: + type: string + description: Currency code of the model + example: EUR + taxes: + type: array + description: List of taxes used on the invoice + readOnly: true + items: + type: object + description: Tax used + properties: + id: + type: integer + label: + type: string + rate: + type: string + amount: + type: string + required: + - id + - label + - rate + - amount + discount: + type: object + description: Global discount applied on the invoice + nullable: true + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + payment_conditions_acceptance: + type: object + description: Acceptance of terms and conditions + readOnly: true + properties: + enabled: + type: boolean + description: Acceptance is required to pay or sign the document + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + - type: object + description: Invoice's owner + readOnly: true + pdf_link: + type: string + description: >- + Link to the pdf of document. /!\ Link is regenerate after an + update of document + format: uri + nullable: true + readOnly: true + decimal_number: + type: object + description: Precision for decimal numbers + readOnly: true + properties: + unit_price: + type: integer + description: Precision of unit price + nullable: true + quantity: + type: integer + description: Precision of quantity + nullable: true + main: + type: integer + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + assigned_staff_id: + type: integer + description: The staff linked + nullable: false + readOnly: true + example: 2 + - type: object + properties: + rows: + type: array + items: + type: object + oneOf: + - title: Single Row + type: object + allOf: + - type: object + properties: + description: + type: string + nullable: true + description: > + Row description
> the property can include + custom tags, the list of available ones is + available on response for endpoint + `get./documents/models/tags` + example: Aluminium rail 4x3m + - title: Single Row + type: object + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + readOnly: true + type: + type: string + enum: + - single + unit_id: + type: integer + description: Id of unit of measurement of quantity + purchase_amount: + type: string + description: Purchase amount + unit_amount: + description: Unit amount without tax. + type: string + example: '22.20' + tax_id: + type: integer + description: Tax identifier + example: 12 + quantity: + type: string + description: Quantity + example: '7.2' + reference: + type: string + description: Row reference + example: MB880174910 + description: + type: string + nullable: true + description: Row description + example: Aluminium rail 4x3m + discount: + type: object + nullable: true + description: Discount applied on the row + properties: + type: + type: string + description: >- + Type of the discount. Express her in + percentage or with an amount + enum: + - percent + - amount + example: amount + value: + oneOf: + - type: string + description: >- + Value of discount (Expressed in amount or + percent depending choosen type) + example: '20.5' + total: + type: string + description: Total of all discount for this row + example: '400' + readOnly: true + tax_rate: + type: string + description: Tax rate + readOnly: true + example: '20.00' + tax_amount: + type: string + description: Tax amount + readOnly: true + example: '23.44' + tax_label: + type: string + description: Tax label + readOnly: true + example: tva + amount_tax_inc: + type: string + description: Total amount of row tax included + readOnly: true + example: '1229.93' + amount_tax_exc: + type: string + description: Total amount of row without tax + readOnly: true + example: '445.33' + accounting_code_id: + type: integer + description: Accounting code id of row + example: 7576 + analytic_code: + type: string + nullable: true + description: Analytic code of row + example: divers + is_optional: + type: boolean + description: > + If row is optional
The special feature of + these lines is that they are not taken into + account in the calculation of the document. + example: true + required: + - quantity + - unit_amount + - type + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/1 + - title: Catalog Item Row + description: By default take value of related item + type: object + allOf: + - type: object + properties: + description: + type: string + nullable: true + description: > + Row description
> the property can include + custom tags, the list of available ones is + available on response for endpoint + `get./documents/models/tags` + example: Aluminium rail 4x3m + - title: Catalog Item Row + description: By default take value of related item + type: object + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + readOnly: true + type: + type: string + enum: + - catalog + related: + type: object + description: Related product or service + properties: + id: + type: integer + description: item identifier + type: + type: string + description: Type of item + enum: + - product + - service + declination_id: + type: integer + description: declination identifier + nullable: true + unit_amount: + description: Unit amount + type: string + example: '29.28' + eco_tax: + type: object + nullable: true + description: Eco tax applied on the row + properties: + type: + type: string + enum: + - inc + - excl + value: + type: string + example: '22.44' + purchase_amount: + type: string + description: Purchase amount + unit_id: + type: integer + description: Id of unit of measurement of quantity + warehouse_id: + type: integer + nullable: true + description: Warehouse identifier + sku_id: + nullable: true + type: integer + description: Bar code id + tax_id: + type: integer + description: Tax identifier + example: 12 + quantity: + type: string + description: Quantity + example: '7.2' + reference: + type: string + description: Row reference + example: MB880174910 + description: + type: string + nullable: true + description: Row description + example: Aluminium rail 4x3m + discount: + type: object + nullable: true + description: Discount applied on the row + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + oneOf: + - type: string + description: value of discount + example: '25.20' + total: + type: string + description: Total of all discount for this row + example: '400' + readOnly: true + tax_rate: + type: string + description: Tax rate + readOnly: true + example: '20.00' + tax_amount: + type: string + description: Tax amount + readOnly: true + example: '23.44' + tax_label: + type: string + description: Tax label + readOnly: true + example: tva + amount_tax_inc: + type: string + description: total amount of row tax included + readOnly: true + example: '1229.93' + amount_tax_exc: + type: string + description: total amount of row without tax + readOnly: true + example: '445.33' + accounting_code_id: + type: integer + description: Accouting code id of row + example: 7576 + analytic_code: + type: string + nullable: true + description: Analytic code of row + example: divers + is_optional: + type: boolean + description: > + If row is optional
The special feature of + these lines is that they are not taken into + account in the calculation of the document. + example: true + required: + - related + - quantity + - type + - title: Comment Row + type: object + allOf: + - type: object + properties: + text: + type: string + description: > + Comment
> the property can include custom + tags, the list of available ones is available on + response for endpoint + `get./documents/models/tags` + example: Aluminium rail 4x3m + - type: object + title: Comment Row + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + readOnly: true + type: + type: string + enum: + - comment + text: + type: string + required: + - type + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/4 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/5 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/6 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/7 + AccountDocumentCollection: + title: Account document collection + type: object + properties: + pagination: + title: pagination + type: object + description: The pagination + properties: + limit: + type: integer + example: 25 + minimum: 0 + maximum: 100 + total: + type: integer + example: 152 + minimum: 0 + count: + type: integer + example: 25 + minimum: 0 + offset: + anyOf: + - type: integer + minimum: 0 + example: 25 + - type: string + example: WzIwMTQtMDEtMDEsNTk4XQ== + required: + - limit + - total + - count + - offset + data: + type: array + items: + allOf: + - type: object + properties: + date: + description: Date of the document + type: string + format: date + status: + description: Status of the invoice and credit note + type: string + readOnly: true + example: draft + enum: + - due + - payinprogress + - paid + - late + - stored + - partialspend + - spent + - cancelled + number: + type: string + description: Document number + example: INV-20210611-0010 + amount: + type: string + description: Total amount with taxes + example: '898.97' + public_link: + description: Public link of document + type: string + nullable: true + readOnly: true + pdf_link: + type: string + format: uri + readOnly: true + description: >- + Link to the pdf of document. /!\ Link is regenerate after + an update of document + required: + - date + - status + - amount + - public_link + - pdf_link + required: + - pagination + - data + DocumentLayoutsCollection: + title: Document layouts collection + type: object + properties: + pagination: + $ref: '#/components/schemas/AccountDocumentCollection/properties/pagination' + data: + type: array + items: + allOf: + - type: object + properties: + id: + type: integer + example: 1 + label: + type: string + description: Name of the document layout + example: Document Layout no. 42 + is_default: + type: boolean + description: True if the document layout is the default one + example: true + required: + - id + - label + - is_default + required: + - pagination + - data + CommentItem: + title: CommentItem + type: object + description: Contains all properties + _embed for an Item endpoint + allOf: + - title: CommentBaseItem + type: object + description: >- + Contains all properties that are shared between an Item endpoint and + a Collection Item endpoint, except _embed property + properties: + id: + type: integer + description: Internal Comment ID + readOnly: true + example: 1 + owner: + type: object + description: Owner of the comment + properties: + id: + type: integer + example: 123 + type: + type: string + example: staff + enum: + - staff + - contact + description: + type: string + description: Comment content + updated: + type: string + description: Modification date of the comment + format: date-time + example: '1970-01-01T00:00:00+00:00' + created: + type: string + description: Creation date of the comment + format: date-time + example: '1970-01-01T00:00:00+00:00' + parent_id: + type: integer + description: Comment parent ID + nullable: true + related: + type: array + minItems: 0 + maxItems: 1 + description: Main object related to the comment (limit to 1) + items: + type: object + additionalProperties: false + description: Main object related to the comment + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - item + - estimate + - creditnote + - order + - delivery + - proforma + - invoice + - model + - purchase-order + - purchase-delivery + - purchase-invoice + - purchase-creditnote + - redactor-template + - redactor-document + - campaign + company_id: + type: integer + description: Company linked to the comment + example: 123 + nullable: true + individual_id: + type: integer + description: Individual linked to the comment + example: 123 + nullable: true + contact_id: + type: integer + description: Contact linked to the comment + example: 123 + nullable: true + timetracking: + nullable: true + allOf: + - title: Timetracking + type: object + description: Timetracking details (requires the timetracking plugin) + properties: + duration: + description: Timetracking duration in seconds + type: integer + example: 3600 + minimum: 1 + service: + description: Timetracking service ID related + type: integer + example: 6352439 + name: + description: Timetracking service name + type: string + nullable: true + example: Service name + - type: object + properties: + _embed: + allOf: + - type: object + readOnly: true + description: Objects add to response. Use embed parameter + properties: + owner: + allOf: + - $ref: >- + #/components/schemas/Activity/properties/_embed/properties/author + - type: object + title: Owner (staff) assigned to the comment + nullable: true + title: Owner (staff) assigned to the comment + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: Objects linked to the comment + items: + anyOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + title: Company + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + title: Individual + - $ref: '#/components/schemas/ContactItem/allOf/0' + title: Contact + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/1 + title: Opportunity + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/2 + title: Task + company: + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + - type: object + title: Company linked to the comment + nullable: true + individual: + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + - type: object + title: Individual linked to the comment + nullable: true + contact: + allOf: + - $ref: '#/components/schemas/ContactItem/allOf/0' + - type: object + title: Contact linked to the comment + nullable: true + acl: + allOf: + - type: object + description: Comment ACL + - $ref: >- + #/components/schemas/Activity/properties/_embed/properties/acl/oneOf/4 + CommentFilters: + title: CommentFilters + type: object + description: The Comment filters + properties: + filters: + type: object + properties: + owners: + title: Owners + type: array + items: + type: integer + example: + - 1 + - 2 + - 3 + description: Filter the comments list by owners + created: + title: Created at + type: object + description: Filter the comments list by creation date + properties: + start: + type: string + format: date-time + example: '2021-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2021-02-01T00:00:00+01:00' + updated: + title: Updated at + type: object + description: Filter the comments list by modification date + properties: + start: + type: string + format: date-time + example: '2021-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2021-02-01T00:00:00+01:00' + parent_id: + title: Parent ID + type: integer + description: Filter the comments list by parent ID + example: 123 + related_objects: + title: Related Objects + description: Filter the comments list by related objects + type: array + items: + type: object + properties: + type: + type: string + example: opportunity + id: + type: integer + example: 123 + companies: + title: Companies + type: array + description: Filter the comments list by companies + items: + type: integer + individuals: + title: Individuals + type: array + description: Filter the comments list by individuals + items: + type: integer + contacts: + title: Contacts + type: array + description: Filter the comments list by contacts + items: + type: integer + required: + - filters + CommentCreateItem: + title: Comment + type: object + description: Comment creation object + x-examples: {} + additionalProperties: false + allOf: + - title: Comment + type: object + description: Comment update object + x-examples: {} + properties: + description: + type: string + example: Lorem ipsum dolor sit amet, consectetur adipiscing elit. + description: Comment content + nullable: false + timetracking: + description: >- + if null provided, it'll delete existing timetracking entry for + existing comment + nullable: true + allOf: + - $ref: >- + #/components/schemas/CommentUpdateItem/properties/timetracking/allOf/0 + - type: object + required: + - description + - type: object + properties: + related: + type: array + minItems: 1 + maxItems: 1 + description: Main object related to the comment (limit to 1) + items: + type: object + additionalProperties: false + description: Main object related to the comment + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - item + - estimate + - creditnote + - order + - delivery + - proforma + - invoice + - model + - purchase-order + - purchase-delivery + - purchase-invoice + - purchase-creditnote + - redactor-template + - redactor-document + - campaign + parent_id: + type: integer + description: Comment parent ID + mentioned_staff_ids: + type: array + description: Ids of staffs mentioned in the comment + uniqueItems: true + nullable: true + items: + type: integer + example: 12329 + created: + description: Date of creation of the comment + type: string + format: date-time + CommentUpdateItem: + title: Comment + type: object + description: Comment update object + x-examples: {} + properties: + description: + type: string + example: Lorem ipsum dolor sit amet, consectetur adipiscing elit. + description: Comment content + nullable: false + timetracking: + description: >- + if null provided, it'll delete existing timetracking entry for + existing comment + nullable: true + allOf: + - title: Timetracking + type: object + required: + - service + - duration + description: Timetracking details (requires the timetracking plugin) + properties: + duration: + description: Timetracking duration in seconds + type: integer + example: 3600 + minimum: 1 + service: + description: Timetracking service ID related + type: integer + example: 6352439 + ContactItem: + title: Contact + allOf: + - title: Contact + type: object + description: '' + x-examples: {} + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + civility: + type: string + description: Civility of staff + example: mrs + nullable: true + enum: + - mr + - mrs + - ms + first_name: + type: string + description: Contact first name + example: John + nullable: true + maxLength: 200 + last_name: + type: string + description: Contact name + example: Doe + maxLength: 200 + nullable: true + email: + description: Contact email + type: string + format: email + example: john.doe@example-company.com + nullable: true + website: + type: string + format: url + description: Contact website + example: http://example-john-doe.com + nullable: true + phone_number: + type: string + description: Contact phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Contact mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Contact Fax number + example: '+33100000000' + nullable: true + position: + type: string + nullable: true + description: Contact job + example: Financial + birth_date: + type: string + description: Contact birth date + example: '2000-05-29' + nullable: true + avatar: + type: string + format: url + description: Contact avatar + example: http://example-john-doe.com/avatar + nullable: true + note: + type: string + description: Note on contact + example: An handed-written note describing this contact + invoicing_address_id: + description: Invoicing address unique ID + type: integer + nullable: true + minimum: 1 + example: 9987 + readOnly: true + delivery_address_id: + description: Delivery address unique ID + type: integer + nullable: true + minimum: 1 + example: 6547 + readOnly: true + social: + allOf: + - $ref: >- + #/paths/~1companies/post/requestBody/content/application~1json/schema/properties/social + sync: + type: object + properties: + mailchimp: + type: boolean + description: Activate the mailchimp synchronization + nullable: false + mailjet: + type: boolean + description: Activate the mailjet synchronization + nullable: false + simplemail: + type: boolean + description: Activate the simplemail synchronization + nullable: false + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + readOnly: true + created: + type: string + nullable: false + description: Datetime of creating contact + example: '2020-05-29T11:22:03+02:00' + updated: + type: string + nullable: false + description: Datetime of updating contact + example: '2020-05-29T11:22:03+02:00' + readOnly: true + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + marketing_campaigns_subscriptions: + type: array + items: + type: string + enum: + - sms + - phone + - email + - postal_mail + - custom + description: list of campaign type subcribed + uniqueItems: true + - type: object + properties: + _embed: + allOf: + - title: itemEmbed.yaml + allOf: + - readOnly: true + description: Objects add to response. Use embed parameter + allOf: + - type: object + properties: + invoicing_address: + nullable: true + description: Invoicing address + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + delivery_address: + nullable: true + description: Delivery address + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + opportunities: + nullable: true + type: integer + description: Count of opportunities + example: 2 + estimates: + nullable: true + type: integer + description: Count of estimates + example: 2 + invoices: + nullable: true + type: integer + description: Count of invoices + example: 2 + orders: + nullable: true + type: integer + description: Count of orders + example: 2 + deliveries: + nullable: true + type: integer + description: Count of deliveries + example: 2 + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/2 + - type: object + properties: + acl: + nullable: true + description: Contact ACL + allOf: + - $ref: >- + #/components/schemas/Activity/properties/_embed/properties/acl/oneOf/1 + ContactCollectionItem: + title: ContactCollectionItem.yaml + type: object + allOf: + - $ref: '#/components/schemas/ContactItem/allOf/0' + - type: object + properties: + _embed: + allOf: + - title: collectionItemEmbed.yaml + allOf: + - $ref: >- + #/components/schemas/ContactItem/allOf/1/properties/_embed/allOf/0/allOf/0 + ContactCreateItem: + title: contactCreateItem.yaml + allOf: + - title: Contact + allOf: + - $ref: '#/components/schemas/ContactItem/allOf/0' + - type: object + properties: + _embed: + allOf: + - $ref: >- + #/components/schemas/ContactItem/allOf/1/properties/_embed/allOf/0 + - type: object + properties: + last_name: + type: string + description: Contact name + example: Doe + maxLength: 200 + owner_id: + type: integer + nullable: true + description: Owner of the contact (Staff id expected) + example: 112 + minimum: 1 + required: + - last_name + ContactUpdateItem: + title: updateItem.yaml + allOf: + - $ref: '#/components/schemas/ContactCreateItem/allOf/0' + - type: object + properties: + last_name: + type: string + description: Contact name + example: Doe + maxLength: 200 + created: + type: string + nullable: false + description: Datetime of creating contact + example: '2020-05-29T11:22:03+02:00' + readOnly: true + owner_id: + type: integer + nullable: true + description: Owner of the contact (Staff id expected) + example: 112 + minimum: 1 + ContactFilters: + title: contactFilters + type: object + description: The contact filters + properties: + filters: + type: object + description: contact filters + properties: + companies: + title: Companies + type: array + items: + type: integer + description: Filter the contacts list by companies ID + example: + - 12 + - 22 + individuals: + title: Individuals + type: array + items: + type: integer + description: Filter the contacts list by individuals ID + example: + - 12 + - 22 + created: + title: Created at + type: object + description: Filter the contact list by creation date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + updated: + title: Updated at + type: object + description: Filter the contact list by last update date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + last_name: + title: Lastname + type: string + description: Filter the contact list by lastname (exact search) + example: John Doe + birth_date: + title: Birth date + type: object + description: Filter the contact list by birth date-time + properties: + start: + type: string + format: date + example: '2020-01-01' + end: + type: string + format: date + example: '2020-02-01' + email: + title: Email + type: string + description: Filter the contact list by email (exact search) + example: john.doe@example.com + phone_number: + title: Phone number + type: string + description: Filter the contact list by phone number (exact search) + example: '+33100000000' + mobile_number: + title: Mobile phone + type: string + description: Filter contact list by mobile number (exact search) + example: '+33100000000' + id: + title: Contacts + type: array + items: + type: integer + description: Filter the contacts list by contacts ID + example: + - 12 + - 22 + favourite_filter: + title: Favourite filters + type: integer + description: > + Id of favourite filters
(see endpoint to list favourite + filters) + example: 10 + is_linked: + title: Is linked to a company or an individual + type: boolean + description: >- + Filter contacts according to whether or not they are related to + companies and individuals + example: false + country_code: + title: Country code + description: Filter the contacts list by country code (main address only) + type: string + example: FR + postal_code: + title: Postal code + description: Filter the contacts list by postal code (main address only) + type: array + items: + type: string + example: + - '17001' + - '17002' + required: + - filters + Estimate: + title: Estimate + allOf: + - type: object + properties: + date: + description: Date of the estimate + type: string + format: date + related: + type: array + minItems: 1 + description: | + Objects linked to the estimate : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only of type `client` or `prospect` + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + items: + type: object + description: >- + Object linked to the estimate (at least a Company or an + Individual) + properties: + type: + type: string + enum: + - company + - individual + - opportunity + id: + type: integer + required: + - type + - id + contact_id: + description: Contact of company linked to the estimate + type: integer + nullable: true + assigned_staff_id: + description: Staff in charge of the estimate + type: integer + status: + description: Status of the estimate (draft if not provided at the creation) + type: string + readOnly: true + example: draft + enum: + - draft + - sent + - read + - accepted + - refused + - expired + - advanced + - partialinvoiced + - invoiced + - cancelled + number: + type: string + description: Estimate number + example: EST-20210611-0010 + amounts: + description: Amounts of estimate with and without taxe + type: object + readOnly: true + properties: + shipping: + type: string + description: Total shipping amount + example: '128.54' + packaging: + type: string + description: Total packaging amount + example: '40.24' + total_raw_excl_tax: + type: string + description: Total without tax and without global discount + example: '933.07' + total_after_discount_excl_tax: + type: string + description: Total without tax and after discount applied + example: '821.10' + total_excl_tax: + description: Total net without tax + type: string + example: '843.10' + total: + type: string + description: Total amount with taxes + example: '898.97' + total_primes_incl_tax: + type: string + description: Total of primes added on document + example: '10.00' + required: + - shipping + - packaging + - total_raw_excl_tax + - total_after_discount_excl_tax + - total_excl_tax + - total + currency: + description: Currency code of estimate + type: string + subject: + description: Subject of estimate + type: string + public_link: + description: Public link of estimate + type: string + nullable: true + readOnly: true + public_link_enabled: + type: boolean + description: Public link is enabled + payment_method_ids: + type: array + description: payments methods allowed on the estimate + nullable: true + items: + type: integer + decimal_number: + readOnly: true + type: object + description: Precision for decimal numbers + properties: + unit_price: + type: integer + nullable: true + description: Precision of unit price + quantity: + type: integer + nullable: true + description: Precision of quantity + main: + type: integer + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + pdf_link: + type: string + format: uri + readOnly: true + description: >- + Link to the pdf of estimate. /!\ Link is regenerate after an + update of estimate + expiry_date: + description: Expiry date of the estimate + type: string + format: date + payment_conditions_acceptance: + type: object + readOnly: true + description: Acceptance of terms and conditions + properties: + enabled: + type: boolean + description: Acceptance is required to pay or sign the document* + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + note: + type: string + description: Notes of the estimate + example: This estimate is very important
+ shipping_date: + type: string + format: date + description: Date of the shipping + nullable: true + example: '2024-01-31' + - type: object + properties: + id: + type: integer + readOnly: true + description: Document ID + example: 6657 + owner: + type: object + properties: + type: + type: string + id: + type: integer + required: + - type + - id + created: + type: string + description: Date of creation of document + format: date-time + discount: + description: Global discount applied on the document + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + fiscal_year_id: + type: integer + nullable: true + description: ID of the estimate's fiscal year + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + readOnly: true + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + readOnly: true + taxes: + description: List of taxes used on the estimate + type: array + items: + type: object + description: Tax used + properties: + label: + type: string + id: + type: integer + rate: + type: string + amount: + type: string + required: + - label + - id + - rate + - amount + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: End date for service + example: '2023-01-31' + shipping_date: + type: string + format: date + description: Date of the shipping + nullable: true + required: + - id + - owner + - created + - date + - related + - contact_id + - invoicing_address_id + - delivery_address_id + - assigned_staff_id + - status + - number + - amounts + - currency + - subject + - public_link + - public_link_enabled + - payment_method_ids + - fiscal_year_id + EstimateCreate: + allOf: + - $ref: '#/components/schemas/Estimate/allOf/0' + - type: object + properties: + owner_id: + type: integer + description: Owner of the estimate (staff id) + minimum: 1 + rows: + type: array + description: Document's rows + nullable: true + items: + type: object + oneOf: + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/0/allOf/1 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/1 + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/2/allOf/1 + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/3/allOf/1 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/4 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/5 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/6 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/7 + discount: + type: object + description: Global discount applied on the estimate + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + type: string + description: value of discount + example: '25.20' + parent: + nullable: true + oneOf: + - type: object + title: Model + properties: + type: + type: string + enum: + - model + id: + type: integer + description: Parent object id + rate_category_id: + type: integer + description: >- + Rate Category to apply on document (By default, the + rate_category_id will be that of company) + example: 777 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: >- + End date for service

End date must be greater + than start date + example: '2023-01-31' + required: + - related + EstimateUpdate: + allOf: + - $ref: '#/components/schemas/Estimate/allOf/0' + - type: object + properties: + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: >- + End date for service

End date must be greater + than start date + example: '2023-01-31' + rows: + type: array + nullable: true + items: + type: object + anyOf: + - type: object + title: New Single Row + allOf: + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/0/allOf/1 + - type: object + title: New Packaging/Shipping Row + allOf: + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/1 + - type: object + title: New Catalog Item Row + allOf: + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/2/allOf/1 + - type: object + title: New Comment Row + allOf: + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/3/allOf/1 + - type: object + title: New Title Row + allOf: + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/4 + - type: object + title: New Sub-Total Row + allOf: + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/5 + - type: object + title: New Break Line Row + allOf: + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/6 + - type: object + title: New Break Page Row + allOf: + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/7 + - title: Update Single Row + type: object + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + unit: + type: integer + description: Id of unit of measurement of quantity + purchase_amount: + type: string + description: Purchase amount + unit_amount: + description: Unit amount without tax. + type: string + example: '22.20' + tax_id: + type: integer + description: Tax identifier + example: 12 + tax: + deprecated: true + type: integer + description: >- + Tax identifier. This field will be removed on 1 July + 2022, use tax_id instead + example: 12 + quantity: + type: string + description: Quantity + example: 7 + reference: + type: string + description: Row reference + example: MB880174910 + description: + type: string + nullable: true + description: Row description + example: Aluminium rail 4x3m + discount: + type: object + nullable: true + description: Discount applied on the row + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + oneOf: + - type: string + description: value of discount + example: '25.20' + accounting_code: + type: integer + description: Accouting code of row + example: 7576 + analytic_code: + type: string + nullable: true + description: Analytic code of row + example: divers + is_optional: + type: boolean + description: > + If row is optional
The special feature of these + lines is that they are not taken into account in the + calculation of the document. + example: true + required: + - id + - title: Update Shipping/Packaging Row + type: object + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + unit_amount: + description: Unit amount without tax. + type: string + example: '90.22' + tax_id: + type: integer + description: Tax identifier + example: 12 + quantity: + type: string + description: Quantity + example: 7 + reference: + type: string + description: Row reference + example: MB880174910 + description: + type: string + nullable: true + description: Row description + example: Aluminium rail 4x3m + discount: + type: object + nullable: true + description: Discount applied on the row + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + oneOf: + - type: string + description: value of discount + example: '25.20' + tax_rate: + type: string + description: Tax rate + readOnly: true + example: '20.00' + tax_amount: + type: string + description: Tax amount + readOnly: true + example: '23.44' + amount_tax_inc: + type: string + description: total amount of row tax included + readOnly: true + example: '1229.93' + amount_tax_exc: + type: string + description: total amount of row without tax + readOnly: true + example: '445.33' + accounting_code_id: + type: integer + description: Accouting code id of row + example: 7576 + analytic_code: + type: string + nullable: true + description: Analytic code of row + example: divers + is_optional: + type: boolean + description: > + If row is optional
The special feature of these + lines is that they are not taken into account in the + calculation of the document. + example: true + required: + - related + - quantity + - type: object + title: Update Catalog Item Row + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + unit_amount: + description: Unit amount + type: string + example: '29.28' + eco_tax: + type: object + nullable: true + description: Eco tax applied on the row + properties: + type: + type: string + enum: + - inc + - excl + value: + type: string + example: '22.44' + purchase_amount: + type: string + description: Purchase amount + unit: + type: integer + description: Id of unit of measurement of quantity + warehouse_id: + type: integer + nullable: true + description: Warehouse identifier + sku_id: + nullable: true + type: integer + description: Bar code id + tax_id: + type: integer + description: Tax identifier + example: 12 + tax: + deprecated: true + type: integer + description: >- + Tax identifier. This field will be removed on 1 July + 2022, use tax_id instead + example: 12 + quantity: + type: string + description: Quantity + example: 7 + reference: + type: string + description: Row reference + example: MB880174910 + description: + type: string + nullable: true + description: Row description + example: Aluminium rail 4x3m + discount: + type: object + nullable: true + description: Discount applied on the row + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + oneOf: + - type: string + description: value of discount + example: '25.20' + accounting_code: + type: integer + description: Accouting code of row + example: 7576 + analytic_code: + type: string + nullable: true + description: Analytic code of row + example: divers + is_optional: + type: boolean + description: > + If row is optional
The special feature of these + lines is that they are not taken into account in the + calculation of the document. + example: true + required: + - id + - type: object + title: Update Comment Row + properties: + id: + type: integer + description: Row Identifier + text: + type: string + required: + - id + additionalProperties: false + - type: object + title: Update Title Row + properties: + id: + type: integer + description: Row Identifier + text: + type: string + required: + - id + additionalProperties: false + - type: object + title: Update Sub Total Row + properties: + id: + type: integer + description: Row Identifier + required: + - id + additionalProperties: false + - type: object + title: Update Break Line Row + properties: + id: + type: integer + description: Row Identifier + required: + - id + additionalProperties: false + - type: object + title: Update Break Page Row + properties: + id: + type: integer + description: Row Identifier + required: + - id + additionalProperties: false + EstimateStatusUpdate: + type: object + properties: + status: + description: Status of the estimate + type: string + example: sent + enum: + - draft + - sent + - read + - accepted + - refused + - expired + - partialinvoiced + - invoiced + - cancelled + EstimateCollection: + title: Estimate collection item + type: object + properties: + pagination: + $ref: '#/components/schemas/AccountDocumentCollection/properties/pagination' + data: + type: array + items: + allOf: + - $ref: '#/components/schemas/EstimateOne/allOf/0' + - title: Embed for Estimate + description: Objects add to response. Use embed parameter + x-examples: {} + type: object + properties: + _embed: + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/0 + - type: object + properties: + company: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + individual: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + contact: + $ref: '#/components/schemas/ContactItem/allOf/0' + invoicing_address: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + delivery_address: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + currency: + nullable: true + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/currency + acl: + title: EstimateAcl + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Document can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Document can be deleted + example: true + payment_method_ids: + type: array + items: + type: object + title: Payment method object + properties: + id: + type: integer + description: Payment method identifier + label: + type: string + description: Payment method label + fiscal_year: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/fiscal_year + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/2 + required: + - pagination + - data + EstimateAggregations: + title: Document aggregations + type: object + properties: + amount_sum_by_status: + type: object + description: Total amount of document by status, require `currency` filter + count_by_status: + type: object + description: Number of document by status + EstimateOne: + allOf: + - title: Estimate + allOf: + - $ref: '#/components/schemas/Estimate/allOf/0' + - type: object + properties: + id: + type: integer + readOnly: true + description: Document ID + example: 6657 + owner: + type: object + properties: + type: + type: string + id: + type: integer + required: + - type + - id + created: + type: string + description: Date of creation of document + format: date-time + discount: + description: Global discount applied on the document + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + fiscal_year_id: + type: integer + nullable: true + description: ID of the estimate's fiscal year + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + readOnly: true + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + readOnly: true + taxes: + description: List of taxes used on the estimate + type: array + items: + type: object + description: Tax used + properties: + label: + type: string + id: + type: integer + rate: + type: string + amount: + type: string + required: + - label + - id + - rate + - amount + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: End date for service + example: '2023-01-31' + shipping_date: + type: string + format: date + description: Date of the shipping + nullable: true + required: + - id + - owner + - created + - date + - related + - contact_id + - invoicing_address_id + - delivery_address_id + - assigned_staff_id + - status + - number + - amounts + - currency + - subject + - public_link + - public_link_enabled + - payment_method_ids + - fiscal_year_id + - type: object + properties: + rows: + type: array + items: + $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/rows/items + required: + - id + - owner + - created + - date + - related + - contact_id + - invoicing_address_id + - delivery_address_id + - assigned_staff_id + - status + - number + - amounts + - currency + - subject + - public_link + - public_link_enabled + - rows + EstimateCompute: + type: object + properties: + owner: + type: object + properties: + type: + type: string + id: + type: integer + required: + - type + - id + rows: + type: array + items: + type: object + anyOf: + - title: Single Row + type: object + additionalProperties: false + properties: + type: + type: string + enum: + - single + unit_id: + type: integer + description: Id of unit of measurement of quantity + purchase_amount: + type: string + description: Purchase amount + unit_amount: + description: Unit amount without tax. + type: string + example: '22.20' + tax_id: + type: integer + description: Tax identifier + example: 12 + quantity: + type: string + description: Quantity + example: '7.2' + reference: + type: string + description: Row reference + example: MB880174910 + description: + type: string + nullable: true + description: Row description + example: Aluminium rail 4x3m + discount: + type: object + nullable: true + description: Discount applied on the row + properties: + type: + type: string + description: >- + Type of the discount. Express her in percentage or + with an amount + enum: + - percent + - amount + example: amount + value: + oneOf: + - type: string + description: >- + value of discount (Expressed in amount or percent + depending choosen type) + example: '20.5' + total: + type: string + description: Total of all discount for this row + example: '400' + tax_rate: + type: string + description: Tax rate + readOnly: true + example: '20.00' + tax_amount: + type: string + description: Tax amount + readOnly: true + example: '23.44' + tax_label: + type: string + description: Tax label + readOnly: true + example: tva + amount_tax_inc: + type: string + description: total amount of row tax included + readOnly: true + example: '1229.93' + amount_tax_exc: + type: string + description: total amount of row without tax + readOnly: true + example: '445.33' + accounting_code_id: + type: integer + description: Accouting code id of row + example: 7576 + analytic_code: + type: string + nullable: true + description: Analytic code of row + example: divers + required: + - quantity + - unit_amount + - type + - title: Shipping/Packaging Row + description: By default take value of related item + type: object + additionalProperties: false + properties: + type: + type: string + enum: + - shipping + - packaging + related: + type: object + description: Related shipping or packaging + properties: + id: + type: integer + description: item identifier + type: + type: string + description: Type of item + enum: + - shipping + - packaging + unit_amount: + description: Unit amount without tax. + type: string + example: '90.22' + tax_id: + type: integer + description: Tax identifier + example: 12 + quantity: + type: string + description: Quantity + example: '7.2' + reference: + type: string + description: Row reference + example: MB880174910 + deprecated: true + description: + type: string + nullable: true + description: Row description + example: Aluminium rail 4x3m + deprecated: true + discount: + type: object + nullable: true + description: Discount applied on the row + properties: + type: + type: string + description: >- + Type of the discount. Express her in percentage or + with an amount + enum: + - percent + - amount + example: amount + value: + oneOf: + - type: string + description: >- + value of discount (Expressed in amount or percent + depending choosen type) + example: '20.5' + total: + type: string + description: Total of all discount for this row + example: '400' + accounting_code_id: + type: integer + description: Accouting code id of row + example: 7576 + analytic_code: + type: string + nullable: true + description: Analytic code of row + example: divers + tax_rate: + type: string + description: Tax rate + readOnly: true + example: '20.00' + tax_amount: + type: string + description: Tax amount + readOnly: true + example: '23.44' + tax_label: + type: string + description: Tax label + readOnly: true + example: tva + amount_tax_inc: + type: string + description: total amount of row tax included + readOnly: true + example: '1229.93' + amount_tax_exc: + type: string + description: total amount of row without tax + readOnly: true + example: '445.33' + required: + - related + - quantity + - type + - title: Catalog Item Row + description: By default take value of related item + type: object + additionalProperties: false + properties: + type: + type: string + enum: + - catalog + related: + type: object + description: Related product or service + properties: + id: + type: integer + description: item identifier + type: + type: string + description: Type of item + enum: + - product + - service + unit_amount: + description: Unit amount + type: string + example: '29.28' + eco_tax: + type: object + nullable: true + description: Eco tax applied on the row + properties: + type: + type: string + enum: + - inc + - excl + value: + type: string + example: '22.44' + purchase_amount: + type: string + description: Purchase amount + unit_id: + type: integer + description: Id of unit of measurement of quantity + warehouse_id: + type: integer + nullable: true + description: Warehouse identifier + sku_id: + nullable: true + type: integer + description: Bar code id + tax_id: + type: integer + description: Tax identifier + example: 12 + quantity: + type: string + description: Quantity + example: '7.2' + reference: + type: string + description: Row reference + example: MB880174910 + description: + type: string + nullable: true + description: Row description + example: Aluminium rail 4x3m + discount: + type: object + nullable: true + description: Discount applied on the row + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + oneOf: + - type: string + description: value of discount + example: '25.20' + total: + type: string + description: Total of all discount for this row + example: '400' + tax_rate: + type: string + description: Tax rate + readOnly: true + example: '20.00' + tax_amount: + type: string + description: Tax amount + readOnly: true + example: '23.44' + tax_label: + type: string + description: Tax label + readOnly: true + example: tva + amount_tax_inc: + type: string + description: total amount of row tax included + readOnly: true + example: '1229.93' + amount_tax_exc: + type: string + description: total amount of row without tax + readOnly: true + example: '445.33' + accounting_code_id: + type: integer + description: Accouting code id of row + example: 7576 + analytic_code: + type: string + nullable: true + description: Analytic code of row + example: divers + required: + - related + - quantity + - type + - type: object + title: Comment Row + additionalProperties: false + properties: + type: + type: string + enum: + - comment + text: + type: string + required: + - type + - type: object + title: Title Row + additionalProperties: false + properties: + type: + type: string + enum: + - title + text: + type: string + required: + - type + - type: object + title: Sub Total Row + additionalProperties: false + properties: + type: + type: string + enum: + - sub-total + amount: + type: string + readOnly: true + description: Amount of the sub-total + required: + - type + - type: object + title: Break Line Row + additionalProperties: false + properties: + type: + type: string + enum: + - break-line + required: + - type + - type: object + title: Break Page Row + additionalProperties: false + properties: + type: + type: string + enum: + - break-page + required: + - type + date: + description: Date of the estimate + type: string + format: date + related: + type: array + minItems: 1 + maxItems: 1 + description: | + Objects linked to the estimate : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only of type `client` or `prospect` + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + items: + type: object + description: Object linked to the estimate (a Company or an Individual) + properties: + type: + type: string + enum: + - company + - individual + id: + type: integer + required: + - type + - id + contact_id: + description: Contact of company linked to the estimate + type: integer + nullable: true + assigned_staff_id: + description: Staff in charge of the estimate + type: integer + status: + description: Status of the estimate (draft if not provided at the creation) + type: string + readOnly: true + example: draft + enum: + - draft + - sent + - read + - accepted + - refused + - expired + - advanced + - partialinvoiced + - invoiced + - cancelled + number: + type: string + description: Estimate number + example: EST-20210611-0010 + amounts: + description: Amounts of estimate with and without taxe + type: object + readOnly: true + properties: + shipping: + type: string + description: Total shipping amount + example: '128.54' + packaging: + type: string + description: Total packaging amount + example: '40.24' + total_raw_excl_tax: + type: string + description: Total without tax and without global discount + example: '933.07' + total_after_discount_excl_tax: + type: string + description: Total without tax and after discount applied + example: '821.10' + total_excl_tax: + description: Total net without tax + type: string + example: '843.10' + total: + type: string + description: Total amount with taxes + example: '898.97' + required: + - shipping + - packaging + - total_raw_excl_tax + - total_after_discount_excl_tax + - total_excl_tax + - total + currency: + description: Currency code of estimate + type: string + subject: + description: Subject of estimate + type: string + public_link: + description: Public link of estimate + type: string + nullable: true + readOnly: true + public_link_enabled: + type: boolean + description: Public link is enabled + payment_method_ids: + type: array + description: payments methods allowed on the estimate + nullable: true + items: + type: integer + decimal_number: + readOnly: true + type: object + description: Precision for decimal numbers + properties: + unit_price: + type: integer + nullable: true + description: Precision of unit price + quantity: + type: integer + nullable: true + description: Precision of quantity + main: + type: integer + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + pdf_link: + type: string + format: uri + readOnly: true + description: >- + Link to the pdf of estimate. /!\ Link is regenerate after an update + of estimate + expiry_date: + description: Expiry date of the estimate + type: string + format: date + nullable: true + taxes: + description: List of taxes used on the estimate + type: array + items: + type: object + description: Tax used + properties: + label: + type: string + id: + type: integer + rate: + type: string + amount: + type: string + required: + - label + - id + - rate + - amount + discount: + description: Global discount applied on the document + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + required: + - owner + - date + - related + - contact_id + - assigned_staff_id + - status + - number + - amounts + - currency + - subject + - public_link + - public_link_enabled + - payment_method_ids + EstimateFilters: + title: estimate filters + type: object + description: The estimates filters + properties: + filters: + type: object + description: estimates filters + properties: + created: + title: Created at + type: object + description: Filter the estimate list by creation date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + owners: + title: Owners + type: array + description: Filter the estimate list by owner (staff id) + items: + type: integer + date: + title: Document date + type: object + description: Filter the estimate list by date + properties: + start: + type: string + format: date + example: '2020-01-01' + end: + type: string + format: date + example: '2020-02-01' + related_objects: + title: Related Objects + type: array + items: + type: object + properties: + type: + type: string + enum: + - company + - individual + - opportunity + example: company + id: + type: integer + example: 22 + contacts: + title: Contact + type: array + description: Filter the estimate list by contact (contact id) + items: + type: integer + assigned_staff_ids: + title: Assigned staffs + type: array + description: Filter the estimate list by assigned staffs (staff id) + items: + type: integer + status: + title: Status + description: Filter the estimate list by status + example: + - draft + - sent + - read + type: array + items: + type: string + enum: + - draft + - sent + - read + - accepted + - refused + - expired + - advanced + - partialinvoiced + - invoiced + - cancelled + number: + title: number + type: string + description: Filter the estimate list by number (exact search) + example: DEVIS-0001 + currency: + title: currency + type: string + description: Currency code (exact search) + example: EUR + favourite_filter: + $ref: >- + #/components/schemas/ContactFilters/properties/filters/properties/favourite_filter + required: + - filters + SaleEmbed: + title: Embed for Estimate + description: Objects add to response. Use embed parameter + x-examples: {} + type: object + properties: + _embed: + allOf: + - type: object + properties: + payment_terms: + title: Document Payment Terms + description: Terms of payment of document + allOf: + - type: object + properties: + settings: + title: Payment terms configuration + description: >- + Description payment configuration applied to the + document + type: object + properties: + type: + description: Type of payment terms generation method + type: string + enum: + - settings + value: + type: object + description: Parameters of payment terms + properties: + id: + type: integer + description: Id of payment terms setting + label: + type: string + description: label of payment terms setting + example: Deadlines + x_days: + type: integer + description: >- + Number of days added to document date for + determine the due date + end_of_month: + type: boolean + description: >- + Does the due date have to be fixed to the + end of the month? (After the addition of + x_days) + override_date: + type: boolean + description: >- + Can the due date be overwritten in addition + to the parameters ? + required: + - id + - label + - type: object + properties: + computed_instalment_plan: + type: array + description: >- + List of deadlines computed with the payment terms + settings + items: + type: object + properties: + date: + type: string + description: due date + format: date + amount: + type: string + description: Total amount + - type: object + properties: + company: + title: Company + type: object + description: '' + x-examples: {} + properties: + id: + type: integer + description: Unique ID + example: 6657 + type: + type: string + enum: + - prospect + - client + - supplier + name: + type: string + description: Company name + example: Example company + maxLength: 250 + email: + description: Company email + type: string + format: email + example: contact@example-company.com + nullable: true + website: + type: string + format: url + description: Company website + example: http://example-company.com + nullable: true + phone_number: + type: string + description: Company phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Company mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Company Fax number + example: '+33100000000' + nullable: true + legal_france: + $ref: >- + #/paths/~1contacts~1%7Bid%7D~1companies/get/responses/200/content/application~1json/schema/properties/data/items/properties/legal_france + capital: + type: string + nullable: true + description: Company Capital + example: '4000' + reference: + type: string + description: Company reference + example: CLI-1654 + nullable: true + note: + type: string + description: Note on company + example: An handed-written note describing this company + auxiliary_code: + type: string + description: Auxiliary code + example: 0EX11C + nullable: true + social: + $ref: >- + #/paths/~1companies/post/requestBody/content/application~1json/schema/properties/social + rate_category_id: + type: integer + nullable: true + description: Company Rate category id + example: 9956 + main_contact_id: + description: Main contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + dunning_contact_id: + description: Dunning contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + invoicing_contact_id: + description: Invoicing contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + invoicing_address_id: + description: Invoicing address unique ID + type: integer + nullable: true + minimum: 1 + example: 9987 + delivery_address_id: + description: Delivery address unique ID + type: integer + nullable: true + minimum: 1 + example: 6547 + accounting_code_id: + type: integer + nullable: true + description: Company accounting code id + example: 12345 + accounting_purchase_code_id: + type: integer + nullable: true + description: Company accouting purchase code id + example: 98556 + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + created: + type: string + format: date-time + nullable: false + description: Datetime of creating company + example: '2020-05-29T11:22:03+02:00' + updated_at: + type: string + format: date-time + nullable: false + description: Datetime of the last update of the company + example: '2020-05-29T11:22:03+02:00' + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + business_segment: + type: object + description: Company business segment + nullable: true + properties: + id: + type: integer + example: 3 + label: + type: string + example: Software publisher / Digital services company + number_of_employees: + type: object + description: Number of employees of company + nullable: true + properties: + id: + type: integer + example: 1 + label: + type: string + example: From 1 to 5 + marketing_campaigns_subscriptions: + type: array + items: + type: string + enum: + - sms + - phone + - email + - postal_mail + - custom + description: list of campaign type subcribed + uniqueItems: true + individual: + title: Individual + type: object + description: '' + x-examples: {} + properties: + id: + type: integer + description: Unique ID + example: 6657 + type: + type: string + enum: + - prospect + - client + - supplier + last_name: + type: string + description: Individual contact lastname + example: Martin + maxLength: 200 + first_name: + type: string + description: Individual contact firstname + example: Jean + nullable: true + civility: + type: string + description: Civility of individual + example: mr + nullable: true + enum: + - mr + - mrs + - ms + email: + description: Individual email + type: string + format: email + example: jean.martin@personal-example.com + nullable: true + website: + type: string + format: url + description: Individual website + example: http://personal-example.com + nullable: true + phone_number: + type: string + description: Phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Fax number + example: '+33100000000' + nullable: true + reference: + type: string + description: Internal reference + example: IND-1654 + nullable: true + note: + type: string + description: Note on individual + example: An handed-written note describing this individual + auxiliary_code: + type: string + description: Auxiliary code + example: 0EX11C + nullable: true + social: + $ref: >- + #/paths/~1companies/post/requestBody/content/application~1json/schema/properties/social + rate_category_id: + type: integer + nullable: true + description: Rate category id + example: 9956 + main_contact_id: + description: Main contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + dunning_contact_id: + description: Dunning contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + invoicing_contact_id: + description: Invoicing contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + invoicing_address_id: + description: Invoicing address unique ID + type: integer + nullable: true + minimum: 1 + example: 9987 + delivery_address_id: + description: Delivery address unique ID + type: integer + nullable: true + minimum: 1 + example: 6547 + accounting_code_id: + type: integer + nullable: true + description: Accounting code id + example: 12345 + accounting_purchase_code_id: + type: integer + nullable: true + description: Accouting purchase code id + example: 98556 + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + created: + type: string + format: date-time + nullable: false + description: Datetime of creation + example: '2020-05-29T11:22:03+02:00' + updated_at: + type: string + format: date-time + nullable: false + description: Datetime of the last update of the individual + example: '2020-05-29T11:22:03+02:00' + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + marketing_campaigns_subscriptions: + type: array + items: + type: string + enum: + - sms + - phone + - email + - postal_mail + - custom + description: list of campaign type subcribed + uniqueItems: true + sync: + type: object + properties: + mailchimp: + type: boolean + description: Activate the mailchimp synchronization + nullable: false + mailjet: + type: boolean + description: Activate the mailjet synchronization + nullable: false + simplemail: + type: boolean + description: Activate the simplemail synchronization + nullable: false + contact: + $ref: '#/components/schemas/ContactItem/allOf/0' + invoicing_address: + type: object + title: Address + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + name: + type: string + description: Address name + example: Main office + minLength: 2 + address_line_1: + type: string + description: Address line one + example: 30 Commercial Road + nullable: true + address_line_2: + type: string + description: Address line two + example: Finance and Accounting + nullable: true + address_line_3: + type: string + description: Address line three + example: Lighthouse Promotions + nullable: true + address_line_4: + type: string + description: Address line four + example: PO Box 215 + nullable: true + postal_code: + type: string + nullable: true + description: Address postal code + example: '75012' + minLength: 2 + city: + type: string + description: Address city name + example: Paris + minLength: 2 + country: + type: string + description: Address country + nullable: true + example: France + minLength: 2 + country_code: + type: string + description: Address country code + example: FR + minLength: 2 + maxLength: 2 + is_invoicing_address: + readOnly: true + type: boolean + is_delivery_address: + readOnly: true + type: boolean + geocode: + type: object + properties: + lat: + type: number + nullable: true + example: 46.140862 + lng: + type: number + nullable: true + example: -1.168249 + delivery_address: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + currency: + type: object + title: Currency + properties: + id: + type: integer + description: Currency Identifier + readOnly: true + example: 13 + code: + type: string + description: Currency code (EUR, USD..) + readOnly: true + example: EUR + symbol: + type: string + description: Currency symbol (€, $) + example: € + readOnly: true + is_default: + type: boolean + description: Is default currency? + example: true + acl: + title: EstimateAcl + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Document can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Document can be deleted + example: true + payment_method_ids: + type: array + items: + type: object + title: Payment method object + properties: + id: + type: integer + description: Payment method identifier + label: + type: string + description: Payment method label + fiscal_year: + type: object + title: Fiscal year + properties: + id: + type: integer + description: Fiscal year's ID + start_at: + type: string + format: date + description: Start date of the fiscal yaer + end_at: + type: string + format: date + description: End date of the fiscal year + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - title: smart tag + type: array + items: + type: object + properties: + value: + type: string + description: value of smart tags + example: smart tag + id: + type: integer + description: id of smart tags + example: 55 + - type: object + properties: + custom_fields: + type: array + nullable: true + description: Custom-fields values requested + items: + anyOf: + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/1 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/2 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/3 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/4 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/5 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/6 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/7 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/8 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/9 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/10 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/11 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/12 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/13 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/14 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/15 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/16 + EstimateOneEmbed: + title: Embed for Estimate + description: Objects add to response. Use embed parameter + x-examples: {} + type: object + properties: + _embed: + allOf: + - $ref: '#/components/schemas/SaleEmbed/properties/_embed/allOf/0' + - type: object + properties: + discount_incl_taxes: + type: object + description: Discount including taxes of document + properties: + id: + type: integer + description: identifier of discount + readOnly: true + example: 31 + reference: + type: string + description: Reference of discount + minLength: 1 + maxLength: 250 + example: Halloween five last day + name: + type: string + description: Name of discount + minLength: 1 + maxLength: 250 + example: Halloween promotion + description: + type: string + description: Description visible on the document + minLength: 1 + maxLength: 1000 + example: For purchases made during the last five days of October + unit_id: + type: integer + description: Unit id + example: 31 + unit_amount: + type: string + description: Amount of unit + minLength: 0 + example: 31 + quantity: + type: integer + description: Quantity of discounts + example: 2 + total_amount: + type: string + description: Unit amount multiplied by quantity + example: 62 + accounting_code_id: + type: integer + description: > +
  • If the accounting code is not empty, we use + it.
  • If the accounting code is empty AND if the + account has activated dedicated accounting codes for + discounts including VAT, we use it.
  • Otherwise, + we use the default accounting code for + companies.
+ nullable: true + example: 31 + - type: object + properties: + company: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + individual: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + contact: + $ref: '#/components/schemas/ContactItem/allOf/0' + invoicing_address: {} + delivery_address: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + currency: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/currency + acl: + title: EstimateAcl + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Document can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Document can be deleted + example: true + payment_method_ids: + type: array + items: + type: object + title: Payment method object + properties: + id: + type: integer + description: Payment method identifier + label: + type: string + description: Payment method label + fiscal_year: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/fiscal_year + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + - $ref: '#/components/schemas/SaleEmbed/properties/_embed/allOf/2' + Address: + type: object + title: Address + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + name: + type: string + description: Address name + example: Main office + minLength: 2 + address_line_1: + type: string + description: Address line one + example: 30 Commercial Road + nullable: true + address_line_2: + type: string + description: Address line two + example: Finance and Accounting + nullable: true + address_line_3: + type: string + description: Address line three + example: Lighthouse Promotions + nullable: true + address_line_4: + type: string + description: Address line four + example: PO Box 215 + nullable: true + postal_code: + type: string + nullable: true + description: Address postal code + example: '75012' + minLength: 2 + city: + type: string + description: Address city name + example: Paris + minLength: 2 + country: + type: string + description: Address country + nullable: true + example: France + minLength: 2 + country_code: + type: string + description: Address country code + example: FR + minLength: 2 + maxLength: 2 + is_invoicing_address: + readOnly: true + type: boolean + is_delivery_address: + readOnly: true + type: boolean + geocode: + type: object + properties: + lat: + type: number + nullable: true + example: 46.140862 + lng: + type: number + nullable: true + example: -1.168249 + AddressCreate: + type: object + required: + - name + - address_line_1 + - postal_code + - city + - country_code + properties: + name: + type: string + description: Address name + example: Main office + minLength: 2 + nullable: false + address_line_1: + type: string + description: Address line one + example: 30 Commercial Road + nullable: false + address_line_2: + type: string + description: Address line two + example: Finance and Accounting + nullable: true + address_line_3: + type: string + description: Address line three + example: Lighthouse Promotions + nullable: true + address_line_4: + type: string + description: Address line four + example: PO Box 215 + nullable: true + postal_code: + type: string + nullable: false + description: Address postal code + example: '75012' + minLength: 2 + city: + type: string + description: Address city name + example: Paris + minLength: 2 + nullable: false + country_code: + type: string + description: Address country code + example: FR + minLength: 2 + maxLength: 2 + nullable: false + is_invoicing_address: + type: boolean + description: >- + default to true if no invoicing address is already defined, false + otherwise + is_delivery_address: + type: boolean + description: >- + default to true if no delivery address is already defined, false + otherwise + geocode: + type: object + properties: + lat: + type: number + nullable: true + example: 46.140862 + lng: + type: number + nullable: true + example: -1.168249 + AddressUpdate: + type: object + properties: + name: + type: string + description: Address name + example: Main office + minLength: 2 + nullable: false + address_line_1: + type: string + description: Address line one + example: 30 Commercial Road + nullable: false + address_line_2: + type: string + description: Address line two + example: Finance and Accounting + nullable: true + address_line_3: + type: string + description: Address line three + example: Lighthouse Promotions + nullable: true + address_line_4: + type: string + description: Address line four + example: PO Box 215 + nullable: true + postal_code: + type: string + nullable: false + description: Address postal code + example: '75012' + minLength: 2 + city: + type: string + description: Address city name + example: Paris + minLength: 2 + nullable: false + country_code: + type: string + description: Address country code + example: FR + minLength: 2 + maxLength: 2 + nullable: false + is_invoicing_address: + type: boolean + is_delivery_address: + type: boolean + geocode: + type: object + properties: + lat: + type: number + nullable: true + example: 46.140862 + lng: + type: number + nullable: true + example: -1.168249 + Staff: + title: Staff Schemas + description: Staff schemas according of current user level of visibility on staffs + allOf: + - title: Staff restricted visibility + type: object + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + lastname: + type: string + description: Staff last name + example: Smith + maxLength: 200 + nullable: true + firstname: + type: string + description: Staff first name + example: John + maxLength: 200 + nullable: true + email: + type: string + format: email + description: Staff email address + example: john@example-company.com + avatar: + type: string + nullable: true + description: Avatar url + format: uri + readOnly: true + status: + type: string + description: Staff status + enum: + - ok + - blocked + - deleted + readOnly: true + position: + type: string + description: Staff position + example: Sales manager + nullable: true + - type: object + properties: + phone_number: + type: string + description: Staff phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Staff mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Staff fax number + example: '+33500000000' + nullable: true + groups: + type: array + nullable: true + description: Staff groups + readOnly: true + items: + type: object + properties: + id: + type: integer + example: 1 + name: + type: string + example: Sales + civility: + type: string + description: Civility of staff + example: mrs + nullable: true + enum: + - mr + - mrs + - ms + created: + type: string + description: Creation date of the staff + format: date-time + example: '1970-01-01T00:00:00+00:00' + readOnly: true + profile: + type: integer + description: Staff privilège profile + example: 3443 + team: + nullable: true + type: object + properties: + id: + type: integer + example: -1 + name: + type: string + example: Commercial + description: Staff team position + job: + nullable: true + type: object + properties: + id: + type: integer + example: -1 + name: + type: string + example: Office manager + description: Staff job + timezone: + type: string + description: Staff time zone + example: Europe/Paris + language: + type: string + description: Staff language + example: fr + StaffRestrictedView: + title: Staff restricted visibility + type: object + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + lastname: + type: string + description: Staff last name + example: Smith + maxLength: 200 + nullable: true + firstname: + type: string + description: Staff first name + example: John + maxLength: 200 + nullable: true + email: + type: string + format: email + description: Staff email address + example: john@example-company.com + avatar: + type: string + nullable: true + description: Avatar url + format: uri + readOnly: true + status: + type: string + description: Staff status + enum: + - ok + - blocked + - deleted + readOnly: true + position: + type: string + description: Staff position + example: Sales manager + nullable: true + StaffUpdateItem: + title: Staff + description: Staff update request body + type: object + properties: + lastname: + type: string + description: Staff last name + example: Smith + maxLength: 200 + nullable: false + firstname: + type: string + description: Staff first name + example: John + maxLength: 200 + nullable: false + email: + type: string + format: email + description: Staff email address + example: john@example-company.com + phone_number: + type: string + description: Staff phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Staff mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Staff fax number + example: '+33500000000' + nullable: true + civility: + type: string + description: Civility of staff + example: mrs + nullable: true + enum: + - mr + - mrs + - ms + position: + type: string + description: Staff position + example: Sales manager + maxLength: 200 + nullable: true + profile: + type: integer + description: Staff privilège profile + example: 3443 + team: + type: integer + description: Staff team position + example: -1 + job: + type: integer + description: Staff job + example: -1 + timezone: + type: string + description: Staff time zone + example: Europe/Paris + language: + type: string + description: Staff language + example: fr + licenses: + title: Licenses + type: array + minItems: 0 + maxItems: 1 + items: + type: object + properties: + id: + type: string + description: License identifier + example: 9998a80a-7b75-4616-96d5-7ccff7ac08e8 + is_active: + type: boolean + description: > + Status of the staff access
If your account contains licenses, + those already attached to this collaborator will remain so, you will + have to specify the "licenses" property to free the licenses + example: true + StaffPreferences: + title: Staff preferences + type: object + properties: + timezone: + type: string + description: Staff timezone + example: Europe/Paris + format_phone_number: + readOnly: true + type: string + description: display phone number format + enum: + - international + - national + example: international + format_date: + readOnly: true + type: string + description: display date format + example: DD-MM-YYYY + enum: + - MM-DD-YYYY + - DD-MM-YYYY + format_hour: + readOnly: true + type: string + description: display hour format + example: 24 + enum: + - 12 + - 24 + currency: + readOnly: true + type: string + description: current currency for staff + example: EUR + StaffAcl: + title: Staff ACL + type: object + description: '' + x-examples: {} + properties: + view_companies: + type: boolean + nullable: false + description: Is allowed to view companies + example: true + create_companies: + type: boolean + nullable: false + description: Is allowed to create companies + example: true + update_companies: + type: boolean + nullable: false + description: Is allowed to update companies + example: true + delete_companies: + type: boolean + nullable: false + description: Is allowed to delete companies + example: true + view_individuals: + type: boolean + nullable: false + description: Is allowed to view individuals + example: true + create_individuals: + type: boolean + nullable: false + description: Is allowed to create individuals + example: true + update_individuals: + type: boolean + nullable: false + description: Is allowed to update individuals + example: true + delete_individuals: + type: boolean + nullable: false + description: Is allowed to delete individuals + example: true + view_clients: + type: boolean + nullable: false + description: Is allowed to view clients + example: true + create_clients: + type: boolean + nullable: false + description: Is allowed to create clients + example: true + update_clients: + type: boolean + nullable: false + description: Is allowed to update clients + example: true + delete_clients: + type: boolean + nullable: false + description: Is allowed to delete clients + example: true + view_prospects: + type: boolean + nullable: false + description: Is allowed to view prospects + example: true + create_prospects: + type: boolean + nullable: false + description: Is allowed to create prospects + example: true + update_prospects: + type: boolean + nullable: false + description: Is allowed to update prospects + example: true + delete_prospects: + type: boolean + nullable: false + description: Is allowed to delete prospects + example: true + view_suppliers: + type: boolean + nullable: false + description: Is allowed to view suppliers + example: true + create_suppliers: + type: boolean + nullable: false + description: Is allowed to create suppliers + example: true + update_suppliers: + type: boolean + nullable: false + description: Is allowed to update suppliers + example: true + delete_suppliers: + type: boolean + nullable: false + description: Is allowed to delete suppliers + example: true + view_contacts: + type: boolean + nullable: false + description: Is allowed to view contacts + example: true + create_contacts: + type: boolean + nullable: false + description: Is allowed to create contacts + example: true + update_contacts: + type: boolean + nullable: false + description: Is allowed to update contacts + example: true + delete_contacts: + type: boolean + nullable: false + description: Is allowed to delete contacts + example: true + view_opportunities: + type: boolean + nullable: false + description: Is allowed to view opportunities + example: true + create_opportunities: + type: boolean + nullable: false + description: Is allowed to create opportunities + example: true + update_opportunities: + type: boolean + nullable: false + description: Is allowed to update opportunities + example: true + delete_opportunities: + type: boolean + nullable: false + description: Is allowed to delete opportunities + example: true + view_estimates: + type: boolean + nullable: false + description: Is allowed to view estimates + example: true + create_estimates: + type: boolean + nullable: false + description: Is allowed to create estimates + example: true + update_estimates: + type: boolean + nullable: false + description: Is allowed to update estimates + example: true + delete_estimates: + type: boolean + nullable: false + description: Is allowed to delete estimates + example: true + view_phone_calls: + type: boolean + nullable: false + description: Is allowed to view phone calls + example: true + create_phone_calls: + type: boolean + nullable: false + description: Is allowed to create phone calls + example: true + update_phone_calls: + type: boolean + nullable: false + description: Is allowed to update phone calls + example: true + delete_phone_calls: + type: boolean + nullable: false + description: Is allowed to delete phone calls + example: true + view_document_models: + type: boolean + nullable: false + description: Is allowed to view document models + example: true + create_document_models: + type: boolean + nullable: false + description: Is allowed to create document models + example: true + update_document_models: + type: boolean + nullable: false + description: Is allowed to update document models + example: true + delete_document_models: + type: boolean + nullable: false + description: Is allowed to delete document models + example: true + view_invoices: + type: boolean + nullable: false + description: Is allowed to view invoices + example: true + create_invoices: + type: boolean + nullable: false + description: Is allowed to create invoices + example: true + update_invoices: + type: boolean + nullable: false + description: Is allowed to update invoices + example: true + delete_invoices: + type: boolean + nullable: false + description: Is allowed to delete invoices + example: true + validate_invoices: + type: boolean + nullable: false + description: Is allowed to validate invoices + view_credit_notes: + type: boolean + nullable: false + description: Is allowed to view credit notes + example: true + create_credit_notes: + type: boolean + nullable: false + description: Is allowed to create credit notes + example: true + update_credit_notes: + type: boolean + nullable: false + description: Is allowed to update credit notes + example: true + delete_credit_notes: + type: boolean + nullable: false + description: Is allowed to delete credit notes + example: true + validate_credit_notes: + type: boolean + nullable: false + description: Is allowed to validate credit notes + example: true + view_orders: + type: boolean + nullable: false + description: Is allowed to view orders + example: true + create_orders: + type: boolean + nullable: false + description: Is allowed to create orders + example: true + update_orders: + type: boolean + nullable: false + description: Is allowed to update orders + example: true + delete_orders: + type: boolean + nullable: false + description: Is allowed to delete orders + example: true + view_deliveries: + type: boolean + nullable: false + description: Is allowed to view deliveries + example: true + view_proformas: + type: boolean + nullable: false + description: Is allowed to view proformas + example: true + view_purchase_invoices: + type: boolean + nullable: false + description: Is allowed to view purchase invoices + example: true + view_purchase_credit_notes: + type: boolean + nullable: false + description: Is allowed to view purchase credit notes + example: true + view_purchase_deliveries: + type: boolean + nullable: false + description: Is allowed to view purchase deliveries + example: true + view_purchase_orders: + type: boolean + nullable: false + description: Is allowed to view purchase orders + example: true + view_items: + type: boolean + nullable: false + description: Is allowed to view items + example: true + create_items: + type: boolean + nullable: false + description: Is allowed to create items + example: true + update_items: + type: boolean + nullable: false + description: Is allowed to update items + example: true + delete_items: + type: boolean + nullable: false + description: Is allowed to delete items + example: true + view_payments: + type: boolean + description: Is allowed to view payments + example: true + create_payments: + type: boolean + description: Is allowed to create payments + example: true + update_payments: + type: boolean + description: Is allowed to update payments + example: true + delete_payments: + type: boolean + description: Is allowed to delete payments + example: true + attach_payments: + type: boolean + description: Is allowed to attach existing payments to objects + example: true + view_subscriptions: + type: boolean + description: Is allowed to view subscriptions + example: true + create_subscriptions: + type: boolean + description: Is allowed to create subscriptions + example: true + update_subscriptions: + type: boolean + description: Is allowed to update subscriptions + example: true + delete_subscriptions: + type: boolean + description: Is allowed to delete subscriptions + example: true + view_cashflow: + type: boolean + nullable: false + description: Is allowed to view cashflow + example: true + create_cashflow: + type: boolean + nullable: false + description: Is allowed to create cashflow + example: true + view_files: + type: boolean + nullable: false + description: Is allowed to view files + example: true + attach_files: + type: boolean + nullable: false + description: Is allowed to attach files + example: true + delete_files: + type: boolean + nullable: false + description: Is allowed to delete files + example: true + view_tickets: + type: boolean + nullable: false + description: Is allowed to view support tickets + example: true + StaffCreateItem: + title: Staff + description: Staff creation request body + type: object + properties: + lastname: + type: string + description: Staff last name + example: Smith + maxLength: 200 + nullable: false + firstname: + type: string + description: Staff first name + example: John + maxLength: 200 + nullable: false + email: + type: string + format: email + description: Staff email address + example: john@example-company.com + phone_number: + type: string + description: Staff phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Staff mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Staff fax number + example: '+33500000000' + nullable: true + civility: + type: string + description: Civility of staff + example: mrs + nullable: true + enum: + - mr + - mrs + - ms + position: + type: string + description: Staff position + example: Sales manager + maxLength: 200 + nullable: true + profile: + type: integer + description: Staff privilège profile + example: 3443 + team: + type: integer + description: Staff team position + example: -1 + job: + type: integer + description: Staff job + example: -1 + timezone: + type: string + description: Staff time zone + example: Europe/Paris + language: + type: string + description: Staff language + example: fr + first_connection_onboarding: + type: boolean + description: Staff onboarding on first connection + example: true + licenses: + title: Licenses + type: array + minItems: 0 + maxItems: 1 + items: + type: object + properties: + id: + type: string + description: License identifier + example: 9998a80a-7b75-4616-96d5-7ccff7ac08e8 + required: + - email + - civility + - lastname + - firstname + - profile + - team + - job + - timezone + - language + - first_connection_onboarding + StaffAutocompleteResultItem: + type: object + title: Staff search result + properties: + id: + type: string + readOnly: true + description: Unique ID + example: 6657 + object: + type: object + description: Main object + properties: + type: + type: string + default: staff + sub_type: + type: string + default: staff + nullable: true + id: + type: integer + example: 11 + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + readOnly: true + created: + type: string + format: datetime + description: Created datetime of object + example: '2020-05-29T11:22:03+02:00' + readOnly: true + updated: + type: string + format: datetime + description: updated datetime of object + example: '2020-05-29T11:22:03+02:00' + readOnly: true + is_archived: + type: boolean + description: Staff status is archived + example: false + first_name: + description: Staff first name + type: string + format: text + example: John + nullable: true + last_name: + description: Staff last name + type: string + format: text + example: Doe + nullable: true + phone_number: + type: string + description: Staff phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Staff mobile number + example: '+33100000000' + nullable: true + blocked: + description: Staff active status + type: boolean + email: + description: Staff email + type: string + format: email + example: john.doe@example-company.com + nullable: true + position: + type: string + nullable: true + description: Staff job + example: Financial + Social: + type: object + properties: + twitter: + type: string + format: url + description: Twitter account + example: https://twitter.com/example + nullable: true + facebook: + type: string + format: url + description: Facebook account + example: https://facebook.com/example + nullable: true + linkedin: + type: string + format: url + description: Linkedin account + example: https://linkedin.com/example + nullable: true + viadeo: + type: string + format: url + description: Viadeo account + example: https://viadeo.com/example + nullable: true + Owner: + type: object + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + type: + type: string + readOnly: true + description: Type of owner + example: staff + Pagination: + title: pagination + type: object + description: The pagination + properties: + limit: + type: integer + example: 25 + minimum: 0 + maximum: 100 + total: + type: integer + example: 152 + minimum: 0 + count: + type: integer + example: 25 + minimum: 0 + offset: + anyOf: + - type: integer + minimum: 0 + example: 25 + - type: string + example: WzIwMTQtMDEtMDEsNTk4XQ== + required: + - limit + - total + - count + - offset + FavouriteFilters: + title: Favourite filters + description: Favourite filters for entity + type: array + items: + type: object + properties: + type: + type: string + description: Favourite filters name + example: Created this year + id: + type: integer + description: Favourite filters id + example: 1 + Deals: + type: object + description: The deals activity + properties: + id: + type: string + description: Id of activity + example: 2wto807ysxa + event: + type: string + description: Event type + example: task.created + author: + type: object + properties: + type: + type: string + enum: + - staff + example: staff + id: + type: integer + minimum: 1 + example: 1024 + event_date: + type: string + description: Date of activity + format: date-time + due_date: + type: string + format: date-time + description: Due date of activity + event_details: + type: object + description: Details of events + additionalProperties: true + event_more: + type: object + description: Additional informations + example: + old: client + new: prospect + additionalProperties: true + object: + type: object + description: Event object of activity + required: + - type + - id + properties: + type: + type: string + example: task + id: + oneOf: + - type: string + example: 1056 + minLength: 1 + - type: integer + example: 1056 + minimum: 1 + model: + nullable: true + oneOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + - title: Opportunity + type: object + description: Describe opportunity object + properties: + id: + type: integer + description: Internal Opportunity ID + readOnly: true + example: 1 + number: + type: string + description: External Opportunity ID + example: OPP-1155 + name: + type: string + description: Opportunity name + example: New website + source: + type: object + description: Source of opportunity creation + properties: + id: + type: integer + example: 1 + name: + type: string + example: Internal + due_date: + type: string + description: Due date of the opportunity + format: date + example: '1970-01-01' + nullable: true + created: + type: string + description: Creation date of the opportunity + format: date-time + example: '1970-01-01T00:00:00+00:00' + updated_status: + type: string + description: Date of last opportunity status update + format: date-time + example: '1970-01-01T00:00:00+00:00' + nullable: true + status: + type: string + description: Opportunity status + example: won + enum: + - open + - won + - lost + - cancelled + - closed + - late + amount: + type: object + description: Potential amount of the opportunity with the currency + properties: + value: + type: string + description: Amount + example: 72000.99 + currency: + type: string + description: Currency (ISO 4217) + example: EUR + pipeline: + type: object + description: Current pipeline + properties: + id: + type: integer + example: 9763 + name: + type: string + example: Commercial North + step: + type: object + description: Current step + properties: + id: + type: integer + example: 299 + name: + type: string + example: Prospection + probability: + type: integer + description: Opportunity probability + example: 75 + maximum: 100 + minimum: 0 + note: + type: string + description: Opportunity note + owner: + type: object + description: Staff owning the opportunity + properties: + id: + type: integer + example: 12 + type: + type: string + example: staff + enum: + - staff + - thirdcontact + assigned_staff_ids: + type: array + description: Staff(s) ID assigned to the opportunity + example: + - 133 + - 299 + items: + type: integer + nullable: true + contact_ids: + type: array + description: Contact(s) ID responsible for the opportunity + example: + - 222 + - 876 + items: + type: integer + nullable: true + company_id: + type: integer + description: Company linked to the opportunity + example: 1220 + nullable: true + individual_id: + type: integer + description: Individual linked to the opportunity + example: 299 + nullable: true + main_doc_id: + type: integer + description: Internal ID of the main opportunity document + nullable: true + example: 22 + related: + $ref: >- + #/components/schemas/OpportunityUpdate/properties/related + _embed: + $ref: '#/components/schemas/OpportunityItem/properties/_embed' + - title: Task + type: object + description: Task base object + x-examples: {} + properties: + id: + type: integer + readOnly: true + description: Task ID + example: 6657 + title: + type: string + example: Meeting + description: Task title + nullable: true + description: + type: string + example: Monthly meeting with consulting team + description: Task description + nullable: true + status: + type: string + example: todo + description: Task status + readOnly: true + enum: + - todo + - done + is_private: + type: boolean + description: Task is private or public + default: false + due_date: + description: due date and time of task + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + assigned_staff_ids: + type: array + nullable: true + items: + type: integer + description: staffs assigned to the task + example: 1 + label: + $ref: '#/components/schemas/LabelBaseItem/properties/label' + updated: + description: Updated date of task (system) + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + readOnly: true + created: + description: Created date of task (system) + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + readOnly: true + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: Main object related to the task (limit to 1). + items: + type: object + additionalProperties: false + description: Main object related to the task + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - invoice + - creditnote + - estimate + - order + owner: + description: Owner of the task + type: object + properties: + type: + type: string + description: owner type + enum: + - staff + id: + type: integer + description: Owner id + example: 51 + company_id: + type: integer + description: Company linked to the task + example: 1 + readOnly: true + nullable: true + individual_id: + type: integer + description: Individual linked to the task + example: 92 + readOnly: true + nullable: true + contact_id: + type: integer + description: Contact linked to the task + example: 958 + readOnly: true + nullable: true + priority: + type: integer + description: Priority level of the task + example: 1 + minimum: 0 + maximum: 1 + - $ref: '#/components/schemas/ContactItem/allOf/0' + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + - title: Calendar Event + type: object + properties: + id: + type: integer + description: Id of calendar event + readOnly: true + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + title: + type: string + description: Title of calendar event + description: + type: string + description: Description for calendar event + is_private: + type: boolean + description: Calendar Event is private or public + all_day: + type: boolean + description: Calendar event is scheduled for the whole day + default: false + datetime_start: + type: string + format: date-time + maxLength: 29 + description: Calendar Event starting date / hour + example: '2020-01-01T00:00:00+01:00' + datetime_end: + type: string + format: date-time + maxLength: 29 + description: Calendar Event ending date / hour + example: '2020-01-01T00:00:00+01:00' + participants: + type: array + description: Participants (Staff, Contact or External Participants) + items: + type: object + description: Participant linked + properties: + id: + oneOf: + - type: integer + - type: string + description: Id of participant + type: + type: string + enum: + - staff + - contact + - external + description: Type of participant + label: + $ref: '#/components/schemas/LabelBaseItem/properties/label' + created: + type: string + format: date-time + description: Creation date / hour + example: '2020-05-29T11:22:03+02:00' + readOnly: true + updated: + type: string + format: date-time + description: Last update date / hour + example: '2020-05-29T11:22:03+02:00' + readOnly: true + provider_calendar: + type: object + nullable: true + description: Calendar + properties: + id: + type: string + name: + type: string + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: Main object related to the calendar event (limit to 1). + items: + type: object + additionalProperties: false + description: Main object related to the calendar event + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - estimate + - invoice + - creditnote + - order + company_id: + type: integer + nullable: true + description: Company linked to calendar event + individual_id: + type: integer + nullable: true + description: Individual linked to calendar event + contact_id: + type: integer + nullable: true + description: Contact linked to calendar event + priority: + type: integer + description: Priority level of the calendar event + minimum: 0 + maximum: 1 + - title: Email + allOf: + - $ref: '#/components/schemas/EmailItem/allOf/0' + - type: object + properties: + snippet: + type: string + description: Short description + related: + type: array + minItems: 0 + nullable: false + description: List all direct and indirect relations of the activity’s main object + items: + oneOf: + - type: object + title: Company or Contact + additionalProperties: false + description: Object related to the activity + properties: + id: + $ref: '#/components/schemas/Deals/properties/object/properties/id' + type: + type: string + example: client + description: related type + enum: + - prospect + - client + - supplier + - people + name: + type: string + description: related name + example: Customer + phone_number: + type: string + nullable: true + description: phone number + example: '+33100000000' + mobile_number: + type: string + nullable: true + description: mobile phone number + example: '+33600000000' + email: + type: string + nullable: true + description: email address + example: john@example-company.com + - type: object + title: Other related + additionalProperties: false + description: Object related to the activity + properties: + id: + $ref: '#/components/schemas/Deals/properties/object/properties/id' + type: + type: string + example: opportunity + description: related type + name: + type: string + example: OPP-003 + description: related name + DealsFilters: + title: dealsFilter + type: object + description: The deals filters + properties: + filters: + type: object + description: Activity filters + properties: + due_date: + type: object + description: The filter by due date + nullable: true + properties: + start: + type: string + format: date-time + end: + type: string + format: date-time + additionalProperties: false + entities: + description: The filter by entities + example: + - calendar_event + - task + - phonecall + type: array + items: + type: string + enum: + - calendar_event + - task + - phonecall + labels: + description: >- + Labels filters (will filter all activities with one of the + labels) + type: object + properties: + events: + type: array + description: The filter by event labels + minItems: 1 + nullable: true + example: + - 5 + - 15 + items: + type: integer + tasks: + type: array + description: The filter by task labels + minItems: 1 + nullable: true + example: + - 5 + - 15 + items: + type: integer + phonecalls: + type: array + description: The filter by phonecall labels + minItems: 1 + nullable: true + example: + - 5 + - 15 + items: + type: integer + additionalProperties: false + completed: + type: boolean + description: The completed filter + nullable: true + example: true + staffs: + type: array + description: The filter by staffs + minItems: 1 + nullable: true + example: + - 5 + - 15 + items: + type: integer + additionalProperties: false + required: + - filters + CrmActivity: + type: object + description: The CRM activity + properties: + id: + type: string + description: Id of activity + due_date: + type: string + format: date-time + description: Due date of activity + date: + type: string + description: Date of activity + format: date-time + related: + type: object + nullable: true + description: Related object of activity + required: + - type + - id + - name + properties: + type: + type: string + example: third + pattern: ^[a-zA-Z_-]+$ + name: + type: string + example: My companies + minLength: 1 + id: + oneOf: + - type: string + example: 1056 + minLength: 1 + - type: integer + example: 1056 + minimum: 1 + - type: array + items: + oneOf: + - type: string + example: 1056 + minLength: 1 + - type: integer + example: 1056 + minimum: 1 + companies: + type: array + description: Related companies of activity + minItems: 0 + items: + type: object + description: Company + required: + - type + - id + - name + properties: + type: + type: string + example: client + enum: + - prospect + - client + - supplier + id: + type: integer + example: 1056 + minimum: 1 + name: + type: string + example: My companies + minLength: 1 + people: + type: object + description: Related people of activity + nullable: true + required: + - id + - name + properties: + id: + type: integer + example: 1056 + minimum: 1 + name: + type: string + example: My companies + minLength: 1 + event: + type: string + enum: + - email.sent + - email.link.sent + - task.completed + - phonecall.created + - calendar_event.created + - email.scheduled.sent + description: Event type + author: + $ref: '#/components/schemas/Activity/properties/_embed/properties/author' + object: + type: object + description: Event object of activity + required: + - type + - id + properties: + type: + type: string + example: task + pattern: ^[a-zA-Z_-]+$ + id: + oneOf: + - type: string + example: 1056 + minLength: 1 + - type: integer + example: 1056 + minimum: 1 + - type: array + items: + oneOf: + - type: string + example: 1056 + minLength: 1 + - type: integer + example: 1056 + minimum: 1 + more: + type: object + description: Additional informations + example: + old: client + new: prospect + additionalProperties: true + required: + - id + - due_date + - date + - related + - people + - companies + - event + - author + - object + - more + CrmActivityFilters: + title: activityFilter + type: object + description: The activity filters + properties: + filters: + type: object + description: Activity filters + properties: + date: + type: object + description: The filter by date + nullable: true + properties: + start: + type: string + format: date-time + end: + type: string + format: date-time + additionalProperties: false + due_date: + $ref: >- + #/components/schemas/DealsFilters/properties/filters/properties/due_date + events: + type: array + description: The filter by events + minItems: 1 + nullable: true + example: + - email.sent + - annotation.created + items: + type: string + authors: + type: array + description: The filter by authors + minItems: 1 + nullable: true + example: + - 5 + - 15 + items: + type: integer + companies: + type: object + description: The filter by companies + nullable: true + minProperties: 1 + properties: + match: + type: array + nullable: true + description: > + Search activities related to one or more companies. If + empty, search activities without related companies. + example: + - 58 + - 105 + items: + type: integer + minimum: 1 + not_match: + type: array + nullable: true + description: > + Search activities not related to one or more companies. If + empty, search activities with one or more related companies + example: [] + items: + type: integer + minimum: 1 + peoples: + type: object + description: The filter by peoples + nullable: true + minProperties: 1 + properties: + match: + type: array + nullable: true + description: > + Search activities related to one or more peoples. If empty, + search activities without related peoples. + example: + - 58 + - 105 + items: + type: integer + minimum: 1 + not_match: + type: array + nullable: true + description: > + Search activities not related to one or more peoples. If + empty, search activities with one or more related peoples + example: [] + items: + type: integer + minimum: 1 + event.labels: + $ref: >- + #/components/schemas/DealsFilters/properties/filters/properties/labels/properties/events + task.labels: + $ref: >- + #/components/schemas/DealsFilters/properties/filters/properties/labels/properties/tasks + phonecall.statuses: + type: array + description: The filter by phonecall statuses + minItems: 1 + nullable: true + example: + - busy + - wrongnumber + items: + type: string + phonecall.sources: + type: array + description: The filter by phonecall sources + minItems: 1 + nullable: true + example: + - incoming + - outcoming + items: + type: string + phonecall.labels: + $ref: >- + #/components/schemas/DealsFilters/properties/filters/properties/labels/properties/phonecalls + related.types: + type: object + description: The filter by related types + nullable: true + minProperties: 1 + properties: + match: + type: array + nullable: true + description: | + Search activities related to one or more types. + example: + - document + - third + items: + type: string + enum: + - document + - third + - opportunity + - people + not_match: + type: array + nullable: true + description: | + Search activities not related to one or more types. + example: [] + items: + type: string + enum: + - document + - third + - opportunity + - people + additionalProperties: false + required: + - filters + CrmActivityAggregations: + title: activityAggregations + type: object + description: The activity aggregations + properties: + by_event: + type: object + description: Count activity by event + properties: + email.sent: + type: integer + example: 5 + minimum: 0 + email.link.sent: + type: integer + example: 5 + minimum: 0 + calendar_event.created: + type: integer + example: 1 + minimum: 0 + phonecall.created: + type: integer + example: 0 + minimum: 0 + task.completed: + type: integer + example: 6 + minimum: 0 + additionalProperties: true + by_month_and_event: + type: object + description: >- + Count activity by month and by event. Key are the first day of the + month + additionalProperties: true + example: + '2021-05-01': + event.created: 36 + email.sent: 75 + '2021-06-01': + event.created: 12 + email.sent: 25 + by_week_and_event: + type: object + description: >- + Count activity by week and by event. Key are the first day of the + week + additionalProperties: true + example: + '2021-05-24': + email.sent: 13 + task.completed: 27 + '2021-05-31': + email.sent: 8 + task.completed: 4 + by_day_and_event: + type: object + description: Count activity by day and by event. + additionalProperties: true + example: + '2021-06-29': + event.created: 2 + '2021-06-30': + email.sent: 6 + by_author_and_event: + type: object + description: Count activity by author and event. + additionalProperties: true + example: + '1': + phonecall.created: 57 + event.created: 24 + email.sent: 5 + '95': + task.completed: 1 + by_author_and_label: + type: object + description: Count activity by author and event then by label id. + additionalProperties: true + example: + '1': + event.created: + '0': 17 + '2377730': 1 + phonecall.created: [] + task.completed: + '5': 1 + '95': + task.completed: [] + CrmActivityMetas: + title: listingMeta + type: object + description: The listing meta + properties: + authors: + type: array + description: List of authors + minItems: 1 + items: + $ref: '#/components/schemas/CrmActivity/properties/author' + task: + type: object + description: The task metas + required: + - labels + properties: + labels: + type: array + description: List of event labels + minItems: 1 + items: + type: object + description: The label + required: + - id + - label + properties: + id: + type: integer + minimum: 1 + description: Label identifier + example: 156 + label: + type: string + minLength: 1 + description: Label + example: Remember + color: + type: string + example: '#f7dcf5' + description: Color of label + nullable: true + event: + type: object + description: The event metas + required: + - labels + properties: + labels: + type: array + description: List of event labels + minItems: 1 + items: + $ref: >- + #/components/schemas/CrmActivityMetas/properties/task/properties/labels/items + phonecall: + type: object + description: The phonecall metas + required: + - statuses + - labels + properties: + labels: + type: array + description: List of phonecall labels + minItems: 1 + items: + $ref: >- + #/components/schemas/CrmActivityMetas/properties/task/properties/labels/items + statuses: + type: array + description: List of statuses + minItems: 1 + items: + type: object + description: The status + required: + - id + - label + properties: + id: + type: string + description: Label identifier + example: connected + label: + type: string + minLength: 1 + description: Label + example: Remember + permissions: + type: object + description: The permissions + required: + - favorite + - export + properties: + favorite: + type: boolean + description: Can access to export + export: + type: boolean + description: Can access to favorite + working_days: + type: array + minItems: 0 + maxItems: 7 + uniqueItems: true + example: + - 1 + - 2 + - 3 + - 4 + - 5 + description: 'The working days (Sunday - Saturday : 0 - 6)' + items: + type: integer + minimum: 0 + maximum: 6 + working_hours: + type: object + description: The working hours + required: + - start_time + - end_time + properties: + start_time: + type: string + description: The start time + example: '09:00:00' + nullable: true + end_time: + type: string + description: The end time + example: '18:00:00' + nullable: true + required: + - permissions + - event + - task + - authors + - phonecall + - working_days + - working_hours + ExportParams: + title: exportParams + type: object + description: The output params + x-examples: + example-1: + output_format: csv + charset: UTF-8 + columns: + - date + - due_date + properties: + output_format: + description: Output format of file + default: pdf + enum: + - csv + - pdf + type: string + charset: + description: Output charset for export + default: UTF-8 + enum: + - UTF-8 + - ISO-8859-1 + type: string + columns: + description: List of specifics columns to export + nullable: true + type: array + items: + type: string + required: + - output_format + - charset + AccountingJournalExportParams: + title: exportParams + type: object + description: The output params + x-examples: + example-1: + output_format: csv + charset: UTF-8 + columns: + - date + - due_date + properties: + output_format: + description: Output format of file + default: csv + enum: + - csv + - fec + type: string + charset: + description: Output charset for export + default: UTF-8 + enum: + - UTF-8 + - ISO-8859-1 + type: string + columns: + description: List of specifics columns to export. + nullable: true + type: array + items: + type: string + enum: + - type + - document.public_link + - company-individual.reference + - document.service_end_date + - document.service_start_date + - document.currency + - date + - document.subject + - company-individual.name + - documents.linked + - code.label + - document.external_reference + - document.external_reference + - debit + - credit + - analytic_code + - analytic_plan + - code.value + - document.due_date + - auxiliary_code + - document.number + - label + - amount.direction + - amount.value + - accounting_type + required: + - output_format + - charset + ListingUserContext: + title: listingUserContext + type: object + description: The saved user context for listings + properties: + sorting: + nullable: true + type: object + description: The listing sorting + required: + - field + - direction + properties: + field: + type: string + direction: + type: string + enum: + - asc + - desc + pagination: + nullable: true + type: object + description: The listing pagination + required: + - current_page + - per_page + properties: + current_page: + type: integer + minimum: 1 + example: 1 + per_page: + type: integer + minimum: 1 + example: 15 + columns: + nullable: true + type: array + description: The listing selected columns + example: + - id + - name + items: + type: string + filters: + nullable: true + type: object + description: The listing filters + additionalProperties: true + example: + name: + mode: contain + value: search + columns_size: + nullable: true + type: array + description: The listing columns size + items: + type: object + required: + - name + - width + properties: + name: + type: string + minLength: 1 + example: name + width: + type: number + example: 534 + display: + nullable: true + type: object + description: The listing display + required: + - sorting + - pagination + - columns + - filters + - columns_size + - display + CustomActivity: + title: customActivity + type: object + description: Custom Activity Object + properties: + id: + type: string + readOnly: true + example: xZk348lb2 + type_id: + type: string + example: vJ340fF1 + description: Activity type identifier + action: + type: string + example: Jean-pierre has opened a new ticket on Xeno. + relation: + type: object + description: Object linked to custom activity + properties: + type: + type: string + enum: + - client + - prospect + - supplier + - opportunity + - contact + example: prospect + id: + type: integer + example: 123 + date: + type: string + default: Current datetime + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Date of activity (ISO 8601) + author: + readOnly: true + type: object + description: Author of the custom activity + properties: + type: + type: string + default: staff + enum: + - staff + id: + type: integer + example: 11 + created: + readOnly: true + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Creation date of custom activity (ISO 8601) + updated: + readOnly: true + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Updated date of custom activity (ISO 8601) + CustomActivityCreate: + $ref: '#/components/schemas/CustomActivity' + CustomActivityFilters: + title: customActivityFilters + type: object + description: Available filters for Custom Events Search + properties: + filters: + type: object + properties: + date: + type: object + properties: + start: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + end: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + type_id: + description: ID of custom activity type + type: string + example: Voluptates aspernatur + staff_id: + type: integer + example: 1 + required: + - filters + CustomActivityType: + title: customActivityType + type: object + description: Represents a type of custom activity + properties: + id: + type: string + readOnly: true + example: xZk348lb2 + minLength: 1 + description: Activity type identifier + name: + type: string + example: Xeni + minLength: 1 + description: Activity type name + created: + readOnly: true + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Creation date of custom activity type (ISO 8601) + updated: + readOnly: true + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Updated date of custom activity type (ISO 8601) + author: + readOnly: true + type: object + description: Author of the custom activity type + properties: + type: + type: string + default: staff + enum: + - staff + id: + type: integer + example: 11 + required: + - name + PersonalAccessTokenCreateItem: + title: personalAccessToken + type: object + description: The personal access token for api + x-examples: {} + properties: + name: + type: string + description: The personal access token name + example: MyToken + user_id: + description: The linked user + example: 1257 + oneOf: + - type: integer + description: The staff id + - type: string + description: The current staff + enum: + - me + scopes: + type: array + description: The allowed scopes + minItems: 1 + example: + - companies.read + - companies.write + items: + type: string + description: The scope + required: + - name + - scopes + - user_id + PersonalAccessTokenItem: + title: personalAccessTokenItem + allOf: + - title: accessTokenItem + type: object + description: The access token for API + x-examples: {} + properties: + id: + type: string + description: The access token id + example: >- + 091d4c6200421657090c8ef5e5349172e668f507050a13e6ae0e3f2ff4b743acf5092f48faa1f98d + client_id: + type: string + description: The OAuth client id + example: 670fadef-576e-47a1-9358-62784605c024 + user: + description: The linked user + type: object + properties: + id: + type: integer + description: The user id + example: 154 + type: + type: string + description: User type + enum: + - staff + required: + - id + - type + expiration: + type: string + format: date-time + description: The token expiration date + example: 2120-05-25T17:28:29+0100 + scopes: + type: array + description: The allowed scopes + minItems: 1 + example: + - companies.read + - companies.write + items: + type: string + description: The scope + required: + - id + - client_id + - user + - expiration + - scopes + - type: object + properties: + name: + type: string + description: The token name + example: My Token 7 + required: + - name + PersonalAccessTokenMetas: + title: listingMeta + type: object + description: The personal access tokens metas + properties: + staffs: + type: array + description: List of staffs + minItems: 1 + items: + $ref: '#/components/schemas/CrmActivity/properties/author' + permissions: + type: object + description: The permissions + required: + - favorite + - export + properties: + favorite: + type: boolean + description: Can access to export + export: + type: boolean + description: Can access to favorite + required: + - permissions + - staffs + Client: + title: client + type: object + description: The OAuth client for Sellsy API + x-examples: {} + allOf: + - type: object + properties: + type: + type: string + description: The OAuth client type + enum: + - public + - private + - personal + - personal_access_token + - title: OAuth2 client for Sellsy API + type: object + description: OAuth2 client for Sellsy API + x-examples: {} + properties: + id: + type: string + description: The OAuth client id + example: 670fadef-576e-47a1-9358-62784605c024 + readOnly: true + name: + type: string + description: OAuth client name + example: MyToken + redirect_uri: + type: array + description: Redirect URIs + items: + type: string + scopes: + type: array + description: Allowed scopes for OAuth client + minItems: 1 + example: + - companies.read + - companies.write + items: + type: string + description: The scope + delegated: + type: boolean + description: >- + For `personal` type only.

Indicates if the + token can impersonate other staffs using the `X-Switch-User` + header.
+ + For example, use the header `X-Switch-User: staff:1` to send API + requests on behalf of the staff with identifier = 1.

+ + Only administrators can create such accesses, and only active + staffs can be impersonated. Be careful by using this feature, as + it generates real actions for impersonated users. + default: false + nullable: true + single_login: + type: boolean + description: >- + For `public` or `private` type only.

If set + to `true`, generating an access token for this client will + revoke all previous tokens linked to this client and the current + user. + default: false + nullable: true + user: + description: The linked user + type: object + nullable: true + properties: + id: + type: integer + description: The user id + example: 154 + type: + type: string + description: User type + enum: + - staff + required: + - id + - type + readOnly: true + validated_at: + type: string + format: date-time + nullable: true + description: date the OAuth client was approved by Sellsy + readOnly: true + required: + - id + - name + - type + - user + - scopes + - redirect_uri + - validated_at + ClientWSecret: + title: API Client + allOf: + - title: client + type: object + description: The OAuth client for Sellsy API + x-examples: {} + allOf: + - type: object + properties: + type: + type: string + description: The OAuth client type + enum: + - public + - private + - personal + - personal_access_token + - $ref: '#/components/schemas/Client/allOf/1' + required: + - id + - name + - type + - user + - scopes + - redirect_uri + - validated_at + - type: object + properties: + secret: + type: string + description: > + Client secret
> This property is only exposed on + response for the create endpoint. Remember to save the + value. + example: 9f8d07fd0eb80016476c6fc283505b5d95bcbcf39f24eb4b506af256a280c272 + ClientCreate: + title: clientCreate + type: object + description: The OAuth client for API + x-examples: {} + allOf: + - type: object + properties: + type: + type: string + description: The OAuth client type + enum: + - public + - private + - personal + - personal_access_token + - title: clientUpdate + type: object + description: The OAuth client for API + x-examples: {} + allOf: + - type: object + properties: + user_id: + description: For `personal` type only, linked user id. + example: 1257 + nullable: true + oneOf: + - type: integer + description: Staff id + - type: string + description: Current staff + enum: + - me + - $ref: '#/components/schemas/Client/allOf/1' + required: + - name + - type + - redirect_uri + - user_id + - scopes + ClientUpdate: + title: clientUpdate + type: object + description: The OAuth client for API + x-examples: {} + allOf: + - type: object + properties: + user_id: + description: For `personal` type only, linked user id. + example: 1257 + nullable: true + oneOf: + - type: integer + description: Staff id + - type: string + description: Current staff + enum: + - me + - $ref: '#/components/schemas/Client/allOf/1' + AccountingCode: + type: object + properties: + id: + type: integer + readOnly: true + description: Id of accounting code + example: 6657 + code: + type: string + description: accounting code + example: 411000 + label: + type: string + description: Label of accounting code + example: Provision of services + views: + type: array + description: List of views where accounting code is usable + items: + type: string + enum: + - third + - purchase + - sell + - bank + - reconciliation + required: + - code + - label + - views + AccountingCodeCreate: + title: Accounting code + description: '' + type: object + properties: + code: + type: string + description: accounting code + example: '411000' + maxLength: 13 + label: + type: string + description: Label of accounting code + example: Provision of services + maxLength: 255 + views: + type: array + description: List of views where accounting code is usable + items: + type: string + enum: + - third + - purchase + - sell + - bank + - reconciliation + required: + - code + AccountingJournal: + type: object + title: Accounting Entry + properties: + id: + type: integer + readOnly: true + description: Id of accounting entry + example: 6657 + related: + description: Objects linked to the accounting entry + type: array + items: + type: object + properties: + type: + type: string + description: Object type + enum: + - company + - individual + - invoice + - creditnote + - purInvoice + - purCreditNote + - expense + - bankDeposit + id: + type: integer + description: Object ID + analytic_code: + type: string + description: Analytic code + nullable: true + amount: + type: object + description: Amount of the accounting entry + properties: + direction: + description: Direction of the accounting entry (debit or credit) + type: string + enum: + - debit + - credit + value: + description: Amount value of the accounting entry + type: string + example: '123.22' + code: + type: object + description: Accounting code + properties: + label: + type: string + description: Label of accounting code + example: Sales Income + value: + type: string + description: Accounting code + example: '4000' + type: + type: string + example: SALES + date: + type: string + description: Date of accounting entry + format: date + label: + type: string + description: Label of accounting entry + example: Invoice n°FACT-20210811-00362 - Acme Corporation + recorded: + type: boolean + description: Accounting entry has ben exported or not + accounting_type: + type: integer + description: Type of accounting (for Sage export) + enum: + - 1 + - 2 + analytic_plan: + type: integer + description: Analytic plan number (for Sage export) + enum: + - 1 + auxiliary_code: + type: string + nullable: true + description: Auxiliary code + example: 0EX11C + document: + deprecated: true + allOf: + - type: object + description: Document linked to the accounting entry + nullable: true + properties: + type: + type: string + example: invoice + description: Document type + enum: + - invoice + - creditnote + - purInvoice + - purCreditNote + id: + type: integer + description: Unique ID + example: 6657 + number: + description: Document number + type: string + example: INV-20210810-00331 + due_date: + type: string + example: Due date of document + format: date + subject: + type: string + description: Document Subject + example: null + public_link: + type: string + format: uri + description: Public link of document + nullable: true + service_start_date: + type: string + description: Service start date of document + format: date + nullable: true + service_end_date: + type: string + description: Service end date of document + format: date + nullable: true + currency: + type: string + description: Currency of document + example: € + external_reference: + type: string + description: External reference of document + nullable: true + example: EXT-INV-20210810-00331 + documents: + description: Documents linked to the accounting entry + nullable: true + type: array + items: + allOf: + - $ref: >- + #/components/schemas/AccountingJournal/properties/document/allOf/0 + companies: + description: Companies linked to the accounting entry + nullable: true + type: array + items: + type: object + properties: + name: + type: string + description: Name of company + example: Acme Corporation + reference: + type: string + description: Company reference + individuals: + description: Individuals linked to the accounting entry + nullable: true + type: array + items: + type: object + properties: + name: + type: string + description: Name of individual + example: Acme Corporation + reference: + type: string + description: Individual reference + TaxSettingsInput: + type: object + properties: + vat_id: + type: integer + description: Id of taxe + example: 6657 + vat_mode: + type: string + enum: + - debit + - collection + description: VAT Mode + example: debit + vat_mention: + type: string + nullable: true + description: VAT Mention + example: mention + display_tax_mention: + type: boolean + description: If true, show tax mention + example: true + rate_category_id: + type: integer + description: Rate category ID + example: 57 + discount: + type: object + description: Default discount + properties: + type: + type: string + enum: + - amount + - percent + description: Type of discount + example: percent + value: + type: string + description: Value of discount + example: 55 + by_rows: + type: boolean + description: If True, each row can have different discount + example: false + required: + - type + - value + - by_rows + use_ecotax: + type: boolean + description: If True, using ecotax + example: true + use_bonuses: + type: boolean + description: If True, using tax bonuses + example: false + required: + - vat_id + - vat_mode + - vat_mention + - display_tax_mention + - rate_category_id + - discount + - use_ecotax + - use_bonuses + TaxSettingsOutput: + type: object + properties: + vat_id: + type: integer + description: Id of taxe + example: 6657 + vat_mode: + type: string + enum: + - debit + - collection + description: VAT Mode + example: debit + vat_mention: + type: string + nullable: true + description: VAT Mention + example: mention + display_tax_mention: + type: boolean + description: If true, show tax mention + example: true + rate_category_id: + type: integer + description: Rate category ID + example: 57 + discount: + type: object + description: Default discount + properties: + type: + type: string + enum: + - amount + - percent + description: Type of discount + example: percent + value: + type: string + description: Value of discount + example: 55 + by_rows: + type: boolean + description: If True, each row can have different discount + example: false + required: + - type + - value + - by_rows + use_ecotax: + type: boolean + description: If True, using ecotax + example: true + use_bonuses: + type: boolean + description: If True, using tax bonuses + example: false + required: + - vat_id + - vat_mode + - vat_mention + - display_tax_mention + - rate_category_id + - discount + - use_ecotax + - use_bonuses + TaxFilter: + title: taxFilter + type: object + description: The tax filters + properties: + filters: + type: object + description: Tax filters + properties: + rate: + description: Filter the taxes list by rate amount + properties: + min: + type: number + example: 10 + description: Minimum tax rate amount + max: + type: number + example: 20 + description: Maximum tax rate amount + label: + type: string + description: Filter the taxes list by label + example: TVA UK + is_active: + type: boolean + example: true + description: Filter the taxes list by active state + RateCategoryMetadata: + title: Rate category Meta + type: object + description: '' + x-examples: {} + additionalProperties: false + properties: + available_layouts: + type: array + description: Available layouts for the rate categories + uniqueItems: true + items: + type: string + enum: + - estimates + - invoices + - credit_notes + - models + - deliveries + - orders + - proformas + accounting: + title: Accounting + type: object + properties: + enabled: + type: boolean + description: if the plugin accounting if enabled + example: true + accounting_codes: + type: array + description: list of sell accounting codes + items: + type: object + properties: + label: + type: string + description: label of accounting code + example: Clients + value: + type: integer + description: id of accounting code + example: 1234567 + code: + type: string + description: accounting code + example: 445000 + use_specific_code_for_discount: + type: boolean + description: if specific code are used for discount + example: false + currencies: + type: array + description: List of currencies + minItems: 1 + uniqueItems: true + items: + type: object + additionalProperties: false + properties: + label: + type: string + description: Label of currency + example: EUR + value: + type: integer + description: Id of currency + example: 12 + required: + - label + - value + document_layouts: + type: array + description: List of document layouts + minItems: 1 + uniqueItems: true + items: + type: object + additionalProperties: false + properties: + label: + type: string + description: Label of the layout + example: Apparence par défaut + value: + type: integer + description: Id of the layout + example: 42 + required: + - label + - value + required: + - available_layouts + - accounting + - currencies + - document_layouts + Ocr: + title: ocr + type: object + description: Represents an OCR document + properties: + id: + type: integer + readOnly: true + example: 1 + minimum: 1 + staff_id: + type: integer + description: ID of staff who created ocr document + readOnly: true + example: 1 + minimum: 1 + file_name: + type: string + description: File name of uploaded OCR document + example: myfile.png + minLength: 1 + linked_type: + description: Type of linked object + type: string + enum: + - purInvoice + example: purInvoice + linked_id: + type: integer + description: Id of linked object + nullable: true + example: 123 + created_at: + type: string + default: Current datetime + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Creation date of OCR document (ISO 8601) + completed_at: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Completion date of OCR process (ISO 8601) + nullable: true + state: + type: string + description: state of OCR process + enum: + - pending + - processing + - completed + - error + error_code: + type: integer + description: | + Error code + * `1` - Too many page error + * `2` - Technical error + * `3` - File error + enum: + - 1 + - 2 + - 3 + - null + nullable: true + OcrPurInvoiceMetas: + title: Metadata + type: object + properties: + user_can_validate_pur_invoice: + type: boolean + description: 'Use can validate a purchase invoice ' + required: + - user_can_validate_pur_invoice + InvoicingConformityState: + title: conformityState + type: object + description: Invoice conformity state informations + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + active: + type: boolean + description: Invoice conformity state + readOnly: true + activated_by: + allOf: + - $ref: '#/components/schemas/CrmActivity/properties/author' + readOnly: true + nullable: true + activated_at: + type: string + default: Current datetime + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Activation date (ISO 8601) + readOnly: true + nullable: true + pdf: + type: string + nullable: true + description: PDF url + format: uri + readOnly: true + OpportunityCreate: + title: Opportunity + type: object + allOf: + - title: Opportunity + type: object + description: Describe input body to update an Opportunity + properties: + name: + type: string + description: Opportunity name + example: New website + owner_id: + type: integer + description: >- + Owner of the opportunity (staff id). If not provided, the ID of + the logged-in staff will be used by default. + minimum: 1 + status: + type: string + description: Opportunity status + example: won + enum: + - open + - won + - lost + - cancelled + - closed + - late + default: open + pipeline: + type: integer + description: Pipeline + example: 9763 + step: + type: integer + description: Pipeline Step + example: 299 + amount: + type: string + description: >- + Potential Opportunity Amount (in the default currency selected + for the account) + example: '72000.99' + probability: + type: integer + description: Opportunity probability + example: 75 + maximum: 100 + minimum: 0 + source: + type: integer + description: >- + Source of opportunity creation (null will use the default + defined in account preferences) + example: 1 + due_date: + type: string + description: Due date of the opportunity + format: date + nullable: true + example: '2020-02-01' + note: + type: string + description: Opportunity note + main_doc_id: + type: integer + description: Internal ID of the main opportunity document + nullable: true + example: 22 + assigned_staff_ids: + type: array + uniqueItems: true + description: > + Staff(s) ID assigned to the opportunity
The same staff + cannot be present more than once + example: + - 133 + - 299 + items: + type: integer + nullable: true + contact_ids: + type: array + description: Contact(s) ID responsible for the opportunity + example: + - 222 + - 876 + items: + type: integer + nullable: true + related: + $ref: '#/components/schemas/OpportunityUpdate/properties/related' + - type: object + properties: + number: + type: string + description: Opportunity number + example: OPP-1155 + owner_id: + type: integer + description: >- + Owner of the opportunity (staff id). If not provided, the ID of + the logged-in staff will be used by default. + minimum: 1 + created: + description: Date of creation of the opportunity + type: string + format: date-time + required: + - name + - pipeline + - step + - related + OpportunityUpdate: + title: Opportunity + type: object + description: Describe input body to update an Opportunity + properties: + name: + type: string + description: Opportunity name + example: New website + owner_id: + type: integer + description: >- + Owner of the opportunity (staff id). If not provided, the ID of the + logged-in staff will be used by default. + minimum: 1 + status: + type: string + description: Opportunity status + example: won + enum: + - open + - won + - lost + - cancelled + - closed + - late + default: open + pipeline: + type: integer + description: Pipeline + example: 9763 + step: + type: integer + description: Pipeline Step + example: 299 + amount: + type: string + description: >- + Potential Opportunity Amount (in the default currency selected for + the account) + example: '72000.99' + probability: + type: integer + description: Opportunity probability + example: 75 + maximum: 100 + minimum: 0 + source: + type: integer + description: >- + Source of opportunity creation (null will use the default defined in + account preferences) + example: 1 + due_date: + type: string + description: Due date of the opportunity + format: date + nullable: true + example: '2020-02-01' + note: + type: string + description: Opportunity note + main_doc_id: + type: integer + description: Internal ID of the main opportunity document + nullable: true + example: 22 + assigned_staff_ids: + type: array + uniqueItems: true + description: > + Staff(s) ID assigned to the opportunity
The same staff cannot + be present more than once + example: + - 133 + - 299 + items: + type: integer + nullable: true + contact_ids: + type: array + description: Contact(s) ID responsible for the opportunity + example: + - 222 + - 876 + items: + type: integer + nullable: true + related: + title: Related + type: array + minItems: 1 + description: | + Related objects : + - There can be only one company or one individual at a time (required) + - Contact should be linked to company/individual linked + items: + type: object + additionalProperties: false + properties: + id: + type: integer + example: 1 + type: + type: string + example: company + enum: + - company + - individual + - contact + required: + - id + - type + OpportunityItem: + title: Opportunity + type: object + description: Describe opportunity object + properties: + id: + type: integer + description: Internal Opportunity ID + readOnly: true + example: 1 + number: + type: string + description: External Opportunity ID + example: OPP-1155 + name: + type: string + description: Opportunity name + example: New website + source: + type: object + description: Source of opportunity creation + properties: + id: + type: integer + example: 1 + name: + type: string + example: Internal + due_date: + type: string + description: Due date of the opportunity + format: date + example: '1970-01-01' + nullable: true + created: + type: string + description: Creation date of the opportunity + format: date-time + example: '1970-01-01T00:00:00+00:00' + updated_status: + type: string + description: Date of last opportunity status update + format: date-time + example: '1970-01-01T00:00:00+00:00' + nullable: true + status: + type: string + description: Opportunity status + example: won + enum: + - open + - won + - lost + - cancelled + - closed + - late + amount: + type: object + description: Potential amount of the opportunity with the currency + properties: + value: + type: string + description: Amount + example: 72000.99 + currency: + type: string + description: Currency (ISO 4217) + example: EUR + pipeline: + type: object + description: Current pipeline + properties: + id: + type: integer + example: 9763 + name: + type: string + example: Commercial North + step: + type: object + description: Current step + properties: + id: + type: integer + example: 299 + name: + type: string + example: Prospection + probability: + type: integer + description: Opportunity probability + example: 75 + maximum: 100 + minimum: 0 + note: + type: string + description: Opportunity note + owner: + type: object + description: Staff owning the opportunity + properties: + id: + type: integer + example: 12 + type: + type: string + example: staff + enum: + - staff + - thirdcontact + assigned_staff_ids: + type: array + description: Staff(s) ID assigned to the opportunity + example: + - 133 + - 299 + items: + type: integer + nullable: true + contact_ids: + type: array + description: Contact(s) ID responsible for the opportunity + example: + - 222 + - 876 + items: + type: integer + nullable: true + company_id: + type: integer + description: Company linked to the opportunity + example: 1220 + nullable: true + individual_id: + type: integer + description: Individual linked to the opportunity + example: 299 + nullable: true + main_doc_id: + type: integer + description: Internal ID of the main opportunity document + nullable: true + example: 22 + related: + $ref: '#/components/schemas/OpportunityUpdate/properties/related' + _embed: + title: Opportunity embed + readOnly: true + description: Opportunity embed + allOf: + - type: object + properties: + assigned_staffs: + type: array + description: Staff(s) assigned to the opportunity + items: + $ref: '#/components/schemas/CrmActivity/properties/author' + company: + nullable: true + description: Company object related to opportunity + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + contacts: + type: array + description: Contact(s) responsible for the opportunity + items: + $ref: '#/components/schemas/ContactCreateItem/allOf/0' + estimates: + type: integer + nullable: true + description: Number of linked estimates + example: 2 + individual: + nullable: true + description: Individual object related to opportunity object + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + invoices: + type: integer + nullable: true + description: Number of linked invoices + example: 1 + orders: + type: integer + nullable: true + description: Number of linked orders + example: 0 + deliveries: + type: integer + nullable: true + description: Number of linked deliveries + example: 8 + credit_notes: + type: integer + nullable: true + description: Number of linked credit notes + example: 1 + proforma: + type: integer + nullable: true + description: Number of linked proforma + example: 0 + currency: + nullable: true + description: Currency object related to opportunity + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/currency + acl: + nullable: true + description: Opportunity ACL + $ref: >- + #/components/schemas/Activity/properties/_embed/properties/acl/oneOf/5 + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + - $ref: '#/components/schemas/SaleEmbed/properties/_embed/allOf/2' + OpportunityFilters: + title: OpportunityFilters + type: object + description: The opportunity filters + properties: + filters: + type: object + description: Opportunity filters + properties: + created: + title: Created at + type: object + description: Filter the opportunity list by creation date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + updated_status: + title: Updated status + type: object + description: Filter the opportunity list by updated status date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + due_date: + title: Due Date + type: object + description: Filter the opportunity list by due date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + name: + title: Name + type: string + description: Filter the opportunity list by name + example: Website + pipeline: + title: Pipeline + type: array + items: + type: integer + description: Filter the opportunity list by pipeline ID + example: + - 12 + - 22 + step: + title: Step + type: array + items: + type: integer + description: Filter the opportunity list by step ID + example: + - 2 + - 7 + amount: + title: Amount + type: object + description: Filter the opportunity list by amount + properties: + min: + type: number + example: 10.5 + max: + type: number + example: 150 + related_objects: + description: Filter the opportunity list by an array of related objects + type: array + items: + type: object + properties: + type: + type: string + description: Type of related object + enum: + - company + - individual + id: + type: integer + description: Identifier of related object + example: 742 + assigned_staffs: + title: Assigned staffs + type: array + items: + type: integer + example: 33 + description: Filter by assigned staffs + statuses: + title: Filter the opportunity list by an array of statuses + type: array + nullable: true + minItems: 1 + items: + type: string + description: Opportunity status + example: won + enum: + - open + - won + - lost + - cancelled + - closed + - late + favourite_filter: + $ref: >- + #/components/schemas/ContactFilters/properties/filters/properties/favourite_filter + required: + - filters + OpportunitiesAggregations: + title: Opportunities aggregations + type: object + properties: + amount_sum_by_status: + type: object + description: Potential amount of opportunities by status + properties: + open: + type: object + description: Number and total amount of opportunities with status open + properties: + number: + type: integer + description: number of opportunities + amount: + type: object + description: Total amount of opportunities + properties: + value: + type: string + description: Amount + example: '38446.90' + currency: + type: string + description: Currency code + example: EUR + won: + type: object + description: Number and total amount of opportunities with status won + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + lost: + type: object + description: Number and total amount of opportunities with status lost + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + late: + type: object + description: Number and total amount of opportunities with status late + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + cancelled: + type: object + description: Number and total amount of opportunities with status cancelled + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + closed: + type: object + description: Number and total amount of opportunities with status closed + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + example: + open: + number: 123 + amount: '14400.000000000' + won: + number: 89 + amount: '12300.000000000' + lost: + number: 78 + amount: '11200.000000000' + late: + number: 67 + amount: '9400.000000000' + cancelled: + number: 56 + amount: '8600.000000000' + closed: + number: 45 + amount: '7500.000000000' + amount_sum_by_status_due_at_seven: + type: object + description: Potential amount of opportunities by status due this week + properties: + open: + type: object + description: Number and total amount of opportunities with status "open" + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + won: + type: object + description: Number and total amount of opportunities with status "won" + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + lost: + type: object + description: Number and total amount of opportunities with status "lost" + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + late: + type: object + description: Number and total amount of opportunities with status "late" + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + cancelled: + type: object + description: Number and total amount of opportunities with status "cancelled" + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + closed: + type: object + description: Number and total amount of opportunities with status "closed" + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + example: + open: + number: 123 + amount: '14400.000000000' + won: + number: 89 + amount: '12300.000000000' + lost: + number: 78 + amount: '11200.000000000' + late: + number: 67 + amount: '9400.000000000' + cancelled: + number: 56 + amount: '8600.000000000' + closed: + number: 45 + amount: '7500.000000000' + number_by_pipeline_and_step: + type: object + description: number of opportunities by pipeline and step + additionalProperties: true + example: + '7923': + '8': 12 + '24': 25 + '12344': + '7': 245 + '12': 75 + amount_sum: + type: object + description: Potential amount of opportunities + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + example: + number: 123 + amount: '14400.000000000' + OpportunitySourceCollectionItem: + title: OpportunitySourceCollectionItem + type: object + description: Represents an Opportunity Source + properties: + id: + type: integer + description: Internal Opportunity Source ID + readOnly: true + example: 1 + name: + type: string + description: Opportunity Source name + example: Showroom 2020 + is_default: + type: boolean + nullable: false + description: Is default source + example: true + is_hidden: + type: boolean + nullable: false + description: Is hidden source + example: true + category_id: + nullable: false + type: integer + description: Source category + example: 1 + minimum: 0 + rank: + type: integer + description: Source rank + example: 2 + minimum: 0 + OpportunitySourceFilters: + title: OpportunitySourceFilters + type: object + description: The opportunity sources filters + properties: + filters: + type: object + properties: + category_id: + title: Category + description: Filter the opportunity sources list by category + type: array + items: + type: integer + example: + - 10 + - 20 + required: + - filters + OpportunityPipelineCollectionItem: + title: OpportunityPipelineCollectionItem + type: object + description: Represents an Opportunity Pipeline + properties: + id: + type: integer + description: Internal Opportunity Pipeline ID + readOnly: true + example: 1 + name: + type: string + description: Opportunity Pipeline name + example: New website + is_default: + type: boolean + nullable: false + description: Is default pipeline define for account + example: true + step: + nullable: false + type: integer + description: Count of steps + example: 2 + minimum: 0 + rank: + type: integer + description: Pipeline rank in preferences + example: 2 + minimum: 0 + OpportunityPipelineFilters: + title: OpportunityPipelineFilters + type: object + description: The opportunity pipelines filters + properties: + filters: + type: object + description: Opportunity Pipelines filters + properties: + name: + title: Name + type: string + description: Filter the opportunity pipelines list by name + example: Website + is_default: + title: Is default opportunity pipeline + type: boolean + description: Filter the opportunity pipelines list by is_default + example: false + required: + - filters + OpportunitiesCategoryItem: + title: Opportunity Category + type: object + description: Opportunities Category + properties: + id: + type: integer + description: Opportunities category id + readOnly: true + example: 1 + label: + type: string + description: Opportunities category label + example: Event + color: + type: string + description: Opportunities category color + example: '#000000' + icon: + type: string + description: Opportunities category icon + example: fa-anchor + is_default: + type: boolean + description: True if this opportunity category contains the default source + example: false + _embed: + type: object + properties: + sources: + type: array + description: Sources of the category + nullable: true + items: + title: OpportunitySourceCollectionItem + type: object + description: Represents an Opportunity Source + properties: + id: + type: integer + description: Internal Opportunity Source ID + readOnly: true + example: 1 + name: + type: string + description: Opportunity Source name + example: Showroom 2020 + is_default: + type: boolean + nullable: false + description: Is default source + example: true + is_hidden: + type: boolean + nullable: false + description: Is hidden source + example: true + category_id: + nullable: false + type: integer + description: Source category + example: 1 + minimum: 0 + rank: + type: integer + description: Source rank + example: 2 + minimum: 0 + OpportunityRankUpdate: + title: Opportunity rank update + type: object + properties: + before_sibling: + type: integer + description: > + ID of opportunity before which to place the opportunity specified in + query parameters
> if not specified, opportunity will be + placed at the last rank of the step + nullable: true + example: 57 + step: + type: integer + description: Pipeline Step + example: 299 + required: + - step + PipelineStepFilters: + title: Step filters + type: object + additionalProperties: false + description: The opportunity pipeline steps filters + properties: + filters: + type: object + description: Opportunity Pipeline Steps filters + properties: + name: + title: Name + type: string + description: Filter the opportunity pipeline steps list by name + example: Website + id: + title: Id + type: array + description: Filter the opportunity pipeline steps list by id + example: + - 45 + - 47 + minItems: 1 + items: + type: integer + required: + - filters + TaskItem: + title: Task Item + allOf: + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/2 + - type: object + properties: + _embed: + allOf: + - title: TaskItemEmbed + type: object + description: Objects add to response. Use embed parameter + x-examples: {} + readOnly: true + allOf: + - title: Embed for task + type: object + description: Objects add to response. Use embed parameter + x-examples: {} + readOnly: true + properties: + owner: + $ref: >- + #/components/schemas/Activity/properties/_embed/properties/author + title: Owner of the task + assigned_staffs: + title: Staffs assigned to the task + type: array + items: + $ref: >- + #/components/schemas/Activity/properties/_embed/properties/author + nullable: true + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: Objects linked to the task + items: + anyOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + title: Company + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + title: Individual + - $ref: '#/components/schemas/ContactItem/allOf/0' + title: Contact + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/1 + title: Opportunity + - $ref: '#/components/schemas/InvoiceOne/allOf/0' + title: Invoice + - $ref: '#/components/schemas/CreditNoteOne/allOf/0' + title: Credit note + - $ref: '#/components/schemas/EstimateOne/allOf/0' + title: Estimate + company: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + title: Company linked to the task + nullable: true + individual: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + title: Individual linked to the task + nullable: true + contact: + $ref: '#/components/schemas/ContactItem/allOf/0' + title: Contact linked to the task + nullable: true + - type: object + properties: + acl: + nullable: true + description: Task ACL + allOf: + - $ref: >- + #/components/schemas/Activity/properties/_embed/properties/acl/oneOf/3 + TaskCollectionItem: + title: Task Collection Item + allOf: + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/2 + - type: object + properties: + _embed: + allOf: + - title: Embed for Task collection item + type: object + description: Objects add to response. Use embed parameter + x-examples: {} + allOf: + - $ref: >- + #/components/schemas/TaskItem/allOf/1/properties/_embed/allOf/0/allOf/0 + TaskCreateItem: + title: TaskCreateItem + allOf: + - type: object + description: Task update object + x-examples: {} + properties: + title: + type: string + example: Meeting + description: Task title + nullable: true + description: + type: string + example: Monthly meeting with consulting team + description: Task description + nullable: true + is_private: + type: boolean + description: Task is private or public + default: false + due_date: + description: due date and time of task + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + status: + type: string + example: todo + description: Task status + enum: + - todo + - done + assigned_staff_ids: + type: array + nullable: true + items: + type: integer + description: staffs assigned to the task + example: 1 + label_id: + description: Task label + type: integer + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: >- + Main object related to the task (limit to 1). If empty, the link + with the existing related object will be removed. + items: + type: object + additionalProperties: false + description: Main object related to the task + required: + - type + - id + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - estimate + - invoice + - creditnote + - order + owner_id: + description: Owner of the task (Staff id expected) + type: integer + minimum: 1 + priority: + type: integer + description: Priority level of the task + minimum: 0 + maximum: 1 + - description: Task create item + - type: object + required: + - label_id + - due_date + properties: + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: Main object related to the task (limit to 1). + items: + type: object + additionalProperties: false + description: Main object related to the task + required: + - type + - id + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - estimate + - invoice + - creditnote + - order + created: + description: Date of creation of the calendar event + type: string + format: date-time + priority: + type: integer + description: Priority level of the task + default: 0 + minimum: 0 + maximum: 1 + required: + - related + TaskUpdateItem: + type: object + description: Task update object + x-examples: {} + properties: + title: + type: string + example: Meeting + description: Task title + nullable: true + description: + type: string + example: Monthly meeting with consulting team + description: Task description + nullable: true + is_private: + type: boolean + description: Task is private or public + default: false + due_date: + description: due date and time of task + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + status: + type: string + example: todo + description: Task status + enum: + - todo + - done + assigned_staff_ids: + type: array + nullable: true + items: + type: integer + description: staffs assigned to the task + example: 1 + label_id: + description: Task label + type: integer + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: >- + Main object related to the task (limit to 1). If empty, the link + with the existing related object will be removed. + items: + type: object + additionalProperties: false + description: Main object related to the task + required: + - type + - id + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - estimate + - invoice + - creditnote + - order + owner_id: + description: Owner of the task (Staff id expected) + type: integer + minimum: 1 + priority: + type: integer + description: Priority level of the task + minimum: 0 + maximum: 1 + TaskFilter: + title: taskFilter + type: object + description: The task filters + properties: + filters: + type: object + description: task filters + properties: + created: + title: Created at + type: object + description: Filter the tasks list by creation date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + due_date: + title: Due date + type: object + description: Filter the tasks list by due date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + owners: + title: Owners + type: array + items: + type: integer + example: 77 + description: Filter the tasks list by owners + assigned_staffs: + title: Assigned staffs + type: array + items: + type: integer + example: 33 + description: Filter the tasks list by assigned staffs + statuses: + title: Statuses + type: array + items: + type: string + example: todo + enum: + - todo + - done + description: Filter the tasks list by statuses + labels: + title: Labels + type: array + items: + type: integer + example: 47 + description: Filter the tasks list by labels + related_objects: + title: Related Objects + type: array + items: + type: object + properties: + type: + type: string + example: company + id: + type: integer + example: 22 + description: Filter the tasks list by related objects + companies: + title: Companies + type: array + description: Filter the tasks list by companies + items: + type: integer + individuals: + title: Individuals + type: array + description: Filter the tasks list by individuals + items: + type: integer + contacts: + title: Contacts + type: array + description: Filter the tasks list by contacts + items: + type: integer + priority: + type: object + description: Priority level of tasks + properties: + min: + type: integer + description: Inclusive minimum priority level of tasks + example: 1 + minimum: 0 + maximum: 1 + max: + type: integer + description: Inclusive maximum priority level of tasks + example: 1 + minimum: 0 + maximum: 1 + additionalProperties: false + required: + - filters + Label: + type: object + description: Label + x-examples: {} + properties: + id: + type: integer + readOnly: true + description: Label id + example: 6657 + name: + type: string + example: Reminder + description: Label title + color: + type: string + example: '#f7dcf5' + description: Color of label + nullable: true + is_active: + type: boolean + example: true + description: If label is active + rank: + type: integer + example: 1 + description: Label rank + LabelBaseItem: + title: Task + type: object + description: Task base object + x-examples: {} + properties: + id: + type: integer + readOnly: true + description: Task ID + example: 6657 + title: + type: string + example: Meeting + description: Task title + nullable: true + description: + type: string + example: Monthly meeting with consulting team + description: Task description + nullable: true + status: + type: string + example: todo + description: Task status + readOnly: true + enum: + - todo + - done + is_private: + type: boolean + description: Task is private or public + default: false + due_date: + description: due date and time of task + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + assigned_staff_ids: + type: array + nullable: true + items: + type: integer + description: staffs assigned to the task + example: 1 + label: + type: object + description: Label + x-examples: {} + properties: + id: + type: integer + readOnly: true + description: Label id + example: 6657 + name: + type: string + example: Reminder + description: Label title + color: + type: string + example: '#f7dcf5' + description: Color of label + nullable: true + is_active: + type: boolean + example: true + description: If label is active + rank: + type: integer + example: 1 + description: Label rank + updated: + description: Updated date of task (system) + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + readOnly: true + created: + description: Created date of task (system) + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + readOnly: true + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: Main object related to the task (limit to 1). + items: + type: object + additionalProperties: false + description: Main object related to the task + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - invoice + - creditnote + - estimate + - order + owner: + description: Owner of the task + type: object + properties: + type: + type: string + description: owner type + enum: + - staff + id: + type: integer + description: Owner id + example: 51 + company_id: + type: integer + description: Company linked to the task + example: 1 + readOnly: true + nullable: true + individual_id: + type: integer + description: Individual linked to the task + example: 92 + readOnly: true + nullable: true + contact_id: + type: integer + description: Contact linked to the task + example: 958 + readOnly: true + nullable: true + priority: + type: integer + description: Priority level of the task + example: 1 + minimum: 0 + maximum: 1 + LanguageCollection: + title: Language Collection + type: object + properties: + pagination: + $ref: '#/components/schemas/AccountDocumentCollection/properties/pagination' + data: + type: array + items: + allOf: + - type: object + properties: + id: + type: integer + example: 1 + description: Custom language ID + lang: + type: string + example: Language name + description: Custom language name + flag: + type: string + example: fr + description: Custom language flag label + nullable: true + required: + - id + - lang + - flag + required: + - pagination + - data + SearchResult: + type: array + description: Search Result Object + x-examples: {} + items: + anyOf: + - type: object + title: Company search result + description: Company Search Result Object + additionalProperties: false + allOf: + - type: object + properties: + id: + type: string + readOnly: true + description: Unique ID + example: 6657 + object: + type: object + description: Main object + properties: + type: + type: string + enum: + - contact + - company + - individual + - opportunity + - purchase + - item + - declination + - document + - staff + - redactor + nullable: false + id: + type: integer + example: 11 + nullable: false + sub_type: + type: string + enum: + - contact + - opportunity + - client + - prospect + - supplier + - purInvoice + - purDelivery + - purOrder + - purCreditNote + - product + - packaging + - shipping + - service + - declination + - invoice + - estimate + - creditnote + - order + - delivery + - proforma + - staff + - document + - template + nullable: false + nullable: false + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + readOnly: true + created: + type: string + format: datetime + nullable: false + description: Created datetime of object + example: '2020-05-29T11:22:03+02:00' + readOnly: true + updated: + type: string + format: datetime + nullable: false + description: updated datetime of object + example: '2020-05-29T11:22:03+02:00' + readOnly: true + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + - type: object + properties: + name: + type: string + description: Company name + example: My company + mobile_number: + type: string + description: Company mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Company fax number + example: '+33400000000' + nullable: true + phone_number: + type: string + description: Company phone number + example: '+33500000000' + nullable: true + email: + type: string + format: email + example: contact@my-company.com + nullable: true + invoicing_address: + type: object + title: Address + additionalProperties: false + nullable: true + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + address_line_1: + type: string + description: Address line one + example: 30 Commercial Road + nullable: true + address_line_2: + type: string + description: Address line two + example: Finance and Accounting + nullable: true + address_line_3: + type: string + description: Address line three + example: Lighthouse Promotions + nullable: true + address_line_4: + type: string + description: Address line four + example: PO Box 215 + nullable: true + postal_code: + type: string + nullable: true + description: Address postal code + example: '75012' + minLength: 2 + city: + type: string + description: Address city name + example: Paris + minLength: 2 + country_code: + type: string + description: Address country code + example: FR + minLength: 2 + maxLength: 2 + delivery_address: + $ref: >- + #/components/schemas/SearchResult/items/anyOf/0/allOf/1/properties/invoicing_address + main_contact: + type: object + nullable: true + description: Company's main contact + properties: + id: + type: integer + description: contact identifier + example: 6830 + last_name: + type: string + example: Doe + description: Contact last name + first_name: + type: string + example: John + description: Contact first name + civility: + type: string + description: Civility of individual + example: mrs + enum: + - mr + - mrs + - ms + reference: + type: string + description: Company reference + example: My company reference + - type: object + title: Individual search result + additionalProperties: false + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + first_name: + type: string + description: Individual first name + example: John + nullable: true + last_name: + type: string + example: Doe + description: Individual last name + civility: + type: string + description: Civility of individual + example: mrs + enum: + - mr + - mrs + - ms + mobile_number: + type: string + description: Individual mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Individual fax number + example: '+33400000000' + nullable: true + phone_number: + type: string + description: Individual phone number + example: '+33500000000' + nullable: true + email: + type: string + format: email + example: jonh.doe@email.com + nullable: true + invoicing_address: + $ref: >- + #/components/schemas/SearchResult/items/anyOf/0/allOf/1/properties/invoicing_address + delivery_address: + $ref: >- + #/components/schemas/SearchResult/items/anyOf/0/allOf/1/properties/invoicing_address + reference: + type: string + description: Individual reference + example: The reference of individual + - type: object + title: Opportunity search result + additionalProperties: false + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + number: + type: string + description: Opportunity ident + example: OPP-001 + nullable: false + name: + type: string + description: Opportunity name + example: Opportunity number one + nullable: false + status: + type: string + description: Opportunity status + example: won + enum: + - open + - won + - lost + - cancelled + - closed + - late + amount: + type: number + description: potential amount non formatted + example: 1450.45 + related: + type: object + allOf: + - type: object + properties: + id: + type: integer + - oneOf: + - type: object + title: Company + properties: + name: + type: string + description: company name + type: + type: string + enum: + - company + - type: object + title: Individual + properties: + type: + type: string + enum: + - individual + first_name: + type: string + description: Individual first name + example: John + last_name: + type: string + example: Doe + description: Individual last name + civility: + type: string + description: Civility of linked contact + example: mrs + enum: + - mr + - mrs + - ms + - type: object + title: Contact search result + additionalProperties: false + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + first_name: + description: Contact first name + type: string + format: text + example: John + nullable: true + last_name: + description: Contact last name + type: string + format: text + example: Doe + nullable: true + civility: + type: string + description: Civility of contact + example: mrs + enum: + - mr + - mrs + - ms + email: + description: Contact email + type: string + format: email + example: john.doe@example-company.com + nullable: true + phone_number: + type: string + description: Contact phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Contact mobile number + example: '+33100000000' + nullable: true + fax_number: + type: string + description: Contact fax number + example: '+33100000000' + nullable: true + position: + type: string + nullable: true + description: Contact job + example: Financial + companies: + type: array + items: + type: object + properties: + name: + type: string + format: text + example: This company + description: Company name + nullable: false + id: + type: integer + example: 5456 + description: Company id + nullable: false + minimum: 1 + invoicing_address: + $ref: >- + #/components/schemas/SearchResult/items/anyOf/0/allOf/1/properties/invoicing_address + delivery_address: + $ref: >- + #/components/schemas/SearchResult/items/anyOf/0/allOf/1/properties/invoicing_address + - type: object + title: Purchase search result + additionalProperties: false + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + status: + description: Purchase status + type: string + example: read + enum: + - draft + - due + - payinprogress + - paid + - late + - cancelled + - sent + - read + - accepted + - expired + - partialInvoiced + - invoiced + - stored + - spent + - partialspend + number: + description: Purchase number + type: string + example: F_INV-20210303-00001 + external_number: + description: Purchase external number + type: string + example: FACT-2020W3-00001 + name: + type: string + description: Purchase subject + nullable: true + amount: + type: number + format: float + description: Total purchase amount, taxes included + example: 133.7 + currency: + type: string + description: Purchase currency + example: € + related: + type: object + allOf: + - type: object + properties: + id: + type: integer + - oneOf: + - type: object + title: Company + properties: + name: + type: string + description: company name + type: + type: string + enum: + - company + - type: object + title: Individual + properties: + type: + type: string + enum: + - individual + first_name: + type: string + description: Individual first name + example: John + last_name: + type: string + example: Doe + description: Individual last name + civility: + type: string + description: Civility of linked contact + example: mrs + enum: + - mr + - mrs + - ms + - type: object + title: Item search result + additionalProperties: false + description: Item Search Result Object + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + number: + type: string + description: Item number + example: REF_00001 + name: + type: string + description: item name + example: My product + nullable: true + description: + type: string + description: Item description + example: This is a product description + nullable: true + - type: object + title: Item declination search result + additionalProperties: false + description: Item declination search result object + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + number: + type: string + description: Item declination number + example: REF_00001_RED + name: + type: string + description: item declination name + example: My product Red + nullable: true + description: + type: string + description: Item declination description + example: This is a product description with red color + nullable: true + related: + type: object + description: Original item related to this declination + properties: + id: + type: integer + number: + type: string + name: + type: string + - type: object + title: Document search result + additionalProperties: false + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + status: + description: Document status + type: string + example: read + enum: + - draft + - due + - payinprogress + - paid + - late + - cancelled + - sent + - read + - accepted + - refused + - expired + - advanced + - partialinvoiced + - invoiced + - stored + - partialspend + - spent + number: + description: Document number + type: string + example: FACT-20210302-00001 + name: + type: string + description: Document subject + nullable: true + amount: + type: number + format: float + description: Total amount of document, taxes include + example: 942.88 + currency: + type: string + description: Document currency + example: € + related: + type: object + allOf: + - type: object + properties: + id: + type: integer + - oneOf: + - type: object + title: Company + properties: + name: + type: string + description: company name + type: + type: string + enum: + - company + - type: object + title: Individual + properties: + type: + type: string + enum: + - individual + first_name: + type: string + description: Individual first name + example: John + last_name: + type: string + example: Doe + description: Individual last name + civility: + type: string + description: Civility of linked contact + example: mrs + enum: + - mr + - mrs + - ms + - type: object + title: Staff search result + additionalProperties: false + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + first_name: + description: Staff's first name + type: string + format: text + example: John + nullable: true + last_name: + description: Staff's last name + type: string + format: text + example: Doe + nullable: true + phone_number: + type: string + description: Staff's phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Staff's mobile number + example: '+33100000000' + nullable: true + blocked: + type: boolean + description: Staff's status + email: + description: Staff's email + type: string + format: email + example: john.doe@example-company.com + nullable: true + position: + type: string + nullable: true + description: Staff's job + example: Financial + - type: object + title: Ticket search result + additionalProperties: false + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + status: + description: Ticket status + type: string + example: active + enum: + - active + - pending + - closed + - spam + subject: + description: Ticket subject + type: string + index: + description: Ticket reference + type: string + related: + type: array + items: + type: string + - type: object + title: Redactor document search result + additionalProperties: false + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + status: + description: Redactor status + type: string + example: ok + enum: + - ok + - deleted + step: + description: Redactor step + type: string + example: read + enum: + - draft + - sent + - read + - accepted + ident: + type: string + description: Redactor ident + example: REDACTOR-001 + nullable: false + related: + type: array + items: + type: string + - type: object + title: Redactor template search result + additionalProperties: false + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + name: + type: string + description: Redactor template name + related_object: + type: string + description: Redactor template related object + enum: + - none + - document + - opportunity + - item + - rent + - ticket + linked_object: + type: string + description: Redactor template linked object + enum: + - none + - client + - prospect + - supplier + - people + SearchResultBaseItem: + type: object + properties: + id: + type: string + readOnly: true + description: Unique ID + example: 6657 + object: + type: object + description: Main object + properties: + type: + type: string + enum: + - contact + - company + - individual + - opportunity + - purchase + - item + - declination + - document + - staff + - redactor + nullable: false + id: + type: integer + example: 11 + nullable: false + sub_type: + type: string + enum: + - contact + - opportunity + - client + - prospect + - supplier + - purInvoice + - purDelivery + - purOrder + - purCreditNote + - product + - packaging + - shipping + - service + - declination + - invoice + - estimate + - creditnote + - order + - delivery + - proforma + - staff + - document + - template + nullable: false + nullable: false + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + readOnly: true + created: + type: string + format: datetime + nullable: false + description: Created datetime of object + example: '2020-05-29T11:22:03+02:00' + readOnly: true + updated: + type: string + format: datetime + nullable: false + description: updated datetime of object + example: '2020-05-29T11:22:03+02:00' + readOnly: true + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + SearchResultAggregations: + type: object + description: Search Result Aggregations + x-examples: {} + properties: + count_by_type: + type: object + description: Count the number of objects by type + properties: + company: + type: array + minItems: 1 + maxItems: 2 + description: >- + The 1st value corresponds to active objects, the 2nd to achived + objects + items: + type: integer + individual: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + contact: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + opportunity: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + purchase: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + item: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + declination: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + document: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + staff: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + ticket: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + redactor: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + PhoneCallItem: + title: PhoneCall + allOf: + - title: PhoneCall + allOf: + - type: object + description: The CRM phoneCall + required: + - related + properties: + id: + type: integer + readOnly: true + source: + type: string + description: Incoming call or Outgoing call + enum: + - incoming + - outcoming + description: + type: string + description: Description of the phone call + example: >- + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed + do eiusmod tempor + nullable: true + updated: + type: string + format: date-time + description: Last update date / hour + example: '2020-01-01T00:00:00+01:00' + readOnly: true + created: + type: string + format: date-time + description: Creation date / hour + example: '2020-01-01T00:00:00+01:00' + readOnly: true + duration: + type: integer + description: Total duration of call (in seconds) + example: 12345 + date: + type: string + format: date-time + description: Date and hour of phonecall + example: '2020-01-01T00:00:00+01:00' + company_id: + type: integer + description: Company linked to the phone call + nullable: true + readOnly: true + individual_id: + type: integer + description: Individual linked to the phone call + nullable: true + readOnly: true + contact_id: + type: integer + description: Contact linked to the phone call + nullable: true + readOnly: true + related: + type: array + minItems: 1 + description: List objects related to the phone call + items: + type: object + additionalProperties: false + description: Object related to the phone call + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + priority: + type: integer + description: Priority level of the phone call + minimum: 0 + maximum: 1 + - type: object + properties: + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + description: Owner of the phone call + source: + type: string + description: Incoming call or Outgoing call + enum: + - incoming + - outcoming + topic: + type: object + description: Phone call topic + properties: + id: + type: integer + example: 2235 + name: + type: string + example: Support + result: + type: object + description: Phone call result + properties: + id: + type: string + enum: + - noanswer + - busy + - wrongnumber + - msgdirect + - msgvocal + - connected + - transfer + - interrupt + - scheduled + name: + type: string + example: No answer + - type: object + properties: + _embed: + title: Embed for PhoneCall object + type: object + readOnly: true + allOf: + - title: Embed for PhoneCall object + type: object + readOnly: true + properties: + owner: + $ref: >- + #/components/schemas/Activity/properties/_embed/properties/author + title: Owner of the phone call + related: + type: array + minItems: 1 + maxItems: 3 + nullable: false + description: Objects linked to the phone call + items: + anyOf: + - title: Company + type: object + readOnly: true + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + - type: object + properties: + _type: + nullable: false + description: type of related + type: string + enum: + - company + - title: Individual + type: object + readOnly: true + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + - type: object + properties: + _type: + nullable: false + description: type of related + type: string + enum: + - individual + - title: Contact + type: object + readOnly: true + allOf: + - $ref: '#/components/schemas/ContactItem/allOf/0' + - type: object + properties: + _type: + nullable: false + description: type of related + type: string + enum: + - contact + - title: Opportunity + type: object + readOnly: true + allOf: + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/1 + - type: object + properties: + _type: + nullable: false + description: type of related + type: string + enum: + - opportunity + company: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + title: Company linked to the phone call + nullable: true + individual: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + title: Individual linked to the phone call + nullable: true + contact: + $ref: '#/components/schemas/ContactItem/allOf/0' + title: Contact linked to the phone call + nullable: true + - type: object + properties: + acl: + title: ACL for PhoneCall object + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: false + description: PhoneCall can be updated + example: true + can_be_deleted: + type: boolean + nullable: false + description: PhoneCall can be deleted + example: true + PhoneCallCollectionItem: + title: PhoneCall + allOf: + - $ref: '#/components/schemas/PhoneCallItem/allOf/0' + - type: object + properties: + _embed: + $ref: >- + #/components/schemas/PhoneCallItem/allOf/1/properties/_embed/allOf/0 + PhoneCallCreateItem: + title: PhoneCall + allOf: + - title: PhoneCall + type: object + description: PhoneCall update request body + properties: + owner_id: + type: integer + description: Owner of the phone call (Staff id expected) + minimum: 1 + topic: + type: integer + description: Phone call topic + result: + type: string + enum: + - noanswer + - busy + - wrongnumber + - msgdirect + - msgvocal + - connected + - transfer + - interrupt + - scheduled + description: Phone call result + source: + type: string + description: Incoming call or Outgoing call + enum: + - incoming + - outcoming + description: + type: string + description: Description of the phone call + example: >- + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do + eiusmod tempor + nullable: true + duration: + type: integer + description: > + Total duration of call (in seconds) + + + *Note:* for phone calls with the "scheduled" result, this value + is forcibly set to zero. + example: 12345 + date: + type: string + format: date-time + description: Date and hour of phone call + example: '2020-01-01T00:00:00+01:00' + related: + type: array + minItems: 1 + maxItems: 3 + description: List objects related to the phone call (limit to 1 of each type) + items: + type: object + additionalProperties: false + description: Object related to the phone call + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + priority: + type: integer + description: Priority level of the phone call + minimum: 0 + maximum: 1 + - type: object + required: + - owner_id + - date + - result + - source + - related + - description: PhoneCall create item + PhoneCallUpdateItem: + title: PhoneCall + type: object + description: PhoneCall update request body + properties: + owner_id: + type: integer + description: Owner of the phone call (Staff id expected) + minimum: 1 + topic: + type: integer + description: Phone call topic + result: + type: string + enum: + - noanswer + - busy + - wrongnumber + - msgdirect + - msgvocal + - connected + - transfer + - interrupt + - scheduled + description: Phone call result + source: + type: string + description: Incoming call or Outgoing call + enum: + - incoming + - outcoming + description: + type: string + description: Description of the phone call + example: >- + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do + eiusmod tempor + nullable: true + duration: + type: integer + description: > + Total duration of call (in seconds) + + + *Note:* for phone calls with the "scheduled" result, this value is + forcibly set to zero. + example: 12345 + date: + type: string + format: date-time + description: Date and hour of phone call + example: '2020-01-01T00:00:00+01:00' + related: + type: array + minItems: 1 + maxItems: 3 + description: List objects related to the phone call (limit to 1 of each type) + items: + type: object + additionalProperties: false + description: Object related to the phone call + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + priority: + type: integer + description: Priority level of the phone call + minimum: 0 + maximum: 1 + PhoneCallFilter: + title: Phone calls filters + type: object + description: Phone calls filters + properties: + filters: + type: object + description: Phone calls filters + properties: + created: + title: Created at + type: object + description: Filter the phone calls list by creation date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + owners: + title: Owners + type: array + items: + type: integer + example: 77 + description: Filter the phone calls list by owners + related_objects: + title: Related Objects + type: array + items: + type: object + properties: + type: + type: string + example: company + id: + type: integer + example: 22 + description: Filter the phone calls list by related objects + companies: + title: Companies + type: array + description: Filter the phone calls list by companies + items: + type: integer + individuals: + title: Individuals + type: array + description: Filter the phone calls list by individuals + items: + type: integer + contacts: + title: Contacts + type: array + description: Filter the phone calls list by contacts + items: + type: integer + topic: + title: Topic + type: integer + description: Filter the phone calls list by topic + result: + title: Result + type: string + enum: + - noanswer + - busy + - wrongnumber + - msgdirect + - msgvocal + - connected + - transfer + - interrupt + - scheduled + description: Filter the phone calls list by result + source: + title: Source + description: Filter the phone calls list by source + type: string + enum: + - incoming + - outcoming + due_date: + title: Due Date + description: >- + Filter the phone calls in which the due date is in that time + frame + type: object + properties: + start: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + priority: + type: object + properties: + min: + type: integer + description: Inclusive minimum priority level of phone calls + example: 1 + minimum: 0 + maximum: 1 + max: + type: integer + description: Inclusive maximum priority level of phone calls + example: 1 + minimum: 0 + maximum: 1 + additionalProperties: false + required: + - filters + CalendarEventItem: + title: Calendar Event + type: object + allOf: + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/5 + - type: object + properties: + _embed: + allOf: + - type: object + readOnly: true + description: Objects add to response. Use embed parameter + properties: + company: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + contact: + $ref: '#/components/schemas/ContactItem/allOf/0' + individual: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + owner: + $ref: '#/components/schemas/CrmActivity/properties/author' + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: Objects linked to the event + items: + anyOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + title: Company + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + title: Individual + - $ref: '#/components/schemas/ContactItem/allOf/0' + title: Contact + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/1 + title: Opportunity + - $ref: '#/components/schemas/EstimateOne/allOf/0' + title: Estimate + - $ref: '#/components/schemas/InvoiceOne/allOf/0' + title: Invoice + - $ref: '#/components/schemas/CreditNoteOne/allOf/0' + title: Credit note + participants: + type: array + items: + oneOf: + - $ref: '#/components/schemas/ContactItem/allOf/0' + - $ref: '#/components/schemas/CrmActivity/properties/author' + acl: + $ref: >- + #/components/schemas/Activity/properties/_embed/properties/acl/oneOf/6 + CalendarEventCreateItem: + type: object + title: Calendar event + description: Body for calendar event creation + x-examples: {} + required: + - datetime_start + - datetime_end + - title + - label_id + properties: + title: + type: string + example: Meeting + description: Calendar event title + description: + type: string + example: Monthly meeting with consulting team + description: Calendar event description + nullable: true + datetime_start: + description: start date and time of calendar event + type: string + format: date-time + maxLength: 29 + example: '2020-01-01T00:00:00+01:00' + datetime_end: + description: end date and time of calendar event + type: string + format: date-time + maxLength: 29 + example: '2020-01-01T00:00:00+01:00' + is_private: + type: boolean + description: Calendar event is private or public + default: false + all_day: + type: boolean + description: Calendar event is scheduled for the whole day + default: false + label_id: + type: integer + description: Label id for event + provider_calendar: + type: string + description: Calendar id for event + example: myemail@gmail.com + participants: + type: array + description: Participants (Staff, Contact or External Participants) + items: + type: object + description: Participant linked + properties: + id: + oneOf: + - type: integer + - type: string + description: Id of participant + type: + type: string + enum: + - staff + - contact + - external + description: Type of participant + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: Main object related to the calendar event (limit to 1). + items: + type: object + additionalProperties: false + description: Main object related to the calendar event + required: + - type + - id + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - estimate + - invoice + - creditnote + - order + created: + description: Date of creation of the calendar event + type: string + format: date-time + priority: + type: integer + description: Priority level of the calendar event + minimum: 0 + maximum: 1 + default: 0 + CalendarEventUpdateItem: + type: object + description: Calendar event update object + x-examples: {} + properties: + title: + type: string + example: Meeting + description: Calendar event title + description: + type: string + example: Monthly meeting with consulting team + description: Calendar event description + nullable: true + datetime_start: + description: start date and time of calendar event + type: string + format: date-time + maxLength: 29 + example: '2020-01-01T00:00:00+01:00' + datetime_end: + description: end date and time of calendar event + type: string + format: date-time + maxLength: 29 + example: '2020-01-01T00:00:00+01:00' + is_private: + type: boolean + description: Calendar event is private or public + default: false + all_day: + type: boolean + description: Calendar event is scheduled for the whole day + default: false + label_id: + type: integer + description: Label id for event + provider_calendar: + type: string + description: Calendar id for event + example: myemail@gmail.com + participants: + type: array + description: Participants (Staff, Contact or External Participants) + items: + type: object + description: Participant linked + properties: + id: + oneOf: + - type: integer + - type: string + description: Id of participant + type: + type: string + enum: + - staff + - contact + - external + description: Type of participant + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: >- + Main object related to the calendar event (limit to 1). If empty, + the link with the existing related object will be removed. + items: + type: object + additionalProperties: false + description: Main object related to the calendar event + required: + - type + - id + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - estimate + - invoice + - creditnote + - order + priority: + type: integer + description: Priority level of the calendar event + minimum: 0 + maximum: 1 + CalendarEventFilters: + title: CalendarEventFilters + type: object + description: Calendar event filters + properties: + filters: + type: object + description: calendar event filters + additionalProperties: false + properties: + due_date: + $ref: >- + #/components/schemas/DealsFilters/properties/filters/properties/due_date + owners: + type: array + description: Owner(s) of event + items: + type: integer + participants: + type: array + description: Staff, contact or external contact of event + items: + type: object + properties: + type: + type: string + enum: + - staff + - contact + - external + id: + oneOf: + - type: integer + - type: string + labels: + type: array + description: Event labels + items: + type: integer + related_objects: + type: array + description: object(s) linked to event + items: + type: object + properties: + type: + type: string + id: + type: integer + companies: + type: array + description: Id(s) of company linked to event + items: + type: integer + individuals: + type: array + description: Id(s) of individuals linked to event + items: + type: integer + contacts: + type: array + description: Id(s) of contact linked to event + items: + type: integer + priority: + type: object + description: Priority level of events + properties: + min: + type: integer + description: Inclusive minimum priority level of events + example: 1 + minimum: 0 + maximum: 1 + max: + type: integer + description: Inclusive maximum priority level of events + example: 1 + minimum: 0 + maximum: 1 + additionalProperties: false + Related: + type: object + description: Object linked + properties: + id: + type: integer + description: Id of object + type: + type: string + description: Type of object + Activity: + type: object + description: The activity object + properties: + id: + type: string + description: Id of activity + example: 2wto807ysxa + event: + type: string + description: Event type + example: task.created + author: + type: object + properties: + type: + type: string + enum: + - staff + example: staff + id: + type: integer + minimum: 1 + example: 1024 + event_date: + type: string + description: Date of activity + format: date-time + due_date: + type: string + format: date-time + description: Due date of activity + event_details: + type: object + description: Details of events + additionalProperties: true + event_more: + type: object + description: Additional informations + example: + old: client + new: prospect + additionalProperties: true + object: + type: object + description: Event object of activity + required: + - type + - id + properties: + type: + type: string + example: task + id: + oneOf: + - type: string + example: 1056 + minLength: 1 + - type: integer + example: 1056 + minimum: 1 + model: + nullable: true + oneOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/1 + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/2 + - $ref: '#/components/schemas/ContactItem/allOf/0' + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + - $ref: '#/components/schemas/CommentItem/allOf/0' + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/5 + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/6 + related: + type: array + minItems: 0 + nullable: false + description: List all direct and indirect relations of the activity’s main object + items: + type: object + additionalProperties: false + description: Object related to the activity + properties: + id: + $ref: '#/components/schemas/Activity/properties/object/properties/id' + type: + type: string + example: opportunity + _embed: + type: object + description: Embed objects for activity logs + readOnly: true + properties: + object_related: + type: array + minItems: 0 + nullable: false + description: >- + Add the direct relation of the activity’s main object to the + response (partially described in object.model.related) + items: + anyOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + - $ref: '#/components/schemas/ContactItem/allOf/0' + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/1 + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/2 + individual: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + company: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + author: + title: Staff Schemas + description: >- + Staff schemas according of current user level of visibility on + staffs + allOf: + - $ref: '#/components/schemas/Staff/allOf/0' + - type: object + properties: + phone_number: + type: string + description: Staff phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Staff mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Staff fax number + example: '+33500000000' + nullable: true + groups: + type: array + nullable: true + description: Staff groups + readOnly: true + items: + type: object + properties: + id: + type: integer + example: 1 + name: + type: string + example: Sales + civility: + type: string + description: Civility of staff + example: mrs + nullable: true + enum: + - mr + - mrs + - ms + created: + type: string + description: Creation date of the staff + format: date-time + example: '1970-01-01T00:00:00+00:00' + readOnly: true + profile: + type: integer + description: Staff privilège profile + example: 3443 + team: + nullable: true + type: object + properties: + id: + type: integer + example: -1 + name: + type: string + example: Commercial + description: Staff team position + job: + nullable: true + type: object + properties: + id: + type: integer + example: -1 + name: + type: string + example: Office manager + description: Staff job + timezone: + type: string + description: Staff time zone + example: Europe/Paris + language: + type: string + description: Staff language + example: fr + acl: + nullable: true + description: Activity's main object's ACL + oneOf: + - title: Company ACL + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Company can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Company can be delete + example: true + view_companies_addresses: + type: boolean + nullable: true + description: Company Addresses can be listed + example: true + create_companies_addresses: + type: boolean + nullable: true + description: Company Addresses can be created + example: true + update_companies_addresses: + type: boolean + nullable: true + description: Company Addresses can be updated + example: true + delete_companies_addresses: + type: boolean + nullable: true + description: Company Addresses can be deleted + example: true + - title: ContactAcl + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Contact can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Contact can be deleted + example: true + view_contacts_addresses: + type: boolean + nullable: true + description: Contact Addresses can be listed + example: true + create_contacts_addresses: + type: boolean + nullable: true + description: Contact Addresses can be created + example: true + update_contacts_addresses: + type: boolean + nullable: true + description: Contact Addresses can be updated + example: true + delete_contacts_addresses: + type: boolean + nullable: true + description: Contact Addresses can be deleted + example: true + - title: Individual ACL + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Individual can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Individual can be delete + example: true + view_individuals_addresses: + type: boolean + nullable: true + description: Individual Addresses can be listed + example: true + create_individuals_addresses: + type: boolean + nullable: true + description: Individual Addresses can be created + example: true + update_individuals_addresses: + type: boolean + nullable: true + description: Individual Addresses can be updated + example: true + delete_individuals_addresses: + type: boolean + nullable: true + description: Individual Addresses can be deleted + example: true + - title: TaskAcl + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Task can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Task can be delete + example: true + - title: Comment acl + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + description: Comment can be updated + can_be_deleted: + type: boolean + description: Comment can be deleted + - title: Opportunity ACL + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: false + description: Opportunity can be updated + example: true + can_be_deleted: + type: boolean + nullable: false + description: Opportunity can be deleted + example: true + link_invoicing_docs: + type: boolean + nullable: false + description: Can link invoicing documents + example: true + - title: ACL for Calendar Event object + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Calendar Event can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Calendar Event can be delete + example: true + ActivityFilters: + type: object + description: The activity filters + properties: + filters: + type: object + description: Activity filters + properties: + entity: + description: Filter on a specific entity + type: object + properties: + type: + description: Entity type + type: string + enum: + - email + - calendar_event + - staff + - task + - comment + - snippettracking + - phonecall + - contact + - prospect + - opportunity + - campaign + - client + - supplier + id: + type: integer + description: Entity id to filter on + entities: + type: array + items: + $ref: >- + #/components/schemas/ActivityFilters/properties/filters/properties/entity/properties/type + due_date: + $ref: >- + #/components/schemas/DealsFilters/properties/filters/properties/due_date + activity_level: + description: >- + Filter activity by level. Get main activities/secondary + activities or both by default. + type: array + example: + - main + items: + type: string + enum: + - main + - secondary + default: + - main + - secondary + EmailItem: + title: Email + allOf: + - type: object + title: Email + description: The email object + properties: + id: + description: Email Identifier + type: string + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + description: Owner of the email + subject: + type: string + description: Subject of email + is_open: + type: boolean + description: Has been open or not + is_scheduled: + type: boolean + description: Has been scheduled or immediate send + from: + type: string + format: email + description: From email + participants: + type: array + description: Email addresses of destinators + items: + type: string + format: email + is_private: + type: boolean + description: Private email or not + created: + type: string + format: date-time + description: Creation date / hour + updated: + type: string + format: date-time + description: Last update date / hour + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: Main object related to the email (limit to 1). + items: + type: object + additionalProperties: false + description: Main object related to the email + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + company_id: + type: integer + description: Company linked to email + readOnly: true + individual_id: + type: integer + description: Individual linked to email + readOnly: true + contact_id: + type: integer + description: Contact linked to email + readOnly: true + thread_id: + description: Email thread identifier + nullable: false + oneOf: + - type: string + example: axB8kdF092 + minLength: 1 + - type: integer + example: 1056 + minimum: 1 + - type: object + properties: + content: + type: string + description: Full email content + snippet: + type: string + description: Short description + EmailEngineItem: + type: object + title: Email + description: The email object + properties: + id: + description: Email Identifier + type: string + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + subject: + type: string + description: Subject of email + content: + type: string + description: Content of email + is_open: + type: boolean + description: Has been open or not + is_scheduled: + type: boolean + description: Has been scheduled or immediate send + from: + type: object + properties: + email: + type: string + format: email + description: Recipient's email + name: + type: string + description: Recipient's name + to: + description: An array of name+email pairs the message was sent to. + type: array + items: + $ref: '#/components/schemas/EmailEngineItem/properties/from' + cc: + description: An array of name+email pairs the message was cc'd to. + type: array + items: + $ref: '#/components/schemas/EmailEngineItem/properties/from' + bcc: + description: >- + An array of name+email pairs the message was bcc'd to. For received + mail this is nearly always empty. + type: array + items: + $ref: '#/components/schemas/EmailEngineItem/properties/from' + is_private: + type: boolean + description: Private email or not + created: + type: string + format: date-time + description: Creation date / hour + updated: + type: string + format: date-time + description: Last update date / hour + related: + type: array + nullable: false + description: Main object related to the email. + items: + type: object + additionalProperties: false + description: Main object related to the email + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + message_id: + description: Email message identifier + nullable: true + type: string + example: axB8kdF092 + minLength: 1 + thread_id: + description: Email thread identifier + nullable: true + type: string + example: axB8kdF092 + minLength: 1 + linked_object: + type: string + nullable: true + description: Linked to the email object + example: client.1 + EmailSendBody: + type: object + required: + - subject + - content + - to + properties: + subject: + description: Subject + type: string + content: + description: Content + type: string + to: + description: Main recipients + type: array + items: + type: object + required: + - email + properties: + name: + description: Participant name + type: string + nullable: true + email: + description: Participant email + type: string + format: email + related: + description: Related objects + type: array + items: + type: object + required: + - id + - type + properties: + id: + description: Object id + type: integer + type: + description: Object type + type: string + enum: + - company + - contact + - client + - supplier + - prospect + - estimate + - invoice + - delivery + - order + - creditnote + - proforma + - opportunity + - staff + cc: + description: Recipients in copy + type: array + items: + $ref: '#/components/schemas/EmailSendBody/properties/to/items' + bcc: + description: Recipients in blind copy + type: array + items: + $ref: '#/components/schemas/EmailSendBody/properties/to/items' + related: + description: Related objects + type: array + items: + type: object + required: + - id + - type + properties: + id: + description: Object id + type: integer + type: + description: Object type + type: string + enum: + - estimate + - invoice + - delivery + - order + - creditnote + - proforma + - opportunity + - company + - client + - supplier + - prospect + - contact + - purInvoice + - purCreditNote + - purOrder + - purDelivery + in_reply_to_id: + description: Message ID of the email to which this email is a reply + type: string + nullable: true + PartialEmailHeader: + type: object + title: Mail provider error + description: The error + properties: + error: + description: Error detail + type: object + properties: + code: + type: integer + description: HTTP status code + message: + type: string + description: Error message + EmailAuthenticationItem: + title: DNS authentication result + type: object + properties: + valid: + type: boolean + description: Indicates if this is a valid domain + domain: + type: string + description: Domain for which the DNS information is retrieved + dns: + type: object + description: DNS records + properties: + mail_cname: + title: cname.yaml + type: object + description: The CNAME for your sending domain + properties: + valid: + type: boolean + description: Indicates if this is a valid CNAME + type: + type: string + description: The type of DNS record + host: + type: string + description: The domain that this CNAME is created for + data: + type: string + description: The CNAME record + dkim1: + title: dns.yaml + type: object + description: DNS record + properties: + valid: + type: boolean + description: Indicates if this is a valid DNS record + type: + type: string + description: The type of DNS record + host: + type: string + description: The domain that this DNS record was created for + data: + type: string + description: The DNS record + dkim2: + $ref: >- + #/components/schemas/EmailAuthenticationItem/properties/dns/properties/dkim1 + EmailValidationItem: + title: DNS validation result + type: object + properties: + valid: + type: boolean + description: Indicates if this is a valid domain + domain: + type: string + description: Domain for which the DNS information is retrieved + validation_results: + type: object + description: DNS records + properties: + mail_cname: + type: object + nullable: true + properties: + valid: + type: boolean + description: If the check passed or not + reason: + type: string + nullable: true + description: The error message + dkim1: + $ref: >- + #/components/schemas/EmailValidationItem/properties/validation_results/properties/mail_cname + dkim2: + $ref: >- + #/components/schemas/EmailValidationItem/properties/validation_results/properties/mail_cname + spf: + $ref: >- + #/components/schemas/EmailValidationItem/properties/validation_results/properties/mail_cname + EmailVerificationInput: + title: Email verification + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + email: + type: string + format: email + description: Email address to verify + example: john-doe@example.com + redirect_uri: + type: string + format: uri + nullable: true + description: Uri to be redirected to after email validation + example: https://www.sellsy.com + required: + - email + EmailVerificationValidateInput: + title: Email verification + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + email: + type: string + format: email + description: Email address to verify + example: john-doe@example.com + required: + - email + EmailVerificationValidateOutput: + title: Email verification result + type: object + properties: + verified: + type: boolean + description: Indicates if the email has already been verified + example: false + EmailRecipientSuggestionOutput: + title: Suggested recipient + type: array + items: + type: object + properties: + email: + type: string + format: email + example: john.doe@example.com + description: Suggested recipient's email + name: + type: string + example: John Doe + description: Suggested recipient's name + relatedObject: + $ref: '#/components/schemas/EmailSendBody/properties/related/items' + EmailRecipientsOutput: + title: Recipients + type: array + description: List of recipients + items: + type: object + properties: + email: + type: string + format: email + example: john.doe@example.com + description: Recipient's email + name: + type: string + example: John Doe + description: Recipient's name + WebhookFilters: + title: WebhookFilters + type: object + description: Webhooks filters list + properties: + filters: + type: object + description: Opportunity filters + properties: + type: + type: string + description: Webhook type + enum: + - http + - slack + example: slack + is_enabled: + type: boolean + description: Webhook status + example: true + endpoint: + type: string + description: >- + Webhook endpoint (either url for http type, either slack url for + slack type) + example: http://{host}/webhook + required: + - filters + WebhookReadItem: + anyOf: + - title: webhook.slack.read.item + type: object + description: Slack Webhook schema for read context + allOf: + - title: webhook.common.read.item + type: object + description: Webhook common schema for read context + allOf: + - title: webhook.common.item + type: object + description: Webhook common schema + properties: + is_enabled: + type: boolean + description: Webhook status + default: true + endpoint: + type: string + description: >- + Webhook endpoint (either url for http type, either slack + url for slack type) + example: http://{host}/webhook + - type: object + properties: + id: + type: integer + type: + type: string + description: Webhook type + enum: + - http + - slack + example: slack + created: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + updated: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + nullable: true + last_succeeded: + type: string + example: '1970-01-01T00:00:00+00:00' + format: date-time + nullable: true + last_failed: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + nullable: true + nb_failures: + type: integer + minimum: 0 + example: 0 + - type: object + properties: + default_channel: + type: string + nullable: true + example: sales_notifs + description: required for slack type webhook + configuration: + title: webhookConfigurationSlackItems + type: array + description: Describe all events to enable as a key + additionalProperties: true + items: + allOf: + - title: webhook.slack.configuration.item + type: object + description: Slack Webhook configuration item schema + additionalProperties: false + properties: + id: + type: string + description: Event id (fetch from /webhooks/events) + example: task.created + is_enabled: + type: boolean + description: Event enabled on webhook + example: true + channel: + type: string + nullable: true + description: Slack channel + - title: webhook.http.read.item + type: object + description: Http Webhook schema for read context + allOf: + - $ref: '#/components/schemas/WebhookReadItem/anyOf/0/allOf/0' + - type: object + properties: + configuration: + title: webhookConfigurationHttpItems + type: array + description: Describe all events to enable as a key + additionalProperties: true + items: + allOf: + - title: webhook.http.configuration.item + type: object + description: Http Webhook configuration item schema + additionalProperties: false + properties: + id: + type: string + description: Event id (fetch from /webhooks/events) + example: task.created + is_enabled: + type: boolean + description: Event enabled on webhook + example: true + WebhookEditItem: + anyOf: + - title: webhook.slack.edit.item + type: object + description: Slack Webhook schema for edit context + additionalProperties: false + properties: + is_enabled: + type: boolean + description: Webhook status + default: true + endpoint: + type: string + description: >- + Webhook endpoint (either url for http type, either slack url for + slack type) + example: http://{host}/webhook + default_channel: + type: string + nullable: true + example: sales_notifs + description: required for slack type webhook + configuration: + $ref: >- + #/components/schemas/WebhookReadItem/anyOf/0/allOf/1/properties/configuration + - title: webhook.http.edit.item + type: object + description: Http Webhook schema for edit context + additionalProperties: false + properties: + is_enabled: + type: boolean + description: Webhook status + default: true + endpoint: + type: string + description: >- + Webhook endpoint (either url for http type, either slack url for + slack type) + example: http://{host}/webhook + configuration: + $ref: >- + #/components/schemas/WebhookReadItem/anyOf/1/allOf/1/properties/configuration + WebhookCreateItem: + anyOf: + - title: webhook.slack.create.item + type: object + description: Slack Webhook schema for create context + additionalProperties: false + properties: + is_enabled: + type: boolean + description: Webhook status + default: true + endpoint: + type: string + description: >- + Webhook endpoint (either url for http type, either slack url for + slack type) + example: http://{host}/webhook + default_channel: + type: string + nullable: true + example: sales_notifs + description: required for slack type webhook + type: + type: string + description: Webhook type + enum: + - slack + - http + example: slack + configuration: + $ref: >- + #/components/schemas/WebhookReadItem/anyOf/0/allOf/1/properties/configuration + - title: webhook.http.create.item + type: object + description: Http Webhook schema for create context + additionalProperties: false + properties: + is_enabled: + type: boolean + description: Webhook status + default: true + endpoint: + type: string + description: >- + Webhook endpoint (either url for http type, either slack url for + slack type) + example: http://{host}/webhook + type: + type: string + description: Webhook type + enum: + - http + - slack + example: http + configuration: + $ref: >- + #/components/schemas/WebhookReadItem/anyOf/1/allOf/1/properties/configuration + WebhookEventsList: + title: webhookEvents + type: array + description: List available webhook events + items: + anyOf: + - title: webhookEventItem + type: object + description: Describe a webhook event item + properties: + id: + type: string + description: Entity + example: task + description: + type: string + description: Entity label + example: Tasks + events: + type: object + description: List available events for current entity + additionalProperties: + type: string + description: Event label + example: + created: Creation + deleted: Deletion + addressadded: Address added + - title: webhookEventItemWithParent + type: object + description: Describe a webhook event item with a parent + allOf: + - $ref: '#/components/schemas/WebhookEventsList/items/anyOf/0' + - type: object + properties: + parent: + type: string + description: Entity + example: task + nullable: true + PaymentMethod: + type: object + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + label: + type: string + readOnly: true + description: Label of payment method + example: Paypal + Payment: + type: object + properties: + id: + description: Payment id + type: integer + example: 7 + number: + description: Payment reference + type: string + nullable: true + example: reference + paid_at: + description: Payment date (ISO 8601) + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + status: + description: Payment status + type: string + enum: + - pending + - confirmed + - rejected + - failed + - refund + example: pending + payment_method_id: + description: Payment method id _(cf `get./payments/methods`)_ + type: integer + example: 7 + type: + description: Payment type + type: string + enum: + - credit + - debit + example: credit + amounts: + description: Amount informations + type: object + properties: + total: + description: Total amount of payment + type: string + example: '1007.90' + remaining: + description: Remaining amount of payment to be linked + type: string + example: '507.90' + currency: + description: Currency code + type: string + example: EUR + bank_deposit: + description: Information on banking + nullable: true + properties: + bank_account_id: + description: Depository bank id + type: integer + example: 7 + date: + description: Date of banking + type: string + format: date + example: '2022-05-30' + related: + description: Company or individual linked + type: object + properties: + id: + description: Id of object + type: integer + example: 7 + type: + description: Type of object + type: string + enum: + - company + - individual + example: company + related_objects: + description: payment-related object + type: array + minItems: 0 + nullable: false + items: + type: object + properties: + id: + description: Id of object + type: integer + example: 7 + type: + description: Type of object + type: string + enum: + - invoice + - credit-note + - order + - estimate + example: estimate + amount_linked: + description: Amount related to the object + type: string + example: '500' + linked_date: + description: Date of linking the payment to the object + type: string + format: date + example: '1970-01-01' + note: + description: Note of payment + type: string + nullable: true + example: Early payment of the invoice XXX + _embed: + title: Payment embed + readOnly: true + description: Payment embed + allOf: + - type: object + properties: + acl: + description: Payment acl + type: object + properties: + can_be_updated: + description: Can be update a payment + type: boolean + example: true + can_be_deleted: + description: Can be delete a payment + type: boolean + example: false + company: + description: Company linked to payment + nullable: true + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + individual: + description: Individual linked to payment + nullable: true + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + CreatePayment: + type: object + properties: + number: + description: Payment identifier + type: string + example: reference + paid_at: + description: Payment date (ISO 8601) + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + payment_method_id: + description: Payment method id + type: integer + example: 7 + type: + description: Payment type + type: string + enum: + - credit + - debit + example: credit + amount: + type: object + description: Amount of payment + properties: + value: + description: Amount (cannot be zero or negative) + type: string + example: '999.90' + currency: + type: string + description: Currency (ISO 4217) + pattern: ^[A-Za-z *]{2,5}$ + nullable: true + example: EUR + required: + - value + - currency + note: + description: Note of payment + type: string + nullable: true + example: Invoice XXX paid + required: + - paid_at + - payment_method_id + - amount + - type + Unit: + type: object + title: Unit object + properties: + id: + type: integer + readOnly: true + example: 9837 + label: + type: string + example: m² + Team: + type: object + properties: + id: + type: integer + readOnly: true + description: Team id + example: -1 + name: + type: string + readOnly: true + description: Team name + example: Commercial + jobs: + description: List of Jobs + type: object + properties: + id: + type: integer + description: Label ID + readOnly: true + example: -3 + name: + type: string + description: Name of label + readOnly: true + example: Office manager + Profiles: + type: object + title: Profile + properties: + id: + type: integer + description: Profile id + example: 6657 + name: + type: string + description: Profile name + example: Collaborator + is_administrator: + type: boolean + description: Indicates if this profile grants administrator privileges + example: true + required: + - id + - name + - is_administrator + Currency: + type: object + title: Currency + properties: + id: + type: integer + description: Currency Identifier + readOnly: true + example: 13 + code: + type: string + description: Currency code (EUR, USD..) + readOnly: true + example: EUR + symbol: + type: string + description: Currency symbol (€, $) + example: € + readOnly: true + is_default: + type: boolean + description: Is default currency? + example: true + Country: + type: object + title: Country + properties: + code: + type: string + description: Internal code + readOnly: true + example: IT + iso-alpha-2: + type: string + description: ISO alpha 2 + readOnly: true + example: IT + iso-alpha-3: + type: string + description: ISO alpha 3 + readOnly: true + example: ITA + name: + type: string + description: Country name + readOnly: true + example: Italie + Subscription: + title: Subscription + type: object + properties: + licenses: + type: array + items: + type: object + properties: + id: + type: string + description: License identifier + example: 9998a80a-7b75-4616-96d5-7ccff7ac08e8 + code: + type: string + description: License code + enum: + - pack_prospecting_sale + - pack_invoicing_management + - pack_all_included + available: + type: integer + description: Number of licenses available + example: 5 + total: + type: integer + description: Total of licenses + example: 10 + plugins: + type: object + additionalProperties: + type: boolean + example: + accounting: true + bankreconciliation: true + companySearch: true + invoicing: true + mailing: true + massmailing: true + phonecall: true + proposal: true + prospection: true + purchases: true + recurring: true + saleestimate: true + scheduler: true + stock: false + support: false + yousign: true + billing_contact: + type: object + properties: + last_name: + type: string + description: User's lastname + example: Doe + nullable: true + first_name: + type: string + description: User's firstname + example: John + nullable: true + email: + type: string + description: User's email + format: email + example: contact@example-company.com + nullable: true + phone_number: + type: string + description: User's phone + example: 33100000000 + nullable: true + billing_settings: + type: object + properties: + service_start_date: + type: string + description: Date of start service + format: date-time + nullable: true + service_end_date: + type: string + description: Date of end service + format: date-time + nullable: true + payment_method: + type: string + description: Payment method of subscription + enum: + - card + - transfer + - sepa + plan: + type: string + description: Plan of subscription + example: ESSENTIAL_MONTHLY + nullable: true + amounts: + type: object + properties: + monthly: + type: object + properties: + total: + type: integer + description: Total of monthly amount + example: 32500 + total_discount: + type: integer + description: Total of discount for monthly amount + example: 100 + total_discounted: + type: integer + description: Total after discount of monthly amount + example: 32400 + yearly: + type: object + properties: + total: + type: integer + description: Total of yearly amount + example: 390000 + total_discount: + type: integer + description: Total of discount for yearly amount + example: 10000 + total_discounted: + type: integer + description: Total after discount of yearly amount + example: 380000 + billing_address: + type: object + properties: + client_name: + type: string + description: Corp name + example: Sellsy + address_line_1: + type: string + description: Address line one + example: 30 Commercial Road + nullable: true + address_line_2: + type: string + description: Address line two + example: Finance and Accounting + nullable: true + postal_code: + type: string + description: Address postal code + example: 75012 + nullable: true + city: + type: string + description: Address city name + example: Paris + nullable: true + country: + type: string + description: Address country + example: France + nullable: true + country_code: + type: string + description: Address country code + example: FR + nullable: true + next_payment_date: + type: string + format: date-time + nullable: true + description: Date of the next subscription payment + renew_cart: + type: object + nullable: true + properties: + id: + type: string + description: Cart id + example: f0173ec-1fb2-43ce-80c1-f972390b237e + period_appliance_start: + type: string + description: Date of the beginning of the cart + example: '2022-02-17T00:00:00.000000Z' + features: + description: > + Set of features available only to specific subscriptions, with a + boolean indicating whether each function is accessible or blocked. +
This array may be empty if your subscription does not include + this notion. + type: object + nullable: true + example: + feature_1: true + feature_2: false + ItemReadItem: + type: object + title: Item + properties: + id: + type: integer + description: Item id + example: 6657 + type: + type: string + description: Item type + enum: + - product + - service + - shipping + - packaging + name: + type: string + description: Item name + example: lorem ipsum + nullable: true + reference: + type: string + description: Item reference + example: ref0123 + reference_price: + deprecated: true + type: string + description: >- + Item reference price
>This field is deprecated, refer to + `is_reference_price_taxes_free` to use either + `reference_price_taxes_inc` or `reference_price_taxes_exc` instead + example: '19.99' + reference_price_taxes_exc: + type: string + description: Item's reference price excluding taxes + example: '19.99' + purchase_amount: + type: string + description: Item's purchase price excluding taxes + example: '8.25' + reference_price_taxes_inc: + type: string + description: Item's reference price including taxes + example: '23.98' + is_reference_price_taxes_free: + type: boolean + description: Item is reference price has taxes free + example: true + tax_id: + type: integer + description: Tax id + example: 354 + nullable: true + unit_id: + type: integer + description: Unit id + example: 952 + nullable: true + category_id: + type: integer + description: Category id (only for product and service types) + example: 123 + price_excl_tax: + deprecated: true + type: string + example: '500.00' + description: >- + Item's price excluding taxes
>This field is deprecated, base on + `is_reference_price_taxes_free` to use either + `reference_price_taxes_inc` or `reference_price_taxes_exc` instead + currency: + type: string + description: Currency code + example: EUR + nullable: true + standard_quantity: + type: string + description: Standard quantity + example: '3' + description: + type: string + description: Description of item + example: T-shirt 90% coton + nullable: true + is_name_included_in_description: + type: boolean + description: To add the name of item in description + example: true + accounting_code_id: + nullable: true + type: integer + description: Accounting code id + example: 321 + accounting_purchase_code_id: + nullable: true + type: integer + description: Accounting purchase code id + example: 123 + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + is_declined: + type: boolean + nullable: false + description: Item declined or not + example: false + required: + - id + - type + - reference + - reference_price_taxes_exc + - reference_price_taxes_inc + - is_reference_price_taxes_free + - tax_id + - unit_id + DeclinationRead: + type: object + title: Declination + properties: + id: + type: integer + description: Declination id + example: 3 + name: + type: string + description: Item name + example: lorem ipsum + reference: + type: string + description: Declination name + example: lorem ipsum + item_id: + type: integer + description: Item ID + example: 123454 + description: + type: string + description: Declination description + example: lorem ipsum + purchase_amount: + type: string + description: Declination's purchase price excluding taxes + example: '500' + is_name_included_in_description: + type: boolean + description: Add the name to the description + example: true + currency: + type: string + description: Currency code + example: EUR + nullable: true + reference_price_taxes_exc: + type: string + description: Declination's reference price excluding taxes + example: '400' + CreateItem: + title: Create item + type: object + properties: + type: + type: string + enum: + - product + - service + name: + type: string + description: Item name + example: lorem ipsum + reference: + type: string + description: Item reference + example: ref0123 + reference_price: + type: string + description: Item reference price + example: '19.99' + purchase_amount: + type: string + description: Item's purchase price excluding taxes + example: '8.25' + is_reference_price_taxes_free: + type: boolean + description: Price expressed without tax + example: true + tax_id: + type: integer + description: Tax id + example: 354 + unit_id: + type: integer + description: Unit id + example: 952 + category_id: + type: integer + description: Category id (only for product and service types) + example: 123 + standard_quantity: + type: string + description: Standard quantity + example: '3' + description: + type: string + description: Description of item + example: T-shirt 90% coton + is_name_included_in_description: + type: boolean + description: To add the name of item in description + example: true + accounting_code_id: + type: integer + description: Accounting code id + example: 321 + accounting_purchase_code_id: + type: integer + description: Accounting purchase code id + example: 123 + accounting_analytic_code: + type: string + description: Accounting analytic code + example: divers + required: + - type + - reference + UpdateItem: + title: Update item + type: object + additionalProperties: false + properties: + name: + type: string + description: Item name + example: lorem ipsum + nullable: true + reference: + type: string + description: Item reference + example: ref0123 + reference_price: + type: string + description: Item reference price + example: '19.99' + purchase_amount: + type: string + description: Item's purchase price excluding taxes + example: '8.25' + is_reference_price_taxes_free: + type: boolean + description: Price expressed without tax + example: true + tax_id: + type: integer + description: Tax id + example: 354 + unit_id: + type: integer + description: Unit id + example: 952 + category_id: + type: integer + description: Category id (only for product and service types) + example: 123 + standard_quantity: + type: string + description: Standard quantity + example: 3 + description: + type: string + description: Description of item + example: T-shirt 90% coton + is_name_included_in_description: + type: boolean + description: To add the name of item in description + example: true + accounting_code_id: + type: integer + description: Accounting code id + example: 321 + accounting_purchase_code_id: + type: integer + description: Accounting purchase code id + example: 123 + LicenseRead: + title: License + type: array + items: + type: object + properties: + id: + type: string + description: License identifier + example: 9998a80a-7b75-4616-96d5-7ccff7ac08e8 + code: + type: string + description: License code + enum: + - pack_prospecting_sale + - pack_invoicing_management + - pack_all_included + enabled: + type: boolean + description: License enabled + LicenseEdit: + title: License + type: array + minItems: 0 + maxItems: 1 + items: + type: object + properties: + id: + type: string + description: License identifier + example: 9998a80a-7b75-4616-96d5-7ccff7ac08e8 + Quotas: + type: object + additionalProperties: false + properties: + email_marketing: + allOf: + - type: object + deprecated: true + description: Quota of email marketing plugin (legacy) + - type: object + properties: + limit: + type: integer + nullable: true + description: >- + Limit of quota that can be used (null for + unlimited quota). + example: 10 + minimum: 1 + used: + type: integer + description: Quotas used + example: 3 + minimum: 0 + firm_search: + allOf: + - type: object + description: Quota of company search plugin + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + yousign: + allOf: + - type: object + description: Quota of esign plugin + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + esker: + allOf: + - type: object + description: Quota of mailing plugin + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + sms_marketing: + allOf: + - type: object + deprecated: true + description: Quota of sms marketing plugin (legacy) + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + custom_fields: + allOf: + - type: object + description: Quota on the creation of customfields + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + custom_field_groups: + allOf: + - type: object + description: Quota on the creation of customfield groups + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + pipelines: + allOf: + - type: object + description: Quota on the creation of pipelines + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + privilege_profiles: + allOf: + - type: object + description: Quota on the creation of privilege profiles + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + api_rate_seconds: + allOf: + - type: object + description: API request quota by seconds + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + api_rate_minutes: + allOf: + - type: object + description: API request quota by minutes + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + api_rate_days: + allOf: + - type: object + description: API request quota by days + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + api_rate_months: + allOf: + - type: object + description: API request quota by months + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + estimate_dunning_plan: + allOf: + - type: object + description: Quota on the creation of dunning plans for estimate + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + invoice_dunning_plan: + allOf: + - type: object + description: Quota on the creation of dunning plans for invoice + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + proforma_dunning_plan: + allOf: + - type: object + description: Quota on the creation of dunning plans for proforma + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + activity_report: + allOf: + - type: object + description: Quota on activity reporting + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + bank_account_reconciliations: + allOf: + - type: object + description: >- + Quota on number of bank accounts synchronized with the bank + reconciliation module + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + documents: + allOf: + - type: object + description: > + Quota on number of documents created in the current month +
* Starting on the day of the anniversary month of your + subscription + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + document_invoices: + allOf: + - type: object + description: > + Quota on number of invoices created in the current month +
* Starting on the day of the anniversary month of your + subscription + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + file_storage: + allOf: + - type: object + description: Quota on disk space used for files (in bytes) + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + rate_categories: + allOf: + - type: object + description: Quota on the number of rate categories + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + recurring: + allOf: + - type: object + description: Quota on the number of active customer subscriptions + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + report_cards: + allOf: + - type: object + description: >- + Quota on the number of "Reports" tiles allowed on the Sellsy web + application dashboard + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + catalog_items: + allOf: + - type: object + description: Quota on the number of "product" or "service" items + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + marketing_emailing: + allOf: + - type: object + description: Quota of marketing plugin's email + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + marketing_transactional: + allOf: + - type: object + deprecated: true + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + marketing_sms: + allOf: + - type: object + description: Quota of marketing plugin's sms + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + write_with_ai: + allOf: + - type: object + description: Quota of "write with AI" requests + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + Verify: + description: Validated + StaffFilters: + title: Staff filters + type: object + description: Filters for search staffs endpoint + properties: + filters: + type: object + properties: + status: + type: array + description: Filters on the status of staffs + minItems: 1 + items: + type: string + enum: + - ok + - blocked + InvoicingSearch: + title: Invoicing Search + description: Invoicing Search Object + additionalProperties: false + type: object + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + number: + type: string + example: FACT-20211001-00003 + description: Document number + readOnly: true + type: + type: string + example: invoice + description: Document type + readOnly: true + enum: + - model + - estimate + - invoice + - delivery + - order + - creditnote + - proforma + ItemPrice: + title: Price + description: Price of an item + additionalProperties: false + type: object + properties: + rate_category_id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + amount_excl_tax: + type: string + example: '19.99' + description: Amount excluding taxes + readOnly: true + amount_incl_tax: + type: string + example: '24.99' + description: Amount including taxes + readOnly: true + ItemInputPrice: + title: Price + description: Price of an item + additionalProperties: false + type: object + properties: + rate_category_id: + type: integer + description: Unique ID + example: 6657 + amount: + type: string + example: '19.99' + description: > +
  • For rate category without taxes, amount must exclude them + but for rate category with taxes, it should include them
  • +
  • You can update the amount for rates categories with amount + type
  • You can't update percent rate categories
+ InvoicingSearchFilters: + title: Invoicing Search Filters + description: Invoicing Search Filters + additionalProperties: false + type: object + properties: + filters: + type: object + description: Invoicing Search Filters + properties: + id: + title: Documents + type: array + items: + type: integer + description: Filter the documents list by document ID + example: + - 12 + - 22 + AccountingMetas: + title: listingMeta + type: object + description: The listing meta + properties: + permissions: + type: object + description: The permissions + required: + - favorite + - export + properties: + favorite: + type: boolean + description: Can access to export + export: + type: boolean + description: Can access to favorite + codes: + type: array + description: List of codes + minItems: 1 + items: + type: object + required: + - label + - value + properties: + label: + type: string + description: Label of code + value: + type: string + description: Id of code + currencies: + type: array + description: List of currencies + minItems: 1 + items: + type: object + required: + - label + - value + properties: + label: + type: string + description: Label of currency + value: + type: string + description: Id of currency + required: + - permissions + - codes + - currencies + AccountingAggregations: + title: accountingAggregations + type: object + description: The accounting aggregations + properties: + credit_debit: + type: object + description: Count debit/credit + properties: + debit: + type: string + example: '123.234' + credit: + type: string + example: '123.234' + additionalProperties: true + EsignSettings: + type: object + description: The Esign Providers + required: + - provider + - available_providers + properties: + provider: + type: object + nullable: false + additionalProperties: false + required: + - id + - name + properties: + id: + type: string + nullable: false + name: + type: string + nullable: false + oauth_url: + type: string + nullable: true + is_connected: + type: boolean + nullable: false + available_providers: + type: array + nullable: false + items: + type: object + nullable: false + additionalProperties: false + required: + - id + - name + properties: + id: + type: string + nullable: false + name: + type: string + nullable: false + MarketingProviders: + type: object + description: The Marketing Providers + required: + - provider + - available_providers + properties: + provider: + type: object + nullable: true + additionalProperties: false + required: + - id + - name + properties: + id: + type: integer + nullable: false + name: + type: string + nullable: false + available_providers: + type: array + nullable: false + items: + type: object + nullable: false + additionalProperties: false + required: + - id + - name + properties: + id: + type: integer + nullable: false + name: + type: string + nullable: false + MailchimpSettings: + title: Mailchimp settings + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + apikey: + type: string + description: API key of the mailchimp account to use + example: abcdefghijklmnopqrstuv0123456789-usX + nullable: true + audiences: + type: array + items: + type: object + additionalProperties: false + properties: + id: + type: string + nullable: false + description: Audience's id + example: abcdefghijklmnopqrstuv0123456789 + name: + type: string + nullable: false + description: audience's name + example: CRM List + required: + - id + - name + marketing: + type: object + additionalProperties: false + description: Marketing settings + properties: + loaded: + type: boolean + description: Indicates if the Marketing module is loaded + example: true + nullable: false + enabled: + type: boolean + description: Indicates if Mailchimp Marketing is enabled + example: true + nullable: false + audience_id: + description: Mailchimp's audience list identifier to use + type: string + example: abcdefghijklmnopqrstuv0123456789 + nullable: true + required: + - loaded + - enabled + - audience_id + contacts_synchronization: + type: object + additionalProperties: false + description: Contact Synchronization settings + properties: + enabled: + type: boolean + description: Indicates if the synchronization of contacts is enabled + example: true + nullable: false + audience_id: + description: Mailchimp's audience list identifier to use + type: string + example: abcdefghijklmnopqrstuv0123456789 + nullable: true + merge_fields: + type: array + description: Mailchimp's audience merge fields defined + nullable: false + items: + anyOf: + - type: object + description: Text merge field + additionalProperties: false + nullable: false + properties: + merge_id: + type: integer + nullable: false + description: Merge field's Identifier + type: + type: string + nullable: false + example: text + name: + type: string + nullable: false + description: Merge field's Name + tag: + type: string + nullable: false + description: Merge field's template tag + default_value: + type: string + nullable: true + - type: object + description: Dropdown merge field + additionalProperties: false + nullable: false + properties: + merge_id: + type: integer + nullable: false + description: Merge field's Identifier + type: + type: string + nullable: false + example: dropdown + name: + type: string + nullable: false + description: Merge field's Name + tag: + type: string + nullable: false + description: Merge field's template tag + default_value: + type: string + nullable: true + choices: + type: array + nullable: false + description: Merge field's value options + items: + type: object + nullable: false + additionalProperties: false + properties: + label: + type: string + nullable: false + filter: + description: Indicates which kind of contacts to synchronize + type: string + enum: + - all + - clients + - prospects + - suppliers + default: all + nullable: true + required: + - enabled + - audience_id + - filter + required: + - apikey + - marketing + - contacts_synchronization + MailjetSettings: + title: Mailjet settings + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + api_key: + type: string + description: API key of the Mailjet account to use + example: abcdefghijklmnopqrstuv0123456789 + nullable: true + api_secret: + type: string + description: API secret of the Mailjet account to use + example: abcdefghijklmnopqrstuv0123456789 + nullable: false + contacts_lists: + type: array + items: + type: object + additionalProperties: false + properties: + id: + type: integer + minimum: 0 + exclusiveMinimum: true + nullable: false + description: contact list's id + example: 42 + name: + type: string + nullable: false + description: contact list's name + example: CRM List + required: + - id + - name + contacts_synchronization: + type: object + additionalProperties: false + description: Contact Synchronization settings + properties: + enabled: + type: boolean + description: Indicates if the synchronization of contacts is enabled + example: true + nullable: false + contacts_list_id: + description: Mailjet's contact list identifier to use + type: integer + minimum: 0 + example: 42 + nullable: true + filter: + description: Indicates which kind of contacts to synchronize + type: string + enum: + - all + - clients + - prospects + - suppliers + default: all + nullable: true + required: + - enabled + - contacts_list_id + - filter + required: + - api_key + - api_secret + - contacts_synchronization + TwoFactorAuthenticationSettings: + title: Two factor authentication settings + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + enabled: + type: boolean + description: Indicates if the two factor authentication is enabled + example: true + nullable: false + required: + - enabled + UserTwoFactorAuthenticationSettings: + title: Two factor authentication settings + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + enabled: + type: boolean + description: Indicates if the two factor authentication is enabled + example: true + nullable: false + corporation_enabled: + type: boolean + description: >- + Indicates if the two factor authentication is enabled for the + corporation + example: true + nullable: false + available_providers: + type: array + items: + type: object + additionalProperties: false + properties: + provider: + type: string + description: provider name + example: google + nullable: false + enum: + - google + required: + - provider + providers: + description: List of registered provider for the user + type: array + items: + type: object + additionalProperties: false + properties: + provider: + $ref: >- + #/components/schemas/UserTwoFactorAuthenticationSettings/properties/available_providers/items/properties/provider + primary: + type: boolean + description: is the primary provider + example: true + nullable: false + configured_at: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Configuration date time the of the provider + nullable: true + required: + - provider + - primary + - configured_at + backup_codes: + title: Two factor authentication backup codes + description: List of user's backup codes + type: array + maxItems: 10 + minItems: 0 + items: + type: object + additionalProperties: false + properties: + code: + type: string + description: Backup Code + example: EB2F5E40 + nullable: false + created_at: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Creation date of the backup code + nullable: false + used_at: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Usage date of the backup code + nullable: true + required: + - code + - created_at + - used_at + trusted_devices: + description: List of registered trusted devices for the user + type: array + items: + type: object + additionalProperties: false + properties: + id: + type: integer + device: + type: string + description: Device type + example: desktop + nullable: false + created_at: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Creation date time the of the device + nullable: false + last_login_at: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Last login date time using the device + nullable: false + os: + type: string + example: GNU/Linux + description: Operating system family of the device + nullable: true + browser: + type: string + example: Chrome + description: Browser family of the device + nullable: true + required: + - id + - device + - created_at + - last_login_at + - os + - browser + required: + - enabled + - corporation_enabled + - available_providers + - backup_codes + - providers + - trusted_devices + UserUpdateTwoFactorAuthenticationSettings: + title: Two factor authentication settings + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + providers: + description: List of registered provider for the user + type: array + items: + type: object + additionalProperties: false + properties: + provider: + $ref: >- + #/components/schemas/UserTwoFactorAuthenticationSettings/properties/available_providers/items/properties/provider + required: + - provider + required: + - providers + UserUpdateTwoFactorAuthenticationSettingsResponse: + title: Two factor authentication settings + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + enabled: + type: boolean + description: Indicates if the two factor authentication is enabled + example: true + nullable: false + providers: + description: List of registered provider for the user + type: array + items: + type: object + additionalProperties: false + properties: + provider: + $ref: >- + #/components/schemas/UserTwoFactorAuthenticationSettings/properties/available_providers/items/properties/provider + primary: + type: boolean + description: is the primary provider + example: true + nullable: false + configured_at: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Configuration date time the of the provider + nullable: true + required: + - provider + - primary + - configured_at + required: + - enabled + - providers + BackupCodes: + title: Two factor authentication backup codes + description: List of user's backup codes + type: array + maxItems: 10 + minItems: 0 + items: + type: object + additionalProperties: false + properties: + code: + type: string + description: Backup Code + example: EB2F5E40 + nullable: false + created_at: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Creation date of the backup code + nullable: false + used_at: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Usage date of the backup code + nullable: true + required: + - code + - created_at + - used_at + ScanList: + type: array + title: Search results + description: List of results + items: + type: object + properties: + name: + description: name of company + type: string + example: Sellsy + siret: + description: Siret of company + type: string + example: '82993087400013' + nullable: true + type: + type: string + description: type of company + example: SAS, société par actions simplifiée + id: + type: string + description: >- + Identifier of the company. In case of French company, it + corresponds to the SIREN Number + example: '509961074' + job_code: + type: string + description: job code of company + example: 58.29C + nullable: true + address: + type: object + properties: + country: + type: string + description: Country of company + example: France + nullable: true + city: + type: string + description: City of company + example: LA ROCHELLE, + nullable: true + postal_code: + type: string + description: Postal_code of company + example: '17000' + nullable: true + address_line_1: + type: string + description: first part of address of company + example: Avenue DU LAZARET, + nullable: true + address_line_2: + type: string + description: Second part of address of company + nullable: true + ScanFetch: + type: object + title: Search results + description: Detailed answer for a company returned via the scan route + properties: + name: + description: name of company + type: string + example: Sellsy + siret: + description: Siret of company + type: string + example: '82993087400013' + nullable: true + type: + type: string + description: type of company + example: SAS, société par actions simplifiée + id: + type: string + description: >- + Identifier of the company. In case of French company, it corresponds + to the SIREN Number + example: '509961074' + job_code: + type: string + description: job code of company + example: 58.29C + nullable: true + address: + type: object + properties: + country: + type: string + description: Country of company + example: France + nullable: true + city: + type: string + description: City of company + example: LA ROCHELLE, + nullable: true + postal_code: + type: string + description: Postal_code of company + example: '17000' + nullable: true + address_line_1: + type: string + description: first part of address of company + example: Avenue DU LAZARET, + nullable: true + address_line_2: + type: string + description: Second part of address of company + nullable: true + officers: + type: array + nullable: true + items: + type: object + properties: + lastname: + type: string + description: Lastname of officier + firstname: + type: string + description: Firstname of officier + role: + type: string + description: Role of officier + nullable: true + capital: + type: integer + description: Capital of company + nullable: true + financial_activity: + type: array + nullable: true + items: + type: object + properties: + turnover: + type: integer + description: Turnover in this year + publication_year: + type: string + description: Year of publication + publication_date: + type: string + description: Date of publication + income: + type: integer + description: Diff with last year + workforce_count: + type: integer + description: Number of emplyees + nullable: true + rcs: + type: string + description: RCS of compnay + nullable: true + vat: + type: string + description: VAT of compnay + nullable: true + company_sign: + type: string + description: Sign of company + nullable: true + Notification: + title: Notification + type: object + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + event: + type: string + description: Event name + example: mention.staff + transport: + type: string + description: Event transport + enum: + - inapp + - push + - mail + - webhook + readOnly: true + recipient: + title: Recipient + type: object + properties: + id: + type: integer + readOnly: true + description: Recipient id + example: 6657 + type: + type: string + description: Recipient type + example: staff + firstname: + type: string + description: Recipient first name + example: John + lastname: + type: string + description: Recipient last name + example: Smith + subtype: + type: string + description: Sender type + example: regular + related: + type: array + items: + title: Related + type: object + properties: + id: + type: integer + readOnly: true + description: Related object id + example: 6657 + type: + type: string + description: Related object type + example: opportunity + name: + type: string + description: Related object name + example: New website + nullable: true + sender: + title: Sender + type: object + properties: + id: + type: integer + readOnly: true + description: Sender id + example: 6657 + type: + type: string + description: Sender type + example: staff + firstname: + type: string + description: Sender first name + example: John + lastname: + type: string + description: Sender last name + example: Smith + subtype: + type: string + description: Sender type + example: regular + avatar: + type: object + nullable: true + readOnly: true + properties: + type: + type: string + enum: + - initials + - picture + - twitteruserpic + value: + type: string + description: initials or avatar url + class: + type: integer + created: + type: string + description: Creation date of event + format: date-time + example: '1970-01-01T00:00:00+00:00' + readOnly: true + read: + type: string + description: Read date of event + format: date-time + example: '1970-01-01T00:00:00+00:00' + nullable: true + readOnly: true + status: + type: string + description: Event dispatch status + enum: + - ongoing + - sent + - failed + - retry + readOnly: true + status_updated: + type: string + description: Update date of event's status + format: date-time + example: '1970-01-01T00:00:00+00:00' + readOnly: true + nullable: true + event_details: + type: object + nullable: true + description: Details of event + additionalProperties: true + targeted_staff: + title: Targeted staff + type: object + properties: + id: + type: integer + readOnly: true + description: Targeted staff id + example: 6657 + firstname: + type: string + description: Targeted staff first name + example: John + lastname: + type: string + description: Targeted staff last name + example: Smith + NotificationFilters: + title: NotificationFilters + type: object + description: Notification filters + properties: + filters: + type: object + description: Notification filters + properties: + is_read: + title: Is read + type: boolean + description: Filter on read/unread notifications + example: false + required: + - filters + NotificationMarkAsRead: + title: Mark as read + type: object + description: Mark as read + properties: + read: + title: Is read + type: boolean + description: The notification has been read + example: true + required: + - read + NotificationSettingsOutput: + title: Notifications Settings Output + type: object + properties: + subscriptions: + title: Notifications subscription + type: array + description: >- + array of notifications to subscribe, with enabled transports by + notification + items: + type: object + additionalProperties: false + properties: + name: + type: string + description: notification name + example: mention.staff + transports: + type: array + description: list of transports to enable for notification + items: + type: string + enum: + - inapp + - push + - mail + - webhook + uniqueItems: true + required: + - name + - transports + do_not_disturb: + title: Notification do-not-disturb setting + type: object + properties: + enabled: + description: Do not disturb mode is enabled + type: boolean + required: + - enabled + NotificationSettingsInput: + title: Notifications Settings Input + type: object + properties: + subscriptions: + title: Notifications subscription + type: array + description: >- + array of notifications to subscribe, with enabled transports by + notification + minItems: 1 + maxItems: 100 + items: + type: object + additionalProperties: false + properties: + name: + type: string + description: notification name + example: mention.staff + transports: + type: array + description: list of transports to enable for notification + items: + type: string + enum: + - inapp + - push + - mail + - webhook + uniqueItems: true + required: + - name + - transports + do_not_disturb: + title: Notification do-not-disturb setting + type: object + properties: + enabled: + description: Do not disturb mode is enabled + type: boolean + required: + - enabled + NotificationMetadata: + title: Notifications Metadata Object + type: object + properties: + events: + type: array + items: + title: Notification events metadata + type: object + properties: + name: + type: string + description: notification name + example: mention.staff + transports: + type: array + description: list of transports available for notification + minItems: 1 + items: + type: string + enum: + - inapp + - push + - mail + - webhook + required: + - events + corporationStaffAggregation: + title: Count licenses Aggregations + type: object + x-examples: {} + properties: + count_licenses: + type: array + items: + title: Count licenses + type: object + properties: + count: + readOnly: true + type: integer + description: Number of licenses + example: 10 + product_id: + readOnly: true + type: string + description: Product id + example: e6acc4c7-4b7d-4b64-bda0-6e53eb1a00fb + product_code: + readOnly: true + type: string + description: Product code + example: pack_all_included + CorporationSubscription: + title: Subscription + type: object + properties: + licenses: + type: array + items: + type: object + properties: + id: + type: string + description: License identifier + example: 9998a80a-7b75-4616-96d5-7ccff7ac08e8 + code: + type: string + description: License code + enum: + - pack_prospecting_sale + - pack_invoicing_management + - pack_all_included + available: + type: integer + description: Number of licenses available + example: 5 + total: + type: integer + description: Total of licenses + example: 10 + plugins: + type: object + additionalProperties: + type: boolean + example: + accounting: true + bankreconciliation: true + companySearch: true + invoicing: true + mailing: true + massmailing: true + phonecall: true + proposal: true + prospection: true + purchases: true + recurring: true + saleestimate: true + scheduler: true + stock: false + support: false + yousign: true + billing_settings: + type: object + properties: + service_start_date: + type: string + description: Date of start service + format: date-time + nullable: true + service_end_date: + type: string + description: Date of end service + format: date-time + nullable: true + payment_method: + type: string + description: Payment method of subscription + enum: + - card + - transfer + - sepa + pricing_version: + type: integer + description: Pricing version + example: 5 + pricing_revision: + type: string + description: Pricing revision + example: 20231016 + plan_id: + type: string + description: Plan id + example: 5_20231016_elite + interval: + type: string + enum: + - monthly + - yearly + description: Billing interval + example: yearly + amounts: + type: object + properties: + monthly: + type: object + properties: + total: + type: integer + description: Total of monthly amount + example: 32500 + total_discount: + type: integer + description: Total of discount for monthly amount + example: 100 + total_discounted: + type: integer + description: Total after discount of monthly amount + example: 32400 + yearly: + type: object + properties: + total: + type: integer + description: Total of yearly amount + example: 390000 + total_discount: + type: integer + description: Total of discount for yearly amount + example: 10000 + total_discounted: + type: integer + description: Total after discount of yearly amount + example: 380000 + nb_available_staff: + type: integer + description: Number of available staffs + example: 8 + nullable: true + products: + type: array + description: List of products + example: + - pack_support + - pack_cashflow_pro + items: + type: string + Report: + title: Report + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + name: + type: string + description: The report name + example: Business report + nullable: false + type: + type: string + enum: + - cumulio + - legacy + default: legacy + description: The report provider + nullable: false + dashboard_id: + type: string + description: Dashboard id + example: b5e2cf01-8bb6-4fcd-ad88-0efb611195da + nullable: true + path: + type: string + description: The path of the report + example: /report/business + nullable: true + updated: + type: string + nullable: true + description: Datetime of updating the report + example: '2020-05-29T11:22:03+02:00' + readOnly: true + required: + - name + - type + - dashboard_id + - path + - updated + ReportAggregation: + title: Reports aggregations + type: object + properties: + cumulio: + type: object + description: cumulio token + properties: + key: + type: string + description: Cumulio key + token: + type: string + description: Cumulio token + example: + key: some_key + token: some_token + Invoice: + title: Invoice + type: object + properties: + id: + type: integer + readOnly: true + description: Invoice ID + example: 3875 + number: + type: string + description: Invoice number + example: INV-2022-01-02-002 + status: + type: string + readOnly: true + description: Status of the invoice + example: paid + enum: + - draft + - due + - payinprogress + - paid + - late + - cancelled + date: + type: string + format: date + description: Date of the invoice + example: '2022-01-02' + due_date: + type: string + format: date + description: due date of the invoice + example: '2022-02-02' + created: + description: Created date of invoice + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + subject: + type: string + description: Subject of the invoice + amounts: + type: object + readOnly: true + description: Amounts of invoice, with and without taxes + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging costs. + Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + total_remaining_due_incl_tax: + type: string + description: Remaining amount to be paid + example: '50.00' + total_primes_incl_tax: + type: string + description: Total of primes added on document + example: '10.00' + currency: + type: string + description: Currency code of the invoice + example: EUR + taxes: + description: List of taxes used on the invoice + type: array + readOnly: true + items: + type: object + description: Tax used + properties: + label: + type: string + id: + type: integer + rate: + type: string + amount: + type: string + required: + - label + - id + - rate + - amount + discount: + description: Global discount applied on the invoice + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + related: + description: | + Objects linked to the invoice : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only `client` type + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + - If you provide one or more contacts, they must belong to the company or individual + type: array + minItems: 1 + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - contact + - opportunity + public_link: + description: Public link of the invoice + type: object + properties: + enabled: + type: boolean + description: Public link is enabled + url: + readOnly: true + type: string + description: Url to public link + payment_conditions_acceptance: + type: object + readOnly: true + description: Acceptance of terms and conditions + properties: + enabled: + type: boolean + description: Acceptance is required to pay or sign the document + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + - type: object + description: Invoice's owner + readOnly: true + fiscal_year_id: + type: integer + nullable: true + description: ID of the invoice's fiscal year + readOnly: true + pdf_link: + type: string + format: uri + readOnly: true + description: >- + Link to the pdf of document. /!\ Link is regenerate after an update + of document + nullable: true + decimal_number: + readOnly: true + type: object + description: Precision for decimal numbers + properties: + unit_price: + type: integer + nullable: true + description: Precision of unit price + quantity: + type: integer + nullable: true + description: Precision of quantity + main: + type: integer + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + assigned_staff_id: + type: integer + nullable: false + readOnly: true + description: The staff linked + example: 2 + contact_id: + description: Contact of company linked to the invoice + type: integer + nullable: true + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + readOnly: true + example: 777 + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + readOnly: true + example: 777 + parent: + type: object + nullable: true + description: Parent object of the document + properties: + id: + type: integer + description: Parent object id + type: + type: string + description: Parent object type + enum: + - estimate + - order + order_reference: + type: string + description: Reference of the order + readOnly: true + is_deposit: + type: boolean + description: Invoice is deposit + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: End date for service + example: '2023-01-31' + note: + type: string + description: Notes of the invoice + example: This invoice is very important
+ subscription_id: + type: integer + description: Subscription id, if invoice is linked to one + readOnly: true + is_sent_to_accounting: + type: boolean + description: If the invoice is sent to accounting + example: true + _embed: + allOf: + - title: Invoice Embed + allOf: + - type: object + properties: + related: + type: array + items: + anyOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + title: Company + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + title: Individual + - $ref: '#/components/schemas/ContactItem/allOf/0' + title: Contact + contact: + $ref: '#/components/schemas/ContactItem/allOf/0' + title: Contact + nullable: true + individual: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + title: Individual + nullable: true + company: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + title: Company + nullable: true + - $ref: '#/components/schemas/SaleEmbed/properties/_embed/allOf/2' + - type: object + properties: + acl: + title: Invoice ACL + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Invoice can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Invoice can be deleted + example: true + can_be_validated: + type: boolean + nullable: true + description: Invoice can be validated + example: true + owner: + $ref: '#/components/schemas/CrmActivity/properties/author' + fiscal_year: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/fiscal_year + currency: {} + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + - type: object + readOnly: true + shipping_date: + type: string + format: date + description: Date of the shipping + nullable: true + example: '2024-01-31' + InvoiceOne: + allOf: + - title: Invoice + type: object + properties: + id: + type: integer + readOnly: true + description: Invoice ID + example: 3875 + number: + type: string + description: Invoice number + example: INV-2022-01-02-002 + status: + type: string + readOnly: true + description: Status of the invoice + example: paid + enum: + - draft + - due + - payinprogress + - paid + - late + - cancelled + date: + type: string + format: date + description: Date of the invoice + example: '2022-01-02' + due_date: + type: string + format: date + description: due date of the invoice + example: '2022-02-02' + created: + description: Created date of invoice + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + subject: + type: string + description: Subject of the invoice + amounts: + type: object + readOnly: true + description: Amounts of invoice, with and without taxes + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging + costs. Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + total_remaining_due_incl_tax: + type: string + description: Remaining amount to be paid + example: '50.00' + total_primes_incl_tax: + type: string + description: Total of primes added on document + example: '10.00' + currency: + type: string + description: Currency code of the invoice + example: EUR + taxes: + description: List of taxes used on the invoice + type: array + readOnly: true + items: + type: object + description: Tax used + properties: + label: + type: string + id: + type: integer + rate: + type: string + amount: + type: string + required: + - label + - id + - rate + - amount + discount: + description: Global discount applied on the invoice + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + related: + description: | + Objects linked to the invoice : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only `client` type + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + - If you provide one or more contacts, they must belong to the company or individual + type: array + minItems: 1 + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - contact + - opportunity + public_link: + description: Public link of the invoice + type: object + properties: + enabled: + type: boolean + description: Public link is enabled + url: + readOnly: true + type: string + description: Url to public link + payment_conditions_acceptance: + type: object + readOnly: true + description: Acceptance of terms and conditions + properties: + enabled: + type: boolean + description: Acceptance is required to pay or sign the document + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + - type: object + description: Invoice's owner + readOnly: true + fiscal_year_id: + type: integer + nullable: true + description: ID of the invoice's fiscal year + readOnly: true + pdf_link: + type: string + format: uri + readOnly: true + description: >- + Link to the pdf of document. /!\ Link is regenerate after an + update of document + nullable: true + decimal_number: + readOnly: true + type: object + description: Precision for decimal numbers + properties: + unit_price: + type: integer + nullable: true + description: Precision of unit price + quantity: + type: integer + nullable: true + description: Precision of quantity + main: + type: integer + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + assigned_staff_id: + type: integer + nullable: false + readOnly: true + description: The staff linked + example: 2 + contact_id: + description: Contact of company linked to the invoice + type: integer + nullable: true + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + readOnly: true + example: 777 + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + readOnly: true + example: 777 + parent: + type: object + nullable: true + description: Parent object of the document + properties: + id: + type: integer + description: Parent object id + type: + type: string + description: Parent object type + enum: + - estimate + - order + order_reference: + type: string + description: Reference of the order + readOnly: true + is_deposit: + type: boolean + description: Invoice is deposit + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: End date for service + example: '2023-01-31' + note: + type: string + description: Notes of the invoice + example: This invoice is very important
+ subscription_id: + type: integer + description: Subscription id, if invoice is linked to one + readOnly: true + is_sent_to_accounting: + type: boolean + description: If the invoice is sent to accounting + example: true + _embed: + allOf: + - $ref: '#/components/schemas/Invoice/properties/_embed/allOf/0' + - type: object + readOnly: true + shipping_date: + type: string + format: date + description: Date of the shipping + nullable: true + example: '2024-01-31' + - type: object + properties: + rows: + type: array + items: + $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/rows/items + _embed: + allOf: + - $ref: '#/components/schemas/Invoice/properties/_embed/allOf/0' + - type: object + properties: + payment_terms: + title: Document Payment Terms + description: Terms of payment of document + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/0/properties/payment_terms/allOf/0 + - type: object + properties: + computed_instalment_plan: + type: array + description: >- + List of deadlines computed with the payment + terms settings + items: + type: object + properties: + date: + type: string + description: due date + format: date + amount: + type: string + description: Total amount + due_amount: + type: string + description: Remaining due amount + status: + description: Status of deadline + type: string + enum: + - due + - payinprogress + - paid + late: + description: Is the deadline late? + type: boolean + - $ref: >- + #/components/schemas/EstimateOneEmbed/properties/_embed/allOf/1 + - type: object + properties: + automatic_dunning: + type: object + title: Automatic Dunning + properties: + is_enabled: + type: boolean + description: Automatic dunning is enabled on document + example: true + is_valid: + type: boolean + description: >- + Automatic dunning configuration is valid for + document + example: true + sent: + type: array + description: >- + List of the last 10 dunning notices sent on this + invoice + items: + description: Sent dunning object + type: object + properties: + reminder_name: + type: string + example: Dunning D+1 + sent_at: + type: string + description: Dunning email date of sent + format: date-time + example: '1970-01-01T00:00:00+00:00' + sender: + type: object + properties: + type: + type: string + description: Sender's type + enum: + - company + - individual + - contact + - staff + id: + type: integer + description: Sender's id + email: + type: string + description: Sender's email + format: email + example: contact@example-company.com + recipient: + type: object + properties: + type: + type: string + description: Recipient's type + enum: + - company + - individual + - contact + - staff + id: + type: integer + description: Recipient's id + email: + type: string + description: Recipient's email + format: email + example: contact@example-company.com + deadline_id: + type: integer + nullable: true + description: Related payment deadline id + required: + - id + - reminder_name + - sent_at + - due_at + - sender + - recipient + - deadline_id + upcoming: + type: array + description: >- + List of the next 10 dunning notices to come on this + invoice + items: + description: Upcoming dunning object + type: object + properties: + reminder_name: + type: string + example: Dunning D+1 + due_at: + type: string + description: Dunning email estimated date of sent + format: date-time + example: '1970-01-01T00:00:00+00:00' + sender: + type: object + properties: + type: + type: string + description: Sender's type + enum: + - company + - individual + - contact + - staff + nullable: true + id: + type: integer + description: Sender's id + nullable: true + email: + type: string + description: Sender's email + format: email + example: contact@example-company.com + nullable: true + recipient: + type: object + nullable: true + properties: + type: + type: string + description: Recipient's type + enum: + - company + - individual + - contact + - staff + nullable: true + id: + type: integer + description: Recipient's id + nullable: true + email: + type: string + description: Recipient's email + format: email + example: contact@example-company.com + nullable: true + deadline_id: + type: integer + nullable: true + description: Related payment deadline id + required: + - id + - reminder_name + - sent_at + - due_at + - sender + - recipient + - deadline_id + InvoiceCompute: + type: object + properties: + status: + type: string + readOnly: true + description: Status of the invoice + example: paid + enum: + - draft + - due + - payinprogress + - paid + - late + - cancelled + date: + type: string + format: date + description: date of the invoice + example: '2022-01-02' + subject: + nullable: true + type: string + description: Subject of the invoice + amounts: + type: object + readOnly: true + description: Amounts of invoice, with and without taxes + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging costs. + Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + currency: + type: string + description: Currency code of the invoice + example: EUR + taxes: + description: List of taxes used on the invoice + type: array + readOnly: true + items: + type: object + description: Tax used + properties: + label: + type: string + id: + type: integer + rate: + type: string + amount: + type: string + required: + - label + - id + - rate + - amount + order_reference: + type: string + description: Reference of the order + readOnly: true + discount: + readOnly: true + description: Global discount applied on the invoice + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + related: + description: | + Objects linked to the invoice : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only `client` type + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + - If you provide one or more contacts, they must belong to the company or individual + type: array + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - contact + - opportunity + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + - type: object + description: Invoice's owner + readOnly: true + rows: + type: array + items: + $ref: '#/components/schemas/EstimateCompute/properties/rows/items' + InvoiceFilters: + title: Invoices filters + type: object + description: Invoices filters + properties: + filters: + type: object + description: Invoices filters + properties: + created: + title: Created at + type: object + description: Filter the invoice list by creation date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + owners: + title: Owners + type: array + description: Filter the invoice list by owner (staff id) + items: + type: integer + date: + title: Document date + type: object + description: Filter the invoice list by date + properties: + start: + type: string + format: date + example: '2020-01-01' + end: + type: string + format: date + example: '2020-02-01' + related_objects: + title: Related Objects + type: array + items: + type: object + properties: + type: + type: string + enum: + - company + - individual + - opportunity + example: company + id: + type: integer + example: 22 + contacts: + title: Contact + type: array + description: Filter the invoice list by contact (contact id) + items: + type: integer + assigned_staff_ids: + title: Assigned staffs + type: array + description: Filter the invoice list by assigned staffs (staff id) + items: + type: integer + status: + title: Status + description: Filter the invoice list by status + example: + - draft + - due + - payinprogress + type: array + items: + type: string + enum: + - draft + - due + - payinprogress + - paid + - late + - cancelled + number: + title: number + type: string + description: Filter the invoice list by number (exact search) + example: FAC-0001 + currency: + title: currency + type: string + description: Currency code (exact search) + example: EUR + is_deposit: + title: Is deposit + description: Filter the invoices if is deposit or not + type: boolean + example: true + credit_note_id: + title: Credit note + type: integer + description: Filter the invoice list by linked credit note + example: 424242 + favourite_filter: + $ref: >- + #/components/schemas/ContactFilters/properties/filters/properties/favourite_filter + required: + - filters + InvoiceCreate: + allOf: + - title: Invoice + type: object + properties: + number: + type: string + description: >- + Invoice number (shouldn't be provided if draft numbering is + enabled) + example: INV-2022-01-02-002 + date: + type: string + format: date + description: Date of the invoice + example: '2022-01-02' + due_date: + type: string + format: date + description: Due date of the invoice + example: '2022-02-02' + created: + description: Created date of invoice + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + subject: + type: string + description: Subject of the invoice + currency: + type: string + description: Currency code of the invoice + example: EUR + discount: + type: object + description: Global discount applied on the invoice + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + type: string + description: value of discount + example: '25.20' + related: + description: | + Objects linked to the invoice : + - There can be only one company or one individual at a time (required) + - For Company & Individual, only `client` type is allowed + - Contact is the contact of company linked to the invoice. There may be no or one contact. + - Opportunity is the opportunity linked to the invoice. There may be zero or more opportunities linked to invoice + type: array + minItems: 1 + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - opportunity + - contact + public_link: + deprecated: true + description: > + Deprecated field: use "public_link_enabled"
Public link of + the invoice + type: object + properties: + enabled: + deprecated: true + type: boolean + description: Public link is enabled + public_link_enabled: + type: boolean + description: Public link of the invoice + example: true + owner_id: + type: integer + description: Invoice's owner (staff id) + minimum: 1 + order_reference: + type: string + description: Reference of the order + maxLength: 100 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: >- + End date for service

End date must be greater + than start date + example: '2023-01-31' + invoicing_address_id: + type: integer + description: >- + Invoicing address, by default take invoicing address of + company/individual. + minimum: 1 + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + minimum: 1 + note: + type: string + description: Notes of the invoice + example: This invoice is very important
+ shipping_date: + type: string + format: date + description: Date of the shipping + nullable: true + - type: object + properties: + parent: + nullable: true + oneOf: + - type: object + title: Estimate + properties: + type: + type: string + description: > + Estimate must be in the statuses: draft, sent, read, + accepted, refused, expired, partialinvoiced, cancelled + enum: + - estimate + id: + type: integer + description: Parent object id + - type: object + title: Order + properties: + type: + type: string + description: > + Order must be in the statuses: draft, sent, read, + accepted, refused, expired, partialinvoiced, cancelled + enum: + - order + id: + type: integer + description: Parent object id + - $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/parent/oneOf/0 + rate_category_id: + type: integer + description: >- + Rate Category to apply on document (By default, the + rate_category_id will be that of company) + example: 777 + rows: + type: array + nullable: true + items: + $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/rows/items + required: + - related + InvoiceUpdate: + allOf: + - $ref: '#/components/schemas/InvoiceCreate/allOf/0' + - type: object + properties: + rows: + type: array + nullable: true + items: + $ref: >- + #/components/schemas/EstimateUpdate/allOf/1/properties/rows/items + ValidateInvoice: + type: object + properties: + date: + type: string + format: date + example: '2022-01-01' + description: > + Date of document.
> Depending on your conformity settings, the + date may not be greater than the current date. + CreditNote: + title: Credit Note + type: object + properties: + id: + type: integer + readOnly: true + description: Credit Note ID + example: 3875 + number: + type: string + description: Credit Note number + example: CRED-2022-01-02-002 + status: + type: string + description: Status of the credit note + example: spent + enum: + - draft + - stored + - partialspend + - spent + - cancelled + date: + type: string + format: date + description: Date of the credit note + example: '2022-01-02' + created: + description: Created date of credit note + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + amounts: + type: object + description: Amounts of credit note, with and without taxes + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging costs. + Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + total_remaining_due_incl_tax: + type: string + description: Remaining amount to be paid + example: '50.00' + total_primes_incl_tax: + type: string + description: Total of primes added on document + example: '10.00' + currency: + type: string + description: Currency code of the credit note + example: EUR + taxes: + description: List of taxes used on the credit note + type: array + items: + type: object + description: Tax used + properties: + label: + type: string + description: Tax label + example: TTC + id: + type: integer + description: Tax id + example: 954 + rate: + type: string + description: Tax rate + example: '19.6' + amount: + type: string + description: Tax amount + example: '12.54' + discount: + description: Global discount applied on the credit note + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + related: + description: | + Objects linked to the credit note : + - There can be only one company or one individual at a time + - Contact is the contact of company linked to the credit note. There may be no or one contact. + type: array + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - contact + - opportunity + public_link: + description: Public link of the credit note + type: object + properties: + enabled: + type: boolean + description: Public link is enabled + url: + type: string + description: Url to public link + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + fiscal_year_id: + type: integer + nullable: true + description: ID of the credit note's fiscal year + pdf_link: + type: string + format: uri + readOnly: true + description: >- + Link to the pdf of document. /!\ Link is regenerate after an update + of document + nullable: true + subject: + type: string + description: Subject of the credit note + example: Credit note on the invoice INV-2022-01-02-002 + is_deposit: + type: boolean + description: Credit note is deposit + example: true + decimal_number: + readOnly: true + type: object + description: Precision for decimal numbers + properties: + unit_price: + type: integer + nullable: true + description: Precision of unit price + quantity: + type: integer + nullable: true + description: Precision of quantity + main: + type: integer + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + assigned_staff_id: + type: integer + nullable: false + description: The staff linked + example: 2 + contact_id: + description: Contact of company linked to the credit note + type: integer + nullable: true + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: End date for service + example: '2023-01-31' + note: + type: string + description: Notes of the credit note + example: This credit note is very important
+ is_sent_to_accounting: + type: boolean + description: If the credit note is sent to accounting + example: true + _embed: + title: Credit Note Embed + allOf: + - $ref: '#/components/schemas/Invoice/properties/_embed/allOf/0/allOf/0' + - $ref: '#/components/schemas/SaleEmbed/properties/_embed/allOf/2' + - type: object + properties: + fiscal_year: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/fiscal_year + currency: + $ref: >- + #/components/schemas/Invoice/properties/_embed/allOf/0/allOf/2/properties/currency + owner: + $ref: '#/components/schemas/CrmActivity/properties/author' + acl: + title: Credit Note ACL + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Credit note can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Credit note can be deleted + example: true + can_be_validated: + type: boolean + nullable: true + description: Credit note can be validated + example: true + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + CreditNoteOne: + allOf: + - title: Credit Note + type: object + properties: + id: + type: integer + readOnly: true + description: Credit Note ID + example: 3875 + number: + type: string + description: Credit Note number + example: CRED-2022-01-02-002 + status: + type: string + description: Status of the credit note + example: spent + enum: + - draft + - stored + - partialspend + - spent + - cancelled + date: + type: string + format: date + description: Date of the credit note + example: '2022-01-02' + created: + description: Created date of credit note + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + amounts: + type: object + description: Amounts of credit note, with and without taxes + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging + costs. Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + total_remaining_due_incl_tax: + type: string + description: Remaining amount to be paid + example: '50.00' + total_primes_incl_tax: + type: string + description: Total of primes added on document + example: '10.00' + currency: + type: string + description: Currency code of the credit note + example: EUR + taxes: + description: List of taxes used on the credit note + type: array + items: + type: object + description: Tax used + properties: + label: + type: string + description: Tax label + example: TTC + id: + type: integer + description: Tax id + example: 954 + rate: + type: string + description: Tax rate + example: '19.6' + amount: + type: string + description: Tax amount + example: '12.54' + discount: + description: Global discount applied on the credit note + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + related: + description: | + Objects linked to the credit note : + - There can be only one company or one individual at a time + - Contact is the contact of company linked to the credit note. There may be no or one contact. + type: array + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - contact + - opportunity + public_link: + description: Public link of the credit note + type: object + properties: + enabled: + type: boolean + description: Public link is enabled + url: + type: string + description: Url to public link + owner: + description: Credit note's owner + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + fiscal_year_id: + type: integer + nullable: true + description: ID of the credit note's fiscal year + pdf_link: + type: string + format: uri + readOnly: true + description: >- + Link to the pdf of document. /!\ Link is regenerate after an + update of document + nullable: true + subject: + type: string + description: Subject of the credit note + example: Credit note on the invoice INV-2022-01-02-002 + is_deposit: + type: boolean + description: Credit note is deposit + example: true + decimal_number: + readOnly: true + type: object + description: Precision for decimal numbers + properties: + unit_price: + type: integer + nullable: true + description: Precision of unit price + quantity: + type: integer + nullable: true + description: Precision of quantity + main: + type: integer + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + assigned_staff_id: + type: integer + nullable: false + description: The staff linked + example: 2 + contact_id: + description: Contact of company linked to the credit note + type: integer + nullable: true + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: End date for service + example: '2023-01-31' + note: + type: string + description: Notes of the credit note + example: This credit note is very important
+ is_sent_to_accounting: + type: boolean + description: If the credit note is sent to accounting + example: true + _embed: + $ref: '#/components/schemas/CreditNote/properties/_embed' + - type: object + properties: + rows: + type: array + items: + $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/rows/items + _embed: + allOf: + - $ref: '#/components/schemas/CreditNote/properties/_embed' + - $ref: >- + #/components/schemas/EstimateOneEmbed/properties/_embed/allOf/1 + CreditNoteCreate: + allOf: + - title: Credit Note + type: object + properties: + number: + type: string + description: >- + Credit note number (shouldn't be provided if draft numbering is + enabled) + example: CRE-2022-01-02-002 + date: + type: string + format: date + description: Date of the credit note + example: '2022-01-02' + due_date: + type: string + format: date + description: Due date of the credit note + example: '2022-02-02' + created: + description: Created date of credit note + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + subject: + type: string + description: Subject of the credit note + currency: + type: string + description: Currency code of the credit note + example: EUR + discount: + type: object + description: Global discount applied on the credit note + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + type: string + description: value of discount + example: '25.20' + related: + description: | + Objects linked to the credit note : + - There can be only one company or one individual at a time (required) + - For Company & Individual, only `client`, `prospect` type are allowed + - Contact is the contact of company linked to the credit note. There may be no or one contact. + - Opportunity is the opportunity linked to the credit note. There may be zero or more opportunities linked to credit note + type: array + minItems: 1 + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - opportunity + - contact + public_link_enabled: + type: boolean + description: Public link of the credit note + example: true + owner_id: + type: integer + description: Credit note's owner (staff id) + minimum: 1 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: >- + End date for service

End date must be greater + than start date + example: '2023-01-31' + note: + type: string + description: Notes of the credit note + example: This credit note is very important
+ - type: object + properties: + rows: + type: array + nullable: true + items: + $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/rows/items + parent: + nullable: true + oneOf: + - $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/parent/oneOf/0 + rate_category_id: + type: integer + description: >- + Rate Category to apply on document (By default, the + rate_category_id will be that of company) + example: 777 + required: + - related + CreditNoteUpdate: + allOf: + - $ref: '#/components/schemas/CreditNoteCreate/allOf/0' + - type: object + properties: + rows: + type: array + nullable: true + items: + $ref: >- + #/components/schemas/EstimateUpdate/allOf/1/properties/rows/items + CreditNoteValidate: + type: object + properties: + date: + type: string + format: date + example: '2022-01-01' + description: > + Date of document.
> Depending on your conformity settings, the + date may not be greater than the current date. + CreditNoteCompute: + title: Credit Note + type: object + properties: + status: + type: string + description: Status of the credit note + example: spent + enum: + - draft + - stored + - partialspend + - spent + - cancelled + date: + type: string + format: date + description: Date of the credit note + example: '2022-01-02' + subject: + type: string + description: Subject of the credit note + example: Credit note on the invoice INV-2022-01-02-002 + nullable: true + amounts: + type: object + description: Amounts of credit note, with and without taxes + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging costs. + Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + currency: + type: string + description: Currency code of the credit note + example: EUR + taxes: + description: List of taxes used on the credit note + type: array + items: + type: object + description: Tax used + properties: + label: + type: string + description: Tax label + example: TTC + id: + type: integer + description: Tax id + example: 954 + rate: + type: string + description: Tax rate + example: '19.6' + amount: + type: string + description: Tax amount + example: '12.54' + discount: + description: Global discount applied on the credit note + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + related: + description: | + Objects linked to the credit note : + - There can be only one company or one individual at a time + - Contact is the contact of company linked to the credit note. There may be no or one contact. + type: array + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - contact + - opportunity + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + rows: + type: array + items: + $ref: '#/components/schemas/EstimateCompute/properties/rows/items' + CreditNoteFilters: + title: Credit notes filters + type: object + description: Filters on credit notes + properties: + filters: + type: object + description: Filters on credit notes + properties: + status: + title: Status + description: Filter credit notes list by status + example: + - draft + - stored + - partialspend + type: array + items: + type: string + enum: + - draft + - stored + - partialspend + - spent + - cancelled + related_objects: + title: Related Objects + type: array + items: + type: object + properties: + type: + type: string + enum: + - company + - individual + - opportunity + example: company + id: + type: integer + example: 22 + is_deposit: + title: Is deposit + description: Filter the credit note if is deposit or not + type: boolean + example: true + favourite_filter: + $ref: >- + #/components/schemas/ContactFilters/properties/filters/properties/favourite_filter + required: + - filters + OrderCreate: + allOf: + - title: Order + type: object + properties: + number: + type: string + description: Order number + example: ORD-00192 + date: + type: string + format: date + description: Date of the order + example: '2022-01-01' + due_date: + type: string + format: date + description: Due date for signing the order + example: '2022-03-01' + created: + description: Creation date of order + type: string + format: date-time + example: '2022-01-01T00:00:00+00:00' + subject: + type: string + description: Subject of the order + example: Order subject + currency: + type: string + description: Currency code of the order + example: USD + discount: + description: Global discount applied on the order + type: object + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + type: string + description: Value of discount + example: '25.20' + related: + description: | + Objects linked to the order : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only `client` type + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + - If you provide one or more contacts, they must belong to the company or individual + type: array + minItems: 1 + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 90 + type: + type: string + description: Type of related + enum: + - company + - individual + - contact + - opportunity + example: company + public_link_enabled: + type: boolean + description: Public link of the order + example: true + owner_id: + type: integer + description: Order's owner (staff id) + example: 50 + minimum: 1 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: >- + End date for service

End date must be greater + than start date + example: '2023-01-31' + invoicing_address_id: + type: integer + description: >- + Invoicing address, by default take invoicing address of + company/individual. + minimum: 1 + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + minimum: 1 + note: + type: string + description: Notes of the order + example: This order is very important
+ shipping_date: + type: string + format: date + nullable: true + description: Date of the shipping + - type: object + properties: + rows: + type: array + nullable: true + items: + $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/rows/items + parent: + nullable: true + oneOf: + - $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/parent/oneOf/0 + rate_category_id: + type: integer + description: >- + Rate Category to apply on document (By default, the + rate_category_id will be that of company) + example: 777 + required: + - related + OrderUpdate: + allOf: + - $ref: '#/components/schemas/OrderCreate/allOf/0' + - type: object + properties: + rows: + type: array + nullable: true + items: + $ref: >- + #/components/schemas/EstimateUpdate/allOf/1/properties/rows/items + Order: + title: Order + type: object + properties: + id: + type: integer + readOnly: true + description: Order ID + example: 3875 + number: + type: string + description: Order number + example: ORD-2022-01-02-002 + status: + type: string + readOnly: true + description: Status of the order + example: paid + enum: + - draft + - sent + - read + - accepted + - expired + - advanced + - invoiced + - partialinvoiced + - cancelled + order_status: + type: string + readOnly: true + description: Status of the order state + example: wait + enum: + - none + - wait + - picking + - sent + - partialsent + date: + type: string + format: date + description: Date of the order + example: '2022-01-02' + due_date: + type: string + format: date + description: Due date for signing the order + example: '2022-02-02' + created: + description: Created date of order + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + subject: + type: string + description: Subject of the order + amounts: + type: object + readOnly: true + description: Amounts of order, with and without taxes + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging costs. + Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + currency: + type: string + description: Currency code of the order + example: EUR + taxes: + description: List of taxes used on the order + type: array + readOnly: true + items: + type: object + description: Tax used + properties: + label: + type: string + example: Tax label + id: + type: integer + example: 7 + rate: + type: string + example: '20.000000000' + amount: + type: string + example: '150.99' + required: + - label + - id + - rate + - amount + discount: + description: Global discount applied on the order + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + related: + description: | + Objects linked to the order : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only `client` type + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + - If you provide one or more contacts, they must belong to the company or individual + type: array + minItems: 1 + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - contact + - opportunity + public_link: + description: Public link of the order + type: object + properties: + enabled: + type: boolean + description: Public link is enabled + url: + readOnly: true + type: string + description: Url to public link + payment_conditions_acceptance: + type: object + readOnly: true + description: Acceptance of terms and conditions + properties: + enabled: + type: boolean + description: Acceptance is required to pay or sign the document + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + - type: object + description: Order's owner + readOnly: true + fiscal_year_id: + type: integer + nullable: true + description: ID of the order's fiscal year + readOnly: true + pdf_link: + type: string + format: uri + readOnly: true + description: >- + Link to the pdf of document. /!\ Link is regenerate after an update + of document + nullable: true + decimal_number: + readOnly: true + type: object + description: Precision for decimal numbers + properties: + unit_price: + type: integer + nullable: true + description: Precision of unit price + quantity: + type: integer + nullable: true + description: Precision of quantity + main: + type: integer + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + assigned_staff_id: + type: integer + nullable: false + readOnly: true + description: The staff linked + example: 2 + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + readOnly: true + example: 777 + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + readOnly: true + example: 777 + contact_id: + description: Contact of company linked to the order + type: integer + nullable: true + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: End date for service + example: '2023-01-31' + note: + type: string + description: Notes of the order + example: This order is very important
+ _embed: + allOf: + - title: Order Embed + allOf: + - $ref: >- + #/components/schemas/Invoice/properties/_embed/allOf/0/allOf/0 + - $ref: '#/components/schemas/SaleEmbed/properties/_embed/allOf/2' + - type: object + properties: + acl: + title: Order ACL + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Order can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Order can be deleted + example: true + owner: + $ref: '#/components/schemas/CrmActivity/properties/author' + fiscal_year: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/fiscal_year + currency: + $ref: >- + #/components/schemas/Invoice/properties/_embed/allOf/0/allOf/2/properties/currency + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + - type: object + readOnly: true + shipping_date: + type: string + format: date + description: Date of the shipping + nullable: true + example: '2024-01-31' + OrderOne: + allOf: + - title: Order + type: object + properties: + id: + type: integer + readOnly: true + description: Order ID + example: 3875 + number: + type: string + description: Order number + example: ORD-2022-01-02-002 + status: + type: string + readOnly: true + description: Status of the order + example: paid + enum: + - draft + - sent + - read + - accepted + - expired + - advanced + - invoiced + - partialinvoiced + - cancelled + order_status: + type: string + readOnly: true + description: Status of the order state + example: wait + enum: + - none + - wait + - picking + - sent + - partialsent + date: + type: string + format: date + description: Date of the order + example: '2022-01-02' + due_date: + type: string + format: date + description: Due date for signing the order + example: '2022-02-02' + created: + description: Created date of order + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + subject: + type: string + description: Subject of the order + amounts: + type: object + readOnly: true + description: Amounts of order, with and without taxes + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging + costs. Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + currency: + type: string + description: Currency code of the order + example: EUR + taxes: + description: List of taxes used on the order + type: array + readOnly: true + items: + type: object + description: Tax used + properties: + label: + type: string + example: Tax label + id: + type: integer + example: 7 + rate: + type: string + example: '20.000000000' + amount: + type: string + example: '150.99' + required: + - label + - id + - rate + - amount + discount: + description: Global discount applied on the order + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + related: + description: | + Objects linked to the order : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only `client` type + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + - If you provide one or more contacts, they must belong to the company or individual + type: array + minItems: 1 + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - contact + - opportunity + public_link: + description: Public link of the order + type: object + properties: + enabled: + type: boolean + description: Public link is enabled + url: + readOnly: true + type: string + description: Url to public link + payment_conditions_acceptance: + type: object + readOnly: true + description: Acceptance of terms and conditions + properties: + enabled: + type: boolean + description: Acceptance is required to pay or sign the document + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + - type: object + description: Order's owner + readOnly: true + fiscal_year_id: + type: integer + nullable: true + description: ID of the order's fiscal year + readOnly: true + pdf_link: + type: string + format: uri + readOnly: true + description: >- + Link to the pdf of document. /!\ Link is regenerate after an + update of document + nullable: true + decimal_number: + readOnly: true + type: object + description: Precision for decimal numbers + properties: + unit_price: + type: integer + nullable: true + description: Precision of unit price + quantity: + type: integer + nullable: true + description: Precision of quantity + main: + type: integer + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + assigned_staff_id: + type: integer + nullable: false + readOnly: true + description: The staff linked + example: 2 + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + readOnly: true + example: 777 + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + readOnly: true + example: 777 + contact_id: + description: Contact of company linked to the order + type: integer + nullable: true + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: End date for service + example: '2023-01-31' + note: + type: string + description: Notes of the order + example: This order is very important
+ _embed: + allOf: + - $ref: '#/components/schemas/Order/properties/_embed/allOf/0' + - type: object + readOnly: true + shipping_date: + type: string + format: date + description: Date of the shipping + nullable: true + example: '2024-01-31' + - type: object + properties: + rows: + type: array + items: + $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/rows/items + _embed: + title: Order Embed + allOf: + - $ref: >- + #/components/schemas/Invoice/properties/_embed/allOf/0/allOf/0 + - $ref: '#/components/schemas/SaleEmbed/properties/_embed/allOf/2' + - type: object + properties: + payment_terms: + title: Document Payment Terms + description: Terms of payment of document + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/0/properties/payment_terms/allOf/0 + - type: object + properties: + computed_instalment_plan: + type: array + description: >- + List of deadlines computed with the payment + terms settings + items: + type: object + properties: + date: + type: string + description: due date + format: date + amount: + type: string + description: Total amount + - $ref: >- + #/components/schemas/EstimateOneEmbed/properties/_embed/allOf/1 + - type: object + properties: + acl: + title: Order ACL + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Order can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Order can be deleted + example: true + owner: + $ref: '#/components/schemas/CrmActivity/properties/author' + fiscal_year: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/fiscal_year + currency: + $ref: >- + #/components/schemas/Invoice/properties/_embed/allOf/0/allOf/2/properties/currency + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + OrderFilters: + title: Order filters + type: object + description: Order filters + properties: + filters: + type: object + description: Order filters + properties: + status: + title: Status + description: Filter the order list by status + example: + - draft + - sent + - read + type: array + items: + type: string + enum: + - draft + - sent + - read + - accepted + - expired + - advanced + - invoiced + - partialinvoiced + - cancelled + related_objects: + title: Related Objects + type: array + items: + type: object + properties: + type: + type: string + enum: + - company + - individual + - opportunity + example: company + id: + type: integer + example: 22 + order_status: + title: Status of the order state + description: Filter the order by order state + example: + - none + - wait + - picking + type: array + items: + type: string + enum: + - none + - wait + - picking + - sent + - partialsent + favourite_filter: + $ref: >- + #/components/schemas/ContactFilters/properties/filters/properties/favourite_filter + required: + - filters + OrderCompute: + title: Order + type: object + properties: + status: + type: string + readOnly: true + description: Status of the order + example: sent + enum: + - draft + - sent + - read + - accepted + - expired + - advanced + - invoiced + - partialinvoiced + - cancelled + order_status: + type: string + readOnly: true + description: Status of the order state + example: wait + enum: + - none + - wait + - picking + - sent + - partialsent + date: + type: string + format: date + description: Date of the order + example: '2022-01-02' + subject: + type: string + description: Subject of the order + amounts: + type: object + readOnly: true + description: Amounts of order, with and without taxes + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging costs. + Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + currency: + type: string + description: Currency code of the order + example: EUR + taxes: + description: List of taxes used on the order + type: array + readOnly: true + items: + type: object + description: Tax used + properties: + label: + type: string + example: Tax label + id: + type: integer + example: 7 + rate: + type: string + example: '20.000000000' + amount: + type: string + example: '150.99' + required: + - label + - id + - rate + - amount + discount: + description: Global discount applied on the order + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + related: + description: | + Objects linked to the order : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only `client` type + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + - If you provide one or more contacts, they must belong to the company or individual + type: array + minItems: 1 + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - contact + - opportunity + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + - type: object + description: Order's owner + readOnly: true + rows: + type: array + items: + $ref: '#/components/schemas/EstimateCompute/properties/rows/items' + EmailSettings: + title: Email Settings + type: object + properties: + signature: + title: Email Signature + description: The email signature object + type: object + properties: + mode: + description: Email signature mode + type: string + enum: + - auto + - manual + html_content: + nullable: true + description: HTML manual signature content + type: string + minLength: 0 + maxLength: 65535 + computed: + nullable: false + description: >- + Parsed HTML manual signature content. "contact" tags will not be + replaced + type: string + minLength: 0 + maxLength: 65535 + required: + - mode + - html_content + connection: + title: Email Connection + description: The email connection object + type: object + properties: + email: + description: Email connection + type: string + type: + description: Email type + type: string + enum: + - transfer + - synchronization + status: + description: Email status + type: string + emails_sent_from_corp: + description: Return true if emails are send by corporation + type: boolean + onboarding_setup: + description: Return true if email onboarding finished + type: boolean + required: + - email + - type + - status + - emails_sent_from_corp + - onboarding_setup + EmailSettingsInput: + title: Email Settings + type: object + properties: + signature: + oneOf: + - type: object + title: Signature in auto mode + properties: + mode: + description: Email signature mode + type: string + enum: + - auto + required: + - mode + - type: object + title: Signature in manual mode + properties: + mode: + description: Email signature mode + type: string + enum: + - manual + html_content: + nullable: true + description: HTML manual signature content (required when mode is manual) + type: string + minLength: 0 + maxLength: 65535 + required: + - mode + - html_content + required: + - signature + FiscalYear: + type: object + title: Fiscal year + properties: + id: + type: integer + description: Id of the fiscal year + name: + type: string + description: >- + Name of the fiscal year. Naming follow the current scheme: N for + the current fiscal year, N-1 for the last fiscal year, N-2, ... + start_at: + type: string + format: date + description: Start date of the fiscal year + end_at: + type: string + format: date + description: End date of the fiscal year + UploadFileInput: + title: File upload + description: Upload file schema + type: object + properties: + file: + type: string + format: binary + description: > +
  • max file size : 15Mb
  • allowed media types : +
    application/rtf,
    text/rtf,
    text/plain,
    image/jpeg,
    image/pjpeg,
    image/jpeg,
    image/pjpeg,
    image/png,
    application/pdf,
    application/acrobat,
    application/nappdf,
    application/x-pdf,
    image/pdf,
    application/xml,
    text/xml,
    application/xml,
    application/xslt+xml,
    text/csv,
    text/x-comma-separated-values,
    text/x-csv,
    application/csv,
    application/vnd.ms-excel,
    application/msexcel,
    application/x-msexcel,
    zz-application/zz-winassoc-xls,
    application/zip,
    application/x-zip,
    application/x-zip-compressed,
    application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,
    application/msword,
    application/vnd.ms-word,
    application/x-msword,
    zz-application/zz-winassoc-doc,
    application/vnd.openxmlformats-officedocument.wordprocessingml.document,
    application/vnd.ms-powerpoint,
    application/mspowerpoint,
    application/powerpoint,
    application/x-mspowerpoint,
    application/vnd.openxmlformats-officedocument.presentationml.presentation,
    application/json,
    image/vnd.dxf,
    image/vnd.dwg,
    image/svg+xml,
    image/svg,
    application/photoshop,
    application/x-photoshop,
    image/photoshop,
    image/psd,
    image/vnd.adobe.photoshop,
    image/x-photoshop,
    image/x-psd,
    application/illustrator,
    application/postscript,
    application/vnd.adobe.illustrator,
    application/postscript,
    image/x-eps,
    application/vnd.google-apps.document,
    video/avi,
    video/divx,
    video/msvideo,
    video/vnd.divx,
    video/x-avi,
    video/x-msvideo,
    audio/mpeg,
    audio/mp3,
    audio/x-mp3,
    audio/x-mpeg,
    audio/x-mpg,
    audio/mp4,
    audio/m4a,
    audio/x-m4a,
    video/mp4,
    video/mp4v-es,
    video/x-m4v,
    video/quicktime,
    application/x-rar-compressed,
    application/vnd.rar,
    application/x-rar,
    image/gif,
    application/vnd.google-apps.spreadsheet,
    application/vnd.google-apps.presentation,
    application/vnd.oasis.opendocument.spreadsheet,
    application/vnd.oasis.opendocument.text,
    application/vnd.oasis.opendocument.presentation,
    application/vnd.oasis.opendocument.graphics,
    application/vnd.oasis.opendocument.formula,
    audio/wav,
    audio/vnd.wave,
    audio/wave,
    audio/x-wav,
    audio/x-ms-wmv,
    video/x-ms-wmv,
    application/vnd.ms-excel.sheet.macroenabled.12,
    application/vnd.ms-pki.stl,
    model/stl,
    model/x.stl-ascii,
    model/x.stl-binary,
    application/x-compressed-tar,
    application/vnd.google-earth.kmz,
    application/vnd.google-earth.kml+xml,
    application/vnd.openxmlformats-officedocument.presentationml.slideshow,
    image/tiff,
    image/tiff,
    audio/amr,
    audio/amr-encrypted,
    text/x-vcard,
    text/directory,
    text/vcard,
    application/cdr,
    application/coreldraw,
    application/vnd.corel-draw,
    application/x-cdr,
    application/x-coreldraw,
    image/cdr,
    image/x-cdr,
    zz-application/zz-winassoc-cdr,
    message/rfc822,
    application/vnd.ms-outlook,
    application/vnd.koan,
    application/ics,
    text/calendar,
    text/x-vcalendar,
    application/ms-tnef,
    application/vnd.ms-tnef,
    image/webp
+ required: + - file + ListFilesOutput: + oneOf: + - title: Directory schema + type: object + description: Directory schema + properties: + id: + type: integer + description: Directory ID + readOnly: true + example: 1 + type: + type: string + description: Directory type + enum: + - directory + name: + type: string + description: Directory name + example: business-cards + minLength: 1 + maxLength: 30 + description: + type: string + nullable: true + description: Directory description + maxLength: 160 + created: + type: string + description: Creation date of directory + format: date-time + example: '1970-01-01T00:00:00+00:00' + breadcrumbs: + description: >- + Current directory location. The first element is the direct + parent of the directory + type: array + minItems: 1 + items: + $ref: '#/components/schemas/FileOuput/properties/breadcrumbs/items' + - title: File schema + type: object + description: File schema + properties: + id: + type: integer + description: File ID + readOnly: true + example: 1 + type: + type: string + description: File type + enum: + - file + name: + type: string + description: File name + example: business-card + created: + type: string + description: Creation date of file + format: date-time + example: '1970-01-01T00:00:00+00:00' + size: + type: integer + description: File size in octet + readOnly: true + example: 512 + extension: + type: string + description: File extension + example: jpg + enum: + - rtf + - txt + - jpg + - jpeg + - png + - pdf + - xml + - xsl + - csv + - xls + - zip + - xlsx + - doc + - docx + - ppt + - pptx + - json + - dxf + - dwg + - svg + - psd + - ai + - eps + - indd + - gdoc + - avi + - mp3 + - m4a + - mp4 + - rar + - gif + - gplf + - gform + - gsheet + - gslides + - gdraw + - ods + - odt + - odp + - odg + - odf + - sat + - wav + - wave + - wmv + - xlsm + - stl + - ped + - tgz + - kmz + - kml + - ppsx + - tiff + - tif + - amr + - vcf + - cdr + - ar3 + - eml + - mmap + - msg + - skp + - ics + - tnef + - webp + public_link: + type: string + format: uri + readOnly: true + description: URL to file + related: + description: Objects linked to the file + type: array + minItems: 0 + maxItems: 1 + items: + type: object + properties: + type: + type: string + description: Object type + enum: + - company + - individual + - contact + - opportunity + - estimate + - invoice + - credit-note + - order + id: + type: integer + description: Object ID + breadcrumbs: + description: >- + Current file location. The first element is the direct parent of + the file + type: array + minItems: 1 + items: + $ref: '#/components/schemas/FileOuput/properties/breadcrumbs/items' + AdyenSettings: + title: Adyen settings + type: object + additionalProperties: true + description: '' + x-examples: {} + properties: + api_key: + type: string + description: API key of the Adyen account to use + example: abcdefghijklmnopqrstuv0123456789 + nullable: true + merchant_account: + type: string + description: Merchant account + example: Sellsy + nullable: false + test_env: + type: boolean + description: If api key is to use on test environment + example: true + nullable: false + notification_hmac_key: + type: string + description: Notification key hmac + example: 04D37574774B86C7B1B6E629941311A4ADD693E117BB17849C93132293DE7F4C + theme_id: + type: string + description: Theme id for Adyen + example: 6652399b-be09-406c-88df-e2106f282996 + nullable: true + payment_method_id: + type: integer + description: Default payment method to use adyen on + example: 7 + nullable: true + live_url_prefix: + type: string + description: >- + The unique merchant-specific hostname to communicate with Adyen's + APIs + example: 1797a841fbb37ca7-AdyenDemo + nullable: true + required: + - api_key + - merchant_account + - test_env + FileOuput: + title: File schema + type: object + description: File schema + properties: + id: + type: integer + description: File ID + readOnly: true + example: 1 + type: + type: string + description: File type + enum: + - file + name: + type: string + description: File name + example: business-card + created: + type: string + description: Creation date of file + format: date-time + example: '1970-01-01T00:00:00+00:00' + size: + type: integer + description: File size in octet + readOnly: true + example: 512 + extension: + type: string + description: File extension + example: jpg + enum: + - rtf + - txt + - jpg + - jpeg + - png + - pdf + - xml + - xsl + - csv + - xls + - zip + - xlsx + - doc + - docx + - ppt + - pptx + - json + - dxf + - dwg + - svg + - psd + - ai + - eps + - indd + - gdoc + - avi + - mp3 + - m4a + - mp4 + - rar + - gif + - gplf + - gform + - gsheet + - gslides + - gdraw + - ods + - odt + - odp + - odg + - odf + - sat + - wav + - wave + - wmv + - xlsm + - stl + - ped + - tgz + - kmz + - kml + - ppsx + - tiff + - tif + - amr + - vcf + - cdr + - ar3 + - eml + - mmap + - msg + - skp + - ics + - tnef + - webp + public_link: + type: string + format: uri + readOnly: true + description: URL to file + related: + description: Objects linked to the file + type: array + minItems: 0 + maxItems: 1 + items: + type: object + properties: + type: + type: string + description: Object type + enum: + - company + - individual + - contact + - opportunity + - estimate + - invoice + - credit-note + - order + id: + type: integer + description: Object ID + breadcrumbs: + description: >- + Current file location. The first element is the direct parent of the + file + type: array + minItems: 1 + items: + type: object + properties: + type: + type: string + description: Parent type + enum: + - directory + id: + type: integer + description: Parent ID + name: + type: string + description: Parent name + example: thirds + MoveFileInput: + title: Move file schema + description: Move file schema + type: object + properties: + type: + type: string + description: New target type + example: opportunity + enum: + - company + - individual + - contact + - opportunity + - estimate + - invoice + - credit-note + - order + - directory + id: + type: integer + description: New target id + example: 1 + required: + - type + - id + CreateDirectory: + title: Directory create schema + description: Directory create schema + allOf: + - title: Directory schema + type: object + description: Directory schema + properties: + name: + type: string + description: Name of the directory + minLength: 1 + maxLength: 30 + description: + type: string + nullable: true + description: An optional description for the directory + maxLength: 160 + - type: object + properties: + parent: + type: object + description: Parent object which will receive the new directory + required: + - type + - id + properties: + type: + type: string + example: company + enum: + - company + - individual + - contact + - opportunity + - estimate + - invoice + - credit-note + - order + - directory + id: + description: Parent object id + type: integer + required: + - parent + - name + UpdateDirectory: + title: Directory schema + type: object + description: Directory schema + properties: + name: + type: string + description: Name of the directory + minLength: 1 + maxLength: 30 + description: + type: string + nullable: true + description: An optional description for the directory + maxLength: 160 + LinkCompanyContact: + type: object + properties: + roles: + type: array + description: >- + Roles given to contact.

Note that custom roles will be + ignored if company has no contact yet, the first contact will get + all roles by default. + items: + type: string + enum: + - main + - invoicing + - dunning + nullable: true + example: + - main + - dunning + uniqueItems: true + UpdateLinkCompanyContact: + type: object + properties: + roles: + type: array + description: Roles given to contact. + items: + type: string + enum: + - main + - invoicing + - dunning + nullable: false + example: + - main + - dunning + uniqueItems: true + ImportToken: + title: Token + type: object + description: '' + x-examples: {} + properties: + token: + type: string + description: Import token + example: >- + eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.dyt0CoTl4WoVjAHI9Q_CwSKhl6d_9rhM3NrXuJttkao + ImportPrepareInput: + title: Import batch preparation + type: object + description: '' + x-examples: {} + properties: + batch_id: + type: string + format: uuid + description: Batch id + example: 123e4567-e89b-12d3-a456-426614174000 + metadata: + title: Import metadata + type: object + description: Import options + x-examples: {} + properties: + insert_new_records: + type: boolean + description: If true, insert new records + example: true + update_existing_records: + type: boolean + description: If true, update existing records + example: true + update_empty_fields: + type: boolean + description: >- + If true, empty values will be persisted and overwrite actual + values + example: true + overwrite_tags: + type: boolean + description: If true, replace the smart tags instead of adding them + example: true + dismiss_required_custom_fields: + type: boolean + description: If true, import rows dismissing mandatory custom fields + example: true + insert_new_custom_fields_enum_values: + type: boolean + description: If true, new values are added to list type custom fields + example: true + use_default_values_for_empty_custom_fields: + type: boolean + description: If true, use existing default values for empty custom fields + example: true + columns: + type: array + description: List of imported columns + example: + - id + - reference + - name + - description + - reference_price + minItems: 1 + items: + type: string + identifiers: + description: Import identifiers + oneOf: + - title: Product identifier + type: object + description: '' + x-examples: {} + properties: + product: + type: array + description: List of identifiers + minItems: 1 + maxItems: 1 + items: + type: string + enum: + - id + - reference + required: + - product + - title: Product variation identifiers + type: object + description: '' + x-examples: {} + properties: + product: + type: array + description: List of identifiers + minItems: 1 + maxItems: 1 + items: + type: string + enum: + - product_id + - product_reference + product_variation: + type: array + description: List of identifiers + minItems: 1 + maxItems: 1 + items: + type: string + enum: + - variation_id + - variation_reference + required: + - product + - product_variation + - title: Company identifiers + type: object + description: '' + x-examples: {} + properties: + company: + type: array + description: List of identifiers + minItems: 1 + items: + type: string + enum: + - company_id + - company_name + - company_reference + - company_email + - company_legal_france_siret + - company_legal_france_siren + address: + type: array + description: List of identifiers + minItems: 1 + items: + type: string + enum: + - address_id + - address_name + contact: + type: array + description: List of identifiers + minItems: 1 + items: + type: string + enum: + - contact_id + - contact_last_name + - contact_first_name + - contact_email + required: + - company + - address + - contact + - title: Service identifier + type: object + description: '' + x-examples: {} + properties: + service: + type: array + description: List of identifiers + minItems: 1 + maxItems: 1 + items: + type: string + enum: + - id + - reference + required: + - service + - service-price + - $ref: >- + #/components/schemas/ImportPrepareInput/properties/metadata/properties/identifiers/oneOf/1 + required: + - insert_new_records + - update_existing_records + - update_empty_fields + - overwrite_tags + - dismiss_required_custom_fields + - insert_new_custom_fields_enum_values + - use_default_values_for_empty_custom_fields + - columns + - identifiers + data: + description: Rows to prepare + minItems: 1 + oneOf: + - type: array + description: Rows to prepare + minItems: 1 + maxItems: 100 + items: + oneOf: + - title: Product + type: object + description: '' + x-examples: {} + properties: + row_id: + type: integer + description: Row id + example: 1 + id: + type: integer + description: Item id + example: 6657 + nullable: true + reference: + type: string + description: Item reference + example: ref0123 + name: + type: string + description: Item name + example: lorem ipsum + nullable: true + description: + type: string + description: Description of item + example: T-shirt 90% coton + nullable: true + unit: + type: string + description: Unit + example: m3 + nullable: true + standard_quantity: + type: string + description: Standard quantity + example: 3 + nullable: true + category: + type: string + description: Item category + example: null + nullable: true + smart_tags: + type: array + description: Smart tags list + nullable: true + example: + - foo + - bar + items: + type: string + description: The tag + owner: + type: string + description: Owner name of the product import + example: John Snow + nullable: true + reference_price: + type: string + description: Reference price + example: 19.99 + nullable: true + tax_rate: + type: string + description: Tax rate + example: 19.6 + nullable: true + purchase_price: + type: string + description: Purchase price + example: 15.5 + nullable: true + accounting_code: + type: string + description: Accounting code + example: null + nullable: true + accounting_purchase_code: + type: string + description: Accounting purchase code + example: null + nullable: true + is_archived: + type: boolean + description: Status archived or not + example: false + required: + - reference + - title: Product variation + type: object + description: '' + x-examples: {} + properties: + row_id: + type: integer + description: Row id + example: 1 + product_id: + type: integer + description: Product id + example: 6657 + nullable: true + product_reference: + type: string + description: Product reference + example: ref0123 + nullable: true + variation_id: + type: integer + description: Variation id + example: 6678 + nullable: true + variation_reference: + type: string + description: Variation reference + example: ref0123-5 + nullable: true + trade_name: + type: string + description: Trade name of the product variation + example: T-shirt Red S + nullable: true + description: + type: string + description: Description of product variation + example: T-shirt 90% coton + nullable: true + variation_code_1: + type: string + description: Code of the first variation criteria + example: color + nullable: false + variation_code_value_1: + type: string + description: Code of the value of the first variation criteria + example: red + nullable: false + variation_code_2: + type: string + description: Code of the second variation criteria + example: size + nullable: true + variation_code_value_2: + type: string + description: Code of the value of the second variation criteria + example: small + nullable: true + variation_code_3: + type: string + description: Code of the third variation criteria + example: material + nullable: true + variation_code_value_3: + type: string + description: Code of the value of the third variation criteria + example: cotton + nullable: true + sales_price_excl_tax: + type: string + description: Sales price excluding tax of the variation + example: 105.56 + nullable: true + purchase_price_excl_tax: + type: string + description: Purchase amount excluding tax of the variation + example: 68.22 + nullable: true + required: + - variation_code_1 + - variation_code_value_1 + - title: Company + type: object + description: '' + x-examples: {} + properties: + row_id: + type: integer + description: Row id + example: 1 + company_id: + type: integer + description: Company id + example: 6657 + nullable: true + company_type: + type: string + description: Company type + example: client + enum: + - prospect + - client + - supplier + company_name: + type: string + description: Company name + minLength: 1 + maxLength: 250 + example: Example company + company_reference: + type: string + description: Company reference + minLength: 1 + maxLength: 100 + nullable: true + example: CLI-1654 + company_legal_france_company_type: + description: Company type + type: string + minLength: 2 + maxLength: 100 + nullable: true + example: SAS + company_price_category: + description: Company price category + type: string + maxLength: 255 + nullable: true + example: Some category + company_email: + description: Company email + type: string + format: email + example: contact@example-company.com + nullable: true + company_phone_number: + type: string + description: Company phone number + example: '+33100000000' + nullable: true + company_mobile_number: + type: string + description: Company mobile number + example: '+33600000000' + nullable: true + company_fax_number: + type: string + description: Company Fax number + example: '+33100000000' + nullable: true + company_website: + type: string + format: url + description: Company website + example: http://example-company.com + nullable: true + company_legal_france_vat: + description: VAT number + type: string + minLength: 1 + maxLength: 100 + nullable: true + example: FR99999999999 + company_legal_france_ape_naf_code: + description: APE/NAF Code + type: string + minLength: 2 + maxLength: 50 + nullable: true + example: 4711C + company_capital: + description: Company Capital + type: string + maxLength: 20 + nullable: true + example: '4000' + company_legal_france_rcs_immatriculation: + description: RCS immatriculation code + type: string + minLength: 2 + maxLength: 200 + nullable: true + example: RCS xxxxx + company_legal_france_siret: + description: Company Siret + type: string + minLength: 2 + maxLength: 100 + nullable: true + example: '73282932000074' + company_legal_france_siren: + description: Company Siren + type: string + minLength: 2 + maxLength: 100 + nullable: true + example: '732829320' + company_note: + type: string + description: Note on company + example: An handed-written note describing this company + company_smart_tags: + type: array + description: Company's smart tags list + nullable: true + example: + - foo + - bar + items: + type: string + description: The tag + company_owner: + type: string + description: Owner name of the company import + example: John Snow + nullable: true + company_accounting_code: + type: string + description: Company accounting code + example: null + nullable: true + company_auxiliary_code: + type: string + description: Auxiliary code + maxLength: 50 + example: 0EX11C + nullable: true + company_marketing_campaigns_email: + type: boolean + description: Company subscribed to email campaigns + example: false + company_marketing_campaigns_sms: + type: boolean + description: Company subscribed to SMS campaigns + example: false + company_marketing_campaigns_phone: + type: boolean + description: Company subscribed to phone campaigns + example: false + company_marketing_campaigns_postal_mail: + type: boolean + description: Company subscribed to postal mail campaigns + example: false + company_marketing_campaigns_custom: + type: boolean + description: Company subscribed to custom campaigns + example: false + company_is_archived: + type: boolean + description: Company' status archived or not + example: false + address_id: + type: integer + description: Unique ID + example: 6657 + address_name: + type: string + description: Address name + example: Main office + minLength: 2 + address_address_line_1: + type: string + description: Address line one + example: 30 Commercial Road + nullable: true + address_address_line_2: + type: string + description: Address line two + example: Finance and Accounting + nullable: true + address_address_line_3: + type: string + description: Address line three + example: Lighthouse Promotions + nullable: true + address_address_line_4: + type: string + description: Address line four + example: PO Box 215 + nullable: true + address_postal_code: + type: string + nullable: true + description: Address postal code + example: '75012' + minLength: 2 + address_city: + type: string + description: Address city name + example: Paris + minLength: 2 + address_state: + type: string + description: Address state + example: null + address_country_code: + type: string + description: Address country code + example: FR + minLength: 2 + maxLength: 2 + contact_id: + type: integer + description: Unique ID + example: 6657 + contact_civility: + type: string + description: contact civility + example: mrs + nullable: true + enum: + - mr + - mrs + - ms + contact_type_main: + type: boolean + description: Defines whether the company has main contact type + example: false + nullable: true + contact_type_invoicing: + type: boolean + description: Defines whether the company has invoicing contact type + example: false + nullable: true + contact_type_dunning: + type: boolean + description: Defines whether the company has dunning contact type + example: false + nullable: true + contact_last_name: + type: string + description: Contact name + example: Doe + maxLength: 200 + nullable: true + contact_first_name: + type: string + description: Contact first name + example: John + nullable: true + maxLength: 200 + contact_email: + description: Contact email + type: string + format: email + example: john.doe@example-company.com + nullable: true + contact_phone_number: + type: string + description: Contact phone number + example: '+33100000000' + nullable: true + contact_mobile_number: + type: string + description: Contact mobile number + example: '+33600000000' + nullable: true + contact_fax_number: + type: string + description: Contact Fax number + example: '+33100000000' + nullable: true + contact_website: + type: string + format: url + description: Contact website + example: http://example-john-doe.com + nullable: true + contact_position: + type: string + nullable: true + description: Contact job + example: Financial + contact_smart_tags: + type: array + description: Contact's smart tags list + nullable: true + example: + - foo + - bar + items: + type: string + description: The tag + contact_note: + type: string + description: Note on contact + example: An handed-written note describing this contact + contact_marketing_campaigns_email: + type: boolean + description: Contact subscribed to email campaigns + example: false + contact_marketing_campaigns_sms: + type: boolean + description: Contact subscribed to SMS campaigns + example: false + contact_marketing_campaigns_phone: + type: boolean + description: Contact subscribed to phone campaigns + example: false + contact_marketing_campaigns_postal_mail: + type: boolean + description: Contact subscribed to postal mail campaigns + example: false + contact_marketing_campaigns_custom: + type: boolean + description: Contact subscribed to custom campaigns + example: false + contact_is_archived: + type: boolean + nullable: false + description: Contact' status archived or not + example: false + required: + - row_id + - company_type + - company_name + - title: Service + type: object + description: '' + x-examples: {} + properties: + row_id: + type: integer + description: Row id + example: 1 + id: + type: integer + description: Service id + example: 6657 + nullable: true + reference: + type: string + description: Service reference + example: ref0123 + name: + type: string + description: Service name + example: lorem ipsum + nullable: true + description: + type: string + description: Description of service + example: Repair and maintenance + nullable: true + unit: + type: string + description: Unit + example: hour + nullable: true + standard_quantity: + type: string + description: Standard quantity + example: 3 + nullable: true + category: + type: string + description: Service category + example: null + nullable: true + smart_tags: + type: array + description: Smart tags list + nullable: true + example: + - foo + - bar + items: + type: string + description: The tag + owner: + type: string + description: Owner name of the product import + example: John Snow + nullable: true + is_timetracking: + type: boolean + description: Service is usable for timetracking + example: false + reference_price: + type: string + description: Reference price + example: 19.99 + nullable: true + tax_rate: + type: string + description: Tax rate + example: 19.6 + nullable: true + purchase_price: + type: string + description: Purchase price + example: 15.5 + nullable: true + accounting_code: + type: string + description: Accounting code + example: null + nullable: true + accounting_purchase_code: + type: string + description: Accounting purchase code + example: null + nullable: true + is_archived: + type: boolean + description: Status archived or not + example: false + required: + - reference + - title: Service price + type: object + description: '' + x-examples: {} + properties: + row_id: + type: integer + description: Row id + example: 1 + id: + type: integer + description: Service id + example: 6657 + nullable: true + reference: + type: string + description: Service reference + example: ref0123 + prices: + type: array + description: Rate category ids and corresponding prices + minItems: 1 + maxItems: 100 + items: + title: Rate category + type: object + description: '' + x-examples: {} + properties: + category: + type: string + description: Rate category name + example: Tax rate 20 + price: + type: number + description: Price for corresponding category + example: 23.11 + required: + - reference + required: + - reference + - title: Product price + type: object + description: '' + x-examples: {} + properties: + row_id: + type: integer + description: Row id + example: 1 + id: + type: integer + description: Product id + example: 6657 + nullable: true + reference: + type: string + description: Product reference + example: ref0123 + nullable: true + variation_id: + type: integer + description: Product variation id + example: 100 + nullable: true + variation_reference: + type: string + description: Product variation reference + example: ref11 + nullable: true + prices: + type: array + description: Rate category ids and corresponding prices + minItems: 1 + maxItems: 100 + items: + $ref: >- + #/components/schemas/ImportPrepareInput/properties/data/oneOf/0/items/oneOf/4/properties/prices/items + required: + - reference + required: + - batch_id + - metadata + - data + ImportValidateInput: + title: Import batch validation + type: object + description: '' + x-examples: {} + properties: + batch_id: + type: string + format: uuid + description: Batch id + example: 123e4567-e89b-12d3-a456-426614174000 + metadata: + $ref: '#/components/schemas/ImportPrepareInput/properties/metadata' + data: + description: Rows to validate + minItems: 1 + oneOf: + - type: array + description: Rows to validate + minItems: 1 + maxItems: 100 + items: + oneOf: + - $ref: >- + #/components/schemas/ImportPrepareInput/properties/data/oneOf/0/items/oneOf/0 + - $ref: >- + #/components/schemas/ImportPrepareInput/properties/data/oneOf/0/items/oneOf/1 + - $ref: >- + #/components/schemas/ImportPrepareInput/properties/data/oneOf/0/items/oneOf/2 + - $ref: >- + #/components/schemas/ImportPrepareInput/properties/data/oneOf/0/items/oneOf/3 + - $ref: >- + #/components/schemas/ImportPrepareInput/properties/data/oneOf/0/items/oneOf/4 + - $ref: >- + #/components/schemas/ImportPrepareInput/properties/data/oneOf/0/items/oneOf/5 + required: + - batch_id + - metadata + - data + ImportStartInput: + title: Import + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + batch_id: + type: string + description: Batch id + format: uuid + example: 123e4567-e89b-12d3-a456-426614174000 + required: + - batch_id + CompanyPreferences: + title: Company's preferences + type: object + additionalProperties: false + properties: + currency: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/currency + carrier: + type: object + description: Company preferred carrier. + nullable: true + properties: + id: + type: integer + description: id of carrier + example: 1234 + label: + type: string + description: label of carrier + example: DHL + tax: + title: Tax + type: object + description: '' + x-examples: {} + properties: + id: + type: integer + readOnly: true + description: Id of tax + example: 6657 + rate: + type: number + format: float + description: Rate of tax + example: 20 + label: + type: string + description: Label of tax + example: Product TVA + is_active: + type: boolean + description: Is the tax enabled or not + example: true + is_ecotax: + type: boolean + description: Is the tax an ecotax + example: true + payment_term: + type: object + description: Company preferred pay date. + nullable: true + properties: + id: + type: integer + description: id of pay date + example: 1234 + label: + type: string + description: label of pay date + example: from 30 days + x_days: + type: integer + nullable: true + description: Number of days for pay deadlines. + end_of_month: + type: boolean + nullable: true + description: Is pay deadlines at end of the month. + discount: + type: object + description: Company's preferred discount. + properties: + amount: + type: string + description: numeric string. Can be float, double or integer + type: + type: string + enum: + - amount + - percent + bank_account: + type: object + description: Company's preferred bank account. + nullable: true + properties: + id: + type: integer + description: id of bank account + example: 1234 + label: + type: string + description: label of bank account + example: My bank + iban: + type: string + description: iban of bank account + example: FRxxxxxxxxxxxxxx + discount_by_row: + type: boolean + description: Rows for this Company can have its own discount. + dunnings: + type: object + description: Company's preferred dunning plan for each doctype. + nullable: true + properties: + estimate: + type: object + nullable: true + properties: + value: + type: string + description: Dunning type select for estimate documents. + enum: + - disabled + - default + - id + id: + type: integer + description: Dunning id selected for estimate documents if value is "id". + label: + type: string + description: >- + Label of dunning selected for estimate documents if value + is "id". + invoice: + type: object + nullable: true + properties: + value: + type: string + description: Dunning type select for invoice documents. + enum: + - disabled + - default + - id + id: + type: integer + description: Dunning id select for invoice documents if value is "id". + label: + type: string + description: >- + Label of dunning selected for invoice documents if value is + "id". + proforma: + type: object + nullable: true + properties: + value: + type: string + description: Dunning type select for proforma documents. + enum: + - disabled + - default + - id + id: + type: integer + description: Dunning id select for proforma documents if value is "id". + label: + type: string + description: >- + Label of dunning selected for proforma documents if value + is "id". + rate_category: + type: object + description: Company's preferred rate category. + nullable: true + properties: + id: + type: integer + description: id of rate category + example: 123456 + label: + type: string + description: label of rate category + example: HT + pay_mediums: + type: array + description: Company's preferred pay mediums. + nullable: true + items: + type: object + properties: + id: + type: integer + description: id of pay medium + example: 1234 + label: + type: string + description: label of pay medium + example: credit card + UpdateCompanyPreferences: + title: Company preferences + type: object + additionalProperties: false + properties: + currency_id: + type: integer + description: Id of the selected currency. + carrier_id: + type: integer + description: Id of the carrier selected. + tax_id: + type: integer + description: Id of the tax selected. + payment_terms: + type: object + description: Id of the payment term selected. + properties: + id: + type: integer + x_days: + type: integer + nullable: true + description: Number of days for pay deadlines. + end_of_month: + type: boolean + nullable: true + description: Is pay deadlines at end of the month. + required: + - id + discount: + type: object + description: Default company's global discount applied. + properties: + amount: + type: string + description: numeric string. Can be float, double or integer + type: + type: string + enum: + - amount + - percent + required: + - amount + - type + bank_account_id: + type: integer + nullable: true + description: Id of Bank account selected. + discount_by_row: + type: boolean + description: Rows for this Company can have its own discount. + dunning: + type: object + description: Dunning selected for each doctype. + properties: + estimate: + oneOf: + - title: disabled + type: object + additionalProperties: false + description: Disabled dunning for this doctype. + properties: + value: + type: string + enum: + - disabled + required: + - value + - title: default dunning + type: object + additionalProperties: false + description: Default dunning for this doctype. + properties: + value: + type: string + enum: + - default + required: + - value + - title: dunning id + type: object + additionalProperties: false + description: Specified dunning for this doctype. + properties: + value: + type: string + enum: + - id + id: + type: integer + required: + - value + - id + invoice: + oneOf: + - $ref: >- + #/components/schemas/UpdateCompanyPreferences/properties/dunning/properties/estimate/oneOf/0 + - $ref: >- + #/components/schemas/UpdateCompanyPreferences/properties/dunning/properties/estimate/oneOf/1 + - $ref: >- + #/components/schemas/UpdateCompanyPreferences/properties/dunning/properties/estimate/oneOf/2 + proforma: + oneOf: + - $ref: >- + #/components/schemas/UpdateCompanyPreferences/properties/dunning/properties/estimate/oneOf/0 + - $ref: >- + #/components/schemas/UpdateCompanyPreferences/properties/dunning/properties/estimate/oneOf/1 + - $ref: >- + #/components/schemas/UpdateCompanyPreferences/properties/dunning/properties/estimate/oneOf/2 + rate_category_id: + type: integer + description: Id of the rate category selected. + pay_medium_ids: + type: array + description: Ids of Company's pay medium displayed. + items: + type: integer + required: + - currency_id + - carrier_id + - tax_id + - payment_terms + - discount + - bank_account_id + - discount_by_row + - pay_medium_ids + IndividualPreferences: + title: Individual's preferences + type: object + additionalProperties: false + properties: + currency: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/currency + carrier: + type: object + description: Individual preferred carrier. + nullable: true + properties: + id: + type: integer + description: id of carrier + example: 1234 + label: + type: string + description: label of carrier + example: DHL + tax: + $ref: '#/components/schemas/CompanyPreferences/properties/tax' + payment_term: + type: object + description: Individual preferred pay date. + nullable: true + properties: + id: + type: integer + description: id of pay date + example: 1234 + label: + type: string + description: label of pay date + example: from 30 days + x_days: + type: integer + nullable: true + description: Number of days for pay deadlines. + end_of_month: + type: boolean + nullable: true + description: Is pay deadlines at end of the month. + discount: + type: object + description: Individual's preferred discount. + properties: + amount: + type: string + description: numeric string. Can be float, double or integer + type: + type: string + enum: + - amount + - percent + bank_account: + type: object + description: Individual's preferred bank account. + nullable: true + properties: + id: + type: integer + description: id of bank account + example: 1234 + label: + type: string + description: label of bank account + example: My bank + iban: + type: string + description: iban of bank account + example: FRxxxxxxxxxxxxxx + discount_by_row: + type: boolean + description: Rows for this Individual can have its own discount. + dunning: + type: object + description: Individual's preferred dunning plan for each doctype. + nullable: true + properties: + estimate: + type: object + nullable: true + properties: + value: + type: string + description: Dunning type select for estimate documents. + enum: + - disabled + - default + - id + id: + type: integer + description: Dunning id selected for estimate documents if value is "id". + label: + type: string + description: >- + Label of dunning selected for estimate documents if value + is "id". + invoice: + type: object + nullable: true + properties: + value: + type: string + description: Dunning type select for invoice documents. + enum: + - disabled + - default + - id + id: + type: integer + description: Dunning id select for invoice documents if value is "id". + label: + type: string + description: >- + Label of dunning selected for invoice documents if value is + "id". + proforma: + type: object + nullable: true + properties: + value: + type: string + description: Dunning type select for proforma documents. + enum: + - disabled + - default + - id + id: + type: integer + description: Dunning id select for proforma documents if value is "id". + label: + type: string + description: >- + Label of dunning selected for proforma documents if value + is "id". + rate_category: + type: object + description: Individual's preferred rate category. + nullable: true + properties: + id: + type: integer + description: id of rate category + example: 123456 + label: + type: string + description: label of rate category + example: HT + pay_medium: + type: array + description: Individual's preferred pay medium. + nullable: true + items: + type: object + properties: + id: + type: integer + description: id of pay medium + example: 1234 + label: + type: string + description: label of pay medium + example: credit card + UpdateIndividualPreferences: + title: Individual preferences + type: object + additionalProperties: false + properties: + currency_id: + type: integer + description: Id of the selected currency. + carrier_id: + type: integer + description: Id of the carrier selected. + tax_id: + type: integer + description: Id of the tax selected. + payment_terms: + type: object + description: Id of the payment term selected. + properties: + id: + type: integer + x_days: + type: integer + nullable: true + description: Number of days for pay deadlines. + end_of_month: + type: boolean + nullable: true + description: Is pay deadlines at end of the month. + required: + - id + discount: + type: object + description: Default individual's global discount applied. + properties: + amount: + type: string + description: numeric string. Can be float, double or integer + type: + type: string + enum: + - amount + - percent + required: + - amount + - type + bank_account_id: + type: integer + nullable: true + description: Id of Bank account selected. + discount_by_row: + type: boolean + description: Rows for this individual can have its own discount. + dunning: + type: object + description: Dunning selected for each doctype. + properties: + estimate: + oneOf: + - title: dunning id + type: object + additionalProperties: false + description: Disabled dunning for this doctype. + properties: + value: + type: string + enum: + - disabled + required: + - value + - title: default dunning + type: object + additionalProperties: false + description: Default dunning for this doctype. + properties: + value: + type: string + enum: + - default + required: + - value + - title: dunning id + type: object + additionalProperties: false + description: Specified dunning for this doctype. + properties: + value: + type: string + enum: + - id + id: + type: integer + required: + - value + - id + invoice: + oneOf: + - $ref: >- + #/components/schemas/UpdateIndividualPreferences/properties/dunning/properties/estimate/oneOf/0 + - $ref: >- + #/components/schemas/UpdateIndividualPreferences/properties/dunning/properties/estimate/oneOf/1 + - $ref: >- + #/components/schemas/UpdateIndividualPreferences/properties/dunning/properties/estimate/oneOf/2 + proforma: + oneOf: + - $ref: >- + #/components/schemas/UpdateIndividualPreferences/properties/dunning/properties/estimate/oneOf/0 + - $ref: >- + #/components/schemas/UpdateIndividualPreferences/properties/dunning/properties/estimate/oneOf/1 + - $ref: >- + #/components/schemas/UpdateIndividualPreferences/properties/dunning/properties/estimate/oneOf/2 + rate_category_id: + type: integer + description: Id of the rate category selected. + pay_medium_ids: + type: array + description: Ids of individual's pay medium displayed. + items: + type: integer + required: + - currency_id + - carrier_id + - tax_id + - payment_terms + - discount + - bank_account_id + - discount_by_row + - pay_medium_ids + ImportModel: + title: Import model + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + columns: + type: array + description: The model columns + minItems: 1 + example: + - name: Column name + mandatory: true + custom_field: false + items: + title: Column + type: object + description: Column properties + x-examples: {} + properties: + name: + type: string + description: Column name + example: Reference + mandatory: + type: boolean + description: Is it a mandatory column + example: true + custom_field: + type: boolean + description: Is it a column used as custom field + example: true + required: + - name + title: + type: string + description: Title of template + nullable: true + example: Modèle Produit + SubscriptionOne: + title: Subscription + type: object + properties: + id: + description: Id of subscription + type: integer + example: 2 + created: + description: Created date + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + model: + description: Document to use as a template for subscription payment installments + type: object + properties: + type: + type: string + enum: + - model + id: + type: integer + related: + description: | + Objects linked to the subscription : + - A required company or individual + - An optional contact linked to the provided company. + type: array + minItems: 1 + maxItems: 2 + items: + title: Related + description: Objects linked to the subscription + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - contact + required: + - id + - type + sending: + title: Sending + type: object + additionalProperties: false + description: Email sending configuration + properties: + mode: + type: string + description: >- + Once the invoice has been generated, from subscription deadline, + if sending mode is automatic, email will be sent to all + recipients, otherwise, if it's manual, email should be send + manually + enum: + - automatic + - manual + example: automatic + recipients: + type: array + minItems: 0 + description: Email recipients + items: + anyOf: + - type: object + properties: + id: + type: integer + description: Id of recipient + example: 345 + type: + type: string + description: Type of recipient + enum: + - company + - individual + - contact + - staff + - type: object + properties: + email: + type: string + description: Email of recipient + example: contact@sellsy.com + email_template: + type: integer + description: >- + Id of email template. If not specified, the default email layout + will be used + example: 12 + nullable: true + required: + - mode + preferences_source: + description: Source of payment preferences + type: string + enum: + - model + - related + owner: + description: Subscription owner + type: object + properties: + type: + type: string + enum: + - staff + id: + type: integer + conditions: + type: object + description: Conditions to generate subscription payment installment + properties: + interval: + type: object + description: Interval for subscription payment installments + oneOf: + - title: Weekly interval + additionalProperties: false + description: Weekly interval + properties: + type: + type: string + enum: + - weekly + value: + type: string + enum: + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + required: + - value + - type + - title: Monthly interval + type: object + additionalProperties: false + description: Monthly interval + properties: + type: + type: string + enum: + - monthly + - bimonthly + - quarterly + - biannual + - annual + value: + type: string + enum: + - first_monday + - first_tuesday + - first_wednesday + - first_thursday + - first_friday + - first_saturday + - first_sunday + - '1' + - '2' + - '3' + - '4' + - '5' + - '6' + - '7' + - '8' + - '9' + - '10' + - '11' + - '12' + - '13' + - '14' + - '15' + - '16' + - '17' + - '18' + - '19' + - '20' + - '21' + - '22' + - '23' + - '24' + - '25' + - '26' + - '27' + - '28' + - '29' + - '30' + - '31' + - last_monday + - last_tuesday + - last_wednesday + - last_thursday + - last_friday + - last_saturday + - last_sunday + required: + - value + - type + - title: Every days interval + type: object + additionalProperties: false + description: Every days interval + properties: + type: + type: string + enum: + - every_days + value: + type: integer + minimum: 0 + required: + - value + - type + billing_address: + description: Id of billing address + type: integer + nullable: true + example: 69 + shipping_address: + description: Id of shipping address + type: integer + nullable: true + example: 67 + order_reference: + description: Order reference + type: string + nullable: true + maxLength: 100 + example: reference + has_updated_catalog_prices: + description: Update prices according to the products or services in the catalog + type: boolean + default: false + has_catalog_promotions: + description: Take into account catalog promotions + type: boolean + default: false + has_display_of_next_deadline: + description: Display the next recurrence date on the invoice + type: boolean + default: false + has_service_dates: + description: Display service dates on the invoice + type: boolean + default: false + service_dates: + description: > + Service dates on the invoice

- Prerequisite: + `has_service_dates` should be true
+ type: object + nullable: true + properties: + start: + description: Start date for service + type: string + format: date + example: '2023-01-01' + end: + description: > + End date for service

End date must be greater than + start date + type: string + format: date + example: '2023-01-31' + has_impact_on_stock: + description: > + Enable stock impact on new invoices generated by subscription +

- Prerequisite: The Stock module must be enabled and + configured on your account to use this option + type: boolean + default: false + example: true + warehouse_id: + description: > + Specify the warehouse stock to be impacted once the invoice is + generated

- Prerequisite: `has_impact_on_stock` should be + true
- Prerequisite: The Stock module must be enabled and + configured on your account to use this option

If specified + to null, the default warehouse defined in the Stock module + preferences will be used + type: integer + nullable: true + payment_settings: + description: > + Enable automatic payment by direct debit on new invoices generated + by subscription

- Prerequisite: The Gocardless or Stripe + module _(according to the one enabled on the document model used)_ + must be enabled and configured on your account to use this option + type: object + nullable: true + properties: + direct_debit: + description: Activate direct debit + type: boolean + example: true + mandate: + description: >- + Required if the direct debit module on document model is + GoCardless + type: integer + nullable: true + example: 6 + payment_installment_invoice: + description: Payment installment invoice + type: string + enum: + - invoice_due_date + - invoice_generation_date + example: invoice_generation_date + currency: + type: string + description: Currency code of the invoice + example: EUR + first_payment_installment_date: + description: First payment date. + type: object + nullable: true + properties: + date: + type: string + format: date + id: + type: integer + next_payment_installment_date: + description: Next payment date. If the value is `null`, the subscription is end. + type: object + nullable: true + properties: + date: + type: string + format: date + id: + type: integer + amounts: + description: Amounts of subscription + type: object + properties: + total_excl_tax: + type: string + total_incl_tax: + type: string + invoices_total_count: + description: Total number of invoices + type: integer + example: 12 + invoices_generated_count: + description: Number of invoices generated + type: integer + example: 2 + invoices_remaining_count: + description: Number of remaining invoices + type: integer + example: 10 + SubscriptionCreate: + title: Create subscription + type: object + properties: + model: + title: Model + type: object + additionalProperties: false + description: Document to use as a template for subscription payment installments + properties: + type: + type: string + description: Template type + enum: + - model + example: model + id: + type: integer + description: Template id + example: 123 + required: + - id + - type + related: + type: array + minItems: 1 + maxItems: 2 + description: | + Objects linked to the subscription : + - A required company or individual, only "client" type. + - An optional contact can be added, it must be linked to the provided company. + items: + $ref: '#/components/schemas/SubscriptionOne/properties/related/items' + sending: + $ref: '#/components/schemas/SubscriptionOne/properties/sending' + preferences_source: + type: string + description: Source of payment preferences + enum: + - model + - related + conditions: + title: Condition + type: object + description: Conditions to generate subscription deadline + properties: + start_date: + type: string + format: date + description: Date to start subscription, must be greater than today + example: '2022-01-02' + interval: + type: object + description: Interval for subscription deadlines + oneOf: + - $ref: >- + #/components/schemas/SubscriptionOne/properties/conditions/properties/interval/oneOf/0 + - $ref: >- + #/components/schemas/SubscriptionOne/properties/conditions/properties/interval/oneOf/1 + - $ref: >- + #/components/schemas/SubscriptionOne/properties/conditions/properties/interval/oneOf/2 + required: + - start_date + - interval + payment_installments: + type: array + minItems: 1 + maxItems: 500 + description: Subscription payment installments to be generated + items: + title: Payment installments + description: Subscription payment installments to be generated + type: object + properties: + date: + type: string + format: date + description: > + Date of the payment installments. The date must not be over + 2038-01-19. + example: '2022-01-02' + sending_mode: + type: string + description: > + By default, the general preference "sending.mode" is applied + to each payment installments, but it is possible to override + the sending mode on each + enum: + - automatic + - manual + required: + - date + billing_address: + type: integer + nullable: true + description: Id of billing address + example: 69 + shipping_address: + type: integer + nullable: true + description: Id of shipping address + example: 67 + order_reference: + type: string + description: Order reference + example: reference + maxLength: 100 + nullable: true + has_updated_catalog_prices: + type: boolean + description: Update prices according to the products or services in the catalog + default: false + has_catalog_promotions: + type: boolean + description: Take into account catalog promotions + default: false + has_display_of_next_deadline: + type: boolean + description: Display the next recurrence date on the invoice + default: false + has_service_dates: + type: boolean + description: Display service dates on the invoice + default: false + service_dates: + type: object + description: > + Service dates on the invoice

- Prerequisite: + `has_service_dates` should be true
+ nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: > + End date for service

End date must be greater than + start date + example: '2023-01-31' + has_impact_on_stock: + type: boolean + description: > + Enable stock impact on new invoices generated by subscription +

- Prerequisite: The Stock module must be enabled and + configured on your account to use this option + default: false + example: true + warehouse_id: + type: integer + nullable: true + description: > + Specify the warehouse stock to be impacted once the invoice is + generated

- Prerequisite: `has_impact_on_stock` should be + true
- Prerequisite: The Stock module must be enabled and + configured on your account to use this option

If specified + to null, the default warehouse defined in the Stock module + preferences will be used + payment_settings: + type: object + description: > + Enable automatic payment by direct debit on new invoices generated + by subscription

- Prerequisite: The Gocardless or Stripe + module _(according to the one enabled on the document model used)_ + must be enabled and configured on your account to use this option + nullable: true + properties: + direct_debit: + type: boolean + description: Activate direct debit + example: true + mandate: + type: integer + nullable: true + description: >- + Required if the direct debit module on document model is + GoCardless + example: 6 + payment_installment_invoice: + type: string + description: Payment installment invoice + enum: + - invoice_due_date + - invoice_generation_date + example: invoice_generation_date + required: + - model + - related + - sending + - preferences_source + - conditions + - payment_installments + LinkPaymentToDocument: + additionalProperties: false + type: object + required: + - amount + properties: + amount: + type: number + description: >- + Amount to link from payment to document.
Must be greater than + zero, and less than amount left to solve on payment and on document. + example: 123.45 + InvoicingPayment: + type: object + properties: + id: + type: integer + description: Payment id + number: + type: string + nullable: true + description: Payment identifier + example: reference + paid_at: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Payment date (ISO 8601) + status: + type: string + enum: + - pending + - confirmed + - rejected + - failed + - refund + description: Payment status + payment_method_id: + type: integer + description: Payment method id + type: + type: string + enum: + - credit + - debit + description: Payment type + amount: + type: object + properties: + value: + type: string + description: Amount + nullable: true + example: '15.26' + currency: + type: string + description: Currency (ISO 4217) + pattern: ^[A-Za-z *]{2,5}$ + nullable: true + example: EUR + related: + type: array + description: Payment related entities + minItems: 1 + maxItems: 1 + items: + type: object + description: Object linked + properties: + id: + type: integer + description: Id of object + type: + type: string + description: Type of object + example: invoice + enum: + - invoice + - creditnote + - estimate + - order + ObjectiveCollectionOutput: + title: Collection of objectives + type: object + properties: + pagination: + $ref: '#/components/schemas/AccountDocumentCollection/properties/pagination' + data: + type: array + items: + allOf: + - oneOf: + - title: Turnover objective + type: object + properties: + id: + type: integer + description: Objective id + name: + type: string + description: Objective name + example: My Objective + category: + $ref: >- + #/components/schemas/ObjectiveOutput/oneOf/0/properties/category + turnover: + $ref: >- + #/components/schemas/ObjectiveOutput/oneOf/0/properties/turnover + period: + $ref: >- + #/components/schemas/ObjectiveTurnoverInput/properties/period + item: + type: object + nullable: true + properties: + id: + type: integer + description: linked Item id + name: + type: string + description: linked Item name + required: + - id + - name + item_category: + $ref: >- + #/components/schemas/ObjectiveOutput/oneOf/0/properties/item_category + refinements: + type: array + description: Refinements of the objective + items: + type: object + properties: + period: + $ref: >- + #/components/schemas/ObjectiveTurnoverInput/properties/period + turnover: + $ref: >- + #/components/schemas/ObjectiveOutput/oneOf/0/properties/turnover + assignee: + $ref: >- + #/components/schemas/ObjectiveOutput/oneOf/0/properties/assignee + links: + $ref: >- + #/components/schemas/ObjectiveCollectionOutput/properties/links + required: + - id + - name + - category + - turnover + - period + - item + - item_category + - refinements + - assignee + - links + - title: Objective Embed + type: object + properties: + _embed: + nullable: true + additionalProperties: false + properties: + created_by: + $ref: >- + #/components/schemas/Activity/properties/_embed/properties/author + modified_by: + $ref: >- + #/components/schemas/Activity/properties/_embed/properties/author + links: + type: array + items: + type: object + title: link + properties: + rel: + type: string + href: + type: string + required: + - rel + - href + required: + - pagination + - data + - links + ObjectiveTurnoverInput: + title: 'Turnover objective ' + type: object + properties: + name: + type: string + description: Objective name + example: My Objective + category: + type: string + description: Code of an existing objective category + example: turnover + enum: + - turnover + turnover: + title: money + type: object + x-examples: {} + properties: + amount: + type: string + example: '124.33' + description: Amount of turnover expected + currency: + type: string + description: Currency code + example: EUR + required: + - amount + - currency + period: + title: Period + type: object + description: period of the objective + x-examples: {} + properties: + duration: + type: string + enum: + - year + - quarter + - month + description: The duration of the period + date_start: + type: string + format: date + description: The start date + date_end: + type: string + format: date + description: The end date + required: + - duration + - date_start + - date_end + item_id: + type: integer + nullable: true + description: Linked item id + item_category_id: + type: integer + nullable: true + description: Linked item category id + refinements: + type: array + description: Refinements of the objective + items: + type: object + properties: + period: + $ref: '#/components/schemas/ObjectiveTurnoverInput/properties/period' + turnover: + $ref: >- + #/components/schemas/ObjectiveTurnoverInput/properties/turnover + assignee: + title: Assignee + type: object + description: Assignee of the objective + x-examples: {} + properties: + type: + type: string + enum: + - corp + - group + - staff + description: Type of assignee + id: + type: integer + description: 'Id of Assignee: corp id, group id or staff id' + required: + - type + required: + - name + - category + - turnover + - period + - item_id + - item_category_id + - refinements + - assignee + ObjectiveSearchInput: + title: objective filters + type: object + description: The objective filters + properties: + filters: + type: object + properties: + name: + type: object + description: name of the Objective + properties: + mode: + type: string + value: + type: string + example: + mode: contain + value: search + required: + - mode + assignee: + type: array + description: List of Assignees + items: + title: Assignee Filter + type: object + description: Filter Assignee of the objective + x-examples: {} + properties: + type: + type: string + enum: + - corp + - group + - staff + description: Type of assignee + id: + type: integer + description: 'Id of Assignee: corp id, group id or staff id' + required: + - type + ObjectiveOutput: + oneOf: + - title: Turnover objective + type: object + properties: + id: + type: integer + description: Objective id + name: + type: string + description: Objective name + example: My Objective + category: + type: object + description: Objective category + properties: + code: + type: string + description: Code of an existing objective category + example: turnover + label: + type: string + description: Label of an existing objective category + example: Turnover + required: + - code + - label + turnover: + title: Turnover + type: object + description: Turnover + x-examples: {} + properties: + expected: + $ref: >- + #/components/schemas/ObjectiveTurnoverInput/properties/turnover + actual: + $ref: >- + #/components/schemas/ObjectiveTurnoverInput/properties/turnover + progression: + type: number + description: Progression of the objective + computed_at: + type: string + format: date-time + description: Date of last turnover calculation + days_left: + type: number + description: Days remaining between now and the end of the period + required: + - expected + - actual + - progression + - computed_at + - days_left + period: + $ref: '#/components/schemas/ObjectiveTurnoverInput/properties/period' + item: + type: object + nullable: true + properties: + id: + type: integer + description: linked Item id + name: + type: string + description: linked Item name + required: + - id + - name + item_category: + type: object + nullable: true + properties: + id: + type: integer + nullable: true + description: Linked item category id + name: + type: string + description: Linked item category name + required: + - id + - name + refinements: + type: array + description: Refinements of the objective + items: + type: object + properties: + period: + $ref: >- + #/components/schemas/ObjectiveTurnoverInput/properties/period + turnover: + $ref: >- + #/components/schemas/ObjectiveOutput/oneOf/0/properties/turnover + assignee: + title: Assignee + type: object + description: Assignee of the objective + x-examples: {} + properties: + type: + type: string + enum: + - corp + - group + - staff + description: Type of assignee + id: + type: integer + description: 'Assignee id: corp id, group id or staff id' + name: + type: string + description: 'Assignee name: corp name, group name or staff name' + required: + - type + links: + $ref: '#/components/schemas/ObjectiveCollectionOutput/properties/links' + required: + - id + - name + - category + - turnover + - period + - item + - item_category + - refinements + - assignee + - links + ObjectiveMetadata: + title: objective metadatas + type: object + properties: + turnover: + type: object + properties: + data: + type: object + properties: + category: + $ref: >- + #/components/schemas/ObjectiveOutput/oneOf/0/properties/category + currency: + type: string + example: EUR + assignees_types: + type: array + items: + type: object + properties: + value: + type: string + label: + type: string + order: + type: integer + assignees: + type: array + items: + type: object + properties: + groups: + $ref: >- + #/components/schemas/ObjectiveMetadata/properties/turnover/properties/data/properties/assignees_types + staffs: + $ref: >- + #/components/schemas/ObjectiveMetadata/properties/turnover/properties/data/properties/assignees_types + item_categories: + allOf: + - $ref: >- + #/components/schemas/ObjectiveMetadata/properties/turnover/properties/data/properties/assignees_types + - type: array + items: + type: object + properties: + parent: + type: integer + nullable: true + logo: + type: string + nullable: true + durations: + $ref: >- + #/components/schemas/ObjectiveMetadata/properties/turnover/properties/data/properties/assignees_types + required: + - category + - currency + - assignees_types + - assignees + - item_categories + - durations + metadata: + type: object + properties: + choose_product: + type: boolean + create_new_staff: + type: boolean + create_new_group: + type: boolean + _links: + $ref: '#/components/schemas/ObjectiveCollectionOutput/properties/links' + required: + - objectives + - links + ObjectiveComputeTurnoverInput: + type: object + properties: + currency: + description: Currency used to compute the turnover + type: string + example: EUR + period: + description: Period used to compute the turnover + allOf: + - $ref: '#/components/schemas/ObjectiveTurnoverInput/properties/period' + item_id: + description: linked item id used to compute the turnover + type: integer + nullable: true + item_category_id: + description: Linked item category id used to compute the turnover + type: integer + nullable: true + assignee: + description: Assignee used to compute the turnover + allOf: + - $ref: '#/components/schemas/ObjectiveTurnoverInput/properties/assignee' + required: + - currency + - period + - item_id + - item_category_id + - assignee + ObjectiveComputeTurnoverOutput: + type: array + items: + type: object + properties: + period: + description: Period used to compute the turnover + allOf: + - $ref: '#/components/schemas/ObjectiveTurnoverInput/properties/period' + turnover: + description: The computed turnover + allOf: + - $ref: >- + #/components/schemas/ObjectiveTurnoverInput/properties/turnover + required: + - period + - turnover + OnboardingScreenOutput: + title: Onboarding Screen output + type: object + additionalProperties: false + properties: + code: + description: Screen code + type: string + example: 'Screen #1' + persona: + description: Screen target user + example: owner + type: string + id: + description: Screen id + type: integer + example: 3 + columns: + description: Screen columns + type: array + items: + type: object + additionalProperties: false + properties: + order: + description: Screen column order + type: integer + label: + description: Screen column label + type: string + cards: + description: Screen column cards + type: array + items: + description: Onboarding Screen card + type: object + additionalProperties: false + properties: + id: + description: Screen card id + type: integer + url: + description: Screen card target url + type: string + label: + description: Screen card label + type: string + code: + description: Screen card code + type: string + icon: + description: Screen card icon identifier + type: string + example: icon-code + order: + description: Screen card order in column + type: integer + state: + description: Screen card completion state + type: string + enum: + - completed + - to_complete + - completing + required: + - id + - url + - label + - code + - icon + - order + - state + required: + - order + - label + - cards + required: + - code + - role + - id + - columns + DiscountInclTaxesOutput: + type: object + description: Discount including taxes + properties: + id: + type: integer + description: identifier of discount + readOnly: true + example: 31 + reference: + type: string + description: Reference of discount + minLength: 1 + maxLength: 250 + example: Halloween five last day + name: + type: string + description: Name of discount + minLength: 1 + maxLength: 250 + example: Halloween promotion + description: + type: string + description: Description visible on the document + minLength: 1 + maxLength: 1000 + example: For purchases made during the last five days of October + unit_id: + type: integer + description: Unit id + example: 31 + amount: + type: string + description: Amount of unit + minLength: 0 + example: 31 + accounting_code_id: + type: integer + description: > +
  • If the accounting code is not empty, we use it.
  • If + the accounting code is empty AND if the account has activated + dedicated accounting codes for discounts including VAT, we use + it.
  • Otherwise, we use the default accounting code for + companies.
+ nullable: true + example: 31 + DiscountInclTaxesInput: + type: object + description: Discount including taxes + properties: + reference: + type: string + description: Reference of discount + minLength: 1 + maxLength: 250 + example: Halloween five last day + name: + type: string + description: Name of discount + minLength: 1 + maxLength: 250 + example: Halloween promotion + description: + type: string + description: Description visible on the document + minLength: 1 + maxLength: 1000 + example: For purchases made during the last five days of October + unit_id: + type: integer + description: Unit id + example: 31 + amount: + type: string + description: Amount of unit + minLength: 0 + example: 31 + accounting_code_id: + type: integer + description: > +
    If `null` :
  • Uses company default
  • Or the customer's + if he has one
+ nullable: true + example: 31 + required: + - reference + - name + - description + - unit_id + - amount + UpdateDiscountInclTaxes: + type: object + description: Update discount including taxes + properties: + reference: + type: string + description: Reference of discount + minLength: 1 + maxLength: 250 + example: Halloween five last day + name: + type: string + description: Name of discount + minLength: 1 + maxLength: 250 + example: Halloween promotion + description: + type: string + description: Description visible on the document + minLength: 1 + maxLength: 1000 + example: For purchases made during the last five days of October + unit_id: + type: integer + description: Unit id + example: 31 + amount: + type: string + description: Amount of unit + minLength: 0 + example: 31 + accounting_code_id: + type: integer + description: > +
    If `null` :
  • Uses company default
  • Or the customer's + if he has one
+ nullable: true + example: 31 + MarketingAttributeOutput: + title: List Attributes Output + type: object + additionalProperties: false + properties: + attributes: + type: array + description: List of attributes + items: + title: Marketing Attribute + type: object + additionalProperties: false + properties: + id: + type: integer + description: Attribute id + label: + type: string + description: Attribute display label + code: + type: string + description: Attribute identifier code + default: + type: boolean + description: Is the Attribute active by default + synchronized: + type: boolean + description: Has the Attribute been synchronized + category: + type: object + nullable: true + description: Attribute category + additionalProperties: false + properties: + code: + type: string + description: Attribute category code + label: + type: string + description: Attributes category label + required: + - code + - label + sub_category: + type: object + nullable: true + description: Attribute sub-category + additionalProperties: false + properties: + code: + type: string + description: Attribute sub-category code + label: + type: string + description: Attributes sub-category label + required: + - code + - label + required: + - id + - label + - code + - default + - synchronized + - category + - sub_category + links: + type: array + description: List of related routes available + items: + type: object + title: link + properties: + rel: + type: string + href: + type: string + required: + - rel + - href + required: + - attributes + - links + MarketingAttributeInput: + title: Marketing Attribute revision + type: array + example: + - 56 + - 123 + - 345 + items: + type: integer + description: Marketing Attribute id + MarketingAttributeDiffOutput: + title: Marketing attribute revision diff + type: object + additionalProperties: false + properties: + create: + type: array + description: List of new Marketing Attributes to create + items: + $ref: >- + #/components/schemas/MarketingAttributeOutput/properties/attributes/items + delete: + type: array + description: List of previous Marketing Attributes to delete + items: + $ref: >- + #/components/schemas/MarketingAttributeOutput/properties/attributes/items + void: + type: array + description: List of Marketing Attributes unchanged + items: + $ref: >- + #/components/schemas/MarketingAttributeOutput/properties/attributes/items + links: + $ref: '#/components/schemas/MarketingAttributeOutput/properties/links' + required: + - create + - delete + - void + - links + DiscountInclTaxesDocumentInput: + type: object + title: Discount including taxes + properties: + quantity: + type: integer + minimum: 1 + description: Discount including taxes quantity + example: 12 + amount: + type: string + description: Discount including taxes amount + minimum: 0 + example: '12.34' + required: + - quantity + ConsentSettingsOuput: + type: object + description: The consent settings + required: + - settings + - _links + properties: + settings: + type: object + description: The consent settings + required: + - default_consent + - double_optin + properties: + default_consent: + type: boolean + double_optin: + type: object + required: + - enable + - confirm_email + properties: + enable: + type: boolean + confirm_email: + type: object + required: + - subject + - body + - sender + - button + properties: + subject: + type: string + body: + type: string + sender: + type: object + required: + - email + - name + properties: + email: + type: string + name: + type: string + button: + type: object + required: + - label + properties: + label: + type: string + _links: + type: array + items: + type: object + title: link + properties: + rel: + type: string + href: + type: string + required: + - rel + - href + ConsentSettingsInput: + $ref: '#/components/schemas/ConsentSettingsOuput/properties/settings' + ConsentMarketingSettingsInput: + type: object + description: The marketing consent settings + required: + - marketing + properties: + marketing: + type: object + required: + - email + - sms + - phone + - postal_mail + - custom + properties: + email: + type: boolean + sms: + type: boolean + phone: + type: boolean + postal_mail: + type: boolean + custom: + type: boolean + parameters: + ModelOrder: + in: query + name: order + description: Order field + schema: + type: string + example: id + enum: + - id + - number + - created + commentOrder: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - updated + - created + commentItemEmbed: + in: query + name: embed + description: > + Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + company: `companies.read`
- individual: `individuals.read`
- + owner: `staffs.read`
- contact: `contacts.read`
- related: + by object type. Check the entire documentation to verify the usual + scopes requested for the types returned + schema: + type: array + items: + type: string + enum: + - owner + - related + - company + - individual + - contact + - acl + contactEmbed: + in: query + name: embed + description: > + Example : `embed[]=delivery_address&embed[]=cf.1542&embed[]=acl`
+ Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + opportunities: `opportunities.read`
- + estimates,invoices,orders,deliveries: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is limited + to the 20 first results sorted in alphabetical order.
+ schema: + type: array + items: + oneOf: + - type: string + title: standards + description: The standards embeds + enum: + - invoicing_address + - delivery_address + - opportunities + - estimates + - invoices + - orders + - deliveries + - acl + - smart_tags + - type: string + title: custom-fields + description: >- + Each custom field value could be requested as an embed object by + specifiying it identifier in the query, prefixed by "cf." + string. _(example: `embed[]=cf.123` for the value of the custom + field of identifier `123`)
`custom-fields.read` oauth2 scope + is required_ + pattern: ^cf.[\d]+$ + crmActivityOrder: + in: query + name: order + description: The order field + schema: + type: string + example: date + enum: + - date + - due_date + - event + - author + - more.label + dealsActivityOrder: + in: query + name: order + description: The order field + schema: + type: string + example: due_date + enum: + - due_date + - event + - label + accountDocumentOrder: + in: query + name: order + description: The order field + schema: + type: string + example: date + enum: + - date + crmActivityEmbed: + in: query + name: embed + description: >- + Additional object included in the result.
Aggregations by + date only works with due_date filter :
- For + aggregations.by_day_and_event, maximum interval of due_date is 90 days +
- For aggregations.by_month_and_event, maximum interval of + due_date is 365 days + schema: + type: array + items: + type: string + enum: + - aggregations + - aggregations.by_event + - aggregations.by_month_and_event + - aggregations.by_day_and_event + - aggregations.by_week_and_event + - aggregations.by_author_and_event + - aggregations.by_author_and_label + opportunityEmbed: + in: query + name: embed + description: > + Example : `embed[]=assigned_staffs&embed[]=cf.1542&embed[]=acl`
+ Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + company: `companies.read`
- individual: `individuals.read`
- + assigned_staffs: `staffs.read`
- contacts: `contacts.read`
- + estimates, invoices, orders, deliveries, proformas, creditnotes: + `invoicing.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags + embed is limited to the 20 first results sorted in alphabetical order. +
+ schema: + type: array + items: + oneOf: + - type: string + title: standards + description: The standards embeds + enum: + - estimates + - individual + - invoices + - orders + - deliveries + - proformas + - creditnotes + - assigned_staffs + - company + - contacts + - acl + - currency + - smart_tags + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + opportunityEmbedWithAggregations: + in: query + name: embed + description: > + Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + company: `companies.read`
- individual: `individuals.read`
- + assigned_staffs: `staffs.read`
- contacts: `contacts.read`
- + estimates, invoices, orders, deliveries, proformas, creditnotes: + `invoicing.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags + embed is limited to the 20 first results sorted in alphabetical order. +
+ schema: + type: array + items: + oneOf: + - type: string + title: standards + description: The standards embeds + enum: + - estimates + - individual + - invoices + - orders + - deliveries + - proformas + - creditnotes + - assigned_staffs + - company + - contacts + - acl + - currency + - aggregations + - aggregations.amount_sum + - aggregations.amount_sum_by_status + - aggregations.amount_sum_by_status_due_at_seven + - aggregations.number_by_pipeline_and_step + - smart_tags + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + opportunityOrder: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - created + - step_rank + - due_date + staffEmbed: + in: query + name: embed + description: > + Additional object included in the result.

If current user + visibility on staffs is restricted, embed will not be available.

Each embed object may require different oauth2 scopes than the + main endpoint:
- licenses: `accounts.read` + schema: + type: array + items: + type: string + enum: + - preferences + - acl + - licenses + - preferences_calendar + staffItemEmbed: + in: query + name: embed + description: > + Additional object included in the result.

If current user + visibility on staffs is restricted, embed will not be available.

Each embed object may require different oauth2 scopes than the + main endpoint:
- licenses: `accounts.read`
- profile: + `staffs.read`
- account: `staffs.read`
- user: + `staffs.read`
- subscriptions: `accounts.read`
- features: + `accounts.read` + schema: + type: array + items: + type: string + enum: + - preferences + - acl + - licenses + - preferences_calendar + - intercom_hash + - profile + - account + - user + - subscriptions + - features + opportunitySourceOrder: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - rank + default: rank + opportunityPipelineOrder: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - rank + default: rank + pipelineStepOrder: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - rank + - probability + default: rank + pipelineStepEmbed: + in: query + name: embed + description: > + Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + opportunities_number: `opportunities.read` + schema: + type: array + items: + type: string + enum: + - opportunities_number + fields: + in: query + name: field + description: > + Filters the fields returned in the response

Example:
+ - `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- `field[]=_embed`: + Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` embed
+ - `field[]=_embed.company.name`: Return the `name` field from the + `company` embed
+ schema: + type: array + items: + type: string + pattern: ^[A-Za-z0-9\.\[\]_-]+$ + favouriteFiltersOrder: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - name + - id + SaleEmbed: + in: query + name: embed + description: > + Example : `embed[]=payment_method_ids&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
+ - payment_method_ids: `payments.read`
- company: + `companies.read`
- individual: `individuals.read`
- contact: + `contacts.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags + embed is limited to the 20 first results sorted in alphabetical order. +
- related: by object type. Check the entire documentation to + verify the usual scopes requested for the types returned

+ Aggregations on amounts only works in addition with the currency + filter + schema: + type: array + items: + oneOf: + - type: string + title: standards + description: The standards embeds + enum: + - company + - individual + - contact + - invoicing_address + - delivery_address + - currency + - acl + - payment_method_ids + - aggregations + - aggregations.amount_sum_by_status + - aggregations.count_by_status + - fiscal_year + - smart_tags + - payment_terms + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + EstimateOneEmbed: + in: query + name: embed + description: > + Example : `embed[]=payment_method_ids&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
+ - payment_method_ids: `payments.read`
- company: + `companies.read`
- individual: `individuals.read`
- contact: + `contacts.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
- discount_incl_taxes: + `discount-incl-taxes.read`
Additionnally, the smart_tags embed is + limited to the 20 first results sorted in alphabetical order.
- + related: by object type. Check the entire documentation to verify the + usual scopes requested for the types returned

+ Aggregations on amounts only works in addition with the currency + filter + schema: + type: array + items: + oneOf: + - type: string + title: standards + description: The standards embeds + enum: + - company + - individual + - contact + - invoicing_address + - delivery_address + - currency + - acl + - payment_method_ids + - aggregations + - aggregations.amount_sum_by_status + - aggregations.count_by_status + - fiscal_year + - smart_tags + - payment_terms + - discount_incl_taxes + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + SaleOrder: + in: query + name: order + description: >- + The order field + + > Value `numero` is deprecated and will be deleted on the July 1st 2022. + Use `number` instead. + schema: + type: string + example: id + enum: + - id + - numero + - created + - date + - expiry_date + - number + - amount + taskEmbed: + in: query + name: embed + description: > + Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + company: `companies.read`
- individual: `individuals.read`
- + owner, assigned_staffs: `staffs.read`
- contact: + `contacts.read`
- related: by object type. Check the entire + documentation to verify the usual scopes requested for the types + returned + schema: + type: array + items: + type: string + enum: + - owner + - assigned_staffs + - related + - company + - individual + - contact + - acl + taskOrder: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - due_date + labelOrder: + in: query + name: order + description: The order field + schema: + type: string + example: rank + enum: + - rank + - id + autocomplete: + in: query + name: q + description: The search field + schema: + type: string + example: John + required: true + searchType: + in: query + name: type + explode: true + description: | + Filter search by object type or subtype. + - `ex with types: type[]=contact&type[]=company` + - `ex with subtypes: type[]=company.client&type[]=item.product` + - `ex with both: type[]=company&type[]=item.product` + schema: + type: array + items: + type: string + enum: + - company + - company.client + - company.prospect + - company.supplier + - individual + - individual.client + - individual.prospect + - individual.supplier + - contact + - opportunity + - purchase + - purchase.purInvoice + - purchase.purDelivery + - purchase.purOrder + - purchase.purCreditNote + - item + - item.product + - item.packaging + - item.shipping + - item.service + - declination + - declination.product + - declination.declination + - document + - document.estimate + - document.invoice + - document.delivery + - document.order + - document.proforma + - document.creditnote + - staff + - ticket + - redactor + - redactor.document + - redactor.template + activityOrder: + in: query + name: order + description: The order field + schema: + type: string + example: due_date + enum: + - due_date + activityEmbed: + in: query + name: embed + description: > + Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + company: `companies.read`
- individual: `individuals.read`
- + author: `staffs.read`
- object_related: by object type. Check the + entire documentation to verify the usual scopes requested for the types + returned + schema: + type: array + items: + type: string + enum: + - object_related + - author + - individual + - company + - acl + phoneCallEmbed: + in: query + name: embed + description: > + Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + company: `companies.read`
- individual: `individuals.read`
- + owner: `staffs.read`
- contact: `contacts.read`
- related: + by object type. Check the entire documentation to verify the usual + scopes requested for the types returned + schema: + type: array + items: + type: string + enum: + - company + - individual + - contact + - related + - owner + - acl + reportEmbed: + in: query + name: embed + description: Additional object included in the result. + schema: + type: array + items: + type: string + enum: + - aggregations + - aggregations.cumulio + contactOrders: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - name + - created_at + direction: + in: query + name: direction + description: The order direction + schema: + type: string + enum: + - asc + - desc + default: asc + order: + in: query + name: order + description: The order field + schema: + type: string + example: id + limit: + in: query + name: limit + description: The pagination limit + schema: + type: integer + description: Pagination limit + default: 25 + maximum: 100 + minimum: 0 + offset: + in: query + name: offset + description: The pagination offset + schema: + oneOf: + - type: integer + minimum: 0 + example: 25 + - type: string + example: WzIwMTQtMDEtMDEsNTk4XQ== + language: + in: query + name: language + description: translation of the country name + schema: + type: string + enum: + - fr + - en + default: fr + description: language code + customActivityOrder: + in: query + name: order + description: The order field + schema: + type: string + example: date + enum: + - date + ocrOrder: + in: query + name: order + description: The order field + schema: + type: string + example: completed_at + enum: + - created_at + - completed_at + paymentMethodOrder: + in: query + name: order + description: The order field + schema: + type: string + example: rank + enum: + - id + - rank + accountingOrder: + in: query + name: order + description: The order field + schema: + type: string + example: code + enum: + - code + calendarEventEmbed: + in: query + name: embed + description: > + Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + company: `companies.read`
- individual: `individuals.read`
- + owner: `staffs.read`
- contact: `contacts.read`
- related, + participants: by object type. Check the entire documentation to verify + the usual scopes requested for the types returned + schema: + type: array + items: + type: string + enum: + - company + - contact + - individual + - owner + - related + - participants + - acl + calendarEventOrder: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - due_date + profileOrder: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - name + - id + staffOrder: + in: query + name: order + description: Field on which to sort the data + schema: + type: string + example: id + enum: + - id + - name + verify: + in: query + name: verify + description: >- + Flag to trigger validation only (set to true to validate payload without + persisting data) + schema: + type: boolean + accountingEmbed: + in: query + name: embed + description: >- + Additional object included in the result.
Aggregations by + date only works with due_date filter :
- For + aggregations.by_day_and_event, maximum interval of due_date is 90 days +
- For aggregations.by_month_and_event, maximum interval of + due_date is 365 days + schema: + type: array + items: + type: string + enum: + - aggregations + - aggregations.credit_debit + opportuntiyCategoryEmbed: + in: query + name: embed + description: Additional object included in the result + schema: + type: array + items: + type: string + enum: + - sources + corporationStaffEmbed: + in: query + name: embed + description: Additional object included in the result + schema: + type: array + items: + type: string + enum: + - predicted_licenses + - aggregations.count_licenses + invoiceEmbed: + in: query + name: embed + description: Additional object included in the result + schema: + type: array + items: + oneOf: + - type: string + enum: + - acl + - owner + - related + - contact + - individual + - company + - fiscal_year + - currency + - smart_tags + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + invoiceOneEmbed: + in: query + name: embed + description: Additional object included in the result + schema: + type: array + items: + oneOf: + - type: string + title: standards + description: The standards embeds + enum: + - acl + - payment_terms + - owner + - related + - contact + - individual + - company + - fiscal_year + - currency + - automatic_dunning + - smart_tags + - discount_incl_taxes + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + invoiceOrder: + in: query + name: order + description: Order field + schema: + type: string + example: id + enum: + - id + - number + - created + - date + - amount + - due_date + creditNoteEmbed: + in: query + name: embed + description: Additional object included in the result + schema: + type: array + items: + oneOf: + - type: string + enum: + - fiscal_year + - related + - contact + - company + - individual + - currency + - owner + - acl + - smart_tags + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + creditNoteOneEmbed: + in: query + name: embed + description: Additional object included in the result + schema: + type: array + items: + oneOf: + - type: string + title: standards + description: The standards embeds + enum: + - fiscal_year + - related + - contact + - company + - individual + - currency + - owner + - acl + - smart_tags + - discount_incl_taxes + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + creditNoteOrder: + in: query + name: order + description: Order field + schema: + type: string + example: id + enum: + - id + - number + - created + - date + - amount + itemOrder: + in: query + name: order + description: Order field + schema: + type: string + example: id + enum: + - id + - created_at + importType: + in: path + name: type + required: true + description: Type of import + schema: + type: string + enum: + - product + - product-variation + - company + - service + - service-price + - product-price + orderEmbed: + in: query + name: embed + description: Additional object included in the result + schema: + type: array + items: + oneOf: + - type: string + enum: + - acl + - related + - contact + - individual + - company + - fiscal_year + - currency + - smart_tags + - owner + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + orderEmbedOne: + in: query + name: embed + description: Additional object included in the result + schema: + type: array + items: + oneOf: + - type: string + enum: + - acl + - related + - contact + - individual + - company + - fiscal_year + - currency + - smart_tags + - owner + - payment_terms + - discount_incl_taxes + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + orderOrder: + in: query + name: order + description: Order field + schema: + type: string + example: id + enum: + - id + - number + - created + - date + - amount + - due_date + - order_status + objectiveOrder: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - name + - date_start + - date_end + - created_at + - updated_at + - progress + - expected_amount + - period + - duration + - assignee + - item + objectiveEmbed: + in: query + name: embed + description: > + Example : `embed[]=created_by&embed[]=modified_by`
Additional + object included in the result.

Each embed object may require + different oauth2 scopes than the main endpoint:
- created_by: + `staffs.read`
- modified_by: `staffs.read`
+ schema: + type: array + items: + type: string + title: Embed + description: The embeds + enum: + - created_by + - modified_by + - objective_results + objectiveCategory: + in: query + name: category + description: filter specific objective categories + schema: + type: array + items: + type: string + title: Category + description: The category + enum: + - turnover + securitySchemes: + oauth2: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: https://login.sellsy.com/oauth2/authorization + tokenUrl: https://login.sellsy.com/oauth2/access-tokens + refreshUrl: https://login.sellsy.com/oauth2/access-tokens + scopes: + comments.read: Grand read access to comments + comments.write: Grand write access to comments + contacts.read: Grants read access to contacts + contacts.write: Grants read access to contacts + individuals.read: Grants read access to individuals + companies.read: Grants read access to companies + companies.write: Grants write access to companies + estimates.read: Grants read access to estimates + estimates.write: Grants write access to estimates + activities.write: Grants write access to activities + activities.read: Grants read access to activities + listings.read: Grants read access to listings + listings.write: Grants write access to listings + custom-fields.read: Grand read access to custom fields + custom-fields.write: Grand write access to custom fields + smart-tags.read: Grand read access to smart tags + smart-tags.write: Grand write access to smart tags + custom-activities.read: Grand read access to custom activities + custom-activities.write: Grand write access to custom activities + scopes.read: Grants read access to scopes + access-tokens.read: Grants read access to access tokens + access-tokens.write: Grants write access to access tokens + clients.read: Grants read access to OAuth clients + clients.write: Grants write access to OAuth clients + accounting-codes.read: Grant read access to accounting codes + accounting-codes.write: Grant write access to accounting codes + taxes.read: Grant read access to taxes + taxes.write: Grant write access to taxes + ocr.read: Grant read access to ocr + individuals.write: Grants write access to individuals + accounts.read: Grant read access to accounts + accounts.write: Grant write access to accounts + opportunities.read: Grand read access to opportunities + opportunities.write: Grant write access to opportunities + orders.read: Grand read access to orders + orders.write: Grand write access to orders + tasks.read: Grant read access to tasks + tasks.write: Grant write access to tasks + staffs.read: Grand read access to staffs + staffs.write: Grant write access to staffs + search.read: Grant access to search + phonecalls.read: Grand read access to phonecall + phonecalls.write: Grand write access to phonecall + calendars.read: Grant read access to calendar + calendars.write: Grant write access to calendar + emails.read: Grant read access to email + emails.write: Grant write access to email + emails.settings: Grant access to email settings + webhooks.read: Grants read access to webhooks + webhooks.write: Grants write access to webhooks + payments.read: Grand read access to payments + payments.write: Grand write access to payments + items.read: Grand read acces to items + items.write: Grand write acces to items + invoicing.read: Grant read access to invoicing + notifications.read: Grant read access to notifications + notifications.write: Grant write access to notifications + accounting-entry.read: Grant read access to accounting entries + accounting-entry.write: Grant write access to accounting entries + invoices.read: Grant read access to invoices + invoices.write: Grant write access to invoices + api-v1: >- + Grant full access to API v1 with API v2 access tokens. Caution, + this scope gives access to all sellsy functionality + credit-notes.read: Grant read access to credit-notes + credit-notes.write: Grant write access to credit-notes + document-layouts.read: Grant read access to document layouts + rate-categories.read: Grant read access to rate categories + rate-categories.write: Grant write access to rate categories + files.write: Grants write access to files + files.read: Grants read access to files + adyen.read: Grant read access to adyen + adyen.write: Grant write access to adyen + subscriptions.write: Grant write access to subscription + subscriptions.read: Grant read access to subscription + models.write: Grant write access to models + models.read: Grant read access to models + objectives.read: Grant read access to objectives + objectives.write: Grant write access to objectives + primes.read: Grant read access to primes + discount-incl-taxes.read: Grant read access to discount including taxes + discount-incl-taxes.write: Grant write access to discount including taxes + clientCredentials: + tokenUrl: https://login.sellsy.com/oauth2/access-tokens + scopes: {} + description: "### Client OAuth\nYou can generate a new OAuth 2 client for the V2 API, from the developer page of your Sellsy account (https://www.sellsy.fr/developer/api-v2).\n\nSeveral types of clients are available:\n\n- **Private:** API access limited to staffs of your SELLSY account.\n A flow by authorization code will be required\n- **Personal**: API access linked to an staff.\n The use of client credentials flow is possible.\n- **Public**: API access to connect to all SELLSY accounts.\n A validation of SELLSY and a flow by authorization code will be required.\n\n### Authorization Code Flow\nSee https://www.oauth.com/oauth2-servers/server-side-apps/authorization-code/\n\n**PKCE** is required when using the authorization code flow. https://www.oauth.com/oauth2-servers/pkce/\n\n- **Authorization URL:** https://login.sellsy.com/oauth2/authorization\n- **Token URL:** https://login.sellsy.com/oauth2/access-tokens\n- **Refresh URL:** https://login.sellsy.com/oauth2/access-tokens\n\n\n#### Example:\nCall `https://login.sellsy.com/oauth2/authorization?response_type=code&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&code_challenge=YOUR_PKCE_CODE_CHALENGE&code_challenge_method=S256`\n\nAfter authentication, a redirection will be performed on the redirection uri. The authaurization code will be retrieved in the query parameter `code` .\n\nThis code can now be exchanged for an access token:\n```bash\ncurl -X POST \\\n https://login.sellsy.com/oauth2/access-tokens \\\n -d '{\n\t\"grant_type\": \"authorization_code\",\n\t\"client_id\": \"YOUR_CLIENT_ID\",\n\t\"redirect_uri\": \"YOUR_REDIRECT_URI\",\n\t\"code_verifier\": \"YOUR_PKCE_CODE_VERIFIER\",\n\t\"code\": \"THE_CODE\"\n}'\n# Response\n{\n \"token_type\": \"Bearer\",\n \"expires_in\": 3600,\n \"access_token\": \"YOUR_ACCESS_TOKEN\",\n \"refresh_token\": \"YOUR_REFRESH_TOKEN\"\n}\n# Use API\ncurl -X GET \\\n 'https://api.sellsy.com/v2/teams' \\\n --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'\n```\n\nYou can request a new access token, from the refresh token previously retrieved:\n```bash\ncurl -X POST \\\n https://login.sellsy.com/oauth2/access-tokens \\\n -d '{\n\t\"grant_type\": \"refresh_token\",\n\t\"client_id\": \"YOUR_CLIENT_ID\",\n\t\"client_secret\": \"YOUR_CLIENT_SECRET\"\n\t\"refresh_token\": \"YOUR_REFRESH_TOKEN\"\n}'\n# Response\n{\n \"token_type\": \"Bearer\",\n \"expires_in\": 3600,\n \"access_token\": \"YOUR_NEW_ACCESS_TOKEN\",\n \"refresh_token\": \"YOUR_NEW_REFRESH_TOKEN\"\n}\n```\n\n### Client Credential Flow\nSee https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/\n\nOnly personal clients can use this authentication flow.\n\n**Token URL:** https://login.sellsy.com/oauth2/access-tokens\n\n#### Example:\n```bash\ncurl -X POST \\\n https://login.sellsy.com/oauth2/access-tokens \\\n -d '{\n\t\"grant_type\": \"client_credentials\",\n\t\"client_id\": \"YOUR_CLIENT_ID\",\n\t\"client_secret\": \"YOUR_CLIENT_SECRET\"\n}'\n# Response\n{\n \"token_type\": \"Bearer\",\n \"expires_in\": 3600,\n \"access_token\": \"YOUR_ACCESS_TOKEN\"\n}\n# Use API\ncurl -X GET \\\n 'https://api.sellsy.com/v2/teams' \\\n --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'\n```\n### Tokens expiration\n- **Authorization Code:** 10 min\n- **Access Token:** 24 hours\n- **Refresh Token:** 60 days" diff --git a/sdks/db/fixed-specs-cache/relysia-fixed-spec.yaml b/sdks/db/fixed-specs-cache/relysia-fixed-spec.yaml new file mode 100644 index 000000000..30b80a908 --- /dev/null +++ b/sdks/db/fixed-specs-cache/relysia-fixed-spec.yaml @@ -0,0 +1,13837 @@ +publishJson: + company: Relysia + serviceName: false + sdkName: relysia-{language}-sdk + clientName: Relysia + metaDescription: >- + Relysia is a blockchain as a service provider for any enterprise and + commercial companies and start-ups who wish to build their own blockchain + applications. + + + You can use our APIs as building blocks to pick and choose how advanced you + want your Bitcoin platform to be. + + + With over 50 blockchain related APIs, you can build any application you + wish. With Relysia API, wallet creation, transactions, data storage, tokens, + NFTs and smart contracts are all easy to implement as they require less than + 10 lines of code. + + + We are simplifying Bitcoin application development. By providing our + scalable and robust infrastructure, we help businesses reduce their time to + market by over 90% allowing them to quickly iterate through ideas and + execution strategies to find their product market fit. + + + You can explore the Relysia API documentation at: https://docs.relysia.com/. + + We also have a Swagger implementation for demonstration and testing purposes + available at: https://api.relysia.com/docs/. + + + Our services have empowered many entrepreneurs and companies to actualise + their blockchain ideas. Get in touch with us to explore Relysia API in + deeper detail. + + + Relysia by Vaionex Corporation + apiStatusUrls: inherit + homepage: relysia.com + developerDocumentation: api.relysia.com/docs/static/index.html + categories: + - blockchain +rawSpecString: | + openapi: 3.0.3 + info: + title: Relysia Blockchain API + description: Relysia makes blockchain adoption frictionless and easy. + version: 2.4.8 + components: + securitySchemes: + authToken: + type: apiKey + in: header + name: authToken + serviceID: + type: apiKey + in: header + name: serviceID + schemas: {} + paths: + /: + get: + responses: + '200': + description: Default Response + /v1/issue: + post: + summary: Mint a Token. + tags: + - Smart Contracts + description: >- + Mint a token with given specifications (can be both token or NFT). More + on docs.relysia.com. + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + protocolId: + type: string + default: STAS + symbol: + type: string + description: + type: string + image: + type: string + tokenSupply: + type: number + minimum: 1 + default: 3 + decimals: + type: number + default: 0 + nullable: true + minimum: 0 + maximum: 8 + satsPerToken: + type: number + default: 1 + minimum: 0 + properties: + type: object + properties: + legal: + type: object + properties: + terms: + type: string + default: >- + STAS, Inc. retains all rights to the token script. + Use is subject to terms at + https://stastoken.com/license. + nullable: true + licenceId: + type: string + default: stastoken.com + nullable: true + nullable: true + issuer: + type: object + properties: + organisation: + type: string + default: Vaionex Corp. + nullable: true + legalForm: + type: string + default: Limited + nullable: true + governingLaw: + type: string + default: US + nullable: true + issuerCountry: + type: string + default: US + nullable: true + jurisdiction: + type: string + default: US + nullable: true + email: + type: string + default: info@vaionex.com + nullable: true + nullable: true + meta: + type: object + properties: + schemaId: + type: string + default: STAS1.0 + nullable: true + website: + type: string + default: vaionex.com + nullable: true + legal: + type: object + properties: + terms: + type: string + default: Your token terms and description. + nullable: true + nullable: true + media: + type: array + items: + type: object + properties: + URI: + type: string + nullable: true + type: + type: string + nullable: true + altURI: + type: string + nullable: true + nullable: true + nullable: true + nullable: true + nullable: true + splitable: + type: boolean + default: 'true' + nullable: true + data: + type: object + additionalProperties: true + default: {} + nftMetadataSerialNumberStart: + type: number + nullable: true + nftMetadataTotalSupply: + type: number + nullable: true + required: + - name + - symbol + - image + - description + - satsPerToken + - protocolId + - tokenSupply + examples: + example1: + value: + name: Store Bonus Points + protocolId: STAS + symbol: SBP + description: A supermarket bonus point. + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + tokenSupply: 3 + decimals: 0 + satsPerToken: 1 + properties: + legal: + terms: >- + STAS, Inc. retains all rights to the token script. Use + is subject to terms at https://stastoken.com/license. + licenceId: stastoken.com + issuer: + organisation: Vaionex Corp. + legalForm: Limited + governingLaw: US + issuerCountry: US + jurisdiction: US + email: info@vaionex.com + meta: + schemaId: STAS1.0 + website: vaionex.com + legal: + terms: Your token terms and description. + media: + - URI: string + type: string + altURI: string + splitable: true + data: {} + example2: + value: + name: Store Bonus Points + protocolId: STAS-20 + symbol: SBP + description: A supermarket bonus point. + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + tokenSupply: 3 + decimals: 0 + satsPerToken: 1 + properties: + legal: + terms: >- + STAS, Inc. retains all rights to the token script. Use + is subject to terms at https://stastoken.com/license. + licenceId: stastoken.com + issuer: + organisation: Vaionex Corp. + legalForm: Limited + governingLaw: US + issuerCountry: US + jurisdiction: US + email: info@vaionex.com + meta: + schemaId: STAS1.0 + website: vaionex.com + legal: + terms: Your token terms and description. + media: + - URI: string + type: string + altURI: string + splitable: true + data: + data1: + - data1 + - data2 + data2: + - data1 + - data2 + required: true + parameters: + - schema: + type: string + default: STAS + in: header + name: protocol + required: false + - schema: + type: boolean + default: 'false' + in: header + name: reminting + required: false + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + tokenId: + type: string + tokenObj: + type: object + properties: + userId: + type: string + serviceId: + type: string + nullable: true + symbol: + type: string + name: + type: string + description: + type: string + image: + type: string + totalSupply: + type: number + minimum: 1 + satsPerToken: + type: number + minimum: 0 + decimals: + type: number + nullable: true + properties: + type: object + properties: + legal: + type: object + properties: + terms: + type: string + default: >- + STAS, Inc. retains all rights to the token + script. Use is subject to terms at + https://stastoken.com/license. + nullable: true + licenceId: + type: string + default: stastoken.com + nullable: true + nullable: true + issuer: + type: object + properties: + organisation: + type: string + default: Vaionex Corp. + nullable: true + legalForm: + type: string + default: Limited + nullable: true + governingLaw: + type: string + default: US + nullable: true + issuerCountry: + type: string + default: US + nullable: true + jurisdiction: + type: string + default: US + nullable: true + email: + type: string + default: info@vaionex.com + nullable: true + nullable: true + meta: + type: object + properties: + schemaId: + type: string + default: STAS1.0 + nullable: true + website: + type: string + default: vaionex.com + nullable: true + legal: + type: object + properties: + terms: + type: string + default: Your token terms and description. + nullable: true + nullable: true + media: + type: array + items: + type: object + properties: + URI: + type: string + nullable: true + type: + type: string + nullable: true + altURI: + type: string + nullable: true + nullable: true + nullable: true + nullable: true + nullable: true + splittable: + type: boolean + protocolId: + type: string + contractTxid: + type: string + issueTxid: + type: string + contractAddress: + type: string + contractPublickey: + type: string + splitable: + type: boolean + required: + - userId + - symbol + - name + - description + - image + - totalSupply + - satsPerToken + - splittable + - protocolId + - contractTxid + - issueTxid + - contractAddress + - contractPublickey + - splitable + required: + - status + - msg + - tokenId + - tokenObj + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Token created successfully. + tokenId: cb75d56ad85630475ca4af078dcbf37828970d8d-HELLO12344 + tokenObj: + userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + symbol: HELLO12344 + name: Store Bonus Points + description: A supermarket bonus point. + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + totalSupply: 3 + satsPerToken: 1 + decimals: 0 + properties: + legal: + terms: >- + STAS, Inc. retains all rights to the token script. + Use is subject to terms at + https://stastoken.com/license. + licenceId: stastoken.com + issuer: + organisation: Vaionex Corp. + legalForm: Limited + governingLaw: US + issuerCountry: US + jurisdiction: US + email: info@vaionex.com + meta: + schemaId: STAS1.0 + website: vaionex.com + legal: + terms: Your token terms and description. + media: + - URI: string + type: string + altURI: string + splittable: true + protocolId: STAS + contractTxid: >- + ec376960b7cf25ae846338253e403082fe5f4bc76d06ad547bf03403ee4403b5 + issueTxid: >- + e3dcb8dfee84a7a510b1b073d7b1b773ac61749370e51a6dbe38d8171213d36f + contractAddress: 1KYoLAjrtNGULBHvPy1fT6T5xwqtcFQ4yA + contractPublickey: >- + 02e8f852e5015f8f12c228992a84b3b70c6789630b9ebef70529b802061db7a42f + splitable: true + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/token/{id}: + get: + summary: Get STAS token details. + tags: + - Smart Contracts + description: Insert your STAS tokenId to receive information about it. + parameters: + - schema: + type: string + in: path + name: id + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + token_id: + type: string + symbol: + type: string + name: + type: string + description: + type: string + schema_id: + type: string + protocol: + type: string + image: + type: string + total_supply: + type: number + minimum: 0 + sats_per_token: + type: number + minimum: 0 + splitable: + type: boolean + properties: + type: object + properties: + legal: + type: object + properties: + terms: + type: string + nullable: true + licenceId: + type: string + nullable: true + nullable: true + issuer: + type: object + properties: + organisation: + type: string + nullable: true + legalForm: + type: string + nullable: true + governingLaw: + type: string + nullable: true + issuerCountry: + type: string + nullable: true + jurisdiction: + type: string + nullable: true + email: + type: string + nullable: true + nullable: true + meta: + type: object + properties: + schemaId: + type: string + nullable: true + website: + type: string + nullable: true + legal: + type: string + nullable: true + media: + type: string + nullable: true + nullable: true + nullable: true + contract_txs: + type: array + items: + type: string + minItems: 1 + issuance_txs: + type: array + items: + type: string + minItems: 1 + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Token details fetched successfully + token_id: 8a9e7ec666f0610ff3f0540ed55f07162e9dd7a8 + symbol: SBPgdsfgdfsgds + name: Store Bonus Points + description: A supermarket bonus point. + schema_id: STAS1.0 + protocol: STAS-789 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + total_supply: 3 + sats_per_token: 1 + splitable: false + properties: + legal: + terms: >- + STAS, Inc. retains all rights to the token script. Use + is subject to terms at https://stastoken.com/license. + licenceId: stastoken.com + issuer: + organisation: Vaionex Corp. + legal_form: Limited + governing_law: US + issuer_country: US + jurisdiction: US + email: info@vaionex.com + meta: + legal: '{"terms":"Your token terms and description."}' + media: '[{"URI":"string","type":"string","altURI":"string"}]' + schemaId: STAS1.0 + website: vaionex.com + contract_txs: + - >- + d1f376ffb62f30efdd1336ec379eb462ab1068dd67a55789ab1c445cf35c540d + issuance_txs: + - >- + 7f06cdece4c08192e8872be802f120b85f0610e6f8e448b85c301e89ccc5bfe1 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/URI: + get: + summary: Resolve address and paymail alias information. + tags: + - Utility + description: >- + The URI endpoint helps developers to resolve addresses, paymails and + invoices and puts them into a standardized response format. + parameters: + - schema: + type: string + in: header + name: uri + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + data: + type: object + properties: + uri: + type: string + type: + type: string + mainProtocol: + type: string + outputs: + type: array + items: + type: object + properties: + script: + type: string + satoshis: + type: number + required: + - script + - satoshis + nullable: true + inputs: + type: array + items: + type: object + properties: + txid: + type: string + vout: + type: number + satoshis: + type: number + minimum: 0 + scriptPubKey: + type: string + nullable: true + scriptType: + type: string + nullable: true + scriptSig: + type: string + required: + - txid + - vout + - satoshis + - scriptSig + nullable: true + modes: + type: object + additionalProperties: true + network: + type: string + nullable: true + paymentUrl: + type: string + format: uri + nullable: true + creationTimeStamp: + type: number + format: duration + nullable: true + expirationTimeStamp: + type: number + format: duration + nullable: true + memo: + type: string + nullable: true + isBSV: + type: boolean + nullable: true + peer: + type: string + nullable: true + peerData: + type: string + nullable: true + peerProtocol: + type: string + nullable: true + beneficiary: + type: object + properties: + name: + type: string + email: + type: string + address: + type: string + paymentReference: + type: string + nullable: true + required: + - name + - email + - address + - paymentReference + required: + - uri + - type + - mainProtocol + required: + - status + - msg + - data + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + data: + uri: payto:91@dev.relysia.com?amount=1 + type: paymail + mainProtocol: paymail + outputs: + - script: 76a9141a608132952ba364d19d6ef0c09e074fb3fcfedf88ac + satoshis: 1 + inputs: [] + memo: Send to 91@dev.relysia.com + isBSV: true + peer: >- + https://dev.relysia.com/api/bsvalias/receive-transaction/91@dev.relysia.com + peerData: >- + eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJ2ZXJzaW9uIjoxLCJkZXJpdmF0aW9uUm9vdFBhdGgiOiJtLzUiLCJkZXJpdmF0aW9uUm9vdEluZGV4IjozOTE1LCJjb3VudCI6MX0.vgN6mSoxuVzSmdwXA_hJtvS_s6xyFdRVedsFAx4mt5K2fsI0Ps2pw4OCXWy6msUbAKYGOEeAqs9BoyJCOlgyng + peerProtocol: paymail + example2: + value: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + data: + uri: >- + bitcoin:13ofTSnVngWV8VgvqpYZE4YuaWuARBkBp3?amount=0.00000001 + type: bip21 + mainProtocol: bip21 + outputs: + - script: 76a9141ec37cb9f5ab9ae49be75e8d45c02d1f2fd1c5a288ac + satoshis: 1 + inputs: [] + memo: Payment to Address + isBSV: false + peer: null + peerData: null + peerProtocol: null + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/signUp: + post: + summary: User Registration. + tags: + - Authentication + description: >- + Creates a new user and returns the auth token required for API + interactions. + requestBody: + content: + application/json: + schema: + type: object + properties: + email: + type: string + format: email + password: + type: string + format: password + photo: + type: string + nullable: true + displayName: + type: string + nullable: true + required: + - email + - password + examples: + example1: + value: + email: satoshiasdsa@gmail.com + password: 4m4z1ngT3ch + example2: + value: + email: satoshiasdsa@gmail.com + password: 4m4z1ngT3ch + photo: Base64 encoded image + example3: + value: + email: satoshiasdsa@gmail.com + password: 4m4z1ngT3ch + displayName: Satoshi Nakamoto + example4: + value: + email: satoshiasdsa@gmail.com + password: 4m4z1ngT3ch + photo: Base64 encoded image + displayName: Satoshi Nakamoto + required: true + security: + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + token: + type: string + userId: + type: string + required: + - status + - msg + - token + - userId + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: User created successfully. + token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 + userId: 5f1b0b3b1c9d440000f3e9b0 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/auth: + post: + summary: Login Endpoint. + tags: + - Authentication + description: Login with an existing user account. + requestBody: + content: + application/json: + schema: + type: object + properties: + email: + type: string + format: email + password: + type: string + format: password + required: + - email + - password + example: + email: satoshiasdsa@gmail.com + password: 4m4z1ngT3ch + required: true + security: + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + token: + type: string + required: + - status + - msg + - token + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Login successful + token: >- + eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZXJ2aWNlSWQiOiIxMjM0NTY3ODkwIiwiaWF0IjoxNTE2M + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/password/change: + post: + summary: Change password Endpoint + tags: + - Authentication + description: Change password endpoint for existing users to change their password. + requestBody: + content: + application/json: + schema: + type: object + properties: + newPassword: + type: string + format: password + required: + - newPassword + example: + newPassword: 4m4z1ngT3ch + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + token: + type: string + userId: + type: string + required: + - status + - msg + - token + - userId + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Password changed successfully. + token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 + userId: 5e8b2c9b0f1c1a1b1c1d1e1f + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/user: + get: + summary: Profile details. + tags: + - Identity + description: Call the /User endpoint to receive all account specific information. + parameters: + - schema: + type: string + in: header + name: oauth + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + userDetails: + type: object + properties: + userId: + type: string + passwordHash: + type: string + nullable: true + passwordUpdatedAt: + type: number + format: duration + nullable: true + validSince: + type: string + lastLoginAt: + type: string + createdAt: + type: string + lastRefreshAt: + type: string + format: date-time + photo: + type: string + format: uri + nullable: true + displayName: + type: string + nullable: true + phoneNumber: + type: string + nullable: true + required: + - userId + - passwordHash + - passwordUpdatedAt + - validSince + - lastLoginAt + - createdAt + - lastRefreshAt + required: + - status + - msg + - userDetails + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: User details fetched successfully + userDetails: + userId: 5f7f1b9b9b9b9b9b9b9b9b9b + passwordHash: $2b$1 + passwordUpdatedAt: 1602222222 + validSince: '2020-10-10T10:10:10.000Z' + lastLoginAt: '2020-10-10T10:10:10.000Z' + createdAt: '2020-10-10T10:10:10.000Z' + lastRefreshAt: '2020-10-10T10:10:10.000Z' + photo: https://example.com/photo.jpg + displayName: John Doe + phoneNumber: +1-202-555-0104 + example2: + value: + statusCode: 200 + data: + status: success + msg: User details fetched successfully + userDetails: + userId: 5f7f1b9b9b9b9b9b9b9b9b9b + passwordHash: $2b$1 + passwordUpdatedAt: 1602222222 + validSince: '2020-10-10T10:10:10.000Z' + lastLoginAt: '2020-10-10T10:10:10.000Z' + createdAt: '2020-10-10T10:10:10.000Z' + lastRefreshAt: '2020-10-10T10:10:10.000Z' + photo: null + displayName: null + phoneNumber: null + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + delete: + summary: delete user account + tags: + - Delete + description: >- + you can delete user related whole data like wallets, paymail, account + etc. + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: account deleted successfully ! + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/send: + post: + summary: Transfer coins to an address. + tags: + - Transactions + description: >- + Use the /send endpoint to create transactions to peers. The /send + endpoint is agnostic to sending either Tokens or BSV. + requestBody: + content: + application/json: + schema: + type: object + properties: + bundle: + type: boolean + default: true + nullable: true + dataArray: + type: array + items: + type: object + properties: + to: + type: string + amount: + type: number + minimum: 1.e-8 + notes: + type: string + nullable: true + sn: + type: number + nullable: true + minimum: 0 + tokenId: + type: string + nullable: true + data: + type: array + nullable: true + items: + type: string + required: + - to + - amount + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 0.000005 + example2: + value: + dataArray: + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + example3: + value: + dataArray: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 0.000005 + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 0.000005 + notes: test + example4: + value: + dataArray: + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 5 + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 3 + notes: test + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 3 + notes: test + data: + - test1 + - test2 + example5: + value: + bundle: false + dataArray: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 1.e-7 + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 1.e-7 + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txIds: + type: array + items: + type: string + minItems: 0 + errors: + type: array + items: + type: object + additionalProperties: true + required: + - status + - msg + - txIds + - errors + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + errors: [] + example2: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + - >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + errors: [] + example3: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 18d3c8cef40ba055e8151c9377d4c5f144dd1fe44f83f07079e2d0046dc79bc9 + errors: [] + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/rawtx: + post: + summary: Build and return a rawTx + tags: + - Transactions + description: >- + Use the /rawTx endpoint containing a single input and output. + Transactions can be held and the utxo that is used will be blocked from + the user access. + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + to: + type: string + amount: + type: number + minimum: 1.e-8 + notes: + type: string + nullable: true + sn: + type: number + nullable: true + minimum: 0 + tokenId: + type: string + nullable: true + data: + type: array + nullable: true + items: + type: string + required: + - to + - amount + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 0.000005 + example2: + value: + dataArray: + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + example3: + value: + dataArray: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 0.000005 + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 0.000005 + notes: test + data: + - test1 + - test2 + example4: + value: + dataArray: + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 5 + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 3 + notes: test + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 3 + notes: test + data: + - test1 + - test2 + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + rawTxs: + type: array + items: + anyOf: + - type: string + - type: object + properties: + rawtx: + type: string + required: + - rawtx + minItems: 1 + required: + - status + - msg + - rawTxs + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + rawTxs: + - >- + 0100000002e36d2003986bc84d1dec875ed686960e3794334c2e53bd8ee0d7897e4bf3f521000000006a4730440220063953703f06f9557691dba7b0424b9a1ca6dba2ec35bae7dd41e7b15fd38f1d0220439c01459709def5c824ded74102f4170ab3cee9ba7ab9f3b92dc80d7fcecf74412103c63be73d975c3f6274539704e27b2cb811bcc80dc11e95157cef3df8a5b3ac36ffffffffe36d2003986bc84d1dec875ed686960e3794334c2e53bd8ee0d7897e4bf3f521010000006b483045022100e5e0b6e4a61b7bad5c69a5b83032d6a48bb5976d582d52c881db2910ad79bb58022040a10e7dd9cde95c3756c63f33d6b5c119f35dcb4cedd29cc4424bf01e3548ed4121020824bb65d1cc92de2a37410e4279211a0d53788140a528b17f7ada7f4ad8a9a9ffffffff0101000000000000001976a91447431db9649fd75c28834cb152f17cc8ea7fa11f88ac00000000 + example2: + value: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + rawTxs: + - rawtx: >- + 010000000227e26846dea42dd3aec67b801205b500cfbef214e630ea3ecbc7f2d24ce362e800000000fdc5075114fa6e04492aa0ce9eaa5aea00f1e6ac76ea8b5eba54148d30f8237c83b899e51f41a27e1317a735749f6d002002a733b75ebe47ee5600f38034e5a3019935405751ebc63db24c5d9fde623cec004d0907010000004f278468deaeedfb0010da3278cbbb88c2c496bbfffab8749d1fd85c039ff4c7752adad0a7b9ceca853768aebb6965eca126a62965f698a0c1bc43d83db632ad27e26846dea42dd3aec67b801205b500cfbef214e630ea3ecbc7f2d24ce362e800000000fd6a0676a9148da5aaef86362ed2487f5a01380886480617487c88ac6976aa607f5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7c5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01007e818b21414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff007d976e7c5296a06394677768827601249301307c7e23022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798027e7c7e7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01417e21038ff83d8cf12121491609c4939dc11c4aa35503508fe432dc5a5c1905608b9218ad547f7701207f01207f7701247f517f7801007e8102fd00a063546752687f7801007e817f727e7b01177f777b557a766471567a577a786354807e7e676d68aa880067765158a569765187645294567a5379587a7e7e78637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6867567a6876aa587a7d54807e577a597a5a7a786354807e6f7e7eaa727c7e676d6e7eaa7c687b7eaa587a7d877663516752687c72879b69537a647500687c7b547f77517f7853a0916901247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77788c6301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f777852946301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77686877517f7c52797d8b9f7c53a09b91697c76638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6876638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6863587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f7768587f517f7801007e817602fc00a06302fd00a063546752687f7801007e81727e7b7b687f75537f7c0376a9148801147f775379645579887567726881766968789263556753687a76026c057f7701147f8263517f7c766301007e817f7c6775006877686b537992635379528763547a6b547a6b677c6b567a6b537a7c717c71716868547a587f7c81547a557964936755795187637c686b687c547f7701207f75748c7a7669765880748c7a76567a876457790376a9147e7c7e557967041976a9147c7e0288ac687e7e5579636c766976748c7a9d58807e6c0376a9147e748c7a7e6c7e7e676c766b8263828c007c80517e846864745aa0637c748c7a76697d937b7b58807e56790376a9147e748c7a7e55797e7e6868686c567a5187637500678263828c007c80517e846868647459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e687459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e68687c537a9d547963557958807e041976a91455797e0288ac7e7e68aa87726d77776a1400b91626e0a4b97f624bc1f0d8fa3a3ef35ac6640100064b30513447384cc87c20565354207c2062343836613566623363386239616437366161363137393830306539666265373339313562363839383761636664383432326136326663346265616134356263207c2068747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f392f39352f546573745f696d6167652e6a7067207c2037207c2031207c205465737420546f6b656e202d2047656e657261746564206175746f6d61746963616c6c7920666f726d207465737473207c2030207c0100000000000000ffffffff01770f392bdddc76123f01a331b066d69d51ec56592574c1b7a8041999ea65be0000000041000000473044022026db83cccbd78b22d4c93080f916a00a5901eac67f675d553d5036869632d63e02205736dbc31e972c84bbc2e391db430022158f7e3b263d9c479589ce9e347edcd54121031a574b129d4dd0c9e0eae917bf06711d22219a2281debcc6c9bb5a6e87bb7c3fffffffff02a733b75ebe47ee5600f38034e5a3019935405751ebc63db24c5d9fde623cec000000006b483045022100bb0e41f70df285e205a8285dcb718ce7fd9539c93414e9a149ac6c427a043abb0220012213d0ba9e8905d2f39886b24b8457b5e06c2bc2c37dad0dd806c4107af7be4121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff020100000000000000fd6a0676a914fa6e04492aa0ce9eaa5aea00f1e6ac76ea8b5eba88ac6976aa607f5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7c5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01007e818b21414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff007d976e7c5296a06394677768827601249301307c7e23022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798027e7c7e7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01417e21038ff83d8cf12121491609c4939dc11c4aa35503508fe432dc5a5c1905608b9218ad547f7701207f01207f7701247f517f7801007e8102fd00a063546752687f7801007e817f727e7b01177f777b557a766471567a577a786354807e7e676d68aa880067765158a569765187645294567a5379587a7e7e78637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6867567a6876aa587a7d54807e577a597a5a7a786354807e6f7e7eaa727c7e676d6e7eaa7c687b7eaa587a7d877663516752687c72879b69537a647500687c7b547f77517f7853a0916901247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77788c6301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f777852946301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77686877517f7c52797d8b9f7c53a09b91697c76638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6876638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6863587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f7768587f517f7801007e817602fc00a06302fd00a063546752687f7801007e81727e7b7b687f75537f7c0376a9148801147f775379645579887567726881766968789263556753687a76026c057f7701147f8263517f7c766301007e817f7c6775006877686b537992635379528763547a6b547a6b677c6b567a6b537a7c717c71716868547a587f7c81547a557964936755795187637c686b687c547f7701207f75748c7a7669765880748c7a76567a876457790376a9147e7c7e557967041976a9147c7e0288ac687e7e5579636c766976748c7a9d58807e6c0376a9147e748c7a7e6c7e7e676c766b8263828c007c80517e846864745aa0637c748c7a76697d937b7b58807e56790376a9147e748c7a7e55797e7e6868686c567a5187637500678263828c007c80517e846868647459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e687459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e68687c537a9d547963557958807e041976a91455797e0288ac7e7e68aa87726d77776a1400b91626e0a4b97f624bc1f0d8fa3a3ef35ac6640100064b30513447384cc87c20565354207c2062343836613566623363386239616437366161363137393830306539666265373339313562363839383761636664383432326136326663346265616134356263207c2068747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f392f39352f546573745f696d6167652e6a7067207c2037207c2031207c205465737420546f6b656e202d2047656e657261746564206175746f6d61746963616c6c7920666f726d207465737473207c2030207c04000000000000001976a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac00000000 + example3: + value: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + rawTxs: + - >- + 0100000002e36d2003986bc84d1dec875ed686960e3794334c2e53bd8ee0d7897e4bf3f521000000006a4730440220063953703f06f9557691dba7b0424b9a1ca6dba2ec35bae7dd41e7b15fd38f1d0220439c01459709def5c824ded74102f4170ab3cee9ba7ab9f3b92dc80d7fcecf74412103c63be73d975c3f6274539704e27b2cb811bcc80dc11e95157cef3df8a5b3ac36ffffffffe36d2003986bc84d1dec875ed686960e3794334c2e53bd8ee0d7897e4bf3f521010000006b483045022100e5e0b6e4a61b7bad5c69a5b83032d6a48bb5976d582d52c881db2910ad79bb58022040a10e7dd9cde95c3756c63f33d6b5c119f35dcb4cedd29cc4424bf01e3548ed4121020824bb65d1cc92de2a37410e4279211a0d53788140a528b17f7ada7f4ad8a9a9ffffffff0101000000000000001976a91447431db9649fd75c28834cb152f17cc8ea7fa11f88ac00000000 + - >- + 0100000002050495956b562d31679124288101008e85f844787d9e5e62cc738f3b7ab4893a000000006a47304402201f8d1cb5d28d446cee5aad22f606a5fe743d69ecc9a4e1f692550e5ac0a8edf002202aa6e86a8c4cffad21b3af615a88467b0246ab9664350035885e7c0715c0d991412103c63be73d975c3f6274539704e27b2cb811bcc80dc11e95157cef3df8a5b3ac36ffffffff050495956b562d31679124288101008e85f844787d9e5e62cc738f3b7ab4893a010000006b483045022100a3b373d96ce85974d4f75dc160fbf1a2d8e08861a167e22a171c7a2de4f534a4022063ba605fff149e350b5b3806e6c5ed025d29e6d93f4fade7744b447f7fa3eea64121020824bb65d1cc92de2a37410e4279211a0d53788140a528b17f7ada7f4ad8a9a9ffffffff0101000000000000001976a91477cb578d9fab608a794871e6c994c6ff2e55a70788ac00000000 + example4: + value: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + rawTxs: + - rawtx: >- + 010000000227e26846dea42dd3aec67b801205b500cfbef214e630ea3ecbc7f2d24ce362e800000000fdc5075114fa6e04492aa0ce9eaa5aea00f1e6ac76ea8b5eba54148d30f8237c83b899e51f41a27e1317a735749f6d002002a733b75ebe47ee5600f38034e5a3019935405751ebc63db24c5d9fde623cec004d0907010000004f278468deaeedfb0010da3278cbbb88c2c496bbfffab8749d1fd85c039ff4c7752adad0a7b9ceca853768aebb6965eca126a62965f698a0c1bc43d83db632ad27e26846dea42dd3aec67b801205b500cfbef214e630ea3ecbc7f2d24ce362e800000000fd6a0676a9148da5aaef86362ed2487f5a01380886480617487c88ac6976aa607f5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7c5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01007e818b21414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff007d976e7c5296a06394677768827601249301307c7e23022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798027e7c7e7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01417e21038ff83d8cf12121491609c4939dc11c4aa35503508fe432dc5a5c1905608b9218ad547f7701207f01207f7701247f517f7801007e8102fd00a063546752687f7801007e817f727e7b01177f777b557a766471567a577a786354807e7e676d68aa880067765158a569765187645294567a5379587a7e7e78637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6867567a6876aa587a7d54807e577a597a5a7a786354807e6f7e7eaa727c7e676d6e7eaa7c687b7eaa587a7d877663516752687c72879b69537a647500687c7b547f77517f7853a0916901247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77788c6301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f777852946301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77686877517f7c52797d8b9f7c53a09b91697c76638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6876638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6863587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f7768587f517f7801007e817602fc00a06302fd00a063546752687f7801007e81727e7b7b687f75537f7c0376a9148801147f775379645579887567726881766968789263556753687a76026c057f7701147f8263517f7c766301007e817f7c6775006877686b537992635379528763547a6b547a6b677c6b567a6b537a7c717c71716868547a587f7c81547a557964936755795187637c686b687c547f7701207f75748c7a7669765880748c7a76567a876457790376a9147e7c7e557967041976a9147c7e0288ac687e7e5579636c766976748c7a9d58807e6c0376a9147e748c7a7e6c7e7e676c766b8263828c007c80517e846864745aa0637c748c7a76697d937b7b58807e56790376a9147e748c7a7e55797e7e6868686c567a5187637500678263828c007c80517e846868647459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e687459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e68687c537a9d547963557958807e041976a91455797e0288ac7e7e68aa87726d77776a1400b91626e0a4b97f624bc1f0d8fa3a3ef35ac6640100064b30513447384cc87c20565354207c2062343836613566623363386239616437366161363137393830306539666265373339313562363839383761636664383432326136326663346265616134356263207c2068747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f392f39352f546573745f696d6167652e6a7067207c2037207c2031207c205465737420546f6b656e202d2047656e657261746564206175746f6d61746963616c6c7920666f726d207465737473207c2030207c0100000000000000ffffffff01770f392bdddc76123f01a331b066d69d51ec56592574c1b7a8041999ea65be0000000041000000473044022026db83cccbd78b22d4c93080f916a00a5901eac67f675d553d5036869632d63e02205736dbc31e972c84bbc2e391db430022158f7e3b263d9c479589ce9e347edcd54121031a574b129d4dd0c9e0eae917bf06711d22219a2281debcc6c9bb5a6e87bb7c3fffffffff02a733b75ebe47ee5600f38034e5a3019935405751ebc63db24c5d9fde623cec000000006b483045022100bb0e41f70df285e205a8285dcb718ce7fd9539c93414e9a149ac6c427a043abb0220012213d0ba9e8905d2f39886b24b8457b5e06c2bc2c37dad0dd806c4107af7be4121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff020100000000000000fd6a0676a914fa6e04492aa0ce9eaa5aea00f1e6ac76ea8b5eba88ac6976aa607f5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7c5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01007e818b21414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff007d976e7c5296a06394677768827601249301307c7e23022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798027e7c7e7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01417e21038ff83d8cf12121491609c4939dc11c4aa35503508fe432dc5a5c1905608b9218ad547f7701207f01207f7701247f517f7801007e8102fd00a063546752687f7801007e817f727e7b01177f777b557a766471567a577a786354807e7e676d68aa880067765158a569765187645294567a5379587a7e7e78637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6867567a6876aa587a7d54807e577a597a5a7a786354807e6f7e7eaa727c7e676d6e7eaa7c687b7eaa587a7d877663516752687c72879b69537a647500687c7b547f77517f7853a0916901247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77788c6301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f777852946301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77686877517f7c52797d8b9f7c53a09b91697c76638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6876638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6863587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f7768587f517f7801007e817602fc00a06302fd00a063546752687f7801007e81727e7b7b687f75537f7c0376a9148801147f775379645579887567726881766968789263556753687a76026c057f7701147f8263517f7c766301007e817f7c6775006877686b537992635379528763547a6b547a6b677c6b567a6b537a7c717c71716868547a587f7c81547a557964936755795187637c686b687c547f7701207f75748c7a7669765880748c7a76567a876457790376a9147e7c7e557967041976a9147c7e0288ac687e7e5579636c766976748c7a9d58807e6c0376a9147e748c7a7e6c7e7e676c766b8263828c007c80517e846864745aa0637c748c7a76697d937b7b58807e56790376a9147e748c7a7e55797e7e6868686c567a5187637500678263828c007c80517e846868647459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e687459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e68687c537a9d547963557958807e041976a91455797e0288ac7e7e68aa87726d77776a1400b91626e0a4b97f624bc1f0d8fa3a3ef35ac6640100064b30513447384cc87c20565354207c2062343836613566623363386239616437366161363137393830306539666265373339313562363839383761636664383432326136326663346265616134356263207c2068747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f392f39352f546573745f696d6167652e6a7067207c2037207c2031207c205465737420546f6b656e202d2047656e657261746564206175746f6d61746963616c6c7920666f726d207465737473207c2030207c04000000000000001976a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac00000000 + - rawtx: >- + 010000000227e26846dea42dd3aec67b801205b500cfbef214e630ea3ecbc7f2d24ce362e800000000fdc5075114fa6e04492aa0ce9eaa5aea00f1e6ac76ea8b5eba54148d30f8237c83b899e51f41a27e1317a735749f6d002002a733b75ebe47ee5600f38034e5a3019935405751ebc63db24c5d9fde623cec004d0907010000004f278468deaeedfb0010da3278cbbb88c2c496bbfffab8749d1fd85c039ff4c7752adad0a7b9ceca853768aebb6965eca126a62965f698a0c1bc43d83db632ad27e26846dea42dd3aec67b801205b500cfbef214e630ea3ecbc7f2d24ce362e800000000fd6a0676a9148da5aaef86362ed2487f5a01380886480617487c88ac6976aa607f5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7c5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01007e818b21414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff007d976e7c5296a06394677768827601249301307c7e23022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798027e7c7e7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01417e21038ff83d8cf12121491609c4939dc11c4aa35503508fe432dc5a5c1905608b9218ad547f7701207f01207f7701247f517f7801007e8102fd00a063546752687f7801007e817f727e7b01177f777b557a766471567a577a786354807e7e676d68aa880067765158a569765187645294567a5379587a7e7e78637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6867567a6876aa587a7d54807e577a597a5a7a786354807e6f7e7eaa727c7e676d6e7eaa7c687b7eaa587a7d877663516752687c72879b69537a647500687c7b547f77517f7853a0916901247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77788c6301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f777852946301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77686877517f7c52797d8b9f7c53a09b91697c76638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6876638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6863587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f7768587f517f7801007e817602fc00a06302fd00a063546752687f7801007e81727e7b7b687f75537f7c0376a9148801147f775379645579887567726881766968789263556753687a76026c057f7701147f8263517f7c766301007e817f7c6775006877686b537992635379528763547a6b547a6b677c6b567a6b537a7c717c71716868547a587f7c81547a557964936755795187637c686b687c547f7701207f75748c7a7669765880748c7a76567a876457790376a9147e7c7e557967041976a9147c7e0288ac687e7e5579636c766976748c7a9d58807e6c0376a9147e748c7a7e6c7e7e676c766b8263828c007c80517e846864745aa0637c748c7a76697d937b7b58807e56790376a9147e748c7a7e55797e7e6868686c567a5187637500678263828c007c80517e846868647459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e687459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e68687c537a9d547963557958807e041976a91455797e0288ac7e7e68aa87726d77776a1400b91626e0a4b97f624bc1f0d8fa3a3ef35ac6640100064b30513447384cc87c20565354207c2062343836613566623363386239616437366161363137393830306539666265373339313562363839383761636664383432326136326663346265616134356263207c2068747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f392f39352f546573745f696d6167652e6a7067207c2037207c2031207c205465737420546f6b656e202d2047656e657261746564206175746f6d61746963616c6c7920666f726d207465737473207c2030207c0100000000000000ffffffff01770f392bdddc76123f01a331b066d69d51ec56592574c1b7a8041999ea65be0000000041000000473044022026db83cccbd78b22d4c93080f916a00a5901eac67f675d553d5036869632d63e02205736dbc31e972c84bbc2e391db430022158f7e3b263d9c479589ce9e347edcd54121031a574b129d4dd0c9e0eae917bf06711d22219a2281debcc6c9bb5a6e87bb7c3fffffffff02a733b75ebe47ee5600f38034e5a3019935405751ebc63db24c5d9fde623cec000000006b483045022100bb0e41f70df285e205a8285dcb718ce7fd9539c93414e9a149ac6c427a043abb0220012213d0ba9e8905d2f39886b24b8457b5e06c2bc2c37dad0dd806c4107af7be4121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff020100000000000000fd6a0676a914fa6e04492aa0ce9eaa5aea00f1e6ac76ea8b5eba88ac6976aa607f5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7c5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01007e818b21414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff007d976e7c5296a06394677768827601249301307c7e23022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798027e7c7e7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01417e21038ff83d8cf12121491609c4939dc11c4aa35503508fe432dc5a5c1905608b9218ad547f7701207f01207f7701247f517f7801007e8102fd00a063546752687f7801007e817f727e7b01177f777b557a766471567a577a786354807e7e676d68aa880067765158a569765187645294567a5379587a7e7e78637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6867567a6876aa587a7d54807e577a597a5a7a786354807e6f7e7eaa727c7e676d6e7eaa7c687b7eaa587a7d877663516752687c72879b69537a647500687c7b547f77517f7853a0916901247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77788c6301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f777852946301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77686877517f7c52797d8b9f7c53a09b91697c76638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6876638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6863587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f7768587f517f7801007e817602fc00a06302fd00a063546752687f7801007e81727e7b7b687f75537f7c0376a9148801147f775379645579887567726881766968789263556753687a76026c057f7701147f8263517f7c766301007e817f7c6775006877686b537992635379528763547a6b547a6b677c6b567a6b537a7c717c71716868547a587f7c81547a557964936755795187637c686b687c547f7701207f75748c7a7669765880748c7a76567a876457790376a9147e7c7e557967041976a9147c7e0288ac687e7e5579636c766976748c7a9d58807e6c0376a9147e748c7a7e6c7e7e676c766b8263828c007c80517e846864745aa0637c748c7a76697d937b7b58807e56790376a9147e748c7a7e55797e7e6868686c567a5187637500678263828c007c80517e846868647459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e687459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e68687c537a9d547963557958807e041976a91455797e0288ac7e7e68aa87726d77776a1400b91626e0a4b97f624bc1f0d8fa3a3ef35ac6640100064b30513447384cc87c20565354207c2062343836613566623363386239616437366161363137393830306539666265373339313562363839383761636664383432326136326663346265616134356263207c2068747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f392f39352f546573745f696d6167652e6a7067207c2037207c2031207c205465737420546f6b656e202d2047656e657261746564206175746f6d61746963616c6c7920666f726d207465737473207c2030207c04000000000000001976a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac00000000 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/migrateToken: + post: + summary: Migrate token + tags: + - admin + parameters: + - schema: + type: string + in: header + name: walletID + required: false + deprecated: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: migration started successfully + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/tokenMetrics: + get: + summary: sync token from blockchain + tags: + - Utility + parameters: + - schema: + type: string + in: header + name: walletID + required: false + - schema: + type: boolean + default: false + in: header + name: force + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: migration started successfully + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/drop: + post: + summary: Withdraws coins from PrivateKeys. + tags: + - Transactions + description: >- + The drop endpoints allows users to transfer coins (BSV or Token) from a + PrivateKey. + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + to: + type: string + amount: + type: number + minimum: 0 + notes: + type: string + nullable: true + sn: + type: number + nullable: true + minimum: 0 + tokenId: + type: string + nullable: true + data: + type: array + nullable: true + items: + type: string + required: + - to + - amount + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 0.000005 + example2: + value: + dataArray: + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + example3: + value: + dataArray: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 0.000005 + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 0.000005 + notes: test + data: + - test1 + - test2 + example4: + value: + dataArray: + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 5 + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 3 + notes: test + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 3 + notes: test + data: + - test1 + - test2 + required: true + parameters: + - schema: + type: string + in: header + name: secretKey + required: false + - schema: + type: string + in: header + name: serviceID + required: false + - schema: + type: string + in: header + name: privateKey + required: false + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txIds: + type: array + items: + type: string + errors: + type: array + items: + type: object + additionalProperties: true + required: + - status + - msg + - txIds + - errors + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + errors: [] + example2: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + - >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + errors: [] + example3: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 18d3c8cef40ba055e8151c9377d4c5f144dd1fe44f83f07079e2d0046dc79bc9 + errors: [] + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/sweep: + post: + summary: Transfers all assets from PrivateKey to the User. + tags: + - Transactions + description: >- + The sweep endpoints allows users to transfer all coins (BSV and Tokens) + from a PrivateKey. + requestBody: + content: + application/json: + schema: + type: object + properties: + items: + type: object + properties: + privateKey: + type: string + required: + - privateKey + example: + privateKey: string + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txIds: + type: array + items: + type: string + errors: + type: array + items: + type: object + additionalProperties: true + required: + - status + - msg + - txIds + - errors + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + errors: [] + example2: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + - >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + errors: [] + example3: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 18d3c8cef40ba055e8151c9377d4c5f144dd1fe44f83f07079e2d0046dc79bc9 + errors: [] + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/offer: + post: + summary: Create an Atomic Swap + tags: + - Transactions + description: >- + This endpoint allows user to create a swap offer. For token to BSV swap + use tokenId, amount(number of tokens) and sn(optional serial number if + NFT) and wantedAmount in BSV value (decimal). For token to token swap + use wantedAmount(wanted number of tokens), wantedTokenId and + wantedSn(optional serial number if NFT), can also instead use + wantedScript using a token script hex value instead of wantedTokenId and + wantedSn + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + amount: + type: number + minimum: 0 + nullable: true + tokenId: + type: string + nullable: true + sn: + type: number + minimum: 0 + nullable: true + wantedAmount: + type: number + minimum: 0 + nullable: true + wantedTokenId: + type: string + nullable: true + wantedSn: + type: number + minimum: 0 + nullable: true + wantedScript: + type: string + nullable: true + required: + - amount + - wantedAmount + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + amount: 1 + wantedAmount: 1 + wantedTokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + example2: + value: + dataArray: + - tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + sn: 85 + amount: 1 + wantedAmount: 1 + wantedTokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + wantedSn: 45 + example3: + value: + dataArray: + - tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + amount: 1 + wantedAmount: 2.5e-7 + example4: + value: + dataArray: + - tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + sn: 85 + amount: 1 + wantedAmount: 2.5e-7 + example5: + value: + dataArray: + - amount: 2.5e-7 + wantedAmount: 1 + wantedTokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + example6: + value: + dataArray: + - amount: 2.5e-7 + wantedAmount: 1 + wantedTokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + wantedSn: 60 + example7: + value: + dataArray: + - amount: 2.5e-7 + wantedAmount: 1 + wantedTokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + - tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + amount: 1 + wantedAmount: 2.5e-7 + - tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + amount: 1 + wantedAmount: 1 + wantedTokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + example8: + value: + dataArray: + - amount: 2.5e-7 + wantedAmount: 1 + wantedTokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + wantedSn: 60 + - tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + sn: 85 + amount: 1 + wantedAmount: 2.5e-7 + - tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + sn: 85 + amount: 1 + wantedAmount: 1 + wantedTokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + wantedSn: 45 + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + contents: + type: array + items: + type: string + minItems: 1 + required: + - status + - msg + - contents + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Offer created successfully + contents: + - >- + 010000000184c5740d26e45e7d3574f51bc57346bdec86478669c4a4c90252acaa7a69353d000000006b483045022100876446ffa4fb4dbe362f00adca8d13c5010e5ef5dbfc3f261849fe267352bb2202201b367635c117cd1ce002033a12e115a56be5fa8f59cdaa2ed15f8ed683d23f6dc3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + example2: + value: + statusCode: 200 + data: + status: success + msg: Offer created successfully + contents: + - >- + 0100000001c5a3b200dce3761303df00166b7f424987ba7bce0ca2806ccfd6c0492fd43b98000000006a47304402201a289a73ca3c3e3dd183193c9c52fd1cbd1607d31769879b56da5eadd00071810220296232d51d8591406848eb4a7ee7dd246403de69237afbab687f0bc84e6354cbc3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + - >- + 0100000001b0619eea04bf5f1f765097cbbe2fad314dc6cedebedfe45e97bd30e261008820000000006a473044022075b1b3d916dc32bd7b4dd13e1681e5cb68944331a515ea5d169eb665f032617b022050d287f19c63d0b99a78af62ba580c4574b43373db134b9fc9cb157b9156d882c3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/swap: + post: + summary: Accepting atomic swap offers. + tags: + - Transactions + description: >- + This endpoint allows users to accept swap offers by passing respective + hex value values. + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + swapHex: + type: string + additionalOutputs: + type: array + nullable: true + items: + type: object + properties: + amount: + type: number + to: + type: string + required: + - swapHex + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - swapHex: >- + 010000000184c5740d26e45e7d3574f51bc57346bdec86478669c4a4c90252acaa7a69353d000000006b483045022100876446ffa4fb4dbe362f00adca8d13c5010e5ef5dbfc3f261849fe267352bb2202201b367635c117cd1ce002033a12e115a56be5fa8f59cdaa2ed15f8ed683d23f6dc3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + example2: + value: + dataArray: + - swapHex: >- + 0100000001c5a3b200dce3761303df00166b7f424987ba7bce0ca2806ccfd6c0492fd43b98000000006a47304402201a289a73ca3c3e3dd183193c9c52fd1cbd1607d31769879b56da5eadd00071810220296232d51d8591406848eb4a7ee7dd246403de69237afbab687f0bc84e6354cbc3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + - swapHex: >- + 0100000001b0619eea04bf5f1f765097cbbe2fad314dc6cedebedfe45e97bd30e261008820000000006a473044022075b1b3d916dc32bd7b4dd13e1681e5cb68944331a515ea5d169eb665f032617b022050d287f19c63d0b99a78af62ba580c4574b43373db134b9fc9cb157b9156d882c3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txIds: + type: array + items: + type: string + errors: + type: array + items: + type: string + required: + - status + - msg + - txIds + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Swap offer accepted successfully. + txIds: + - >- + 2e74b8df67efebbd64e90994417f2c42b4eddd1c58327bb0d548453b2409bbe0 + errors: [] + example2: + value: + statusCode: 200 + data: + status: success + msg: Swap offer accepted successfully. + txIds: + - >- + 0d1fa874f233e1a46ad3a74217e5eb656eed8f2c2dafe889e1566851e7deae3c + - >- + 81ab5a4ac721ab9eb4539cf173e248d5bb6e9226263d8361a175d38a983587ba + errors: [] + example3: + value: + statusCode: 200 + data: + status: success + msg: Swap offer accepted successfully. + txIds: + - >- + 2e74b8df67efebbd64e90994417f2c42b4eddd1c58327bb0d548453b2409bbe0 + errors: + - 'Tx Number 1 : unsupported script type' + - 'Tx Number 2 : unsupported token type' + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/exchangeOffer: + post: + summary: Creates swap offer for exchange - returns swap ID + tags: + - Transactions + description: >- + This endpoint allows user to create a swap offer object that can be used + for the exchange endpoint. The amount value is the value in satoshis + wanted in exchange for the token. Payment field is to add in extra + outputs if requested with amount in satoshis and to for address string. + NOTE : maximum of 2 extra outputs allowed + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + tokenId: + type: string + sn: + type: number + minimum: 0 + nullable: true + amount: + type: number + minimum: 1.e-8 + type: + type: string + default: BSV + enum: + - BSV + payment: + type: array + items: + type: object + properties: + to: + type: string + amount: + anyOf: + - type: string + - type: number + minimum: 0 + required: + - to + - amount + nullable: true + maxItems: 2 + required: + - amount + - type + - tokenId + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - tokenId: >- + 900d39ffb5cd0728a59c76c79ab6939af19c3c0d-sToken51br5a656s5126j + amount: 1.e-8 + type: BSV + example2: + value: + dataArray: + - tokenId: >- + 900d39ffb5cd0728a59c76c79ab6939af19c3c0d-sToken51br5a656s5126j + sn: 5 + amount: 1.e-8 + type: BSV + payment: + - to: 1CZRgtb2G7ykqyfBqFXf9AutRaWKY2fN4x + amount: 1.e-8 + - to: 1CZRgtb2G7ykqyfBqFXf9AutRaWKY2we4x + amount: 1.e-8 + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + contents: + type: array + items: + type: object + properties: + swapId: + type: string + swapOfferHex: + type: string + tokenSatoshis: + type: number + minimum: 0 + tokenContractTxid: + type: string + payment: + type: array + items: + type: object + properties: + to: + type: string + amount: + anyOf: + - type: string + - type: number + minimum: 0 + required: + - to + - amount + nullable: true + maxItems: 2 + prevTxid: + type: string + tokenId: + type: string + serialNumber: + type: number + minimum: 0 + nullable: true + tokenOwnerAddress: + type: string + totalOutputSatoshis: + type: number + minimum: 0 + makerPublicKeyHash: + type: string + required: + - swapId + - swapOfferHex + - tokenSatoshis + - tokenContractTxid + - prevTxid + - tokenId + - tokenOwnerAddress + - totalOutputSatoshis + - makerPublicKeyHash + minItems: 1 + required: + - status + - msg + - contents + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Swap offer created successfully + contents: + - swapId: 0be1541d-c44d-4209-a5d0-f197ec587e7b + swapOfferHex: >- + 0100000001e7440cf4384e060ae765557c9889a2df9547bb89c9e319c687d0845ed653e4d4000000006b48304502210086cee5783fe831dcd647ff9d2b516562573afcc80df0d3c7004f0978916a9139022058a0e27ac520e207f289cdfbd342083651b6ef77b0fcf7b8c6109386fbd6544fc3210209d882c772f19ef511c81fb161abaf98c561767b29c92f424b0b2fa16e147eb4ffffffff0100e1f505000000001976a9140bb9eb13c821d10af1f5fbf01c04577305c24d3788ac00000000 + tokenSatoshis: 1 + tokenContractTxid: >- + 4d68e9178f7eb1fc8bd4a0ac9a9f034e8f4c61010eaa286ba6344827e0b5d1cd + payment: null + prevTxid: >- + d4e453d65e84d087c619e3c989bb4795dfa289987c5565e70a064e38f40c44e7 + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-IR_MAN + tokenOwnerAddress: 12519wQZvqjuqxggUco872zKs66L9x438C + totalOutputSatoshis: 100000000 + makerPublicKeyHash: 0bb9eb13c821d10af1f5fbf01c04577305c24d37 + example2: + value: + statusCode: 200 + data: + status: success + msg: Swap offer created successfully + contents: + - swapId: 7ef4c018-1ba8-493d-9738-649994e24a86 + swapOfferHex: >- + 0100000001e7440cf4384e060ae765557c9889a2df9547bb89c9e319c687d0845ed653e4d4000000006b48304502210086cee5783fe831dcd647ff9d2b516562573afcc80df0d3c7004f0978916a9139022058a0e27ac520e207f289cdfbd342083651b6ef77b0fcf7b8c6109386fbd6544fc3210209d882c772f19ef511c81fb161abaf98c561767b29c92f424b0b2fa16e147eb4ffffffff0100e1f505000000001976a9140bb9eb13c821d10af1f5fbf01c04577305c24d3788ac00000000 + tokenSatoshis: 1 + tokenContractTxid: >- + 4d68e9178f7eb1fc8bd4a0ac9a9f034e8f4c61010eaa286ba6344827e0b5d1cd + payment: null + prevTxid: >- + d4e453d65e84d087c619e3c989bb4795dfa289987c5565e70a064e38f40c44e7 + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-IR_MAN + tokenOwnerAddress: 12519wQZvqjuqxggUco872zKs66L9x438C + totalOutputSatoshis: 100000000 + makerPublicKeyHash: 0bb9eb13c821d10af1f5fbf01c04577305c24d37 + - swapId: 45c108dc-28da-4544-b938-fa966ff8151b + swapOfferHex: >- + 0100000001e7440cf4384e060ae765557c9889a2df9547bb89c9e319c687d0845ed653e4d4000000006b483045022100ccd4f2025ec90b337fcb66c03ebae80d9057d8da36c554df3db93be3068430b90220710d6eda3911c94c36652fcb82085d7511354df3ad8f0dda3e9ac023deee9a29c3210209d882c772f19ef511c81fb161abaf98c561767b29c92f424b0b2fa16e147eb4ffffffff0100a3e111000000001976a9140bb9eb13c821d10af1f5fbf01c04577305c24d3788ac00000000 + tokenSatoshis: 1 + tokenContractTxid: >- + 4d68e9178f7eb1fc8bd4a0ac9a9f034e8f4c61010eaa286ba6344827e0b5d1cd + payment: null + prevTxid: >- + d4e453d65e84d087c619e3c989bb4795dfa289987c5565e70a064e38f40c44e7 + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-IR_MAN + tokenOwnerAddress: 12519wQZvqjuqxggUco872zKs66L9x438C + totalOutputSatoshis: 300000000 + makerPublicKeyHash: 0bb9eb13c821d10af1f5fbf01c04577305c24d37 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/exchangeSwap: + post: + summary: Atomic Swap + tags: + - Transactions + description: This endpoint allows users to accept a swap offers via swap ID + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + swapId: + type: string + required: + - swapId + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - swapId: 0a82d337-28ad-43d6-b16d-6cc60c3018f0 + example2: + value: + dataArray: + - swapId: 57d28adb-5c6b-4b3e-8572-87daa794f265 + - swapId: 43daaaf6-878c-46c0-a3fc-b34709e96c48 + - swapId: 2631b389-4231-4e35-a7c8-ee5f6c3c1c36 + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txIds: + type: array + items: + type: string + required: + - status + - msg + - txIds + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Swap offer accepted successfully + txIds: + - >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + example2: + value: + statusCode: 200 + data: + status: success + msg: Swap offer accepted successfully + txIds: + - >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + - >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/inspect: + post: + summary: Inspect an atomic swap offer. + tags: + - Transactions + description: >- + This endpoint allows users to inspect an atomic swap hex to verify the + validity of the offer. + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + swapHex: + type: string + required: + - swapHex + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - swapHex: >- + 010000000184c5740d26e45e7d3574f51bc57346bdec86478669c4a4c90252acaa7a69353d000000006b483045022100876446ffa4fb4dbe362f00adca8d13c5010e5ef5dbfc3f261849fe267352bb2202201b367635c117cd1ce002033a12e115a56be5fa8f59cdaa2ed15f8ed683d23f6dc3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + example2: + value: + dataArray: + - swapHex: >- + 0100000001c5a3b200dce3761303df00166b7f424987ba7bce0ca2806ccfd6c0492fd43b98000000006a47304402201a289a73ca3c3e3dd183193c9c52fd1cbd1607d31769879b56da5eadd00071810220296232d51d8591406848eb4a7ee7dd246403de69237afbab687f0bc84e6354cbc3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + - swapHex: >- + 0100000001b0619eea04bf5f1f765097cbbe2fad314dc6cedebedfe45e97bd30e261008820000000006a473044022075b1b3d916dc32bd7b4dd13e1681e5cb68944331a515ea5d169eb665f032617b022050d287f19c63d0b99a78af62ba580c4574b43373db134b9fc9cb157b9156d882c3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + offerDetails: + type: array + items: + anyOf: + - type: object + properties: + tokenOwnerAddress: + type: string + tokenCreatorAddress: + type: string + tokenSatoshis: + type: number + minimum: 0 + wantedSatoshis: + type: number + minimum: 0 + tokenImage: + type: string + serialNumber: + type: number + minimum: 0 + splittbale: + type: boolean + contractTxid: + type: string + tokenId: + type: string + symbol: + type: string + tokenSupply: + type: number + minimum: 0 + verified: + type: boolean + tokenName: + type: string + tokenDescription: + type: string + nullable: true + required: + - tokenOwnerAddress + - tokenCreatorAddress + - tokenSatoshis + - wantedSatoshis + - tokenImage + - serialNumber + - splittbale + - contractTxid + - tokenId + - symbol + - tokenSupply + - verified + - tokenName + - type: object + properties: + tokenOwnerAddress: + type: string + tokenCreatorAddress: + type: string + tokenSatoshis: + type: number + minimum: 0 + wantedSatoshis: + type: number + minimum: 0 + tokenId: + type: string + symbol: + type: string + sn: + type: number + minimum: 0 + splittable: + type: boolean + tokenImage: + type: string + contractTxid: + type: string + tokenName: + type: string + tokenDescription: + type: string + nullable: true + verified: + type: boolean + required: + - tokenOwnerAddress + - tokenCreatorAddress + - tokenSatoshis + - wantedSatoshis + - tokenId + - symbol + - sn + - splittable + - tokenImage + - contractTxid + - tokenName + - verified + minItems: 1 + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Offer details fetched successfully + offerDetails: + - tokenOwnerAddress: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + tokenCreatorAddress: 1BuEAp4mjJdeDGcpw6XdvtA9fWmHNF2mMX + tokenSatoshis: 1 + wantedSatoshis: 25 + tokenImage: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + serialNumber: 85 + splittbale: false + contractTxid: >- + e24cd3c552d71c2dd8513cdeac81a6d2ca48a055f73cbc58d118a33f037c9ca1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2 + symbol: WDG + tokenSupply: 123 + verified: true + tokenName: White Dragon + tokenDescription: White Dragon + example2: + value: + statusCode: 200 + data: + status: success + msg: Offer details fetched successfully + offerDetails: + - tokenOwnerAddress: 12fKJzMbsMW6HxAsCMsrL4jrxC2p8umDGf + tokenCreatorAddress: 1BuEAp4mjJdeDGcpw6XdvtA9fWmHNF2mMX + tokenSatoshis: 1 + wantedSatoshis: 100000000 + tokenImage: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + serialNumber: 0 + splittbale: true + contractTxid: >- + a29f4948fd8c17d2e9be8e21f7312dcbcafe2f65b0eb4f0bf4d261a3e3a13c8c + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2 + symbol: SBPTEST12345 + tokenSupply: 5 + verified: true + tokenName: Store Bonus Points + tokenDescription: Store Bonus Points + - tokenOwnerAddress: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + tokenCreatorAddress: 1BuEAp4mjJdeDGcpw6XdvtA9fWmHNF2mMX + tokenSatoshis: 1 + wantedSatoshis: 25 + tokenImage: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + serialNumber: 85 + splittbale: false + contractTxid: >- + e24cd3c552d71c2dd8513cdeac81a6d2ca48a055f73cbc58d118a33f037c9ca1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2 + symbol: WDG + tokenSupply: 123 + verified: true + tokenName: White Dragon + tokenDescription: White Dragon + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/redeem: + post: + summary: Smart contract Redemption. + tags: + - Smart Contracts + description: >- + This endpoint lets user redeem tokens and thus dissolving the smart + contract for satoshis. + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + amount: + type: number + minimum: 0 + tokenId: + type: string + sn: + type: number + default: 0 + minimum: 0 + required: + - amount + - tokenId + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - amount: 1 + tokenId: 8a9e7ec666f0610ff3f0540ed55f07162e9dd7a8-SBP + sn: 0 + example2: + value: + dataArray: + - amount: 1 + tokenId: 8a9e7ec666f0610ff3f0540ed55f07162e9dd7a8-SBP + sn: 0 + - amount: 1 + tokenId: 8a9e7ec666f0610ff3f0540ed55f07162e9dd7a8-SBP_TEST + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txIds: + type: array + items: + type: string + errors: + type: array + items: + type: string + required: + - status + - msg + - txIds + - errors + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Redemption successful. + txIds: + - >- + 7f06cdece4c08192e8872be802f120b85f0610e6f8e448b85c301e89ccc5bfe1 + errors: [] + example2: + value: + statusCode: 200 + data: + status: success + msg: Redemption successful. + txIds: + - >- + 7f06cdece4c08192e8872be802f120b85f0610e6f8e448b85c301e89ccc5bfe1 + - >- + d1f376ffb62f30efdd1336ec379eb462ab1068dd67a55789ab1c445cf35c540d + errors: [] + example3: + value: + statusCode: 200 + data: + status: success + msg: Redemption successful. + txIds: + - >- + d1f376ffb62f30efdd1336ec379eb462ab1068dd67a55789ab1c445cf35c540d + errors: + - Error message 1 + - Error message 2 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/createWallet: + get: + summary: Create a wallet. + tags: + - Wallets + description: >- + Create a HD wallet of choice in your user account. You can select + between standard, secure, escrow and shared wallets (see + docs.relysia.com). + parameters: + - schema: + type: string + in: header + name: walletTitle + required: true + - schema: + type: string + in: header + name: mnemonicPhrase + required: false + - schema: + type: string + in: header + name: paymail + required: false + - schema: + type: boolean + in: header + name: paymailActivate + required: false + - schema: + type: string + in: header + name: type + required: false + - schema: + type: string + nullable: true + in: header + name: walletLogo + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + walletID: + type: string + paymail: + type: string + required: + - status + - msg + - walletID + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Wallet created successfully. + walletID: 5f7b1b1b-5f7b-1b1b-5f7b-1b1b5f7b1b1b + paymail: 14735@dev.relysia.com + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/metrics: + get: + summary: Get the latest wallet UTXO state. + tags: + - Utility + description: >- + UTXOs are the base unit of transactions in the Bitcoin network. The + metrics endpoint first updates the last UTXO state, and then shows a + detailled output of each UTXO in the wallet. + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + data: + type: object + properties: + balance: + type: number + minimum: 0 + userUtxos: + type: array + items: + type: object + properties: + userId: + type: string + walletId: + type: string + script: + type: string + tx_pos: + type: number + minimum: 0 + address: + type: string + path: + type: string + tx_hash: + type: string + value: + type: number + minimum: 0 + serviceId: + type: string + nullable: true + required: + - userId + - walletId + - script + - tx_pos + - address + - path + - tx_hash + - value + minItems: 0 + required: + - balance + - userUtxos + required: + - status + - msg + - data + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: UTXO state updated successfully + data: + balance: 6078 + userUtxos: + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914ee31f7eae549febdffc53a995bdee8ff0ba2300688ac + tx_pos: 0 + address: 1NiTgXKyS4oS3fyzHp6PryeBvc6FMJDW12 + path: m/44'/0'/0'/0/0 + tx_hash: >- + 43f7f41c0ff873f3b576894fc3c7626a187258cd838f36062f54bc3b14fe3620 + value: 25 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914ee31f7eae549febdffc53a995bdee8ff0ba2300688ac + tx_pos: 1 + address: 1NiTgXKyS4oS3fyzHp6PryeBvc6FMJDW12 + path: m/44'/0'/0'/0/0 + tx_hash: >- + 43f7f41c0ff873f3b576894fc3c7626a187258cd838f36062f54bc3b14fe3620 + value: 481 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914d703dafb29efd43caad53e9f1bcb924e6546694e88ac + tx_pos: 1 + address: 1Lbtu82Jm9poEdgKB3HsTDWS9YSC91Hpny + path: m/44'/0'/0'/0/1 + tx_hash: >- + 76d79ad05cfeb4068535377cdff0113a084b084e936b7751c39895587be41d3d + value: 4933 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a91498de3990604e4fe330f65e6b0125243eb909d1dd88ac + tx_pos: 0 + address: 1EwHvcWDjWcBGBXJLae8k4dsaVo8QKsqCP + path: m/44'/0'/0'/0/4 + tx_hash: >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + value: 1 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a91447431db9649fd75c28834cb152f17cc8ea7fa11f88ac + tx_pos: 1 + address: 17VoNvtJjD19ctL5Ue3GJzzskbtXeNL4Nt + path: m/44'/0'/0'/0/8 + tx_hash: >- + 8a7e73066f07eacab9cbe9edd45d1857f589ef0c8bd725e5010962cfb9198e4e + value: 404 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a91477cb578d9fab608a794871e6c994c6ff2e55a70788ac + tx_pos: 1 + address: 1BvR1H8Bu1rRYwDWEVLoZJa37R3z19qzrK + path: m/44'/0'/0'/0/10 + tx_hash: >- + 0849c24ecb4a30c60c1bb1ec5f557d60642bb6c6d2eeb5a30ee7c9f92c88572f + value: 174 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a91477cb578d9fab608a794871e6c994c6ff2e55a70788ac + tx_pos: 1 + address: 1BvR1H8Bu1rRYwDWEVLoZJa37R3z19qzrK + path: m/44'/0'/0'/0/10 + tx_hash: >- + cf9b899bfba8d6f8a4302e747a78635cc1328a76826ac7d7d31347bb39ba486d + value: 49 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914aff862161039bc97895c6f515e629c6ece4943b188ac + tx_pos: 0 + address: 1H3SoXyeKv4mNNForRaPV8Fkzwdu55yx2b + path: m/44'/0'/0'/0/14 + tx_hash: >- + 4ee029b35a30bafbcab3a08661dc286d3c5ce9f98a1734d1163c86aabe68c7d8 + value: 1 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914aff862161039bc97895c6f515e629c6ece4943b188ac + tx_pos: 0 + address: 1H3SoXyeKv4mNNForRaPV8Fkzwdu55yx2b + path: m/44'/0'/0'/0/14 + tx_hash: >- + f123456b9d6ee63c93b2a5afa264298efc6f0bb8cd400d5aa03d037eb1c9ae56 + value: 2 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914aff862161039bc97895c6f515e629c6ece4943b188ac + tx_pos: 1 + address: 1H3SoXyeKv4mNNForRaPV8Fkzwdu55yx2b + path: m/44'/0'/0'/0/14 + tx_hash: >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + value: 1 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914e54a77f2eaffb502d4af119436e9b7982707f07288ac + tx_pos: 1 + address: 1MuNx6Vm2oE4oU9iDRLr7ebAiv196DQBzh + path: m/44'/0'/0'/0/17 + tx_hash: >- + 9ecbb4771c9e91e1f6a162d5dd3e808e57e43eedebb499f1096cb8d6813951b5 + value: 4 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914e54a77f2eaffb502d4af119436e9b7982707f07288ac + tx_pos: 1 + address: 1MuNx6Vm2oE4oU9iDRLr7ebAiv196DQBzh + path: m/44'/0'/0'/0/17 + tx_hash: >- + fb6c046fa87d963b2e35beb06e1c21b443cbf7b7f684fd4f733fa68f6ecde672 + value: 3 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/address: + get: + summary: Get your wallet address and paymail. + tags: + - Wallets + description: >- + Receive a single address and the paymail alias to receive Coins or + Token. + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + address: + type: string + paymail: + type: string + nullable: true + required: + - status + - msg + - address + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Wallet address and paymail fetched successfully. + address: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + paymail: 91@relysia.com + example2: + value: + statusCode: 200 + data: + status: success + msg: Wallet address and paymail fetched successfully. + address: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + paymail: null + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/allAddresses: + get: + summary: Get all wallet addresses. + tags: + - Wallets + description: >- + Get a list of all wallet addresses that are currently available in your + wallet. + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + addressess: + type: array + items: + type: string + required: + - status + - msg + - addressess + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Wallet addresses fetched successfully. + addressess: + - 1PLXza2i1JXyg6CuA5FW5RzkUiocpDFNV8 + - 1EcxwhQ4Y9ffda9zXvQfHaM8u7PafbvZLg + - 1LNbg5RocpuM7e7fschE6r8miwXh5jCjkA + - 1BfzNso8KAALAVKPrANrKudM6ZWzHShpZh + - 1PwzERwgengSyzBNBKEU6V2xB1jgTryovr + - 132jVsneQ8vWBaGkKbKaQLkyiigCPDhawk + - 13tGhavRUTn2vvz2tQgAGwG1oe9FdAxoNE + - 115A1j8KQmQX7HC3MNwsnwJvc6ZF6c4wYc + - 1LFNbbFP7VwSf2ajt1rytcE2yvHainoHy3 + - 1MxntVMUmbkuFiZXd8ecYSbvMWyw2awKmq + - 1HZy99hEouZuY9Z3dUznvmtacWzhrJguGd + - 1E9g8uaWq7GUvMbGkHn26ejVsZAWAEFvC1 + - 176TzKDhqk3NMx14tiDr8jWGRvMWLttptg + - 13GApJKQdzpfjMV5FWpDwGEbc1vGAD6rri + - 1K94K5FcBDDrgxEpKTckDycSW315PQUr6a + - 1KLHk7od5A9sQEVoaMtyUujyERnzZWt4sy + - 1NSRLTGcueGWjAg1Y32QjPjG9hXp5Qwhwu + - 12QLLJKe4R9FaxnzrVBdQ5a2vPmheqHsbh + - 1Gek19BzGF4urFD2sfdmPWKDGpdMSGicsS + - 1D4gnUXis2s5WH4atopeXRyFjoie4Gxirn + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/balance: + get: + summary: Get your wallet balance. + tags: + - Wallets + description: Returns both coin and token balances. + parameters: + - schema: + type: string + in: header + name: walletID + required: false + - schema: + type: string + in: header + name: type + required: false + - schema: + type: string + in: header + name: currency + required: false + - schema: + type: string + in: header + name: nextPageToken + required: false + - schema: + type: string + in: header + name: compact + required: false + deprecated: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + totalBalance: + type: object + properties: + currency: + type: string + enum: + - USD + - CHF + - INR + - EUR + - CAD + - GBP + - SYP + - SDG + - LBP + - FKP + - EGP + - BSV + balance: + type: number + required: + - currency + - balance + coins: + type: array + items: + anyOf: + - type: object + properties: + protocol: + type: string + enum: + - BSV + balance: + type: number + required: + - protocol + - balance + - type: object + properties: + Id: + type: string + protocol: + type: string + enum: + - BSV + - STAS + - STAS-50 + - STAS-20 + - STAS-789 + - STAS50 + - STASFT + - STASAPPEND + tokenId: + type: string + splittable: + type: boolean + splitable: + type: boolean + verified: + type: boolean + name: + type: string + nullable: true + address: + type: string + satsPerToken: + type: number + symbol: + type: string + redeemAddr: + type: string + image: + type: string + amount: + type: number + supply: + type: number + decimals: + type: number + sn: + anyOf: + - type: number + - type: array + items: + type: number + nullable: true + required: + - Id + - protocol + - tokenId + - splittable + - splitable + - verified + - address + - satsPerToken + - symbol + - redeemAddr + - image + - amount + - supply + - decimals + - sn + meta: + type: object + properties: + nextPageToken: + type: number + nullable: true + required: + - status + - msg + - totalBalance + - coins + - meta + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Operation Completed Successfully + totalBalance: + currency: USD + balance: 0.00003367160796545307 + coins: + - protocol: BSV + balance: 0 + - Id: 6441fe87c0dc6dd1babbe28f + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 103 + - Id: 6441fe87c0dc6dd1babbe290 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 102 + - Id: 6441fe87c0dc6dd1babbe291 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 101 + - Id: 6441fe87c0dc6dd1babbe292 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 100 + - Id: 6441fe87c0dc6dd1babbe293 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 99 + - Id: 6441fe87c0dc6dd1babbe294 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 98 + - Id: 6441fe87c0dc6dd1babbe295 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 97 + - Id: 6441fe87c0dc6dd1babbe296 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 96 + - Id: 6441fe87c0dc6dd1babbe297 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 95 + - Id: 6441fe87c0dc6dd1babbe298 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 94 + - Id: 6441fe87c0dc6dd1babbe299 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 93 + - Id: 6441fe87c0dc6dd1babbe29a + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 92 + - Id: 6441fe87c0dc6dd1babbe29b + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 91 + - Id: 6441fe87c0dc6dd1babbe29c + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 90 + - Id: 6441fe87c0dc6dd1babbe29d + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 89 + - Id: 6441fe87c0dc6dd1babbe29e + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 88 + - Id: 6441fe87c0dc6dd1babbe29f + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 87 + - Id: 6441fe87c0dc6dd1babbe2a0 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 86 + - Id: 6441fe87c0dc6dd1babbe2a1 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 85 + meta: + nextPageToken: 19 + example2: + value: + statusCode: 200 + data: + status: success + msg: Operation Completed Successfully + totalBalance: + currency: USD + balance: 0.000033666372935816003 + coins: + - protocol: BSV + balance: 0 + - Id: 6441fe87c0dc6dd1babbe28f + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 103 + supply: 123 + decimals: 0 + sn: + - 38 + - 7 + - Id: 6441fe87c0dc6dd1babbe27a + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + splittable: false + splitable: false + verified: true + name: Yujiro + address: 12519wQZvqjuqxggUco872zKs66L9x438C + satsPerToken: 1 + symbol: YJO + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://static.wikia.nocookie.net/baki/images/a/a6/Yujiro_profile.png/revision/latest/scale-to-width-down/280?cb=20220726223446 + amount: 2 + supply: 5 + decimals: 0 + sn: + - 2 + - 1 + - Id: 6441fe87c0dc6dd1babbe27b + protocol: STAS + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-IR_MAN + splittable: false + splitable: false + verified: true + name: Ironman + address: 12519wQZvqjuqxggUco872zKs66L9x438C + satsPerToken: 1 + symbol: IR_MAN + redeemAddr: 8226da9a724b0581928ee508df0174ed7b233a81 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 2 + supply: 3 + decimals: 0 + sn: + - 2 + - 1 + - Id: 6441fe87c0dc6dd1babbe27c + protocol: STAS + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-W_WOMAN + splittable: false + splitable: false + verified: true + name: Store Bonus Points + address: 12T7men1z1FU9sruoFgFx2D7JCJRgZtxrA + satsPerToken: 1 + symbol: W_WOMAN + redeemAddr: 8226da9a724b0581928ee508df0174ed7b233a81 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 5 + decimals: 0 + sn: + - 5 + - Id: 6441fe87c0dc6dd1babbe27d + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-nba-new-123 + splittable: false + splitable: false + verified: true + name: Store Bonus Points + address: 12T7men1z1FU9sruoFgFx2D7JCJRgZtxrA + satsPerToken: 1 + symbol: nba-new-123 + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 10 + supply: 3 + decimals: 0 + sn: + - 3 + - 1 + - 2 + - Id: 6441fe87c0dc6dd1babbe280 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + splittable: false + splitable: false + verified: true + name: Store Bonus Points + address: 12T7men1z1FU9sruoFgFx2D7JCJRgZtxrA + satsPerToken: 1 + symbol: Mordor-bulk + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 6 + supply: 2000 + decimals: 0 + sn: + - 1832 + - 719 + - 327 + - 1465 + - 536 + - 1590 + - Id: 6441fe87c0dc6dd1babbe282 + protocol: STAS + tokenId: >- + 7791e1839f705e2813ec744a15fd10d355ff99b2-SBPTEST12345 + splittable: true + splitable: true + verified: true + name: Store Bonus Points + address: 12fKJzMbsMW6HxAsCMsrL4jrxC2p8umDGf + satsPerToken: 1 + symbol: SBPTEST12345 + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 2 + supply: 5 + decimals: 0 + sn: + - 0 + - Id: 6441fe87c0dc6dd1babbe287 + protocol: STAS + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-BT_MAN + splittable: false + splitable: false + verified: true + name: Batman + address: 16Jg2sYouH8jGFRyUyEnoNZ1gyj9mKECMd + satsPerToken: 1 + symbol: BT_MAN + redeemAddr: 8226da9a724b0581928ee508df0174ed7b233a81 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 5 + decimals: 0 + sn: + - 5 + - Id: 6441fe87c0dc6dd1babbe289 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-KEN + splittable: false + splitable: false + verified: true + name: Kensen + address: 1892sYWjiHzkn6sD12q9Xn7s4ZHjZCmxEh + satsPerToken: 1 + symbol: KEN + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 10 + decimals: 0 + sn: + - 1 + - Id: 6441fe87c0dc6dd1babbe28a + protocol: STAS + tokenId: >- + 7791e1839f705e2813ec744a15fd10d355ff99b2-Party-Monster + splittable: false + splitable: false + verified: true + name: Party plans + address: 1AF5yUb1kCmGhCwLUsaTweGJKmkTB6fFTx + satsPerToken: 1 + symbol: Party-Monster + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://images.unsplash.com/photo-1663668566893-7a4887f9a41d?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxlZGl0b3JpYWwtZmVlZHw0MHx8fGVufDB8fHx8&auto=format&fit=crop&w=500&q=60 + amount: 3 + supply: 3 + decimals: 0 + sn: + - 3 + - 2 + - 1 + - Id: 6441fe87c0dc6dd1babbe28b + protocol: STAS + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-THE_AVGRS + splittable: true + splitable: true + verified: true + name: The Avengers + address: 1E4We5K6zFh7msq6r2ZrNuyK56X2gqTzGp + satsPerToken: 1 + symbol: THE_AVGRS + redeemAddr: 8226da9a724b0581928ee508df0174ed7b233a81 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 10 + decimals: 0 + sn: + - 0 + - Id: 6441fe87c0dc6dd1babbe28e + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-nbc-new-123 + splittable: false + splitable: false + verified: true + name: Store Bonus Points + address: 1LS54Yo1xLGkyCgcGZo6RLj5QgkqEchvUr + satsPerToken: 1 + symbol: nbc-new-123 + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 6 + supply: 3 + decimals: 0 + sn: + - 3 + - 1 + - 2 + - Id: 6441fe87c0dc6dd1babbe2e3 + protocol: STAS + tokenId: >- + 7791e1839f705e2813ec744a15fd10d355ff99b2-fight-new-123 + splittable: false + splitable: false + verified: true + name: Store Bonus Points + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: fight-new-123 + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 5 + supply: 3 + decimals: 0 + sn: + - 1 + - 3 + - 2 + - Id: 6441fe87c0dc6dd1babbe2e4 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-fightfight + splittable: true + splitable: true + verified: true + name: Fight Club + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: fightfight + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://images.unsplash.com/photo-1552072092-7f9b8d63efcb?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxzZWFyY2h8Mnx8ZmlnaHR8ZW58MHx8MHx8&auto=format&fit=crop&w=500&q=60 + amount: 4 + supply: 10 + decimals: 0 + sn: + - 0 + - Id: 6441fe87c0dc6dd1babbe2e5 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-RGT + splittable: false + splitable: false + verified: true + name: Right + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: RGT + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 9 + supply: 5 + decimals: 0 + sn: + - 5 + - 2 + - 3 + - 1 + - 4 + - Id: 6441fe87c0dc6dd1babbe2e8 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-SBP + splittable: true + splitable: true + verified: true + name: Store Bonus Points + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: SBP + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 3 + supply: 3 + decimals: 0 + sn: + - 0 + - Id: 6441fe87c0dc6dd1babbe2e9 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-fightfight2 + splittable: false + splitable: false + verified: true + name: Fight Club + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: fightfight2 + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://images.unsplash.com/photo-1552072092-7f9b8d63efcb?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxzZWFyY2h8Mnx8ZmlnaHR8ZW58MHx8MHx8&auto=format&fit=crop&w=500&q=60 + amount: 5 + supply: 5 + decimals: 0 + sn: + - 8 + - 5 + - 6 + - 7 + - 4 + - Id: 6441fe87c0dc6dd1babbe2ee + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-fightfight1 + splittable: true + splitable: true + verified: true + name: Fight Club + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: fightfight1 + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://images.unsplash.com/photo-1552072092-7f9b8d63efcb?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxzZWFyY2h8Mnx8ZmlnaHR8ZW58MHx8MHx8&auto=format&fit=crop&w=500&q=60 + amount: 5 + supply: 5 + decimals: 0 + sn: + - 0 + - Id: 6441fe87c0dc6dd1babbe2ef + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-BAA + splittable: true + splitable: true + verified: true + name: Black Adam + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: BAA + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 6 + supply: 7 + decimals: 0 + sn: + - 0 + meta: + nextPageToken: 19 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/leaderboard: + get: + summary: Get token ownership details + tags: + - Wallets + description: Returns all user data who have this particular token. + parameters: + - schema: + type: number + in: query + name: nextPageToken + required: false + - schema: + type: string + in: header + name: tokenId + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + leaderboard: + type: array + items: + type: object + properties: + paymail: + type: string + nullable: true + totalAmount: + type: number + uid: + type: string + rank: + type: number + displayName: + type: string + nullable: true + required: + - totalAmount + - uid + - rank + nextPageToken: + type: number + nullable: true + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Leaderboard fetched successfully. + leaderboard: + - paymail: 91@relysia.com + totalAmount: 100 + uid: 5f7b1b1b1b1b1b1b1b1b1b1b + rank: 1 + displayName: John Doe + - paymail: 92@relysia.com + totalAmount: 50 + uid: 5f7b1b1b1b1b1b1b1b1b1b1b + rank: 2 + - totalAmount: 25 + uid: 5f7b1b1b1b1b1b1b1b1b1b1b + rank: 3 + nextPageToken: 2 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/history: + get: + summary: Get your transaction history. + tags: + - Wallets + description: >- + The transaction history endpoint returns all past transactions, both BSV + and Tokens. + parameters: + - schema: + type: string + in: query + name: nextPageToken + required: false + - schema: + type: string + in: query + name: tokenId + required: false + - schema: + type: string + in: header + name: walletID + required: false + - schema: + type: string + in: header + name: type + required: false + - schema: + type: string + enum: + - 1.0.0 + - 1.1.0 + default: 1.0.0 + in: header + name: version + required: false + deprecated: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + histories: + type: array + items: + anyOf: + - type: object + properties: + to: + type: string + txId: + type: string + from: + type: string + timestamp: + type: string + balance_change: + type: number + docId: + type: string + type: + type: string + enum: + - debit + - credit + nullable: true + notes: + type: string + nullable: true + protocol: + type: string + enum: + - BSV + - STAS + - STAS-50 + - STAS-20 + - STAS-789 + - STAS50 + - STASFT + - STASAPPEND + required: + - to + - txId + - from + - timestamp + - balance_change + - docId + - type + - protocol + - type: object + properties: + to: + type: array + items: + type: object + properties: + amount: + type: number + image: + type: string + nullable: true + protocol: + type: string + enum: + - BSV + - STAS + - STAS-50 + - STAS-20 + - STAS-789 + - STAS50 + - STASFT + - STASAPPEND + tokenId: + type: string + nullable: true + sn: + type: number + nullable: true + to: + type: string + name: + type: string + nullable: true + decimals: + type: number + nullable: true + txId: + type: string + from: + type: string + timestamp: + type: string + totalAmount: + type: number + notes: + type: string + nullable: true + type: + type: string + enum: + - debit + - credit + required: + - to + - txId + - from + - timestamp + - totalAmount + - type + nextPageTokenId: + type: string + nullable: true + meta: + type: object + properties: + nextPageToken: + type: string + nullable: true + required: + - status + - msg + - histories + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Transaction history fetched successfully. + histories: + - to: 1BfzNso8KAALAVKPrANrKudM6ZWzHShpZh + txId: >- + c48287508391ff0b57ec528cb12ae87762af94f6c242cb4acdeed63382e5515e + from: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + timestamp: '2023-04-26 03:18:37' + balance_change: 3 + docId: >- + 0efca5f5dadcdacd0ff3a418a92c27efc6f8387b29e8647bb9ac7eea9284b13c + type: debit + protocol: STAS-789 + - to: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + txId: >- + c48287508391ff0b57ec528cb12ae87762af94f6c242cb4acdeed63382e5515d + from: 1BfzNso8KAALAVKPrANrKudM6ZWzHShpZh + timestamp: '2023-04-26 03:18:37' + balance_change: 1 + docId: >- + 0efca5f5dadcdacd0ff3a418a92c27efc6f8387b29e8647bb9ac7eea9284b13c + notes: test + type: debit + protocol: STAS-789 + nextPageTokenId: '1' + example2: + value: + statusCode: 200 + data: + status: success + msg: Transaction history fetched successfully. + histories: + - to: + - amount: 1 + image: https://www.gstatic.com/webp/gallery/1.jpg + protocol: STAS-789 + tokenId: >- + 0efca5f5dadcdacd0ff3a418a92c27efc6f8387b29e8647bb9ac7eea9284b13d + sn: 1 + to: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + name: test + decimals: 2 + txId: >- + c48287508391ff0b57ec528cb12ae87762af94f6c242cb4acdeed63382e5515d + from: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + timestamp: '2023-04-24 04:12:20' + totalAmount: 1 + type: debit + - to: + - amount: 1 + image: https://www.gstatic.com/webp/gallery/1.jpg + protocol: STAS-789 + tokenId: >- + 0efca5f5dadcdacd0ff3a418a92c27efc6f8387b29e8647bb9ac7eea9284b13c + sn: 1 + to: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + name: test + decimals: 2 + - amount: 1 + image: https://www.gstatic.com/webp/gallery/1.jpg + protocol: STAS-789 + tokenId: >- + 0efca5f5dadcdacd0ff3a418a92c27efc6f8387b29e8647bb9ac7eea9284b13c + sn: 2 + to: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + name: test + decimals: 2 + txId: >- + c48287508391ff0b57ec528cb12ae87762af94f6c242cb4acdeed63382e5515e + from: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + timestamp: '2023-04-26 03:18:37' + totalAmount: 2 + notes: test + type: credit + meta: + nextPageToken: '1' + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/wallets: + get: + summary: List of available user wallets. + tags: + - Wallets + description: >- + The endpoint provides the user with a list of all active wallets on + their account. Depending on your service requirements, you might have + one or multiple wallets. + parameters: + - schema: + type: string + in: header + name: oauth + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + wallets: + type: array + items: + type: object + properties: + walletID: + type: string + walletTitle: + type: string + walletLogo: + type: string + format: uri + nullable: true + required: + - walletID + - walletTitle + required: + - status + - msg + - wallets + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Wallets fetched successfully. + wallets: + - walletID: f1a4b3c2-1a2b-3a4b-5a6b-7a8b9c0d1e2f + walletTitle: My first wallet + walletLogo: https://www.example.com/wallet-logo.png + - walletID: f1a4b3c2-1a2b-3a4b-5a6b-7a8b9c0d1e2f + walletTitle: My second wallet + walletLogo: null + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + delete: + summary: to delete all wallet, this api will delete all wallets at once + tags: + - Delete + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: all wallets deleted successfully ! + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/mnemonic: + get: + summary: Get your mnemonic phrase. + tags: + - Wallets + description: >- + The mnemonic phrase secures your wallet keys. Each mnemonic acts as seed + of a HDPrivatekey that itself contains hundrets of PrivateKeys. + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + mnemonic: + type: string + required: + - status + - msg + - mnemonic + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Mnemonic phrase fetched successfully. + mnemonic: >- + abandon abandon abandon abandon abandon abandon abandon + abandon abandon abandon abandon about + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/pay: + post: + summary: Pay an invoice request. + tags: + - Transactions + description: >- + The endpoint enables users to pay their invoices that were earlier + resolved and put into a standardized format by the /URI endpoint. + requestBody: + content: + application/json: + schema: + type: object + properties: + uri: + type: string + type: + type: string + mainProtocol: + type: string + outputs: + type: array + items: + type: object + properties: + script: + type: string + satoshis: + type: number + required: + - script + - satoshis + nullable: true + inputs: + type: array + items: + type: object + properties: + txid: + type: string + vout: + type: number + satoshis: + type: number + minimum: 0 + scriptPubKey: + type: string + nullable: true + scriptType: + type: string + nullable: true + scriptSig: + type: string + required: + - txid + - vout + - satoshis + - scriptSig + nullable: true + modes: + type: object + additionalProperties: true + network: + type: string + nullable: true + paymentUrl: + type: string + format: uri + nullable: true + creationTimeStamp: + type: number + format: duration + nullable: true + expirationTimeStamp: + type: number + format: duration + nullable: true + memo: + type: string + nullable: true + isBSV: + type: boolean + nullable: true + peer: + type: string + nullable: true + peerData: + type: string + nullable: true + peerProtocol: + type: string + nullable: true + beneficiary: + type: object + properties: + name: + type: string + email: + type: string + address: + type: string + paymentReference: + type: string + nullable: true + required: + - name + - email + - address + - paymentReference + required: + - uri + - type + - mainProtocol + examples: + example1: + value: + uri: payto:91@dev.relysia.com?amount=1 + type: paymail + mainProtocol: paymail + outputs: + - script: 76a9141a608132952ba364d19d6ef0c09e074fb3fcfedf88ac + satoshis: 1 + inputs: [] + memo: Send to 91@dev.relysia.com + isBSV: true + peer: >- + https://dev.relysia.com/api/bsvalias/receive-transaction/91@dev.relysia.com + peerData: >- + eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJ2ZXJzaW9uIjoxLCJkZXJpdmF0aW9uUm9vdFBhdGgiOiJtLzUiLCJkZXJpdmF0aW9uUm9vdEluZGV4IjozOTE1LCJjb3VudCI6MX0.vgN6mSoxuVzSmdwXA_hJtvS_s6xyFdRVedsFAx4mt5K2fsI0Ps2pw4OCXWy6msUbAKYGOEeAqs9BoyJCOlgyng + peerProtocol: paymail + example2: + value: + uri: bitcoin:13ofTSnVngWV8VgvqpYZE4YuaWuARBkBp3?amount=0.00000001 + type: bip21 + mainProtocol: bip21 + outputs: + - script: 76a9141ec37cb9f5ab9ae49be75e8d45c02d1f2fd1c5a288ac + satoshis: 1 + inputs: [] + memo: Payment to Address + isBSV: false + peer: null + peerData: null + peerProtocol: null + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txid: + type: string + required: + - status + - msg + - txid + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Transaction sent successfully + txid: >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/initBeta: + get: + summary: Setup your Fee Manager. + tags: + - admin + description: >- + Creates a new Fee Manager that can cover the transaction fees of your + users. + parameters: + - schema: + type: string + in: header + name: mnemonic + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Fee manager init successfully + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/feeMetricsBeta: + get: + summary: Get all feeManager UTXOs. + tags: + - admin + description: The endpoint returns all UTXOs and refreshes the UTXO set. + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + totalBalance: + type: object + properties: + balance: + type: number + minimum: 0 + dustBalance: + type: number + minimum: 0 + required: + - balance + - dustBalance + availableUtxos: + type: array + items: + type: object + properties: + script: + type: string + tx_pos: + type: number + minimum: 0 + address: + type: string + path: + type: string + tx_hash: + type: string + value: + type: number + minimum: 0 + createdAt: + type: number + format: duration + state: + type: string + enum: + - available + required: + - script + - tx_pos + - address + - path + - tx_hash + - value + - createdAt + - state + required: + - status + - msg + - totalBalance + - availableUtxos + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Operation successful + totalBalance: + balance: 720682757 + dustBalance: 6310 + availableUtxos: + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 2 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + f7f1718aac0dee0a91c33de796b0c940784309960c0a74c8ada51ee6951a0a26 + value: 61184 + createdAt: 1686904968568 + state: available + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 3 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + d655d5c1bb914ab161e5239b46686c78707e2af29afae4e5d465fe4dd4b6374a + value: 68558 + createdAt: 1686904968568 + state: available + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 1 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + 8248be407c10660e28be50cdf9072caf51f6b6d6ec3783a4c089588e13647a4e + value: 51509 + createdAt: 1686904968568 + state: available + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 2 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + 53b03f45905f4dd6167712de289d2f309399a3887c33257442c0d986a1d49874 + value: 55094 + createdAt: 1686904968568 + state: available + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/feeAddressBeta: + get: + summary: Get all Fee Manager addresses. + tags: + - admin + description: >- + Returns a list of feeManager addresses. The feeManager is used to fund + transactions. + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + addresses: + type: array + items: + type: string + minItems: 1 + maxItems: 1 + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Operation Completed successfully + addresses: + - 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/feeUtxoState: + get: + summary: Get current state of fee manager UTXOs + tags: + - admin + description: The endpoint returns all UTXOs that are stored in Redis DB + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + totalBalance: + type: object + properties: + availableBalance: + type: number + minimum: 0 + dustBalance: + type: number + minimum: 0 + failedBalance: + type: number + minimum: 0 + required: + - availableBalance + - dustBalance + - failedBalance + allUtxos: + type: object + properties: + availableUtxos: + type: array + items: + type: object + properties: + script: + type: string + tx_pos: + type: number + minimum: 0 + address: + type: string + nullable: true + path: + type: string + nullable: true + tx_hash: + type: string + value: + type: number + minimum: 0 + createdAt: + type: number + format: duration + state: + type: string + enum: + - available + - dust + - failed + required: + - script + - tx_pos + - tx_hash + - value + - createdAt + - state + dustUtxos: + type: array + items: + type: object + properties: + script: + type: string + tx_pos: + type: number + minimum: 0 + address: + type: string + nullable: true + path: + type: string + nullable: true + tx_hash: + type: string + value: + type: number + minimum: 0 + createdAt: + type: number + format: duration + state: + type: string + enum: + - available + - dust + - failed + required: + - script + - tx_pos + - tx_hash + - value + - createdAt + - state + failedUtxos: + type: array + items: + type: object + properties: + script: + type: string + tx_pos: + type: number + minimum: 0 + address: + type: string + nullable: true + path: + type: string + nullable: true + tx_hash: + type: string + value: + type: number + minimum: 0 + createdAt: + type: number + format: duration + state: + type: string + enum: + - available + - dust + - failed + required: + - script + - tx_pos + - tx_hash + - value + - createdAt + - state + required: + - availableUtxos + - dustUtxos + - failedUtxos + required: + - status + - msg + - totalBalance + - allUtxos + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Operation Completed successfully + totalBalance: + availableBalance: 720682457 + dustBalance: 0 + failedBalance: 0 + allUtxos: + availableUtxos: + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 1 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + 84fc7aef9b03283615d570dfc3a3177593048187ceecf993e37272e589b0b9f9 + value: 23419 + createdAt: 1687007038684 + state: available + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 1 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + d7209a4a36db9e058af7df3ea93d5857a122de71111f2896515d2274589b0d99 + value: 88292 + createdAt: 1687007038684 + state: available + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 1 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + 0eca2699cfc73c0d53bc805c36d0cba7fc0860d1282541eeceb95afc817170aa + value: 157810 + createdAt: 1687007038684 + state: available + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 2 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + 20043ea66d4196ba094d4a64c53cfe3391ca0534800c03c23718a46daaaa4787 + value: 61163 + createdAt: 1687007038684 + state: available + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 2 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + 0ebde418ce82554dc0602d8f388f7cc48dda76e86b92fbac5ac5958a8c35d2b5 + value: 68537 + createdAt: 1687007038684 + state: available + dustUtxos: + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 2 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + 09e9c0cc768635104a0bbf0d9acfc0647b0406b961bc700f4afba87a41948fcf + value: 68760 + createdAt: 1687007038684 + state: dust + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 2 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + b2e1855268712f03af5d312bea6622d7c9dbfd00acec1108d7bf7087dec0ca65 + value: 77536 + createdAt: 1687007038684 + state: dust + failedUtxos: + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 1 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + a73e37b74bdc1d632914a21d507adaf84bd3076e3a9edea8b096fe34418bb6fa + value: 66015 + createdAt: 1687007038684 + state: failed + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/currencyConversion: + get: + summary: Converts BSV satoshis to fiat currency. + tags: + - Utility + description: >- + Add a satoshi amount and fiat pair of your choice, e.g. USD, EUR, INR to + receive information of the equivalent value. + parameters: + - schema: + type: string + in: header + name: satoshis + required: true + - schema: + type: string + in: header + name: currency + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + currency: + type: string + enum: + - USD + - CHF + - INR + - EUR + - CAD + - GBP + - SYP + - SDG + - LBP + - FKP + - EGP + balance: + type: number + minimum: 0 + required: + - status + - msg + - currency + - balance + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Operation Completed Successfully + currency: USD + balance: 0.000011362378798928755 + example2: + value: + statusCode: 200 + data: + status: success + msg: Operation Completed Successfully + currency: CAD + balance: 0.02301136 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/notificationToken/{userId}: + put: + summary: Update notification token. + tags: + - Notifications + requestBody: + content: + application/json: + schema: + type: object + properties: + expoNotificationToken: + type: string + required: + - expoNotificationToken + example: + expoNotificationToken: ExponentPushToken[kfs4DxE5jRt3FsBCbzH61P] + required: true + parameters: + - schema: + type: string + in: path + name: userId + required: true + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Notification token updated successfully. + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + delete: + summary: Remove a notification token. + tags: + - Delete + parameters: + - schema: + type: string + in: path + name: userId + required: true + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: successfully ExpoToken Removed from this account ! + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/sendNotification: + post: + summary: Send a Notification + tags: + - Notifications + requestBody: + content: + application/json: + schema: + type: object + properties: + type: + type: string + default: to + userAddress: + type: string + amount: + type: number + transactionType: + type: string + default: BSV + required: + - amount + - userAddress + examples: + example1: + value: + type: to + userAddress: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + amount: 0.0001 + transactionType: BSV + example2: + value: + type: from + userAddress: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + amount: 0.0001 + transactionType: BSV + example3: + value: + type: to + userAddress: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + amount: 5 + example4: + value: + type: from + userAddress: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + amount: 2 + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Notification Sended Successfully ! + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/invoice: + post: + summary: Create an invoice. + tags: + - Transactions + description: Create an invoice to receive payments for a merchant product. + requestBody: + content: + application/json: + schema: + type: object + properties: + type: + type: string + enum: + - USD + - CHF + - INR + - EUR + - CAD + - GBP + - SYP + - SDG + - LBP + - FKP + - EGP + default: USD + amount: + type: number + nullable: true + minimum: 0 + address: + type: string + nullable: true + description: + type: string + nullable: true + expirationTimeInMinuts: + type: number + default: 1 + memo: + type: string + nullable: true + merchantData: + type: string + nullable: true + paymentOptions: + type: array + items: + type: object + properties: + transactions: + type: array + items: + type: object + properties: + native: + type: object + properties: + amount: + type: number + to: + type: string + stas: + type: object + properties: + tokenAmount: + type: number + tokenRecipient: + type: string + tokenId: + type: string + minItems: 1 + required: + - transactions + nullable: true + modeId: + type: string + nullable: true + beneficiary: + type: object + properties: + name: + type: string + email: + type: string + address: + type: string + paymentReference: + type: string + examples: + example1: + value: + type: USD + amount: 1 + address: 12519wQZvqjuqxggUco872zKs66L9x438C + description: paying 1$ for testing + expirationTimeInMinuts: 1 + memo: paying for testing + merchantData: a3621ebf-97a4-476f-a028-a7a9c55b27e8 + paymentOptions: + - transactions: + - native: + amount: 1 + to: 12519wQZvqjuqxggUco872zKs66L9x438C + beneficiary: + name: vaionex test + email: test@vaionex.com + address: 19702 Newark, Delaware, USA + example2: + value: + type: USD + amount: 1 + address: 12519wQZvqjuqxggUco872zKs66L9x438C + description: paying 1$ for testing + expirationTimeInMinuts: 1 + memo: paying for testing + merchantData: a3621ebf-97a4-476f-a028-a7a9c55b27e8 + paymentOptions: + - transactions: + - stas: + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-IR_MAN + tokenAmount: 1 + tokenRecipient: 12519wQZvqjuqxggUco872zKs66L9x438C + beneficiary: + name: vaionex test + email: test@vaionex.com + address: 19702 Newark, Delaware, USA + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + reqUrl: + type: string + format: uri + required: + - status + - msg + - reqUrl + required: + - statusCode + - data + example: + statusCode: 200 + data: + msg: Invoice created successfully. + reqUrl: >- + https://api.relysia.com/v1/paymentRequest/f3a7f350-2e2e-4e8b-af0d-58eb5eb3728a + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/paymentRequest/{invoiceId}: + get: + summary: Create an Invoice + tags: + - Transactions + description: >- + Invoices allow merchants to specify the amount of BSV or Tokens they + require to complete a value exchange, such as selling a Product. + parameters: + - schema: + type: string + in: path + name: invoiceId + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + mainProtocol: + type: string + expirationTimestamp: + type: number + format: duration + memo: + type: string + nullable: true + outputs: + type: array + items: + type: object + properties: + description: + type: string + nullable: true + script: + type: string + satoshis: + type: number + minimum: 0 + required: + - script + - satoshis + nullable: true + version: + type: string + uri: + type: string + creationTimestamp: + type: number + format: duration + type: + type: string + network: + type: string + paymentUrl: + type: string + format: uri + modes: + type: object + additionalProperties: true + beneficiary: + type: object + properties: + name: + type: string + email: + type: string + paymentReference: + type: string + address: + type: string + required: + - name + - email + - paymentReference + - address + additionalProperties: true + required: + - status + - msg + - mainProtocol + - expirationTimestamp + - version + - uri + - creationTimestamp + - type + - network + - paymentUrl + examples: + example1: + value: + statusCode: 200 + status: success + msg: Operation Completed Successfully + mainProtocol: bip272 + merchantData: a3621ebf-97a4-476f-a028-a7a9c55b27e8 + expirationTimestamp: 1686560853 + memo: paying for testing + outputs: + - description: paying 1$ for testing + script: 76a9140bb9eb13c821d10af1f5fbf01c04577305c24d3788ac + satoshis: 3971132 + version: 2.0.0 + uri: >- + pay:?r=https://api.relysia.com/v1/paymentRequest/f3a7f350-2e2e-4e8b-af0d-58eb5eb3728a + creationTimestamp: 1686560793 + type: bip272 + network: mainnet + paymentUrl: >- + https://api.relysia.com/v1/paymentRequest/pay/f3a7f350-2e2e-4e8b-af0d-58eb5eb3728a + example2: + value: + statusCode: 200 + status: success + msg: Operation Completed Successfully + network: mainnet + uri: >- + pay:?r=https://api.relysia.com/v1/paymentRequest/8f9f4c27-3782-46e2-b76f-1ef956f52c61 + memo: paying for testing + type: bip272 + paymentUrl: >- + https://api.relysia.com/v1/paymentRequest/pay/8f9f4c27-3782-46e2-b76f-1ef956f52c61 + mainProtocol: bip272 + creationTimestamp: 1686814941 + modes: + ef63d9775da5: + PaymentOption_0: + transactions: + - outputs: + stas: + - tokenId: >- + 00b91626e0a4b97f624bc1f0d8fa3a3ef35ac664-TIGLdA + tokenAmount: 1 + tokenRecipient: 1HQKnJ5FfCjcgvr6AAqNPYhY7NKuZXByMF + policies: + fees: + standard: + bytes: 1000 + satoshis: 50 + data: + bytes: 1000 + satoshis: 50 + beneficiary: + name: vaionex test + email: test@vaionex.com + paymentReference: 8f9f4c27-3782-46e2-b76f-1ef956f52c61 + address: 19702 Newark, Delaware, USA + expirationTimestamp: 1686816741 + version: 2.0.0 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/paymentRequest/pay/{invoiceId}: + post: + summary: Settle an invoice request. + tags: + - Transactions + description: The API takes invoice and settles it. + requestBody: + content: + application/json: + schema: + type: object + properties: + merchantData: + type: string + transaction: + type: string + refundTo: + type: string + nullable: true + memo: + type: string + nullable: true + additionalProperties: true + required: + - transaction + - merchantData + examples: + example1: + value: + merchantData: bc3d8da0-f930-49e3-9acc-56725ab14a0a + transaction: >- + 01000000020d76e23c0d6f6acd2e9a7d4c9b6916aa9333111fac62003a75d13a10353ee563000000006a4730440220714ffb0eff55abb4840a470760f418442a3ebf7a9bb133dfdc25808f0b05f4fd0220024b562567802e7639ccff2f1e361e178d34102a9fbdbc3aa5843ef5e1dc73fe41210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0d76e23c0d6f6acd2e9a7d4c9b6916aa9333111fac62003a75d13a10353ee563010000006a47304402205ad45fd9d02b659f987cc8321f4874bfa2729425913738cbc4444ed20e453ee4022020467301d8e50bc58e37b92cc03962acc8cfd5ac70bf704de2c4dee8c8beebc84121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff010a000000000000001976a91477bff20c60e522dfaa3350c39b030a5d004e839a88ac00000000 + example2: + value: + merchantData: ab05c66d-0397-419f-8311-9b5dfbccd6ed + transaction: >- + 01000000023a149de2c3a74c191727d17496171c0e97efbaff5735271ead9f883e214e9bd5000000006a473044022045fc063571fb291ea114facfcb2f38bf60f0e8797140e3e6f1380dcd66dffb940220178d4c79bb39f566c3b53c76293f0a38e5fbf0dac4f460783f0cc84ffb259bc341210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff3a149de2c3a74c191727d17496171c0e97efbaff5735271ead9f883e214e9bd5010000006a4730440220160354a13e8f0f72577a0aa393a981b922af9819ae5d04786d5ae226bb867db90220304c4a5eeb2fbc348c336b4a0a45de5bba6e271b32f3884bdf1c5fd1a48671604121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff010a000000000000001976a91477bff20c60e522dfaa3350c39b030a5d004e839a88ac00000000 + refundTo: 147Pha46z8xhMHjq6Wcy9ZWgUV9okUgUeu + example3: + value: + merchantData: ab05c66d-0397-419f-8311-9b5dfbccd6ed + transaction: >- + 01000000023a149de2c3a74c191727d17496171c0e97efbaff5735271ead9f883e214e9bd5000000006a473044022045fc063571fb291ea114facfcb2f38bf60f0e8797140e3e6f1380dcd66dffb940220178d4c79bb39f566c3b53c76293f0a38e5fbf0dac4f460783f0cc84ffb259bc341210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff3a149de2c3a74c191727d17496171c0e97efbaff5735271ead9f883e214e9bd5010000006a4730440220160354a13e8f0f72577a0aa393a981b922af9819ae5d04786d5ae226bb867db90220304c4a5eeb2fbc348c336b4a0a45de5bba6e271b32f3884bdf1c5fd1a48671604121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff010a000000000000001976a91477bff20c60e522dfaa3350c39b030a5d004e839a88ac00000000 + memo: paying 1$ for testing + example4: + value: + merchantData: a3621ebf-97a4-476f-a028-a7a9c55b27e8 + transaction: >- + 0100000002398e8fe2829b523f7337559393d97e70173d05f56d80d0dd0b90a5a35aa9d140000000006b483045022100ac04d62f743fdefd224c5f84c0c6562a15c93e6e45cc84d259ad074a1d42a8a402205ca8b3a296f8b7268e3d092a010785580dd18c8794f5911692e16e6c3c7c996a41210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff398e8fe2829b523f7337559393d97e70173d05f56d80d0dd0b90a5a35aa9d140010000006b483045022100cef2deea13b5ef5e012d225e10f1445c6421570613a2c02e87e8b6fe27b75fe602201e6c5b85dcc0062235581885a49b194777e9230b8314a18052a97e8b146ed24f4121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff01f4010000000000001976a91477bff20c60e522dfaa3350c39b030a5d004e839a88ac00000000 + refundTo: 147Pha46z8xhMHjq6Wcy9ZWgUV9okUgUeu + memo: paying for testing + application/bitcoinsv-payment: + schema: + type: object + properties: + merchantData: + type: string + transaction: + type: string + refundTo: + type: string + nullable: true + memo: + type: string + nullable: true + additionalProperties: true + required: + - transaction + - merchantData + examples: + example1: + value: + merchantData: bc3d8da0-f930-49e3-9acc-56725ab14a0a + transaction: >- + 01000000020d76e23c0d6f6acd2e9a7d4c9b6916aa9333111fac62003a75d13a10353ee563000000006a4730440220714ffb0eff55abb4840a470760f418442a3ebf7a9bb133dfdc25808f0b05f4fd0220024b562567802e7639ccff2f1e361e178d34102a9fbdbc3aa5843ef5e1dc73fe41210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0d76e23c0d6f6acd2e9a7d4c9b6916aa9333111fac62003a75d13a10353ee563010000006a47304402205ad45fd9d02b659f987cc8321f4874bfa2729425913738cbc4444ed20e453ee4022020467301d8e50bc58e37b92cc03962acc8cfd5ac70bf704de2c4dee8c8beebc84121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff010a000000000000001976a91477bff20c60e522dfaa3350c39b030a5d004e839a88ac00000000 + example2: + value: + merchantData: ab05c66d-0397-419f-8311-9b5dfbccd6ed + transaction: >- + 01000000023a149de2c3a74c191727d17496171c0e97efbaff5735271ead9f883e214e9bd5000000006a473044022045fc063571fb291ea114facfcb2f38bf60f0e8797140e3e6f1380dcd66dffb940220178d4c79bb39f566c3b53c76293f0a38e5fbf0dac4f460783f0cc84ffb259bc341210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff3a149de2c3a74c191727d17496171c0e97efbaff5735271ead9f883e214e9bd5010000006a4730440220160354a13e8f0f72577a0aa393a981b922af9819ae5d04786d5ae226bb867db90220304c4a5eeb2fbc348c336b4a0a45de5bba6e271b32f3884bdf1c5fd1a48671604121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff010a000000000000001976a91477bff20c60e522dfaa3350c39b030a5d004e839a88ac00000000 + refundTo: 147Pha46z8xhMHjq6Wcy9ZWgUV9okUgUeu + example3: + value: + merchantData: ab05c66d-0397-419f-8311-9b5dfbccd6ed + transaction: >- + 01000000023a149de2c3a74c191727d17496171c0e97efbaff5735271ead9f883e214e9bd5000000006a473044022045fc063571fb291ea114facfcb2f38bf60f0e8797140e3e6f1380dcd66dffb940220178d4c79bb39f566c3b53c76293f0a38e5fbf0dac4f460783f0cc84ffb259bc341210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff3a149de2c3a74c191727d17496171c0e97efbaff5735271ead9f883e214e9bd5010000006a4730440220160354a13e8f0f72577a0aa393a981b922af9819ae5d04786d5ae226bb867db90220304c4a5eeb2fbc348c336b4a0a45de5bba6e271b32f3884bdf1c5fd1a48671604121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff010a000000000000001976a91477bff20c60e522dfaa3350c39b030a5d004e839a88ac00000000 + memo: paying 1$ for testing + example4: + value: + merchantData: a3621ebf-97a4-476f-a028-a7a9c55b27e8 + transaction: >- + 0100000002398e8fe2829b523f7337559393d97e70173d05f56d80d0dd0b90a5a35aa9d140000000006b483045022100ac04d62f743fdefd224c5f84c0c6562a15c93e6e45cc84d259ad074a1d42a8a402205ca8b3a296f8b7268e3d092a010785580dd18c8794f5911692e16e6c3c7c996a41210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff398e8fe2829b523f7337559393d97e70173d05f56d80d0dd0b90a5a35aa9d140010000006b483045022100cef2deea13b5ef5e012d225e10f1445c6421570613a2c02e87e8b6fe27b75fe602201e6c5b85dcc0062235581885a49b194777e9230b8314a18052a97e8b146ed24f4121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff01f4010000000000001976a91477bff20c60e522dfaa3350c39b030a5d004e839a88ac00000000 + refundTo: 147Pha46z8xhMHjq6Wcy9ZWgUV9okUgUeu + memo: paying for testing + required: true + parameters: + - schema: + type: string + in: path + name: invoiceId + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txId: + type: string + required: + - status + - msg + - txId + required: + - status + - msg + - statusCode + - data + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Operation completed successfully. + statusCode: 200 + data: + status: success + msg: Payment Completed Successfully + txId: >- + ef8bdedd64477adcf1d297cf7fbb92c743251634841418e43f6e74db921770a3 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/domain/generateToken: + post: + summary: Generates a domain verification token + tags: + - admin + description: >- + We authenticate domains to verify whether infrastructure users are + actually owning the specific domain. + requestBody: + content: + application/json: + schema: + type: object + properties: + domain: + type: string + required: + - domain + example: + domain: example.com + required: true + parameters: + - schema: + type: string + in: header + name: authToken + required: false + - schema: + type: string + in: header + name: userID + required: false + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + verificationCode: + type: string + required: + - status + - msg + - verificationCode + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Domain verification token generated successfully + verificationCode: relysia-verification=kwlZ7D7RgL6dY7ksTgH1UWnunDP68u + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/domain/{userId}/verifyToken: + post: + summary: verify domain ownership + tags: + - admin + requestBody: + content: + application/json: + schema: + type: object + properties: + domain: + type: string + required: + - domain + example: + domain: example.com + required: true + parameters: + - schema: + type: string + in: path + name: userId + required: true + - schema: + type: string + in: header + name: authToken + required: false + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + statusCode: + type: number + domain: + type: string + required: + - status + - msg + - statusCode + - domain + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Domain verified successfully + statusCode: 200 + domain: example.com + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/paymail/{paymailId}: + get: + tags: + - paymail + parameters: + - schema: + type: string + in: path + name: paymailId + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + paymailDetails: + type: object + properties: + walletID: + type: string + paymailId: + type: string + required: + - walletID + - paymailId + required: + - status + - msg + - paymailDetails + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + paymailDetails: + walletID: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + paymailId: 91@dev.relysia.com + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/paymail: + put: + tags: + - paymail + requestBody: + content: + application/json: + schema: + type: object + properties: + newPaymailId: + type: string + required: + - newPaymailId + example: + newPaymailId: 91@dev.relysia.com + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + paymail: + type: string + required: + - status + - msg + - paymail + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + paymail: alpha200@dev.relysia.com + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/wallet: + delete: + summary: >- + to delete a wallet, this api will delete your wallet and related data of + that walletId + tags: + - Delete + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + walletId: + type: string + required: + - status + - msg + - walletId + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: wallet deleted successfully ! + walletId: ec4ae905-c5ef-41bd-adfb-4db361093245 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/paymail/activate: + post: + summary: to activate and deActivate paymail + tags: + - paymail + requestBody: + content: + application/json: + schema: + type: object + properties: + activate: + type: boolean + default: true + required: + - activate + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: paymail activated now + example2: + value: + statusCode: 200 + data: + status: success + msg: paymail deactivated now + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/reset/password: + post: + summary: Password Reset. + tags: + - Authentication + description: Reset your password and send a confirmation to the registered mail. + requestBody: + content: + application/json: + schema: + type: object + properties: + email: + type: string + format: email + required: + - email + example: + email: satoshin@gmx.com + required: true + security: + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + email: + type: string + format: email + required: + - status + - msg + - email + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Password reset link sent successfully. + email: satoshin@gmx.com + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/transpile: + post: + summary: transpile solidity code to sCrypt. + tags: + - Utility + description: Takes base64 string of solidity code and converts it to sCrypt. + requestBody: + content: + application/json: + schema: + type: object + properties: + sourceCode: + type: string + required: + - sourceCode + example: + sourceCode: >- + Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVApwcmFnbWEgc29saWRpdHkgXjAuOC4xMDsKCmNvbnRyYWN0IEVSQzcyMSB7CiAgICB1aW50MjU2IHByaXZhdGUgY29uc3RhbnQgX19Mb29wQ291bnRfXzAgPSAxOwogICAgc3RyaW5nIHByaXZhdGUgY29uc3RhbnQgdG9rZW5OYW1lID0gIk15IEVSQzcyMSBUb2tlbiI7CiAgICBzdHJpbmcgcHJpdmF0ZSBjb25zdGFudCB0b2tlblN5bWJvbCA9ICJNRVQiOwogICAgdWludDI1NiBwcml2YXRlIGNvbnN0YW50IHRvdGFsVG9rZW5zID0gMTAwMDAwMDsKICAgIG1hcHBpbmcoYWRkcmVzcyA9PiB1aW50MjU2KSBwcml2YXRlIGJhbGFuY2VzOwogICAgbWFwcGluZyh1aW50MjU2ID0+IGFkZHJlc3MpIHByaXZhdGUgdG9rZW5Pd25lcnM7CiAgICBtYXBwaW5nKHVpbnQyNTYgPT4gYm9vbCkgcHJpdmF0ZSB0b2tlbkV4aXN0czsKICAgIG1hcHBpbmcoYWRkcmVzcyA9PiBtYXBwaW5nKGFkZHJlc3MgPT4gdWludDI1NikpIHByaXZhdGUgYWxsb3dlZDsKICAgIG1hcHBpbmcoYWRkcmVzcyA9PiBtYXBwaW5nKHVpbnQyNTYgPT4gdWludDI1NikpIHByaXZhdGUgb3duZXJUb2tlbnM7CgogICAgbWFwcGluZyh1aW50MjU2ID0+IHN0cmluZykgdG9rZW5MaW5rczsKCiAgICBmdW5jdGlvbiBuYW1lKCkgZXh0ZXJuYWwgcmV0dXJucyAoc3RyaW5nIG1lbW9yeSkgewogICAgICAgIHJldHVybiB0b2tlbk5hbWU7CiAgICB9CgogICAgZnVuY3Rpb24gc3ltYm9sKCkgZXh0ZXJuYWwgcmV0dXJucyAoc3RyaW5nIG1lbW9yeSkgewogICAgICAgIHJldHVybiB0b2tlblN5bWJvbDsKICAgIH0KCiAgICBmdW5jdGlvbiB0b3RhbFN1cHBseSgpIGV4dGVybmFsIHJldHVybnMgKHVpbnQyNTYpIHsKICAgICAgICByZXR1cm4gdG90YWxUb2tlbnM7CiAgICB9CgogICAgZnVuY3Rpb24gYmFsYW5jZU9mKGFkZHJlc3MgX293bmVyKSBleHRlcm5hbCByZXR1cm5zICh1aW50MjU2KSB7CiAgICAgICAgcmV0dXJuIGJhbGFuY2VzW19vd25lcl07CiAgICB9CgoKICAgIGZ1bmN0aW9uIGFwcHJvdmUoYWRkcmVzcyBfdG8sIHVpbnQyNTYgX3Rva2VuSWQpIGV4dGVybmFsIHsKICAgICAgICByZXF1aXJlKHRva2VuRXhpc3RzW190b2tlbklkXSk7CiAgICAgICAgcmVxdWlyZShtc2cuc2VuZGVyID09IHRva2VuT3duZXJzW190b2tlbklkXSk7CiAgICAgICAgcmVxdWlyZShtc2cuc2VuZGVyICE9IF90byk7CiAgICAgICAgYWxsb3dlZFttc2cuc2VuZGVyXVtfdG9dID0gX3Rva2VuSWQ7CiAgICAgICAgZW1pdCBBcHByb3ZhbChtc2cuc2VuZGVyLCBfdG8sIF90b2tlbklkKTsKICAgIH0KCiAgICBmdW5jdGlvbiB0YWtlT3duZXJzaGlwKHVpbnQyNTYgX3Rva2VuSWQpIGV4dGVybmFsIHsKICAgICAgICByZXF1aXJlKHRva2VuRXhpc3RzW190b2tlbklkXSk7CiAgICAgICAgYWRkcmVzcyBvbGRPd25lciA9IHRva2VuT3duZXJzW190b2tlbklkXTsKICAgICAgICBhZGRyZXNzIG5ld093bmVyID0gbXNnLnNlbmRlcjsKICAgICAgICByZXF1aXJlKG5ld093bmVyICE9IG9sZE93bmVyKTsKICAgICAgICByZXF1aXJlKGFsbG93ZWRbb2xkT3duZXJdW25ld093bmVyXSA9PSBfdG9rZW5JZCk7CiAgICAgICAgYmFsYW5jZXNbb2xkT3duZXJdIC09IDE7CiAgICAgICAgdG9rZW5Pd25lcnNbX3Rva2VuSWRdID0gbmV3T3duZXI7CiAgICAgICAgYmFsYW5jZXNbb2xkT3duZXJdICs9IDE7CiAgICAgICAgZW1pdCBUcmFuc2ZlcihvbGRPd25lciwgbmV3T3duZXIsIF90b2tlbklkKTsKICAgIH0KCiAgICBmdW5jdGlvbiB0cmFuc2ZlcihhZGRyZXNzIF90bywgdWludDI1NiBfdG9rZW5JZCkgZXh0ZXJuYWwgewogICAgICAgIGFkZHJlc3MgY3VycmVudE93bmVyID0gbXNnLnNlbmRlcjsKICAgICAgICBhZGRyZXNzIG5ld093bmVyID0gX3RvOwogICAgICAgIHJlcXVpcmUodG9rZW5FeGlzdHNbX3Rva2VuSWRdKTsKICAgICAgICByZXF1aXJlKGN1cnJlbnRPd25lciA9PSB0b2tlbk93bmVyc1tfdG9rZW5JZF0pOwogICAgICAgIHJlcXVpcmUoY3VycmVudE93bmVyICE9IG5ld093bmVyKTsKICAgICAgICByZXF1aXJlKG5ld093bmVyICE9IGFkZHJlc3MoMCkpOwoKICAgICAgICBmb3IgKHVpbnQyNTYgaSA9IDA7IG93bmVyVG9rZW5zW2N1cnJlbnRPd25lcl1baV0gIT0gX3Rva2VuSWQ7IGkrKykgewogICAgICAgICAgICBvd25lclRva2Vuc1tjdXJyZW50T3duZXJdW2ldID0gMDsKICAgICAgICB9CgogICAgICAgIGJhbGFuY2VzW2N1cnJlbnRPd25lcl0gLT0gMTsKICAgICAgICB0b2tlbk93bmVyc1tfdG9rZW5JZF0gPSBuZXdPd25lcjsKICAgICAgICBiYWxhbmNlc1tuZXdPd25lcl0gKz0gMTsKICAgICAgICBlbWl0IFRyYW5zZmVyKGN1cnJlbnRPd25lciwgbmV3T3duZXIsIF90b2tlbklkKTsKICAgIH0KCiAgICBmdW5jdGlvbiB0b2tlbk9mT3duZXJCeUluZGV4KGFkZHJlc3MgX293bmVyLCB1aW50MjU2IF9pbmRleCkKICAgICAgICBleHRlcm5hbAogICAgICAgIHJldHVybnMgKHVpbnQyNTYgdG9rZW5JZCkKICAgIHsKICAgICAgICByZXR1cm4gb3duZXJUb2tlbnNbX293bmVyXVtfaW5kZXhdOwogICAgfQoKICAgIGZ1bmN0aW9uIHRva2VuTWV0YWRhdGEodWludDI1NiBfdG9rZW5JZCkKICAgICAgICBleHRlcm5hbAogICAgICAgIHJldHVybnMgKHN0cmluZyBtZW1vcnkgaW5mb1VybCkKICAgIHsKICAgICAgICByZXR1cm4gdG9rZW5MaW5rc1tfdG9rZW5JZF07CiAgICB9CgogICAgZXZlbnQgVHJhbnNmZXIoCiAgICAgICAgYWRkcmVzcyBpbmRleGVkIF9mcm9tLAogICAgICAgIGFkZHJlc3MgaW5kZXhlZCBfdG8sCiAgICAgICAgdWludDI1NiBfdG9rZW5JZAogICAgKTsKICAgIGV2ZW50IEFwcHJvdmFsKAogICAgICAgIGFkZHJlc3MgaW5kZXhlZCBfb3duZXIsCiAgICAgICAgYWRkcmVzcyBpbmRleGVkIF9hcHByb3ZlZCwKICAgICAgICB1aW50MjU2IF90b2tlbklkCiAgICApOwp9 + required: true + parameters: + - schema: + type: boolean + default: 'false' + in: header + name: force + required: false + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + scrypt: + type: string + errorLogs: + type: array + items: + type: string + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: operation completed successfully ! + scrypt: |- + struct MapKeyST0 { + PubKeyHash key0; + PubKeyHash key1; + } + + contract ERC20 { + @state + public int totalSupply; + + @state + public HashedMap balanceOf; + + @state + public HashedMap allowance; + + static const bytes name = "Solidity by Example"; + + static const bytes symbol = "SOLBYEX"; + + static const int decimals = 18; + + public function transfer(PubKeyHash recipient, int amount, Sig sig, PubKey pubKey, bool retVal, int balanceOf_msgSender, int i0, int balanceOf_recipient, int i1, SigHashPreimage txPreimage) { + PubKeyHash msgSender = hash160(pubKey); + require(checkSig(sig, pubKey)); + require((!this.balanceOf.has({msgSender, i0}) && balanceOf_msgSender == 0) || this.balanceOf.canGet({msgSender, i0}, balanceOf_msgSender)); + balanceOf_msgSender -= amount; + require((!this.balanceOf.has({recipient, i1}) && balanceOf_recipient == 0) || this.balanceOf.canGet({recipient, i1}, balanceOf_recipient)); + balanceOf_recipient += amount; + require(true == retVal); + require(this.balanceOf.set({msgSender, i0}, balanceOf_msgSender)); + require(this.balanceOf.set({recipient, i1}, balanceOf_recipient)); + require(this.propagateState(txPreimage, SigHash.value(txPreimage))); + } + + public function approve(PubKeyHash spender, int amount, Sig sig, PubKey pubKey, bool retVal, int allowance_msgSender_spender, int i0, SigHashPreimage txPreimage) { + PubKeyHash msgSender = hash160(pubKey); + require(checkSig(sig, pubKey)); + require((!this.allowance.has({{msgSender, spender}, i0}) && allowance_msgSender_spender == 0) || this.allowance.canGet({{msgSender, spender}, i0}, allowance_msgSender_spender)); + allowance_msgSender_spender = amount; + require(true == retVal); + require(this.allowance.set({{msgSender, spender}, i0}, allowance_msgSender_spender)); + require(this.propagateState(txPreimage, SigHash.value(txPreimage))); + } + + public function transferFrom(PubKeyHash sender, PubKeyHash recipient, int amount, Sig sig, PubKey pubKey, bool retVal, int allowance_sender_msgSender, int i0, int balanceOf_recipient, int i2, int balanceOf_sender, int i1, SigHashPreimage txPreimage) { + PubKeyHash msgSender = hash160(pubKey); + require(checkSig(sig, pubKey)); + require((!this.allowance.has({{sender, msgSender}, i0}) && allowance_sender_msgSender == 0) || this.allowance.canGet({{sender, msgSender}, i0}, allowance_sender_msgSender)); + allowance_sender_msgSender -= amount; + require((!this.balanceOf.has({sender, i1}) && balanceOf_sender == 0) || this.balanceOf.canGet({sender, i1}, balanceOf_sender)); + balanceOf_sender -= amount; + require((!this.balanceOf.has({recipient, i2}) && balanceOf_recipient == 0) || this.balanceOf.canGet({recipient, i2}, balanceOf_recipient)); + balanceOf_recipient += amount; + require(true == retVal); + require(this.allowance.set({{sender, msgSender}, i0}, allowance_sender_msgSender)); + require(this.balanceOf.set({recipient, i2}, balanceOf_recipient)); + require(this.balanceOf.set({sender, i1}, balanceOf_sender)); + require(this.propagateState(txPreimage, SigHash.value(txPreimage))); + } + + public function mint(int amount, Sig sig, PubKey pubKey, int balanceOf_msgSender, int i0, SigHashPreimage txPreimage) { + PubKeyHash msgSender = hash160(pubKey); + require(checkSig(sig, pubKey)); + require((!this.balanceOf.has({msgSender, i0}) && balanceOf_msgSender == 0) || this.balanceOf.canGet({msgSender, i0}, balanceOf_msgSender)); + balanceOf_msgSender += amount; + this.totalSupply += amount; + require(this.balanceOf.set({msgSender, i0}, balanceOf_msgSender)); + require(this.propagateState(txPreimage, SigHash.value(txPreimage))); + } + + public function burn(int amount, Sig sig, PubKey pubKey, int balanceOf_msgSender, int i0, SigHashPreimage txPreimage) { + PubKeyHash msgSender = hash160(pubKey); + require(checkSig(sig, pubKey)); + require((!this.balanceOf.has({msgSender, i0}) && balanceOf_msgSender == 0) || this.balanceOf.canGet({msgSender, i0}, balanceOf_msgSender)); + balanceOf_msgSender -= amount; + this.totalSupply -= amount; + require(this.balanceOf.set({msgSender, i0}, balanceOf_msgSender)); + require(this.propagateState(txPreimage, SigHash.value(txPreimage))); + } + + function propagateState(SigHashPreimage txPreimage, int value) : bool { + require(Tx.checkPreimage(txPreimage)); + bytes outputScript = this.getStateScript(); + bytes output = Utils.buildOutput(outputScript, value); + return hash256(output) == SigHash.hashOutputs(txPreimage); + } + } + errorLogs: [] + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/compile: + post: + summary: compile sCrypt code to Bitcoin Script. + tags: + - Utility + description: Takes base64 string of sCrypt code and converts it to Bitcoin Script. + requestBody: + content: + application/json: + schema: + type: object + properties: + sourceCode: + type: string + required: + - sourceCode + example: + sourceCode: >- + Y29udHJhY3QgQ291bnRlciB7DQogIEBzdGF0ZQ0KICBwdWJsaWMgaW50IGNvdW50Ow0KDQogIGZ1bmN0aW9uIGdldCgpIDogaW50IHsNCiAgICByZXR1cm4gdGhpcy5jb3VudDsNCiAgfQ0KDQogIHB1YmxpYyBmdW5jdGlvbiBpbmMoU2lnSGFzaFByZWltYWdlIHR4UHJlaW1hZ2UpIHsNCiAgICB0aGlzLmNvdW50ICs9IDE7DQogICAgcmVxdWlyZSh0aGlzLnByb3BhZ2F0ZVN0YXRlKHR4UHJlaW1hZ2UpKTsNCiAgfQ0KDQogIGZ1bmN0aW9uIHNldChpbnQgX2NvdW50KSA6IGJvb2wgew0KICAgIHRoaXMuY291bnQgPSBfY291bnQ7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICBmdW5jdGlvbiBwcm9wYWdhdGVTdGF0ZShTaWdIYXNoUHJlaW1hZ2UgdHhQcmVpbWFnZSkgOiBib29sIHsNCiAgICByZXF1aXJlKFR4LmNoZWNrUHJlaW1hZ2UodHhQcmVpbWFnZSkpOw0KICAgIGJ5dGVzIG91dHB1dFNjcmlwdCA9IHRoaXMuZ2V0U3RhdGVTY3JpcHQoKTsNCiAgICBieXRlcyBvdXRwdXQgPSBVdGlscy5idWlsZE91dHB1dChvdXRwdXRTY3JpcHQsIFNpZ0hhc2gudmFsdWUodHhQcmVpbWFnZSkpOw0KICAgIHJldHVybiBoYXNoMjU2KG91dHB1dCkgPT0gU2lnSGFzaC5oYXNoT3V0cHV0cyh0eFByZWltYWdlKTsNCiAgfQ0KfQ== + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + scrypt: + type: string + required: + - status + - msg + - scrypt + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + scrypt: >- + OP_1 40 + 97dfd76851bf465e8f715593b217714858bbe9570ff3bd5e33840a34e20ff026 + 02ba79df5f8ae7604a9830f03c7933028186aede0675a16f025dc4f8be8eec0382 + 1008ce7480da41702918d1ec8e6849ba32b4d65b1e40dc669c31a1e6306b266c + $count $__codePart__ OP_7 OP_PICK OP_NOP OP_0 OP_PICK 68 + OP_SPLIT OP_NIP OP_NOP OP_0 OP_0 OP_2 OP_PICK OP_1 OP_SPLIT + OP_DROP OP_0 OP_SPLIT OP_NIP OP_0 OP_PICK fd OP_EQUAL OP_IF + OP_3 OP_PICK OP_3 OP_SPLIT OP_DROP OP_1 OP_SPLIT OP_NIP + OP_NOP OP_0 OP_PICK 00 OP_CAT OP_BIN2NUM OP_1 OP_ROLL + OP_DROP OP_NOP OP_3 OP_ROLL OP_DROP OP_2 OP_ROLL OP_2 + OP_ROLL OP_3 OP_PICK OP_3 OP_4 OP_PICK OP_ADD OP_SPLIT + OP_DROP OP_3 OP_SPLIT OP_NIP OP_2 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_ELSE OP_0 OP_PICK fe OP_EQUAL OP_IF OP_3 OP_PICK + OP_5 OP_SPLIT OP_DROP OP_1 OP_SPLIT OP_NIP OP_NOP OP_0 + OP_PICK 00 OP_CAT OP_BIN2NUM OP_1 OP_ROLL OP_DROP OP_NOP + OP_3 OP_ROLL OP_DROP OP_2 OP_ROLL OP_2 OP_ROLL OP_3 OP_PICK + OP_5 OP_4 OP_PICK OP_ADD OP_SPLIT OP_DROP OP_5 OP_SPLIT + OP_NIP OP_2 OP_ROLL OP_DROP OP_1 OP_ROLL OP_ELSE OP_0 + OP_PICK ff OP_EQUAL OP_IF OP_3 OP_PICK OP_9 OP_SPLIT OP_DROP + OP_1 OP_SPLIT OP_NIP OP_NOP OP_0 OP_PICK 00 OP_CAT + OP_BIN2NUM OP_1 OP_ROLL OP_DROP OP_NOP OP_3 OP_ROLL OP_DROP + OP_2 OP_ROLL OP_2 OP_ROLL OP_3 OP_PICK OP_9 OP_4 OP_PICK + OP_ADD OP_SPLIT OP_DROP OP_9 OP_SPLIT OP_NIP OP_2 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_ELSE OP_3 OP_PICK OP_1 OP_SPLIT + OP_DROP OP_0 OP_SPLIT OP_NIP OP_NOP OP_0 OP_PICK 00 OP_CAT + OP_BIN2NUM OP_1 OP_ROLL OP_DROP OP_NOP OP_3 OP_ROLL OP_DROP + OP_2 OP_ROLL OP_2 OP_ROLL OP_3 OP_PICK OP_1 OP_4 OP_PICK + OP_ADD OP_SPLIT OP_DROP OP_1 OP_SPLIT OP_NIP OP_2 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_ENDIF OP_ENDIF OP_ENDIF OP_1 OP_PICK + OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP OP_1 OP_ROLL OP_DROP + OP_NOP OP_0 OP_PICK OP_NOP OP_0 OP_PICK OP_SIZE OP_NIP OP_1 + OP_PICK OP_1 OP_PICK OP_1 OP_SUB OP_SPLIT OP_DROP OP_1 + OP_PICK OP_4 OP_SUB OP_1 OP_SUB OP_SPLIT OP_NIP OP_0 OP_PICK + OP_BIN2NUM OP_2 OP_PICK OP_1 OP_PICK OP_SUB OP_4 OP_SUB OP_1 + OP_SUB OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP OP_1 OP_PICK + OP_1 OP_PICK OP_SPLIT OP_DROP OP_3 OP_ROLL OP_DROP OP_2 + OP_ROLL OP_2 OP_ROLL OP_0 OP_0 OP_3 OP_PICK OP_3 OP_PICK + OP_SPLIT OP_NIP OP_NOP OP_0 OP_PICK OP_3 OP_ROLL OP_DROP + OP_2 OP_ROLL OP_2 OP_ROLL OP_0 OP_2 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_NOP OP_NOP OP_1 OP_PICK OP_1 OP_PICK OP_1 + OP_ADD OP_SPLIT OP_DROP OP_1 OP_PICK OP_SPLIT OP_NIP OP_1 + OP_PICK OP_DUP OP_1ADD OP_3 OP_ROLL OP_DROP OP_2 OP_ROLL + OP_2 OP_ROLL OP_DROP 00 OP_1 OP_PICK OP_EQUAL OP_NOT OP_1 + OP_ROLL OP_DROP OP_NOP OP_0 OP_PICK OP_NOT OP_IF OP_NOP + OP_NOP OP_0 OP_3 OP_PICK OP_0 OP_1 OP_PICK OP_5 OP_PICK OP_1 + OP_ADD OP_SPLIT OP_DROP OP_5 OP_PICK OP_SPLIT OP_NIP + OP_BIN2NUM OP_5 OP_PICK OP_DUP OP_1ADD OP_7 OP_ROLL OP_DROP + OP_6 OP_ROLL OP_6 OP_ROLL OP_6 OP_ROLL OP_6 OP_ROLL OP_6 + OP_ROLL OP_6 OP_ROLL OP_DROP OP_0 OP_PICK 4c OP_LESSTHAN + OP_IF OP_0 OP_PICK OP_4 OP_ROLL OP_DROP OP_3 OP_ROLL OP_3 + OP_ROLL OP_3 OP_ROLL OP_2 OP_PICK OP_6 OP_PICK OP_5 OP_PICK + OP_ADD OP_SPLIT OP_DROP OP_6 OP_PICK OP_SPLIT OP_NIP OP_2 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_ELSE OP_0 OP_PICK 4c + OP_NUMEQUAL OP_IF OP_2 OP_PICK OP_6 OP_PICK OP_1 OP_ADD + OP_SPLIT OP_DROP OP_6 OP_PICK OP_SPLIT OP_NIP OP_NOP OP_0 + OP_PICK 00 OP_CAT OP_BIN2NUM OP_1 OP_ROLL OP_DROP OP_NOP + OP_4 OP_ROLL OP_DROP OP_3 OP_ROLL OP_3 OP_ROLL OP_3 OP_ROLL + OP_5 OP_PICK OP_1 OP_ADD OP_6 OP_ROLL OP_DROP OP_5 OP_ROLL + OP_5 OP_ROLL OP_5 OP_ROLL OP_5 OP_ROLL OP_5 OP_ROLL OP_5 + OP_PICK OP_DROP OP_2 OP_PICK OP_6 OP_PICK OP_5 OP_PICK + OP_ADD OP_SPLIT OP_DROP OP_6 OP_PICK OP_SPLIT OP_NIP OP_2 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_ELSE OP_0 OP_PICK 4d + OP_NUMEQUAL OP_IF OP_2 OP_PICK OP_6 OP_PICK OP_2 OP_ADD + OP_SPLIT OP_DROP OP_6 OP_PICK OP_SPLIT OP_NIP OP_NOP OP_0 + OP_PICK 00 OP_CAT OP_BIN2NUM OP_1 OP_ROLL OP_DROP OP_NOP + OP_4 OP_ROLL OP_DROP OP_3 OP_ROLL OP_3 OP_ROLL OP_3 OP_ROLL + OP_5 OP_PICK OP_2 OP_ADD OP_6 OP_ROLL OP_DROP OP_5 OP_ROLL + OP_5 OP_ROLL OP_5 OP_ROLL OP_5 OP_ROLL OP_5 OP_ROLL OP_5 + OP_PICK OP_DROP OP_2 OP_PICK OP_6 OP_PICK OP_5 OP_PICK + OP_ADD OP_SPLIT OP_DROP OP_6 OP_PICK OP_SPLIT OP_NIP OP_2 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_ELSE OP_0 OP_PICK 4e + OP_NUMEQUAL OP_IF OP_2 OP_PICK OP_6 OP_PICK OP_4 OP_ADD + OP_SPLIT OP_DROP OP_6 OP_PICK OP_SPLIT OP_NIP OP_NOP OP_0 + OP_PICK 00 OP_CAT OP_BIN2NUM OP_1 OP_ROLL OP_DROP OP_NOP + OP_4 OP_ROLL OP_DROP OP_3 OP_ROLL OP_3 OP_ROLL OP_3 OP_ROLL + OP_5 OP_PICK OP_4 OP_ADD OP_6 OP_ROLL OP_DROP OP_5 OP_ROLL + OP_5 OP_ROLL OP_5 OP_ROLL OP_5 OP_ROLL OP_5 OP_ROLL OP_5 + OP_PICK OP_DROP OP_2 OP_PICK OP_6 OP_PICK OP_5 OP_PICK + OP_ADD OP_SPLIT OP_DROP OP_6 OP_PICK OP_SPLIT OP_NIP OP_2 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_ELSE OP_0 OP_VERIFY OP_ENDIF + OP_ENDIF OP_ENDIF OP_ENDIF OP_5 OP_PICK OP_4 OP_PICK OP_ADD + OP_6 OP_ROLL OP_DROP OP_5 OP_ROLL OP_5 OP_ROLL OP_5 OP_ROLL + OP_5 OP_ROLL OP_5 OP_ROLL OP_5 OP_PICK OP_DROP OP_1 OP_PICK + OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP OP_BIN2NUM OP_NOP OP_7 + OP_ROLL OP_DROP OP_6 OP_ROLL OP_6 OP_ROLL OP_6 OP_ROLL OP_6 + OP_ROLL OP_6 OP_ROLL OP_6 OP_ROLL OP_ENDIF OP_6 OP_PICK OP_1 + OP_ADD OP_7 OP_ROLL OP_DROP OP_6 OP_ROLL OP_6 OP_ROLL OP_6 + OP_ROLL OP_6 OP_ROLL OP_6 OP_ROLL OP_6 OP_ROLL OP_6 OP_PICK + OP_DROP OP_12 OP_PICK OP_NOP OP_0 OP_PICK OP_NOP OP_0 + OP_PICK OP_12 OP_PICK OP_12 OP_PICK + 0ac407f0e4bd44bfc207355a778b046225a7068fc59ee7eda43ad905aadbffc800 + 6c266b30e6a1319c66dc401e5bd6b432ba49688eecd118297041da8074ce0810 + OP_14 OP_PICK 13 OP_PICK 13 OP_PICK OP_OR OP_NOP OP_6 + OP_PICK OP_HASH256 OP_0 OP_PICK OP_NOP OP_0 OP_PICK OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_SWAP OP_CAT OP_SWAP + OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP + OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP + OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP + OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP + OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP + OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP + OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP + OP_CAT OP_SWAP OP_CAT 00 OP_CAT OP_BIN2NUM OP_1 OP_ROLL + OP_DROP OP_NOP OP_7 OP_PICK OP_6 OP_PICK OP_6 OP_PICK OP_6 + OP_PICK OP_6 OP_PICK OP_NOP OP_3 OP_PICK OP_6 OP_PICK OP_4 + OP_PICK OP_7 OP_PICK OP_MUL OP_ADD OP_MUL + 414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff00 + OP_1 OP_PICK OP_1 OP_PICK OP_NOP OP_1 OP_PICK OP_1 OP_PICK + OP_MOD OP_0 OP_PICK OP_0 OP_LESSTHAN OP_IF OP_0 OP_PICK OP_2 + OP_PICK OP_ADD OP_ELSE OP_0 OP_PICK OP_ENDIF OP_1 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP + OP_2 OP_ROLL OP_DROP OP_1 OP_ROLL OP_1 OP_PICK OP_1 OP_PICK + OP_2 OP_DIV OP_GREATERTHAN OP_IF OP_0 OP_PICK OP_2 OP_PICK + OP_SUB OP_2 OP_ROLL OP_DROP OP_1 OP_ROLL OP_ENDIF OP_3 + OP_PICK OP_SIZE OP_NIP OP_2 OP_PICK OP_SIZE OP_NIP OP_3 + OP_PICK 20 OP_NUM2BIN OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT + OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT + OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT + OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT + OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT + OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT + OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT + OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT + 20 OP_2 OP_PICK OP_SUB OP_SPLIT OP_NIP OP_4 OP_3 OP_PICK + OP_ADD OP_2 OP_PICK OP_ADD 30 OP_1 OP_PICK OP_CAT OP_2 + OP_CAT OP_4 OP_PICK OP_CAT OP_8 OP_PICK OP_CAT OP_2 OP_CAT + OP_3 OP_PICK OP_CAT OP_2 OP_PICK OP_CAT OP_7 OP_PICK OP_CAT + OP_0 OP_PICK OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP + OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP + OP_NOP OP_0 OP_PICK OP_7 OP_PICK OP_CHECKSIG OP_1 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP + OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL + OP_DROP OP_NOP OP_1 OP_ROLL OP_DROP OP_NOP OP_VERIFY OP_NOP + OP_0 OP_NOP OP_0 OP_PICK OP_IF OP_1 OP_ELSE 00 OP_ENDIF OP_1 + OP_ROLL OP_DROP OP_NOP OP_8 OP_PICK OP_NOP OP_0 OP_PICK OP_0 + OP_NUMEQUAL OP_IF 00 OP_ELSE OP_0 OP_PICK OP_ENDIF OP_NOP + OP_0 OP_PICK OP_SIZE OP_NIP OP_0 OP_1 OP_PICK 4c OP_LESSTHAN + OP_IF OP_1 OP_PICK OP_1 OP_NOP OP_1 OP_PICK OP_1 OP_PICK + OP_1 OP_ADD OP_NUM2BIN OP_0 OP_PICK OP_1 OP_PICK OP_SIZE + OP_NIP OP_1 OP_SUB OP_SPLIT OP_DROP OP_0 OP_SPLIT OP_NIP + OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL + OP_DROP OP_NOP OP_1 OP_ROLL OP_DROP OP_ELSE OP_1 OP_PICK + 0001 OP_LESSTHAN OP_IF 4c OP_2 OP_PICK OP_1 OP_NOP OP_1 + OP_PICK OP_1 OP_PICK OP_1 OP_ADD OP_NUM2BIN OP_0 OP_PICK + OP_1 OP_PICK OP_SIZE OP_NIP OP_1 OP_SUB OP_SPLIT OP_DROP + OP_0 OP_SPLIT OP_NIP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP OP_CAT OP_1 OP_ROLL + OP_DROP OP_ELSE OP_1 OP_PICK 000001 OP_LESSTHAN OP_IF 4d + OP_2 OP_PICK OP_2 OP_NOP OP_1 OP_PICK OP_1 OP_PICK OP_1 + OP_ADD OP_NUM2BIN OP_0 OP_PICK OP_1 OP_PICK OP_SIZE OP_NIP + OP_1 OP_SUB OP_SPLIT OP_DROP OP_0 OP_SPLIT OP_NIP OP_1 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP + OP_NOP OP_CAT OP_1 OP_ROLL OP_DROP OP_ELSE OP_1 OP_PICK + 0000000001 OP_LESSTHAN OP_IF 4e OP_2 OP_PICK OP_4 OP_NOP + OP_1 OP_PICK OP_1 OP_PICK OP_1 OP_ADD OP_NUM2BIN OP_0 + OP_PICK OP_1 OP_PICK OP_SIZE OP_NIP OP_1 OP_SUB OP_SPLIT + OP_DROP OP_0 OP_SPLIT OP_NIP OP_1 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP OP_CAT OP_1 + OP_ROLL OP_DROP OP_ELSE OP_0 OP_VERIFY OP_ENDIF OP_ENDIF + OP_ENDIF OP_ENDIF OP_0 OP_PICK OP_3 OP_PICK OP_CAT OP_1 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP + OP_NOP OP_1 OP_ROLL OP_DROP OP_NOP OP_CAT OP_7 OP_PICK OP_1 + OP_PICK OP_NOP OP_0 OP_PICK OP_SIZE OP_NIP OP_4 OP_NUM2BIN + OP_1 OP_PICK OP_1 OP_PICK OP_CAT OP_0 OP_1 OP_NUM2BIN OP_CAT + OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP OP_CAT OP_1 + OP_ROLL OP_DROP OP_NOP OP_0 OP_PICK OP_2 OP_PICK OP_NOP OP_0 + OP_PICK OP_NOP OP_0 OP_PICK OP_SIZE OP_NIP OP_1 OP_PICK OP_1 + OP_PICK 2c OP_SUB OP_SPLIT OP_DROP OP_1 OP_PICK 34 OP_SUB + OP_SPLIT OP_NIP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP + OP_NOP OP_NOP OP_0 OP_PICK 00 OP_CAT OP_BIN2NUM OP_1 OP_ROLL + OP_DROP OP_NOP OP_1 OP_ROLL OP_DROP OP_NOP OP_NOP OP_0 + OP_PICK OP_8 OP_NUM2BIN OP_2 OP_PICK OP_NOP OP_0 OP_PICK + OP_SIZE OP_NIP OP_0 OP_1 OP_PICK fd00 OP_LESSTHAN OP_IF OP_1 + OP_PICK OP_1 OP_NOP OP_1 OP_PICK OP_1 OP_PICK OP_1 OP_ADD + OP_NUM2BIN OP_0 OP_PICK OP_1 OP_PICK OP_SIZE OP_NIP OP_1 + OP_SUB OP_SPLIT OP_DROP OP_0 OP_SPLIT OP_NIP OP_1 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP + OP_1 OP_ROLL OP_DROP OP_ELSE OP_1 OP_PICK 000001 OP_LESSTHAN + OP_IF fd OP_2 OP_PICK OP_2 OP_NOP OP_1 OP_PICK OP_1 OP_PICK + OP_1 OP_ADD OP_NUM2BIN OP_0 OP_PICK OP_1 OP_PICK OP_SIZE + OP_NIP OP_1 OP_SUB OP_SPLIT OP_DROP OP_0 OP_SPLIT OP_NIP + OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL + OP_DROP OP_NOP OP_CAT OP_1 OP_ROLL OP_DROP OP_ELSE OP_1 + OP_PICK 0000000001 OP_LESSTHAN OP_IF fe OP_2 OP_PICK OP_4 + OP_NOP OP_1 OP_PICK OP_1 OP_PICK OP_1 OP_ADD OP_NUM2BIN OP_0 + OP_PICK OP_1 OP_PICK OP_SIZE OP_NIP OP_1 OP_SUB OP_SPLIT + OP_DROP OP_0 OP_SPLIT OP_NIP OP_1 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP OP_CAT OP_1 + OP_ROLL OP_DROP OP_ELSE OP_1 OP_PICK 000000000000000001 + OP_LESSTHAN OP_IF ff OP_2 OP_PICK OP_8 OP_NOP OP_1 OP_PICK + OP_1 OP_PICK OP_1 OP_ADD OP_NUM2BIN OP_0 OP_PICK OP_1 + OP_PICK OP_SIZE OP_NIP OP_1 OP_SUB OP_SPLIT OP_DROP OP_0 + OP_SPLIT OP_NIP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP + OP_1 OP_ROLL OP_DROP OP_NOP OP_CAT OP_1 OP_ROLL OP_DROP + OP_ENDIF OP_ENDIF OP_ENDIF OP_ENDIF OP_0 OP_PICK OP_3 + OP_PICK OP_CAT OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP + OP_1 OP_ROLL OP_DROP OP_NOP OP_CAT OP_1 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_NOP OP_0 OP_PICK OP_HASH256 OP_3 OP_PICK + OP_NOP OP_0 OP_PICK OP_SIZE OP_NIP OP_1 OP_PICK OP_1 OP_PICK + OP_8 OP_SUB OP_SPLIT OP_DROP OP_1 OP_PICK 28 OP_SUB OP_SPLIT + OP_NIP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP + OP_EQUAL OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_NOP OP_NIP OP_NIP OP_NIP OP_NIP OP_NIP + OP_NIP OP_NIP OP_NIP OP_NIP OP_NIP OP_NIP OP_NIP OP_NIP + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/post: + post: + summary: Post Messages to the Blockchain. + tags: + - Utility + description: >- + The /post endpoint broadcasts array of notes to the blockchain (in B:// + protocol format). + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + notes: + type: array + items: + type: string + minLength: 1 + required: + - notes + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - notes: + - note-1 + - note-2 + example2: + value: + dataArray: + - notes: + - note-1 + - note-2 + - notes: + - note-3 + required: true + parameters: + - schema: + type: string + in: header + name: custom-token + required: false + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txIds: + type: array + items: + type: object + properties: + txId: + type: string + url: + type: string + required: + - txId + - url + errors: + type: array + items: + type: object + properties: + msg: + type: string + index: + type: number + required: + - status + - msg + - txIds + - errors + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Successfully broadcasted to the blockchain. + txIds: + - txId: >- + a9f78d83d6e1255267b727d7d7172016924e130faf33d0f4cac55d1fe92612e4 + url: >- + B://a9f78d83d6e1255267b727d7d7172016924e130faf33d0f4cac55d1fe92612e4 + errors: [] + example2: + value: + statusCode: 200 + data: + status: success + msg: Successfully broadcasted to the blockchain. + txIds: + - txId: >- + 2e0b861f3a2b7d68c09b21237ca6659cd9176832cabaf2c9f691947434fbf463 + url: >- + B://2e0b861f3a2b7d68c09b21237ca6659cd9176832cabaf2c9f691947434fbf463 + - txId: >- + 8d7732f2d0487f97173413c105865fec68449ee9a7e5159e1c3fb223c295695a + url: >- + B://8d7732f2d0487f97173413c105865fec68449ee9a7e5159e1c3fb223c295695a + errors: [] + example3: + value: + statusCode: 200 + data: + status: success + msg: Successfully broadcasted to the blockchain. + txIds: + - txId: >- + 2e0b861f3a2b7d68c09b21237ca6659cd9176832cabaf2c9f691947434fbf463 + url: >- + B://2e0b861f3a2b7d68c09b21237ca6659cd9176832cabaf2c9f691947434fbf463 + - txId: >- + 8d7732f2d0487f97173413c105865fec68449ee9a7e5159e1c3fb223c295695a + url: >- + B://8d7732f2d0487f97173413c105865fec68449ee9a7e5159e1c3fb223c295695a + errors: + - msg: Invalid note format. + index: 0 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/lookup: + post: + summary: Returns balance of all assets of Private Key + tags: + - Utility + description: >- + The lookUp endpoint will return all the balance of all assets for BSV + and STAS tokens from a private key + requestBody: + content: + application/json: + schema: + type: object + properties: + privateKey: + type: string + parameters: + - schema: + type: string + in: query + name: nextPageToken + required: false + - schema: + type: string + in: query + name: tokenId + required: false + - schema: + type: string + in: header + name: type + required: false + - schema: + type: string + in: header + name: currency + required: false + - schema: + type: boolean + default: true + in: header + name: compact + required: false + - schema: + type: number + minimum: -1 + in: header + name: maxResults + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + totalBalance: + type: object + properties: + currency: + type: string + balance: + type: number + required: + - currency + - balance + coins: + type: array + items: + anyOf: + - type: object + properties: + protocol: + type: string + balance: + type: number + required: + - protocol + - balance + - type: object + properties: + protocol: + type: string + tokenId: + type: string + splittable: + type: boolean + name: + type: string + nullable: true + address: + type: string + satsPerToken: + type: number + symbol: + type: string + redeemAddr: + type: string + image: + type: string + amount: + type: number + supply: + type: number + decimals: + type: number + sn: + anyOf: + - type: number + - type: array + items: + type: number + nullable: true + required: + - protocol + - tokenId + - splittable + - address + - satsPerToken + - symbol + - redeemAddr + - image + - amount + - supply + - decimals + - sn + meta: + type: object + properties: + nextPageToken: + type: number + nullable: true + required: + - status + - msg + - totalBalance + - coins + - meta + example: + statusCode: 200 + data: + status: success + msg: operation completed successfully + totalBalance: + currency: USD + balance: 0.0001570996557778815 + coins: + - protocol: BSV + balance: 0.000005 + - protocol: STAS-789 + tokenId: a12e6c27b08430bccd4d801271e93d76994cac22-STASYO6 + splittable: false + verified: true + name: Store Bonus Points + address: 1JpvnEDrLR1rXZrUZNkhWSJd3x9D9ib16i + satsPerToken: 1 + symbol: STASYO6 + redeemAddr: a12e6c27b08430bccd4d801271e93d76994cac22 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 20 + decimals: 0 + sn: + - 8 + /v1/asm: + post: + summary: Upload custom ASM scripts in a transaction + tags: + - Transactions + description: >- + The asm endpoint allows custom scripts to be added as outputs in a + transaction + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + asm: + type: string + amount: + type: number + minimum: 0 + required: + - asm + - amount + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - asm: >- + OP_DUP OP_HASH160 + 4a548f3da5526d1e2f8b5c3584ebb9739edfbe3b OP_EQUALVERIFY + OP_CHECKSIG + amount: 1.e-8 + example2: + value: + dataArray: + - asm: >- + OP_DUP OP_HASH160 + 4a548f3da5526d1e2f8b5c3584ebb9739edfbe3b OP_EQUALVERIFY + OP_CHECKSIG + amount: 1.e-8 + - asm: >- + OP_DUP OP_HASH160 + 4a548f3da5526d1e2f8b5c3584ebb9739edfbe3b OP_EQUALVERIFY + OP_CHECKSIG + amount: 1.e-7 + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txid: + type: string + required: + - status + - msg + - txid + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Transaction successfully broadcasted + txid: >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/sign: + post: + summary: Sign a message to an address string + tags: + - Utility + description: >- + The sign endpoint will create a 64bit encoded signature of a message and + an address string + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + address: + type: string + nullable: true + derivationPath: + type: string + nullable: true + message: + type: string + minLength: 1 + required: + - message + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - derivationPath: m/44'/0'/0'/0/0 + message: Hello World from path + example2: + value: + dataArray: + - address: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + message: Hello World + example3: + value: + dataArray: + - address: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + message: Hello World + - derivationPath: m/44'/0'/0'/0/0 + message: Hello World from path + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + data: + type: array + items: + type: object + properties: + derivationPath: + type: string + address: + type: string + signature: + type: string + required: + - derivationPath + - address + - signature + required: + - status + - msg + - data + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Successfully signed message + data: + - derivationPath: m/44'/0'/0'/0/0 + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + signature: >- + H50lZfAgH47Qg5va5EIrJJ1ss76D51f6TMEHiOrbUhaHJqC13zoH2mHS9BbBttSznmQwtLQB04addED5CLkYZVU= + example2: + value: + statusCode: 200 + data: + status: success + msg: Successfully signed message + data: + - derivationPath: m/44'/0'/0'/0/0 + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + signature: >- + H9m3vJiQU5q6aDuGpbAf+brX7eG70Q4X1nOoOO/uf4+MZSLh5T5Z6foBrbHzMGe1mPpII2G9Q0TSsvI5dZMxc2Y= + - derivationPath: m/44'/0'/0'/0/5 + address: 12fKJzMbsMW6HxAsCMsrL4jrxC2p8umDGf + signature: >- + INwmOzibOQZD2jYoDqgGcQcIXUngrY6usA2bIvPp0Js1TMDPwZ/Fiq6VVhrO3fqWw54LQ2yoe6ZzATstZZj+YXw= + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v2/balance: + get: + summary: Get your wallet balance. + tags: + - Wallets + description: Returns both coin and token balances. + parameters: + - schema: + type: string + in: query + name: nextPageToken + required: false + - schema: + type: string + in: query + name: tokenId + required: false + - schema: + type: string + in: query + name: symbol + required: false + - schema: + type: string + in: header + name: walletID + required: false + - schema: + type: string + in: header + name: type + required: false + - schema: + type: string + in: header + name: currency + required: false + - schema: + type: boolean + default: true + in: header + name: compact + required: false + - schema: + type: number + minimum: -1 + in: header + name: maxResults + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + totalBalance: + type: object + properties: + currency: + type: string + enum: + - USD + - CHF + - INR + - EUR + - CAD + - GBP + - SYP + - SDG + - LBP + - FKP + - EGP + - BSV + balance: + type: number + required: + - currency + - balance + coins: + type: array + items: + anyOf: + - type: object + properties: + protocol: + type: string + enum: + - BSV + balance: + type: number + required: + - protocol + - balance + - type: object + properties: + Id: + type: string + protocol: + type: string + enum: + - BSV + - STAS + - STAS-50 + - STAS-20 + - STAS-789 + - STAS50 + - STASFT + - STASAPPEND + tokenId: + type: string + splittable: + type: boolean + splitable: + type: boolean + verified: + type: boolean + name: + type: string + nullable: true + address: + type: string + satsPerToken: + type: number + symbol: + type: string + redeemAddr: + type: string + image: + type: string + amount: + type: number + supply: + type: number + decimals: + type: number + sn: + anyOf: + - type: number + - type: array + items: + type: number + nullable: true + required: + - Id + - protocol + - tokenId + - splittable + - splitable + - verified + - address + - satsPerToken + - symbol + - redeemAddr + - image + - amount + - supply + - decimals + - sn + meta: + type: object + properties: + nextPageToken: + type: number + nullable: true + required: + - status + - msg + - totalBalance + - coins + - meta + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Operation Completed Successfully + totalBalance: + currency: USD + balance: 0.000033622769602482665 + coins: + - protocol: BSV + balance: 0 + - Id: 6441fe87c0dc6dd1babbe28f + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 103 + supply: 123 + decimals: 0 + sn: + - 85 + - 30 + - 61 + - 81 + - 74 + - Id: 6441fe87c0dc6dd1babbe27a + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + splittable: false + splitable: false + verified: true + name: Yujiro + address: 12519wQZvqjuqxggUco872zKs66L9x438C + satsPerToken: 1 + symbol: YJO + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://static.wikia.nocookie.net/baki/images/a/a6/Yujiro_profile.png/revision/latest/scale-to-width-down/280?cb=20220726223446 + amount: 2 + supply: 5 + decimals: 0 + sn: + - 1 + - 2 + - Id: 6441fe87c0dc6dd1babbe27b + protocol: STAS + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-IR_MAN + splittable: false + splitable: false + verified: true + name: Ironman + address: 12519wQZvqjuqxggUco872zKs66L9x438C + satsPerToken: 1 + symbol: IR_MAN + redeemAddr: 8226da9a724b0581928ee508df0174ed7b233a81 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 2 + supply: 3 + decimals: 0 + sn: + - 1 + - 2 + - Id: 6441fe87c0dc6dd1babbe27c + protocol: STAS + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-W_WOMAN + splittable: false + splitable: false + verified: true + name: Store Bonus Points + address: 12T7men1z1FU9sruoFgFx2D7JCJRgZtxrA + satsPerToken: 1 + symbol: W_WOMAN + redeemAddr: 8226da9a724b0581928ee508df0174ed7b233a81 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 5 + decimals: 0 + sn: + - 5 + - Id: 6441fe87c0dc6dd1babbe27d + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-nba-new-123 + splittable: false + splitable: false + verified: true + name: Store Bonus Points + address: 12T7men1z1FU9sruoFgFx2D7JCJRgZtxrA + satsPerToken: 1 + symbol: nba-new-123 + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 10 + supply: 3 + decimals: 0 + sn: + - 1 + - 3 + - 2 + meta: + nextPageToken: 5 + example2: + value: + statusCode: 200 + data: + status: success + msg: Operation Completed Successfully + totalBalance: + currency: USD + balance: 0.000033622769602482665 + coins: + - protocol: BSV + balance: 0 + - Id: 6441fe87c0dc6dd1babbe28f + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 103 + - Id: 6441fe87c0dc6dd1babbe290 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 102 + - Id: 6441fe87c0dc6dd1babbe291 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 101 + - Id: 6441fe87c0dc6dd1babbe292 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 100 + - Id: 6441fe87c0dc6dd1babbe293 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 99 + meta: + nextPageToken: 5 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v2/history: + get: + summary: Get your transaction history. + tags: + - Wallets + description: >- + The transaction history endpoint returns all past transactions, both BSV + and Tokens. + parameters: + - schema: + type: string + in: query + name: nextPageToken + required: false + - schema: + type: string + in: query + name: tokenId + required: false + - schema: + type: string + in: query + name: protocol + required: false + - schema: + type: string + in: query + name: limit + required: false + - schema: + type: string + in: header + name: walletID + required: false + - schema: + type: string + in: header + name: type + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + histories: + type: array + items: + type: object + properties: + to: + type: array + items: + type: object + properties: + amount: + type: number + image: + type: string + nullable: true + protocol: + type: string + enum: + - BSV + - STAS + - STAS-50 + - STAS-20 + - STAS-789 + - STAS50 + - STASFT + - STASAPPEND + tokenId: + type: string + nullable: true + sn: + type: number + nullable: true + to: + type: string + name: + type: string + nullable: true + decimals: + type: number + nullable: true + txId: + type: string + from: + type: string + timestamp: + type: string + totalAmount: + type: number + notes: + type: string + nullable: true + type: + type: string + enum: + - debit + - credit + nullable: true + required: + - to + - txId + - from + - timestamp + - totalAmount + - type + meta: + type: object + properties: + nextPageToken: + type: string + nullable: true + required: + - status + - msg + - histories + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Transaction history fetched successfully. + histories: + - to: + - amount: 1 + image: https://www.gstatic.com/webp/gallery/1.jpg + protocol: STAS-789 + tokenId: >- + 0efca5f5dadcdacd0ff3a418a92c27efc6f8387b29e8647bb9ac7eea9284b13d + sn: 1 + to: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + name: test + decimals: 2 + txId: >- + c48287508391ff0b57ec528cb12ae87762af94f6c242cb4acdeed63382e5515d + from: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + timestamp: '2023-04-24 04:12:20' + totalAmount: 1 + type: debit + - to: + - amount: 1 + image: https://www.gstatic.com/webp/gallery/1.jpg + protocol: STAS-789 + tokenId: >- + 0efca5f5dadcdacd0ff3a418a92c27efc6f8387b29e8647bb9ac7eea9284b13c + sn: 1 + to: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + name: test + decimals: 2 + - amount: 1 + image: https://www.gstatic.com/webp/gallery/1.jpg + protocol: STAS-789 + tokenId: >- + 0efca5f5dadcdacd0ff3a418a92c27efc6f8387b29e8647bb9ac7eea9284b13c + sn: 2 + to: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + name: test + decimals: 2 + txId: >- + c48287508391ff0b57ec528cb12ae87762af94f6c242cb4acdeed63382e5515e + from: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + timestamp: '2023-04-26 03:18:37' + totalAmount: 2 + notes: test + type: credit + meta: + nextPageToken: '1' + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v2/token/{id}: + get: + summary: Get STAS token details. + tags: + - Smart Contracts + description: Insert your STAS tokenId to receive information about it. + parameters: + - schema: + type: string + in: path + name: id + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + contractTxs: + type: array + items: + type: string + minItems: 1 + issuanceTxs: + type: array + items: + type: string + minItems: 1 + utxos: + type: number + owners: + type: number + transactionsCount: + type: number + circulationSupply: + type: number + name: + type: string + tokenId: + type: string + symbol: + type: string + description: + type: string + image: + type: string + totalSupply: + type: number + decimals: + type: number + satsPerToken: + type: number + properties: + type: object + properties: + legal: + type: object + properties: + terms: + type: string + nullable: true + licenceId: + type: string + nullable: true + nullable: true + issuer: + type: object + properties: + organisation: + type: string + nullable: true + legalForm: + type: string + nullable: true + governingLaw: + type: string + nullable: true + issuerCountry: + type: string + nullable: true + jurisdiction: + type: string + nullable: true + email: + type: string + nullable: true + nullable: true + meta: + type: object + properties: + schemaId: + type: string + nullable: true + website: + type: string + nullable: true + legal: + type: object + properties: + terms: + type: string + nullable: true + nullable: true + media: + type: array + items: + type: object + properties: + URI: + type: string + nullable: true + type: + type: string + nullable: true + altURI: + type: string + nullable: true + nullable: true + nullable: true + nullable: true + nullable: true + splitable: + type: boolean + protocol: + type: string + serialNumber: + type: number + data: + type: array + required: + - status + - msg + - contractTxs + - issuanceTxs + - utxos + - owners + - transactionsCount + - circulationSupply + - name + - tokenId + - symbol + - description + - image + - totalSupply + - decimals + - satsPerToken + - properties + - splitable + - protocol + - serialNumber + - data + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + contractTxs: + - >- + d1f376ffb62f30efdd1336ec379eb462ab1068dd67a55789ab1c445cf35c540d + issuanceTxs: + - >- + 7f06cdece4c08192e8872be802f120b85f0610e6f8e448b85c301e89ccc5bfe1 + utxos: 3 + owners: 1 + transactionsCount: 1 + circulationSupply: 3 + name: Store Bonus Points + tokenId: 8a9e7ec666f0610ff3f0540ed55f07162e9dd7a8 + symbol: SBPgdsfgdfsgds + description: A supermarket bonus point. + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + totalSupply: 3 + decimals: 0 + satsPerToken: 1 + properties: + legal: + terms: >- + STAS, Inc. retains all rights to the token script. Use + is subject to terms at https://stastoken.com/license. + licenceId: stastoken.com + issuer: + organisation: Vaionex Corp. + legalForm: Limited + governingLaw: US + issuerCountry: US + jurisdiction: US + email: info@vaionex.com + meta: + schemaId: STAS1.0 + website: vaionex.com + legal: + terms: Your token terms and description. + media: + - URI: string + type: string + altURI: string + splitable: false + protocol: STAS-789 + serialNumber: 0 + data: + - '' + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v2/inspect: + post: + summary: Inspect an atomic swap offer. + tags: + - Transactions + description: >- + This endpoint allows users to inspect an atomic swap hex to verify the + validity of the offer. + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + swapHex: + type: string + required: + - swapHex + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - swapHex: >- + 010000000184c5740d26e45e7d3574f51bc57346bdec86478669c4a4c90252acaa7a69353d000000006b483045022100876446ffa4fb4dbe362f00adca8d13c5010e5ef5dbfc3f261849fe267352bb2202201b367635c117cd1ce002033a12e115a56be5fa8f59cdaa2ed15f8ed683d23f6dc3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + example2: + value: + dataArray: + - swapHex: >- + 0100000001c5a3b200dce3761303df00166b7f424987ba7bce0ca2806ccfd6c0492fd43b98000000006a47304402201a289a73ca3c3e3dd183193c9c52fd1cbd1607d31769879b56da5eadd00071810220296232d51d8591406848eb4a7ee7dd246403de69237afbab687f0bc84e6354cbc3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + - swapHex: >- + 0100000001b0619eea04bf5f1f765097cbbe2fad314dc6cedebedfe45e97bd30e261008820000000006a473044022075b1b3d916dc32bd7b4dd13e1681e5cb68944331a515ea5d169eb665f032617b022050d287f19c63d0b99a78af62ba580c4574b43373db134b9fc9cb157b9156d882c3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + offerDetails: + type: array + items: + type: object + properties: + address: + type: string + protocol: + type: string + enum: + - STAS50 + - STASFT + - STASAPPEND + - BSV + - STAS + - STAS-50 + - STAS-20 + - STAS-789 + amount: + type: number + minimum: 0 + verified: + type: boolean + nullable: true + spent: + type: boolean + nullable: true + tokenId: + type: string + nullable: true + sn: + type: number + image: + type: string + nullable: true + tokenSymbol: + type: string + nullable: true + contractTxid: + type: string + nullable: true + name: + type: string + nullable: true + tokenSupply: + type: number + nullable: true + redeemAddress: + type: string + nullable: true + splittable: + type: boolean + satsPerToken: + type: number + minimum: 0 + wantedProtocol: + type: string + enum: + - STAS50 + - STASFT + - STASAPPEND + - BSV + - STAS + - STAS-50 + - STAS-20 + - STAS-789 + wantedAmount: + type: number + minimum: 0 + wantedTokenId: + type: string + nullable: true + wantedSn: + type: number + wantedName: + type: string + nullable: true + wantedTokenSplittable: + type: boolean + nullable: true + required: + - address + - protocol + - amount + - wantedProtocol + - wantedAmount + minItems: 1 + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Offer details fetched successfully + offerDetails: + - address: 12fKJzMbsMW6HxAsCMsrL4jrxC2p8umDGf + protocol: STAS + amount: 1 + verified: true + spent: false + tokenId: >- + 7791e1839f705e2813ec744a15fd10d355ff99b2-SBPTEST12345 + sn: 0 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + tokenSymbol: SBPTEST12345 + contractTxid: >- + a29f4948fd8c17d2e9be8e21f7312dcbcafe2f65b0eb4f0bf4d261a3e3a13c8c + name: Store Bonus Points + tokenSupply: 5 + redeemAddress: 7791e1839f705e2813ec744a15fd10d355ff99b2 + splittable: true + satsPerToken: 1 + wantedProtocol: BSV + wantedAmount: 1 + example2: + value: + statusCode: 200 + data: + status: success + msg: Offer details fetched successfully + offerDetails: + - address: 12fKJzMbsMW6HxAsCMsrL4jrxC2p8umDGf + protocol: STAS + amount: 1 + verified: true + spent: false + tokenId: >- + 7791e1839f705e2813ec744a15fd10d355ff99b2-SBPTEST12345 + sn: 0 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + tokenSymbol: SBPTEST12345 + contractTxid: >- + a29f4948fd8c17d2e9be8e21f7312dcbcafe2f65b0eb4f0bf4d261a3e3a13c8c + name: Store Bonus Points + tokenSupply: 5 + redeemAddress: 7791e1839f705e2813ec744a15fd10d355ff99b2 + splittable: true + satsPerToken: 1 + wantedProtocol: BSV + wantedAmount: 1 + - address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + protocol: STAS + amount: 1 + verified: true + spent: false + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + sn: 5 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + tokenSymbol: WDG + contractTxid: >- + e24cd3c552d71c2dd8513cdeac81a6d2ca48a055f73cbc58d118a33f037c9ca1 + name: White Dragon + tokenSupply: 123 + redeemAddress: 7791e1839f705e2813ec744a15fd10d355ff99b2 + splittable: false + wantedProtocol: BSV + wantedAmount: 2.5e-7 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v2/issue: + post: + summary: Mint a Token. + tags: + - Smart Contracts + description: >- + Mint a token with given specifications (can be both token or NFT). More + on docs.relysia.com. + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + protocolId: + type: string + default: STAS + symbol: + type: string + description: + type: string + image: + type: string + tokenSupply: + type: number + minimum: 1 + default: 3 + decimals: + type: number + default: 0 + nullable: true + minimum: 0 + maximum: 8 + satsPerToken: + type: number + default: 1 + minimum: 0 + properties: + type: object + properties: + legal: + type: object + properties: + terms: + type: string + default: >- + STAS, Inc. retains all rights to the token script. + Use is subject to terms at + https://stastoken.com/license. + nullable: true + licenceId: + type: string + default: stastoken.com + nullable: true + nullable: true + issuer: + type: object + properties: + organisation: + type: string + default: Vaionex Corp. + nullable: true + legalForm: + type: string + default: Limited + nullable: true + governingLaw: + type: string + default: US + nullable: true + issuerCountry: + type: string + default: US + nullable: true + jurisdiction: + type: string + default: US + nullable: true + email: + type: string + default: info@vaionex.com + nullable: true + nullable: true + meta: + type: object + properties: + schemaId: + type: string + default: STAS1.0 + nullable: true + website: + type: string + default: vaionex.com + nullable: true + legal: + type: object + properties: + terms: + type: string + default: Your token terms and description. + nullable: true + nullable: true + media: + type: array + items: + type: object + properties: + URI: + type: string + nullable: true + type: + type: string + nullable: true + altURI: + type: string + nullable: true + nullable: true + nullable: true + nullable: true + nullable: true + splitable: + type: boolean + default: 'true' + nullable: true + data: + type: object + additionalProperties: true + default: {} + nftMetadataSerialNumberStart: + type: number + nullable: true + nftMetadataTotalSupply: + type: number + nullable: true + required: + - name + - symbol + - image + - description + - satsPerToken + - tokenSupply + examples: + example1: + value: + name: Store Bonus Points + symbol: SBP + description: A supermarket bonus point. + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + tokenSupply: 3 + decimals: 0 + satsPerToken: 1 + properties: + legal: + terms: >- + STAS, Inc. retains all rights to the token script. Use + is subject to terms at https://stastoken.com/license. + licenceId: stastoken.com + issuer: + organisation: Vaionex Corp. + legalForm: Limited + governingLaw: US + issuerCountry: US + jurisdiction: US + email: info@vaionex.com + meta: + schemaId: STAS1.0 + website: vaionex.com + legal: + terms: Your token terms and description. + media: + - URI: string + type: string + altURI: string + splitable: true + data: {} + example2: + value: + name: Store Bonus Points + symbol: SBP + description: A supermarket bonus point. + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + tokenSupply: 3 + decimals: 0 + satsPerToken: 1 + properties: + legal: + terms: >- + STAS, Inc. retains all rights to the token script. Use + is subject to terms at https://stastoken.com/license. + licenceId: stastoken.com + issuer: + organisation: Vaionex Corp. + legalForm: Limited + governingLaw: US + issuerCountry: US + jurisdiction: US + email: info@vaionex.com + meta: + schemaId: STAS1.0 + website: vaionex.com + legal: + terms: Your token terms and description. + media: + - URI: string + type: string + altURI: string + splitable: true + data: + data1: + - data1 + - data2 + data2: + - data1 + - data2 + required: true + parameters: + - schema: + type: string + in: header + name: protocol + required: false + - schema: + type: boolean + default: 'false' + in: header + name: reminting + required: false + - schema: + type: string + in: header + name: walletID + required: false + - schema: + type: string + default: NFT + in: header + name: type + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + tokenId: + type: string + tokenObj: + type: object + properties: + userId: + type: string + serviceId: + type: string + nullable: true + symbol: + type: string + name: + type: string + description: + type: string + image: + type: string + totalSupply: + type: number + minimum: 1 + satsPerToken: + type: number + minimum: 0 + decimals: + type: number + nullable: true + properties: + type: object + properties: + legal: + type: object + properties: + terms: + type: string + default: >- + STAS, Inc. retains all rights to the token + script. Use is subject to terms at + https://stastoken.com/license. + nullable: true + licenceId: + type: string + default: stastoken.com + nullable: true + nullable: true + issuer: + type: object + properties: + organisation: + type: string + default: Vaionex Corp. + nullable: true + legalForm: + type: string + default: Limited + nullable: true + governingLaw: + type: string + default: US + nullable: true + issuerCountry: + type: string + default: US + nullable: true + jurisdiction: + type: string + default: US + nullable: true + email: + type: string + default: info@vaionex.com + nullable: true + nullable: true + meta: + type: object + properties: + schemaId: + type: string + default: STAS1.0 + nullable: true + website: + type: string + default: vaionex.com + nullable: true + legal: + type: object + properties: + terms: + type: string + default: Your token terms and description. + nullable: true + nullable: true + media: + type: array + items: + type: object + properties: + URI: + type: string + nullable: true + type: + type: string + nullable: true + altURI: + type: string + nullable: true + nullable: true + nullable: true + nullable: true + nullable: true + splittable: + type: boolean + protocolId: + type: string + contractTxid: + type: string + issueTxid: + type: string + contractAddress: + type: string + contractPublickey: + type: string + splitable: + type: boolean + required: + - userId + - symbol + - name + - description + - image + - totalSupply + - satsPerToken + - splittable + - protocolId + - contractTxid + - issueTxid + - contractAddress + - contractPublickey + - splitable + required: + - status + - msg + - tokenId + - tokenObj + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Token created successfully. + tokenId: cb75d56ad85630475ca4af078dcbf37828970d8d-HELLO12344 + tokenObj: + userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + symbol: HELLO12344 + name: Store Bonus Points + description: A supermarket bonus point. + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + totalSupply: 3 + satsPerToken: 1 + decimals: 0 + properties: + legal: + terms: >- + STAS, Inc. retains all rights to the token script. + Use is subject to terms at + https://stastoken.com/license. + licenceId: stastoken.com + issuer: + organisation: Vaionex Corp. + legalForm: Limited + governingLaw: US + issuerCountry: US + jurisdiction: US + email: info@vaionex.com + meta: + schemaId: STAS1.0 + website: vaionex.com + legal: + terms: Your token terms and description. + media: + - URI: string + type: string + altURI: string + splittable: true + protocolId: STAS + contractTxid: >- + ec376960b7cf25ae846338253e403082fe5f4bc76d06ad547bf03403ee4403b5 + issueTxid: >- + e3dcb8dfee84a7a510b1b073d7b1b773ac61749370e51a6dbe38d8171213d36f + contractAddress: 1KYoLAjrtNGULBHvPy1fT6T5xwqtcFQ4yA + contractPublickey: >- + 02e8f852e5015f8f12c228992a84b3b70c6789630b9ebef70529b802061db7a42f + splitable: true + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v2/send: + post: + summary: Transfer coins to an address. + tags: + - Transactions + description: >- + Use the /send endpoint to create transactions to peers. The /send + endpoint is agnostic to sending either Tokens or BSV. + requestBody: + content: + application/json: + schema: + type: object + properties: + bundle: + type: boolean + default: true + nullable: true + txPayloads: + type: array + items: + type: object + properties: + to: + type: string + amount: + type: number + minimum: 1.e-8 + notes: + type: string + nullable: true + sn: + type: number + nullable: true + minimum: 0 + tokenId: + type: string + nullable: true + data: + type: array + nullable: true + items: + type: string + required: + - to + - amount + minItems: 1 + required: + - txPayloads + examples: + example1: + value: + txPayloads: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 0.000005 + example2: + value: + txPayloads: + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + example3: + value: + txPayloads: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 0.000005 + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 0.000005 + notes: test + example4: + value: + txPayloads: + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 5 + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 3 + notes: test + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 3 + notes: test + data: + - test1 + - test2 + example5: + value: + bundle: false + txPayloads: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 1.e-7 + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 1.e-7 + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Operation completed successfully + content: + application/json: + schema: + description: Operation completed successfully + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + msg: + type: string + transactionCount: + type: number + minimum: 1 + successCount: + type: number + failedCount: + type: number + transactions: + type: array + items: + type: object + properties: + statusCode: + type: number + enum: + - 200 + - 400 + - 500 + - 207 + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txId: + type: string + required: + - transactionCount + - failedCount + - successCount + - transactions + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + transactionCount: 1 + successCount: 1 + failedCount: 0 + transactions: + - statusCode: 200 + status: success + msg: Operation completed successfully + txId: >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + example2: + value: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + transactionCount: 2 + successCount: 2 + failedCount: 0 + transactions: + - statusCode: 200 + status: success + msg: Operation completed successfully + txId: >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + - statusCode: 200 + status: string + msg: string + txId: >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + '207': + description: Operation completed with partial success + content: + application/json: + schema: + description: Operation completed with partial success + type: object + properties: + statusCode: + type: number + enum: + - 207 + data: + type: object + properties: + status: + type: string + enum: + - partial success + msg: + type: string + transactionCount: + type: number + minimum: 2 + successCount: + type: number + minimum: 1 + failedCount: + type: number + minimum: 1 + transactions: + type: array + items: + type: object + properties: + statusCode: + type: number + enum: + - 200 + - 400 + - 500 + - 207 + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txId: + type: string + nullable: true + required: + - msg + - failedCount + - successCount + - transactions + - transactionCount + example: + statusCode: 207 + data: + status: partial success + msg: Operation completed with partial success + transactionCount: 2 + successCount: 1 + failedCount: 1 + transactions: + - statusCode: 200 + status: success + msg: Operation completed successfully + txId: >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + - statusCode: 500 + status: error + msg: Operation failed + txId: >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + '500': + description: Operation failed + content: + application/json: + schema: + description: Operation failed + type: object + properties: + statusCode: + type: number + enum: + - 200 + - 400 + - 500 + - 207 + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + transactionCount: + type: number + minimum: 1 + successCount: + type: number + enum: + - 0 + failedCount: + type: number + minimum: 1 + transactions: + type: array + minItems: 1 + items: + type: object + properties: + statusCode: + type: string + enum: + - 200 + - 400 + - 500 + - 207 + status: + type: string + enum: + - error + msg: + type: string + required: + - msg + - status + example: + statusCode: 500 + data: + status: error + msg: Operation failed + transactionCount: 1 + successCount: 0 + failedCount: 1 + transactions: + - statusCode: 500 + status: string + msg: string + txId: null + /v1/plan/{serviceType}/activate: + post: + tags: + - quota + requestBody: + content: + application/json: + schema: + type: object + properties: + chargeFrom: + type: string + serviceId: + type: string + required: + - serviceId + example: + serviceId: f1a4b3c2-1a2b-3a4b-5a6b-7a8b9c0d1e2f + required: true + parameters: + - schema: + type: string + in: path + name: serviceType + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + data: + type: object + properties: + serviceId: + type: string + plan: + type: object + properties: + serviceType: + type: string + cost: + type: number + minimum: 0 + apiCallLimit: + type: number + minimum: 0 + feeManagerFundPerMonth: + type: number + minimum: 0 + unavailableApiList: + type: object + additionalProperties: + type: number + minimum: 0 + nullable: true + projectLimit: + type: number + minimum: 0 + nullable: true + serviceFeeManagerFillingLimit: + type: number + minimum: 0 + createdBy: + type: string + required: + - serviceType + - cost + - apiCallLimit + - feeManagerFundPerMonth + - serviceFeeManagerFillingLimit + - createdBy + usage: + type: object + properties: + apiCallUsage: + type: number + unavailableApiList: + type: object + additionalProperties: + type: number + nullable: true + projectUsage: + type: number + nullable: true + projects: + type: array + items: + type: string + nullable: true + nullable: true + required: + - serviceId + - plan + required: + - status + - msg + - data + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Plan activated successfully + data: + serviceId: 48fa916b-9a71-4e8c-a6ab-e8892418da52 + plan: + serviceType: free + cost: 0 + apiCallLimit: 10000 + feeManagerFundPerMonth: 0.1 + unavailableApiList: + /upload: 0 + /v1/offer: 0 + /v1/swap: 0 + /v1/issue: 3 + projectLimit: 0 + serviceFeeManagerFillingLimit: 0 + createdBy: gtgd4e5JMhT5O09F0EEBR8vW5rq1 + usage: + apiCallUsage: 0 + unavailableApiList: + /upload: 0 + /v1/offer: 0 + /v1/swap: 0 + /v1/issue: 3 + projectUsage: 0 + projects: [] + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/plan/quota: + put: + tags: + - quota + requestBody: + content: + application/json: + schema: + type: object + properties: + serviceType: + type: string + serviceId: + type: string + required: + - serviceId + - serviceType + example: + serviceType: free + serviceId: 5f7b1b1b-5f7b-1b1b-5f7b-1b1b5f7b1b1b + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Plan updated successfully + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/plan/deactivate: + put: + tags: + - quota + requestBody: + content: + application/json: + schema: + type: object + properties: + serviceId: + type: string + required: + - serviceId + example: + serviceId: 5f7b1b1b-5f7b-1b1b-5f7b-1b1b5f7b1b1b + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Plan deactivated successfully + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /admin/v1/setup: + post: + tags: + - admin + requestBody: + content: + application/json: + schema: + type: object + properties: + projectName: + type: string + db_store_mode: + type: string + type: + type: string + paymailDomain: + type: string + firebaseConfig: + type: object + properties: + apiKey: + type: string + authDomain: + type: string + databaseURL: + type: string + projectId: + type: string + storageBucket: + type: string + messagingSenderId: + type: string + appId: + type: string + measurementId: + type: string + additionalProperties: true + legal: + type: object + properties: + organisation: + type: string + legalForm: + type: string + governingLaw: + type: string + mailingAddress: + type: string + issuerCountry: + type: string + jurisdiction: + type: string + email: + type: string + additionalProperties: true + primaryDatabase: + type: string + supabaseConfig: + type: object + properties: + supabaseUrl: + type: string + supabaseKey: + type: string + additionalProperties: true + examples: + example1: + value: + projectName: vaionex production + db_store_mode: SHARED + type: FEE_MANAGER + paymailDomain: example.com + firebaseConfig: + apiKey: AIzaSyDiAjG-example-1234566_cW + authDomain: example.firebaseapp.com + databaseURL: https://example.firebaseio.com + projectId: example + storageBucket: example.appspot.com + messagingSenderId: '540114563587' + appId: 1:123456872:web:d24d9c3d71a38519as45sj788526 + measurementId: G-M2K6YG42T2 + legal: + organisation: vaionex corp. + legalForm: limited + governingLaw: US + mailingAddress: 1234 Newark, Delaware, USA + issuerCountry: US + jurisdiction: US + email: info@example.com + primaryDatabase: FIREBASE + supabaseConfig: null + example2: + value: + projectName: vaionex production + db_store_mode: SHARED + type: FEE_MANAGER + paymailDomain: example.com + firebaseConfig: null + legal: + organisation: vaionex corp. + legalForm: limited + governingLaw: US + mailingAddress: 1234 Newark, Delaware, USA + issuerCountry: US + jurisdiction: US + email: info@example.com + primaryDatabase: SUPABASE + supabaseConfig: + supabaseUrl: https://examples.supabase.co + supabaseKey: your access key... + security: + - authToken: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + serviceId: + type: string + required: + - status + - msg + - serviceId + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Setup added successfully + serviceId: 89a54d0b-6907-4e5b-9e5f-c2e72a1f5e34 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /admin/v1/setup/{serviceId}: + get: + tags: + - admin + parameters: + - schema: + type: string + in: path + name: serviceId + required: true + security: + - authToken: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + serviceId: + type: string + additionalProperties: true + required: + - status + - msg + - serviceId + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + msg: operation completed successfully ! + serviceId: d0b67a32-a314-4375-aab5-724bbba342e6 + firebaseConfig: + apiKey: AIzaSyDiAjG-example-1234566_cW + authDomain: example.firebaseapp.com + databaseURL: https://example.firebaseio.com + projectId: example + storageBucket: example.appspot.com + messagingSenderId: '540114563587' + appId: 1:123456872:web:d24d9c3d71a38519as45sj788526 + measurementId: G-M2K6YG42T2 + tokenConfig: + organisation: vaionex corp. + legalForm: limited + governingLaw: US + mailingAddress: 1234 Newark, Delaware, USA + issuerCountry: US + jurisdiction: US + email: info@example.com + userId: gtgd4e5JMhT5O09F0EEBR8vW5rq1 + domain: relysia-dev-infrastructure.com + creationDate: 1685960279 + updationDate: 1685960279 + type: 0 + projectName: vaionex dev 2 + serviceIdRef: d0b67a32-a314-4375-aab5-724bbba342e6 + serviceIdStatus: 0 + primaryDatabase: FIREBASE + supabaseConfig: null + example2: + value: + statusCode: 200 + data: + msg: operation completed successfully ! + serviceId: d0b67a32-a314-4375-aab5-724bbba342e6 + firebaseConfig: null + tokenConfig: + organisation: vaionex corp. + legalForm: limited + governingLaw: US + mailingAddress: 1234 Newark, Delaware, USA + issuerCountry: US + jurisdiction: US + email: info@example.com + userId: gtgd4e5JMhT5O09F0EEBR8vW5rq1 + domain: relysia-dev-infrastructure.com + creationDate: 1685960279 + updationDate: 1685960279 + type: 0 + projectName: vaionex dev 2 + serviceIdRef: d0b67a32-a314-4375-aab5-724bbba342e6 + serviceIdStatus: 0 + primaryDatabase: SUPABASE + supabaseConfig: + supabaseUrl: https://example.supabase.co + supabaseKey: eyJhbGciOiJIUzI1NiIExample + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + put: + tags: + - admin + requestBody: + content: + application/json: + schema: + type: object + properties: + projectName: + type: string + db_store_mode: + type: string + type: + type: string + paymailDomain: + type: string + firebaseConfig: + type: object + properties: + apiKey: + type: string + authDomain: + type: string + databaseURL: + type: string + projectId: + type: string + storageBucket: + type: string + messagingSenderId: + type: string + appId: + type: string + measurementId: + type: string + additionalProperties: true + legal: + type: object + properties: + organisation: + type: string + legalForm: + type: string + governingLaw: + type: string + mailingAddress: + type: string + issuerCountry: + type: string + jurisdiction: + type: string + email: + type: string + additionalProperties: true + supabaseConfig: + type: object + properties: + supabaseUrl: + type: string + supabaseKey: + type: string + additionalProperties: true + examples: + example1: + value: + projectName: vaionex production 1 + db_store_mode: DEDICATED + type: CLASSIC_MODE + paymailDomain: example.com + firebaseConfig: + apiKey: AIzaSyDiAjG-example-1234566_cW + authDomain: example.firebaseapp.com + databaseURL: https://example.firebaseio.com + projectId: example + storageBucket: example.appspot.com + messagingSenderId: '540114563587' + appId: 1:123456872:web:d24d9c3d71a38519as45sj788526 + measurementId: G-M2K6YG42T2 + legal: + organisation: vaionex corp. + legalForm: limited + governingLaw: US + mailingAddress: 1234 Newark, Delaware, USA + issuerCountry: US + jurisdiction: US + email: info@example.com + example2: + value: + projectName: vaionex production 1 + db_store_mode: DEDICATED + type: CLASSIC_MODE + paymailDomain: example.com + legal: + organisation: vaionex corp. + legalForm: limited + governingLaw: US + mailingAddress: 1234 Newark, Delaware, USA + issuerCountry: US + jurisdiction: US + email: info@example.com + supabaseConfig: + supabaseUrl: https://example.supabase.co + supabaseKey: an api keys + parameters: + - schema: + type: string + in: path + name: serviceId + required: true + security: + - authToken: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + serviceId: + type: string + required: + - status + - msg + - serviceId + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Setup updated successfully + serviceId: 53082017-fc5b-429d-87d4-cdf69b0d7b3d + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + delete: + tags: + - admin + parameters: + - schema: + type: string + in: path + name: serviceId + required: true + security: + - authToken: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + serviceId: + type: string + required: + - status + - msg + - serviceId + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: operation completed successfully ! + serviceId: d0b67a32-a314-4375-aab5-724bbba342e6 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /admin/v1/setup/serviceIds: + get: + tags: + - admin + security: + - authToken: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + serviceIds: + type: array + items: + type: string + minItems: 1 + required: + - status + - msg + - serviceIds + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: operation completed successfully ! + serviceIds: + - d0b67a32-a314-4375-aab5-724bbba342e6 + - 53082017-fc5b-429d-87d4-cdf69b0d7b3d + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /admin/v1/metrics: + post: + tags: + - admin + requestBody: + content: + application/json: + schema: + type: object + properties: + walletId: + type: string + userId: + type: string + required: + - walletId + - userId + example: + walletId: 5f7b1b1b-5f7b-1b1b-5f7b-1b1b5f7b1b1b + userId: 5f7f1b9b9b9b9b9b9b9b9b9b + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + data: + type: object + properties: + balance: + type: number + minimum: 0 + userUtxos: + type: array + items: + type: object + properties: + userId: + type: string + walletId: + type: string + script: + type: string + tx_pos: + type: number + minimum: 0 + address: + type: string + path: + type: string + tx_hash: + type: string + value: + type: number + minimum: 0 + serviceId: + type: string + nullable: true + required: + - userId + - walletId + - script + - tx_pos + - address + - path + - tx_hash + - value + minItems: 0 + required: + - balance + - userUtxos + required: + - status + - msg + - data + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: UTXO state updated successfully + data: + balance: 6078 + userUtxos: + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914ee31f7eae549febdffc53a995bdee8ff0ba2300688ac + tx_pos: 0 + address: 1NiTgXKyS4oS3fyzHp6PryeBvc6FMJDW12 + path: m/44'/0'/0'/0/0 + tx_hash: >- + 43f7f41c0ff873f3b576894fc3c7626a187258cd838f36062f54bc3b14fe3620 + value: 25 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914ee31f7eae549febdffc53a995bdee8ff0ba2300688ac + tx_pos: 1 + address: 1NiTgXKyS4oS3fyzHp6PryeBvc6FMJDW12 + path: m/44'/0'/0'/0/0 + tx_hash: >- + 43f7f41c0ff873f3b576894fc3c7626a187258cd838f36062f54bc3b14fe3620 + value: 481 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914d703dafb29efd43caad53e9f1bcb924e6546694e88ac + tx_pos: 1 + address: 1Lbtu82Jm9poEdgKB3HsTDWS9YSC91Hpny + path: m/44'/0'/0'/0/1 + tx_hash: >- + 76d79ad05cfeb4068535377cdff0113a084b084e936b7751c39895587be41d3d + value: 4933 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a91498de3990604e4fe330f65e6b0125243eb909d1dd88ac + tx_pos: 0 + address: 1EwHvcWDjWcBGBXJLae8k4dsaVo8QKsqCP + path: m/44'/0'/0'/0/4 + tx_hash: >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + value: 1 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a91447431db9649fd75c28834cb152f17cc8ea7fa11f88ac + tx_pos: 1 + address: 17VoNvtJjD19ctL5Ue3GJzzskbtXeNL4Nt + path: m/44'/0'/0'/0/8 + tx_hash: >- + 8a7e73066f07eacab9cbe9edd45d1857f589ef0c8bd725e5010962cfb9198e4e + value: 404 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a91477cb578d9fab608a794871e6c994c6ff2e55a70788ac + tx_pos: 1 + address: 1BvR1H8Bu1rRYwDWEVLoZJa37R3z19qzrK + path: m/44'/0'/0'/0/10 + tx_hash: >- + 0849c24ecb4a30c60c1bb1ec5f557d60642bb6c6d2eeb5a30ee7c9f92c88572f + value: 174 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a91477cb578d9fab608a794871e6c994c6ff2e55a70788ac + tx_pos: 1 + address: 1BvR1H8Bu1rRYwDWEVLoZJa37R3z19qzrK + path: m/44'/0'/0'/0/10 + tx_hash: >- + cf9b899bfba8d6f8a4302e747a78635cc1328a76826ac7d7d31347bb39ba486d + value: 49 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914aff862161039bc97895c6f515e629c6ece4943b188ac + tx_pos: 0 + address: 1H3SoXyeKv4mNNForRaPV8Fkzwdu55yx2b + path: m/44'/0'/0'/0/14 + tx_hash: >- + 4ee029b35a30bafbcab3a08661dc286d3c5ce9f98a1734d1163c86aabe68c7d8 + value: 1 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914aff862161039bc97895c6f515e629c6ece4943b188ac + tx_pos: 0 + address: 1H3SoXyeKv4mNNForRaPV8Fkzwdu55yx2b + path: m/44'/0'/0'/0/14 + tx_hash: >- + f123456b9d6ee63c93b2a5afa264298efc6f0bb8cd400d5aa03d037eb1c9ae56 + value: 2 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914aff862161039bc97895c6f515e629c6ece4943b188ac + tx_pos: 1 + address: 1H3SoXyeKv4mNNForRaPV8Fkzwdu55yx2b + path: m/44'/0'/0'/0/14 + tx_hash: >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + value: 1 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914e54a77f2eaffb502d4af119436e9b7982707f07288ac + tx_pos: 1 + address: 1MuNx6Vm2oE4oU9iDRLr7ebAiv196DQBzh + path: m/44'/0'/0'/0/17 + tx_hash: >- + 9ecbb4771c9e91e1f6a162d5dd3e808e57e43eedebb499f1096cb8d6813951b5 + value: 4 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914e54a77f2eaffb502d4af119436e9b7982707f07288ac + tx_pos: 1 + address: 1MuNx6Vm2oE4oU9iDRLr7ebAiv196DQBzh + path: m/44'/0'/0'/0/17 + tx_hash: >- + fb6c046fa87d963b2e35beb06e1c21b443cbf7b7f684fd4f733fa68f6ecde672 + value: 3 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /admin/v1/tokenMetrics: + post: + tags: + - admin + requestBody: + content: + application/json: + schema: + type: object + properties: + userId: + type: string + walletId: + type: string + required: + - userId + - walletId + example: + walletId: 5f7b1b1b-5f7b-1b1b-5f7b-1b1b5f7b1b1b + userId: 5f7f1b9b9b9b9b9b9b9b9b9b + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: migration started successfully + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /admin/v1/plans: + post: + tags: + - admin + requestBody: + content: + application/json: + schema: + type: object + properties: + serviceType: + type: string + cost: + type: number + minimum: 0 + apiCallLimit: + type: number + minimum: 0 + feeManagerFundPerMonth: + type: number + minimum: 0 + unavailableApiList: + type: object + additionalProperties: + type: number + minimum: 0 + nullable: true + projectLimit: + type: number + nullable: true + minimum: 0 + serviceFeeManagerFillingLimit: + type: number + minimum: 0 + required: + - serviceType + - cost + - apiCallLimit + - feeManagerFundPerMonth + - serviceFeeManagerFillingLimit + examples: + example1: + value: + serviceType: free + cost: 0 + apiCallLimit: 10000 + feeManagerFundPerMonth: 0.1 + unavailableApiList: + /upload: 0 + /v1/offer: 0 + /v1/swap: 0 + /v1/issue: 3 + projectLimit: 0 + serviceFeeManagerFillingLimit: 0 + example2: + value: + serviceType: unlimited + cost: 30 + apiCallLimit: 1000000 + feeManagerFundPerMonth: 10 + unavailableApiList: + /v1/offer: 0 + /v1/swap: 0 + projectLimit: 2 + serviceFeeManagerFillingLimit: 1 + example3: + value: + serviceType: business + cost: 120 + apiCallLimit: 3000000 + feeManagerFundPerMonth: 20 + unavailableApiList: {} + projectLimit: 30 + serviceFeeManagerFillingLimit: 40 + required: true + security: + - authToken: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + createPlanData: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - createPlanData + example: + statusCode: 200 + createPlanData: + status: success + msg: Plan created successfully + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /admin/v1/plans/{serviceType}: + put: + tags: + - admin + requestBody: + content: + application/json: + schema: + type: object + properties: + cost: + type: number + nullable: true + minimum: 0 + apiCallLimit: + type: number + nullable: true + minimum: 0 + feeManagerFundPerMonth: + type: number + nullable: true + minimum: 0 + unavailableApiList: + type: object + additionalProperties: + type: number + minimum: 0 + nullable: true + projectLimit: + type: number + nullable: true + minimum: 0 + serviceFeeManagerFillingLimit: + type: number + nullable: true + minimum: 0 + example: + cost: 0 + apiCallLimit: 10000 + feeManagerFundPerMonth: 0 + unavailableApiList: + api1: 1000 + projectLimit: 1 + serviceFeeManagerFillingLimit: 1000 + parameters: + - schema: + type: string + in: path + name: serviceType + required: true + security: + - authToken: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + updatedPlanData: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - updatedPlanData + example: + statusCode: 200 + updatedPlanData: + status: success + msg: Plan updated successfully + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + delete: + tags: + - admin + parameters: + - schema: + type: string + in: path + name: serviceType + required: true + security: + - authToken: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + deletedPlanData: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - deletedPlanData + example: + statusCode: 200 + deletedPlanData: + status: success + msg: Plan deleted successfully + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + get: + tags: + - admin + parameters: + - schema: + type: string + in: path + name: serviceType + required: true + security: + - authToken: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + planData: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + data: + type: object + properties: + serviceType: + type: string + cost: + type: string + apiCallLimit: + type: string + feeManagerFundPerMonth: + type: string + unavailableApiList: + type: string + nullable: true + projectLimit: + type: string + nullable: true + serviceFeeManagerFillingLimit: + type: string + createdBy: + type: string + required: + - serviceType + - cost + - apiCallLimit + - feeManagerFundPerMonth + - serviceFeeManagerFillingLimit + - createdBy + required: + - status + - msg + - data + required: + - statusCode + - planData + example: + statusCode: 200 + planData: + status: success + msg: Plan created successfully + data: + serviceType: free + cost: '0' + apiCallLimit: '10000' + feeManagerFundPerMonth: '0.1' + unavailableApiList: '{"/upload":0,"/v1/offer":0,"/v1/swap":0,"/v1/issue":3}' + projectLimit: '0' + serviceFeeManagerFillingLimit: '0' + createdBy: gtgd4e5JMhT5O09F0EEBR8vW5rq1 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /admin/v1/plan/list: + get: + tags: + - admin + description: Get list of available plans and their details also + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + planListData: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + data: + type: array + items: + type: object + properties: + serviceType: + type: string + apiCallLimit: + type: string + feeManagerFundPerMonth: + type: string + unavailableApiList: + type: object + additionalProperties: + type: number + minimum: 0 + nullable: true + projectLimit: + type: string + nullable: true + serviceFeeManagerFillingLimit: + type: string + required: + - serviceType + - apiCallLimit + - feeManagerFundPerMonth + - serviceFeeManagerFillingLimit + nullable: true + required: + - status + - msg + - data + required: + - statusCode + - planListData + example: + statusCode: 200 + planListData: + status: success + msg: Plan list fetched successfully + data: + - serviceType: unlimited + apiCallLimit: '1000000' + feeManagerFundPerMonth: '10' + unavailableApiList: + /v1/offer: 0 + /v1/swap: 0 + projectLimit: '2' + serviceFeeManagerFillingLimit: '1' + - serviceType: free + apiCallLimit: '10000' + feeManagerFundPerMonth: '0.1' + unavailableApiList: + /upload: 0 + /v1/offer: 0 + /v1/swap: 0 + /v1/issue: 3 + projectLimit: '0' + serviceFeeManagerFillingLimit: '0' + - serviceType: business + apiCallLimit: '3000000' + feeManagerFundPerMonth: '20' + unavailableApiList: {} + projectLimit: '30' + serviceFeeManagerFillingLimit: '40' + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /upload: + post: + summary: Blockchain File Upload. + tags: + - Utility + description: >- + The /upload endpoint broadcasts a media file (supplied as URL) to the + blockchain (in B:// protocol format). + requestBody: + content: + application/json: + schema: + type: object + properties: + fileUrl: + type: string + fileName: + type: string + required: + - fileUrl + - fileName + example: + fileUrl: >- + https://firebasestorage.googleapis.com/v0/b/pay-button-vaionexdev/o/1KB.png?alt=media&token=73f89b38-32c2-4fbe-814e-e6774833b9ab + fileName: Relysia Test nft image size 1 kb. + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + uploadObj: + type: object + properties: + fileName: + type: string + fileType: + type: string + fileSize: + type: number + timeStamp: + type: string + format: date-time + txid: + type: string + address: + type: string + addressPath: + type: string + url: + type: string + required: + - fileName + - fileType + - fileSize + - timeStamp + - txid + - address + - addressPath + - url + required: + - status + - msg + - uploadObj + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: File uploaded successfully. + uploadObj: + fileName: Relysia Test nft image size 1 kb. + fileType: image + fileSize: 1121 + timeStamp: '2023-06-14T09:08:52.015Z' + txid: >- + b4e118004c8246e1e9a552fd2a98dca1196698cb0076c21085c4f8112addfabe + address: 1BuEAp4mjJdeDGcpw6XdvtA9fWmHNF2mMX + addressPath: m/44'/0'/0'/0/0 + url: >- + B://b4e118004c8246e1e9a552fd2a98dca1196698cb0076c21085c4f8112addfabe + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /post: + post: + summary: Post Messages to the Blockchain. + tags: + - Utility + description: >- + The /post endpoint broadcasts a note to the blockchain (in B:// protocol + format). + requestBody: + content: + application/json: + schema: + type: object + properties: + notes: + type: array + items: + type: string + minItems: 1 + maxItems: 100000 + required: + - notes + example: + notes: + - This is a test note. + - This is another test note. + - ... + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + deprecated: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txid: + type: string + required: + - status + - msg + - txid + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Transaction successfully broadcasted to the blockchain. + txid: >- + b7c1c08c89bc9105cf49199ef4c6ccde23df9fa5d5a720c8ec04d47b1c3436a1 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/bsvalias/id/{paymail}: + get: + tags: + - paymail + parameters: + - schema: + type: string + in: path + name: paymail + required: true + responses: + '200': + description: Default Response + /v1/bsvalias/address/{paymail}: + post: + tags: + - paymail + requestBody: + content: + application/json: + schema: + type: object + properties: + senderHandle: + type: string + dt: + type: string + signature: + type: string + amount: + type: number + purpose: + type: string + senderName: + type: string + required: + - dt + - senderHandle + required: true + parameters: + - schema: + type: string + in: path + name: paymail + required: true + - schema: + type: string + default: application/json + in: header + name: Content-Type + required: false + responses: + '200': + description: Default Response + /v1/bsvalias/verifypubkey/{paymail}/{pubkey}: + post: + tags: + - paymail + parameters: + - schema: + type: string + in: path + name: paymail + required: true + - schema: + type: string + in: path + name: pubkey + required: true + responses: + '200': + description: Default Response + /v1/bsvalias/receive-transaction/{paymail}: + post: + tags: + - paymail + requestBody: + content: + application/json: + schema: + type: object + properties: + hex: + type: string + reference: + type: string + metadata: + type: object + properties: + sender: + type: string + pubkey: + type: string + signature: + type: string + note: + type: string + required: + - hex + - reference + - metadata + required: true + parameters: + - schema: + type: string + in: path + name: paymail + required: true + responses: + '200': + description: Default Response + /v1/bsvalias/p2p-payment-destination/{paymail}: + post: + tags: + - paymail + requestBody: + content: + application/json: + schema: + type: object + properties: + satoshis: + type: number + required: + - satoshis + required: true + parameters: + - schema: + type: string + in: path + name: paymail + required: true + responses: + '200': + description: Default Response + /.well-known/bsvalias: + get: + tags: + - paymail + responses: + '200': + description: Default Response + servers: + - url: https://api.relysia.com + tags: + - name: Authentication + description: User Authentication and Registration. + externalDocs: + description: find more info about auth Api + url: https://docs.relysia.com/getting-started/setup + - name: Identity + description: User identity related APIs. + externalDocs: + description: find more info about user Api. + url: https://docs.relysia.com/getting-started/setup + - name: Wallets + description: Blockchain wallet management related APIs. + externalDocs: + description: 'Our Documentation:' + url: https://docs.relysia.com/wallets + - name: Transactions + description: Blockchain transaction related APIs. + externalDocs: + description: Our Documentation + url: https://docs.relysia.com/payments/transactions + - name: Smart Contracts + description: Token and Smart Contract related APIs. + externalDocs: + description: Our documentation + url: https://docs.relysia.com/token + - name: Utility + description: Useful blockchain tools. + externalDocs: + description: Our documentation + url: https://docs.relysia.com/utility + - name: paymail + description: BSV alias related APIs + - name: Notifications + description: Push Notifications. + - name: Delete + description: 'Danger Zone: Delete Entries from the DB.' + externalDocs: + description: Relysia Infrastructure Documentation + url: https://docs.relysia.com +konfigCliVersion: 1.38.34 diff --git a/sdks/db/fixed-specs-cache/rivery-fixed-spec.yaml b/sdks/db/fixed-specs-cache/rivery-fixed-spec.yaml new file mode 100644 index 000000000..e6843f841 --- /dev/null +++ b/sdks/db/fixed-specs-cache/rivery-fixed-spec.yaml @@ -0,0 +1,14180 @@ +publishJson: + company: Rivery + serviceName: false + sdkName: rivery-{language}-sdk + clientName: Rivery + metaDescription: >- + Whether you're building out your data stack or transitioning to the cloud, + managing your data workflows to analyze your business can be a real + challenge. + + + Developing an in-house solution requires valuable resources and upkeep, + while integrating several tools adds new layers of complexity. + + + Rivery's SaaS platform provides a fully-managed solution for data ingestion, + data transformation, data orchestration, reverse ETL and more, with built-in + support for your data operations development and deployment lifecycles. + + + Designed to be nimble for non-technical users and with advanced capabilities + for experts, Rivery enables you to manage data workflows as the foundation + of a modern data stack. + + + If you're looking to accelerate your time to value, get in touch today. + apiStatusUrls: inherit + homepage: rivery.io + developerDocumentation: api.rivery.io/documentation + categories: + - data_transformation + - data_sync +rawSpecString: | + openapi: 3.0.3 + info: + title: Rivery API + description: > + + # Rivery API documentation + + + Welcome to the Rivery API Documentation. + + + Using the Rivery API, you can automate any single or group operations you + perform in the Rivery console. + + You can create, execute, and delete Rivers, create DataFrames, automate + processes, and more. + + The Rivery API is structured around REST. It accepts JSON request bodies, + returns JSON responses, + + and employs conventional HTTP response codes, authentication, and verbs to + access and use data through HTTP requests. + + + Consult our [Legacy API](https://api-docs.rivery.io/) documentation. + + + Please [contact our Support team]( mailto:) if you have + any questions or concerns. + + + # Authorization + + ## Rivery API Token + + To generate a Bearer token, please check out [Rivery's + docs](https://docs.rivery.io/docs/rivery-api). + + + Every bearer token is a combination of account, environment, and scopes + attached. Every time the token is provided, + + the API compares its scopes with the request required scope. + + If the scope is not valid, an insufficient permissions (403) response code + returned. + + + ## Scopes + + A scope is defined as a combination of the entity in Rivery, and the + operation allowed to perform on the entity. + + + The entity can be any entity available via the API, for example - + connection. + + An operation can be one of specific operations allowed for each scope. For + example: list or edit. + + Therefore, listing connections scope will be set as `connection:list`. + + Please make sure the Bearer token is has the right scopes attached for all + of the needed requests. + contact: + name: Rivery Documentation + url: https://docs.rivery.io/ + email: contact@rivery.io + version: 1.0.0 + x-logo: + url: https://riveryio.wpengine.com/wp-content/uploads/2021/08/logo-main.svg + servers: + - url: https://api.rivery.io + description: US + - url: https://api.eu-west-1.rivery.io + description: EU + paths: + /v1/accounts/{account_id}/environments/{environment_id}/dataframes: + get: + tags: + - Dataframes + summary: Get Dataframes + description: |- + **Authorization scope:** `dataframe:list` + + **Get all dataframe entities from the DB** + operationId: list_dataframes + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - description: The number of items per page in the paginated list. + required: false + schema: + type: integer + maximum: 500 + minimum: 1 + title: Items Per Page + description: The number of items per page in the paginated list. + default: 20 + name: items_per_page + in: query + - description: The current page number in the paginated list. + required: false + schema: + type: integer + minimum: 1 + title: Page + description: The current page number in the paginated list. + default: 1 + name: page + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DataframePaginationResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + post: + tags: + - Dataframes + summary: Add Dataframe + description: |- + **Authorization scope:** `dataframe:write` + + **Creates a new dataframe entity.** + **** + **Please note that the Dataframe's name has to be unique** + operationId: add_dataframe + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DataframeAddInput' + required: true + responses: + '201': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DataframeResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/dataframes/{dataframe_name}: + get: + tags: + - Dataframes + summary: Get Dataframe + description: |- + **Authorization scope:** `dataframe:list` + + **Get a specific dataframe by name.** + operationId: get_dataframe + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: Dataframe Name + name: dataframe_name + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DataframeResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + put: + tags: + - Dataframes + summary: Update Dataframe + description: |- + **Authorization scope:** `dataframe:write` + + **Updates an existing dataframe entity. Please note that only the connecting_settings field can be modified** + operationId: update_dataframe + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: Dataframe Name + name: dataframe_name + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DataframeUpdateInput' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DataframeResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + delete: + tags: + - Dataframes + summary: Delete Dataframe + description: |- + **Authorization scope:** `dataframe:write` + + **Delete a dataframe.** + operationId: delete_dataframe + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: Dataframe Name + name: dataframe_name + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/dataframes/{dataframe_name}/download: + get: + tags: + - Dataframes + summary: Download Dataframe + description: |- + **Authorization scope:** `dataframe:list` + + **This endpoint creates a new task for downloading a dataframe.** + **** + **** + **Be advised: the task is an async operation, which means that** + **after creating the task, the client must call the endpoint GET** + **operation in order to get the result.** + operationId: download_dataframe + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: Dataframe Name + name: dataframe_name + in: path + responses: + '202': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/OperationResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/dataframes/{dataframe_name}/clear: + post: + tags: + - Dataframes + summary: Clear Dataframe Values + description: |- + **Authorization scope:** `dataframe:write` + + **This endpoint creates an asynchronous operation for clearing the** + **Dataframe's data.** + **.** + **** + **Please note - this is different from deleting the Dataframe,** + **which deletes both the Dataframe's data and configuration.** + operationId: clear_dataframe_values + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: Dataframe Name + name: dataframe_name + in: path + responses: + '202': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/OperationResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/activities_statistics: + get: + tags: + - Activities + summary: Get Activities Statistic + description: |- + **Authorization scope:** `activity:list` + + **Get environment's activity statistics.** + **** + **The statistics include how many units(RPU) were consumed, and how** + **many runs ended with each status.** + operationId: get_activities_statistic + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: Start Time + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: start_time + in: query + - description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: End Time + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: end_time + in: query + - description: A list of statuses to filter + required: false + schema: + items: + $ref: '#/components/schemas/ActivityStatusEnum' + type: array + description: A list of statuses to filter + name: status + in: query + - description: The ID of the group to filter + required: false + schema: + items: + type: string + type: array + title: Group Id + description: The ID of the group to filter + name: group_id + in: query + - description: >- + A flag that indicates whether the river is scheduled. If not set + then activities of all rivers will be returned + required: false + schema: + allOf: + - $ref: '#/components/schemas/ScheduleEnum' + description: >- + A flag that indicates whether the river is scheduled. If not set + then activities of all rivers will be returned + name: is_scheduled + in: query + - description: Get statistics for rivers that has the search query in their name + required: false + schema: + type: string + title: Search + description: Get statistics for rivers that has the search query in their name + name: search + in: query + - description: The river type + required: false + schema: + items: + $ref: '#/components/schemas/RiverTypeEnum' + type: array + description: The river type + name: river_type + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityStatisticResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_statistics: + get: + tags: + - Activities + summary: Get River Activities Statistic + description: |- + **Authorization scope:** `activity:list` + + **Get river's activity statistics (summary).** + **** + **The statistics include how many units(RPU) were consumed, and how** + **many runs ended with each status** + operationId: get_river_activities_statistic + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: Start Time + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: start_time + in: query + - description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: End Time + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: end_time + in: query + - required: false + schema: + items: + $ref: '#/components/schemas/ActivityStatusEnum' + type: array + name: status + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivityStatisticResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_targets: + get: + tags: + - Activities + summary: Get River Activities Targets + description: |- + **Authorization scope:** `activity:list` + + **Get river's activity targets (table names) in a specific time frame for** + **specific river and their status.** + **** + **This endpoint should be used for multi table rivers.** + operationId: get_river_activities_targets + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: Start Time + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: start_time + in: query + - description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: End Time + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: end_time + in: query + - description: Filter by the run group ID + required: false + schema: + type: string + title: Run Group Id + description: Filter by the run group ID + name: run_group_id + in: query + - description: Filter by the sub river ID + required: false + schema: + type: string + title: Sub River Id + description: Filter by the sub river ID + name: sub_river_id + in: query + - description: >- + A list of statuses. Only targets with those statuses will be + returned + required: false + schema: + items: + $ref: '#/components/schemas/ActivityStatusEnum' + type: array + description: >- + A list of statuses. Only targets with those statuses will be + returned + name: status + in: query + - description: Indicates by which parameter to sort the targets + required: false + schema: + allOf: + - $ref: '#/components/schemas/TargetsSortByEnum' + description: Indicates by which parameter to sort the targets + default: last_run + name: sort_by + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: desc + name: sort_order + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivityTargetResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_run_groups: + get: + tags: + - Activities + summary: List River Activities Run Groups + description: |- + **Authorization scope:** `activity:list` + + **Get list of run groups that occurred in a specific time** + **frame for specific river and their status.** + operationId: list_river_activities_run_groups + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: Start Time + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: start_time + in: query + - description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: End Time + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: end_time + in: query + - description: Filter by the target table name + required: false + schema: + type: string + title: Target Name + description: Filter by the target table name + name: target_name + in: query + - description: Filter by the sub river ID + required: false + schema: + type: string + title: Sub River Id + description: Filter by the sub river ID + name: sub_river_id + in: query + - description: >- + A list of statuses. Only run groups with this statuses will be + returned. + required: false + schema: + items: + $ref: '#/components/schemas/RunGroupStatusEnum' + type: array + description: >- + A list of statuses. Only run groups with this statuses will be + returned. + name: status + in: query + - description: Cache context id is an internal query parameter for cache purposes + required: false + schema: + type: string + title: Cache Context Id + description: Cache context id is an internal query parameter for cache purposes + name: cache_context_id + in: query + - required: false + schema: + type: integer + minimum: 1 + title: Page + default: 1 + name: page + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/RunGroupSortByEnum' + default: last_run + name: sort_by + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: desc + name: sort_order + in: query + - required: false + schema: + type: integer + maximum: 200 + minimum: 1 + title: Items Per Page + default: 50 + name: items_per_page + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivityRunGroupResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_run_groups/{run_group_id}: + get: + tags: + - Activities + summary: Get River Activities Run Groups + description: Get a specific run group id + operationId: get_river_activities_run_groups + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - required: true + schema: + type: string + title: Run Group Id + name: run_group_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivityRunGroupWithStatistics' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_sub_rivers: + get: + tags: + - Activities + summary: Get River Activities Sub Rivers + description: |- + **Authorization scope:** `activity:list` + + **Get list of sub rivers that ran in a specific time frame.** + **** + **Additional filters can be added such as target name or run group id.** + operationId: get_river_activities_sub_rivers + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: Start Time + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: start_time + in: query + - description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: End Time + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: end_time + in: query + - description: Filter by the target table name + required: false + schema: + type: string + title: Target Name + description: Filter by the target table name + name: target_name + in: query + - description: Filter by the run group ID + required: false + schema: + type: string + title: Run Group Id + description: Filter by the run group ID + name: run_group_id + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivitySubRiverResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs: + get: + tags: + - Activities + summary: Get River Activities Runs + description: |- + **Authorization scope:** `activity:list` + + **Get list of runs for a specific river in a specific time frame.** + **** + **This endpoint return information about the runs.** + operationId: list_river_activities_runs + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: Start Time + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: start_time + in: query + - description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: End Time + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: end_time + in: query + - description: Filter by the target table name + required: false + schema: + type: string + title: Target Name + description: Filter by the target table name + name: target_name + in: query + - description: Filter by the run group ID + required: false + schema: + type: string + title: Run Group Id + description: Filter by the run group ID + name: run_group_id + in: query + - description: Filter by the sub river ID + required: false + schema: + type: string + title: Sub River Id + description: Filter by the sub river ID + name: sub_river_id + in: query + - required: false + schema: + type: integer + minimum: 1 + title: Page + default: 1 + name: page + in: query + - required: false + schema: + type: integer + maximum: 200 + minimum: 1 + title: Items Per Page + default: 20 + name: items_per_page + in: query + - description: Indicates by which parameter to sort the runs + required: false + schema: + allOf: + - $ref: '#/components/schemas/RunsSortByEnum' + description: Indicates by which parameter to sort the runs + default: start_time + name: sort_by + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: desc + name: sort_order + in: query + - description: Cache context id is an internal query parameter for cache purposes + required: false + schema: + type: string + title: Cache Context Id + description: Cache context id is an internal query parameter for cache purposes + name: cache_context_id + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivityRunsResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}: + get: + tags: + - Activities + summary: Get River Activities Run + description: |- + **Authorization scope:** `activity:list` + + **Get a specific run details.** + operationId: get_river_activities_run + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - required: true + schema: + type: string + title: Run Id + name: run_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivityRun' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}/logic_steps: + get: + tags: + - Activities + summary: Get River Activities Run Logic Steps + description: |- + **Authorization scope:** `activity:list` + + **Get the status of each logic step for a specific run.** + operationId: get_river_activities_run_logic_steps + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - required: true + schema: + type: string + title: Run Id + name: run_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivityRunLogicStepsResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}/variables: + get: + tags: + - Activities + summary: Get Activities Logic Variables + description: >- + **Authorization scope:** `activity:list` + + **This endpoint retrieves the values of the logic variables in a specific run.** + **The values are stored for a short period of time and will expire after + that time.** + + **If the values have expired, an error message will be returned.** + operationId: get_activities_logic_variables + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - required: true + schema: + type: string + title: Run Id + name: run_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityLogicVariableResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}/logic_steps/{step_id}/logs: + get: + tags: + - Activities + summary: Get Activities Logic Step Log + description: |- + **Authorization scope:** `activity:list` + + **Get the logs of a python logic step.** + operationId: get_activities_logic_step_log + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - required: true + schema: + type: string + title: Run Id + name: run_id + in: path + - required: true + schema: + type: string + title: Step Id + name: step_id + in: path + - description: The step iteration number + required: false + schema: + type: integer + minimum: 0 + title: Iteration Number + description: The step iteration number + default: 0 + name: iteration_number + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivityRunLogicStepsLogsResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/activities: + get: + tags: + - Activities + summary: Get Activities + description: |- + **Authorization scope:** `activity:list` + + **Get summary of activities for the account and environment summarized by** + **river.** + operationId: get_activities + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: Start Time + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: start_time + in: query + - description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: End Time + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: end_time + in: query + - required: false + schema: + items: + $ref: '#/components/schemas/ActivityStatusEnum' + type: array + name: status + in: query + - description: The ID of the group to filter + required: false + schema: + items: + type: string + type: array + title: Group Id + description: The ID of the group to filter + name: group_id + in: query + - description: >- + A flag that indicates whether the river is scheduled. If not set + then activities of all rivers will be returned + required: false + schema: + allOf: + - $ref: '#/components/schemas/ScheduleEnum' + description: >- + A flag that indicates whether the river is scheduled. If not set + then activities of all rivers will be returned + name: is_scheduled + in: query + - required: false + schema: + type: integer + minimum: 1 + title: Page + default: 1 + name: page + in: query + - required: false + schema: + type: integer + maximum: 200 + minimum: 1 + title: Items Per Page + default: 20 + name: items_per_page + in: query + - description: Cache context id is an internal query parameter for cache purposes + required: false + schema: + type: string + title: Cache Context Id + description: Cache context id is an internal query parameter for cache purposes + name: cache_context_id + in: query + - description: Search for a specific river by river name + required: false + schema: + type: string + title: Search + description: Search for a specific river by river name + name: search + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/ActivitySortByEnum' + default: last_run + name: sort_by + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: desc + name: sort_order + in: query + - description: The river type + required: false + schema: + items: + $ref: '#/components/schemas/RiverTypeEnum' + type: array + description: The river type + name: river_type + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}/logs: + get: + tags: + - Activities + summary: Get Run Logs + description: |- + **Authorization scope:** `activity:list` + + **This method fetches the logs for a given run id of a river.** + operationId: get_run_logs + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - required: true + schema: + type: string + title: Run Id + name: run_id + in: path + responses: + '200': + description: Successful Response + content: + text/html: + schema: + type: string + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/versions: + get: + tags: + - Rivers + summary: List River Versions + description: |- + **Authorization scope:** `river:list` + + **This endpoint returns all river versions for a given river_cross_id.** + operationId: list_river_versions + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - description: The number of items per page in the paginated list. + required: false + schema: + type: integer + maximum: 500 + minimum: 1 + title: Items Per Page + description: The number of items per page in the paginated list. + default: 20 + name: items_per_page + in: query + - description: The current page number in the paginated list. + required: false + schema: + type: integer + minimum: 1 + title: Page + description: The current page number in the paginated list. + default: 1 + name: page + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverVersionsResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/versions/{version_id}: + get: + tags: + - Rivers + summary: Get River Version + description: |- + **Authorization scope:** `river:list` + + **This endpoint returns a given version for a version id and river_cross_id.** + operationId: get_river_version + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - required: true + schema: + type: string + title: Version Id + name: version_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverVersions' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}: + get: + tags: + - Rivers + summary: Get River + description: |- + **Authorization scope:** `river:list` + + **This endpoint gets a river.** + operationId: get_river + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverModel' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + put: + tags: + - Beta Endpoints + summary: Edit River + description: |- + **Authorization scope:** `river:write` + + **This endpoint updates a river.** + operationId: edit_river + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WriteRiverInput' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverModel' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + delete: + tags: + - Rivers + summary: Delete River + description: |- + **Authorization scope:** `river:write` + + **This endpoint deletes a river** + operationId: delete_river + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers: + get: + tags: + - Rivers + summary: List Rivers + description: |- + **Authorization scope:** `river:list` + + **This endpoint gets a summary of all the rivers in an environment** + operationId: list_rivers + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - description: The current page number in the paginated list. + required: false + schema: + type: integer + minimum: 1 + title: Page + description: The current page number in the paginated list. + default: 1 + name: page + in: query + - description: The number of items per page in the paginated list. + required: false + schema: + type: integer + maximum: 500 + minimum: 1 + title: Items Per Page + description: The number of items per page in the paginated list. + default: 20 + name: items_per_page + in: query + - description: The river group name + required: false + schema: + type: string + title: Group Name + description: The river group name + name: group_name + in: query + - description: The river group id + required: false + schema: + items: + type: string + type: array + title: Group Id + description: The river group id + name: group_id + in: query + - description: The river name + required: false + schema: + type: string + title: Name + description: The river name + name: name + in: query + - description: The river schedule status + required: false + schema: + allOf: + - $ref: '#/components/schemas/RiverScheduleStatusEnum' + description: The river schedule status + name: schedule + in: query + - description: The river status + required: false + schema: + items: + $ref: '#/components/schemas/RiverStatusEnum' + type: array + description: The river status + name: river_status + in: query + - description: The river sort by filter + required: false + schema: + allOf: + - $ref: '#/components/schemas/ListRiversSortByFilterEnum' + description: The river sort by filter + default: last_updated_at + name: sort_by + in: query + - description: The river sort order filter + required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + description: The river sort order filter + default: desc + name: sort_order + in: query + - description: The river type + required: false + schema: + items: + $ref: '#/components/schemas/RiverTypeEnum' + type: array + description: The river type + name: river_type + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverListResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + post: + tags: + - Beta Endpoints + summary: Add River + description: |- + **Authorization scope:** `river:write` + + **This endpoint creates a river.** + operationId: add_river + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WriteRiverInput' + required: true + responses: + '201': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverModel' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/cdc_config: + get: + tags: + - Rivers + summary: Get Cdc Config + description: >- + **Authorization scope:** `river:list` + + **This endpoint gets the cdc config:** + **** + + *** Gets cdc offset by provided datasource type to see the last position + of the cdc** + operationId: get_cdc_config_limit_scope + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/CdcConfig' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + post: + tags: + - Rivers + summary: Set Cdc Config + description: >- + **Authorization scope:** `river:write` + + **This endpoint set the cdc config:** + **** + + *** Set the cdc offset that next run of the river can continue from + specific position** + operationId: set_cdc_config_limit_scope + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CdcConfig' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + delete: + tags: + - Rivers + summary: Delete Cdc Config + description: |- + **Authorization scope:** `river:write` + + **This endpoint delete the cdc config:** + operationId: delete_cdc_config + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/cancel_run: + post: + tags: + - Rivers + summary: Cancel River Run + description: |- + **Authorization scope:** `river:execute` + + **This endpoint cancels a specific run if run_id is provided or multiple runs if run_group_id is provided.** + operationId: cancel_river_run + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CancelRiverRunBody' + required: true + responses: + '202': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/GeneralResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/run: + post: + tags: + - Rivers + summary: Run River + description: |- + **Authorization scope:** `river:execute` + + **This endpoint runs a river.** + **** + **Throttling rules:** + *** River can be executed up to 2 times per minute** + *** Each user can execute a river up to 15 times per minute** + operationId: run_river + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - description: >- + A flag that indicates whether to run all active sub rivers of the + master river + required: false + schema: + type: boolean + title: Run Sub Rivers + description: >- + A flag that indicates whether to run all active sub rivers of the + master river + default: false + name: run_sub_rivers + in: query + responses: + '202': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiversRunResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/sub_rivers/{sub_river_id}/run: + post: + tags: + - Rivers + summary: Run Sub River + description: |- + **Authorization scope:** `river:execute` + + **This endpoint runs a sub_river.** + operationId: run_sub_river + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - required: true + schema: + type: string + title: Sub River Id + name: sub_river_id + in: path + responses: + '202': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiversRunResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/variables: + get: + tags: + - Rivers + summary: Get River Variables + description: |- + **Authorization scope:** `river:list` + + **Get all river variables** + operationId: get_river_variables + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - description: The number of items per page in the paginated list. + required: false + schema: + type: integer + maximum: 500 + minimum: 1 + title: Items Per Page + description: The number of items per page in the paginated list. + default: 20 + name: items_per_page + in: query + - description: The current page number in the paginated list. + required: false + schema: + type: integer + minimum: 1 + title: Page + description: The current page number in the paginated list. + default: 1 + name: page + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverVariablesPaginatedResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + put: + tags: + - Rivers + summary: Update River Variable + description: >- + **Authorization scope:** `river:write` + + **This endpoint updates a variable for a river.** + **Given a list of variables, it will replace all existing variables for + the logic river with the provided list.** + operationId: update_river_variable + parameters: + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - description: The number of items per page in the paginated list. + required: false + schema: + type: integer + maximum: 500 + minimum: 1 + title: Items Per Page + description: The number of items per page in the paginated list. + default: 20 + name: items_per_page + in: query + - description: The current page number in the paginated list. + required: false + schema: + type: integer + minimum: 1 + title: Page + description: The current page number in the paginated list. + default: 1 + name: page + in: query + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateRiverVariableInputList' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverVariablesPaginatedResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments: + get: + tags: + - Environments + summary: List Environments + description: |- + **Authorization scope:** `environment:list` + + **Get list of environments entities for an account** + operationId: list_environments + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: false + schema: + type: boolean + title: Include Deleted + default: false + name: include_deleted + in: query + - required: false + schema: + type: boolean + title: Is Deployable Environments + default: false + name: is_deployable_environments + in: query + - description: The number of items per page in the paginated list. + required: false + schema: + type: integer + maximum: 500 + minimum: 1 + title: Items Per Page + description: The number of items per page in the paginated list. + default: 20 + name: items_per_page + in: query + - description: The current page number in the paginated list. + required: false + schema: + type: integer + minimum: 1 + title: Page + description: The current page number in the paginated list. + default: 1 + name: page + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ListEnvironmentsPaginationResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}: + get: + tags: + - Environments + summary: Get Environment + description: |- + **Authorization scope:** `environment:list` + + **Get a specific environment** + operationId: get_environment + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/EnvironmentsFields' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/scim_provisioning: + get: + tags: + - Accounts + summary: Get Scim Provisioning Status + description: |- + **Authorization scope:** `account:write` + + **Get SCIM provisioning status** + operationId: get_scim_provisioning_status + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/GetScimTokenStatusResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + put: + tags: + - Accounts + summary: Add Or Update Scim Provisioning + description: >- + **Authorization scope:** `account:write` + + **Add or update SCIM provisioning.** + **This endpoint returns the connection string used to communicate with + your SCIM app and the authentication token** + operationId: create_or_update_scim_provisioning + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/CreateOrUpdateScimTokenResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + delete: + tags: + - Accounts + summary: Delete Scim Provisioning + description: |- + **Authorization scope:** `account:write` + + **Deletes the scim provisioning. This endpoint won't delete any existing resource that were already sync by the SCIM.** + operationId: delete_scim_provisioning + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + responses: + '204': + description: Successful Response + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/audit_events: + get: + tags: + - Audit Events + summary: List Audit Events + description: |- + **Authorization scope:** `audit:list` + + **List audit events** + operationId: list_audit_events + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: false + schema: + type: string + format: date-time + title: Start Time + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: start_time + in: query + - description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm If end_time is supplied without + start_time the start_time will be the previous day of the end_time + required: false + schema: + type: string + format: date-time + title: End Time + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm If end_time is supplied without + start_time the start_time will be the previous day of the end_time + example: '2020-01-01T12:00:00' + name: end_time + in: query + - description: A list of users id's who initiated the event + required: false + schema: + items: + type: string + type: array + title: User Id + description: A list of users id's who initiated the event + example: 5eda28ee6b028e1ce7a2b5ed + name: user_id + in: query + - description: A list of entity types + required: false + schema: + items: + $ref: '#/components/schemas/AuditEventTypeEnum' + type: array + description: A list of entity types + examples: + - connections + - rivers + - river_groups + name: event_type + in: query + - description: A list of event types + required: false + schema: + items: + $ref: '#/components/schemas/AuditEntityTypeEnum' + type: array + description: A list of event types + examples: + - delete + - create + - update + name: entity_type + in: query + - description: A unique logical identifier of an entity, usually the cross_id + required: false + schema: + type: string + title: Entity Logical Key + description: A unique logical identifier of an entity, usually the cross_id + example: 5eda28ee6b028e1ce7a2b5ec + name: entity_logical_key + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/AuditEventsPaginationResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/audit_events/{event_id}: + get: + tags: + - Audit Events + summary: Get Audit Event + description: |- + **Authorization scope:** `audit:list` + + **Get a specific audit event by event_id.** + operationId: get_audit_event + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - description: The id of the audit event + required: true + schema: + type: string + title: Event Id + description: The id of the audit event + example: eac285a5a9ae4ada9ccd49889a651e16 + name: event_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/AuditEventsResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/connections/{connection_cross_id}: + delete: + tags: + - Connections + summary: Delete Connection + description: |- + **Authorization scope:** `connection:delete` + + **This endpoint deletes a connection** + operationId: delete_connection + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: Connection Cross Id + name: connection_cross_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/teams: + get: + tags: + - Groups + summary: List Teams + description: |- + **Authorization scope:** `team:list` + + **Get all user teams** + operationId: list_teams + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: false + schema: + type: integer + title: Page + default: 1 + name: page + in: query + - required: false + schema: + type: integer + maximum: 200 + title: Items Per Page + default: 20 + name: items_per_page + in: query + - description: The internal display name of the team + required: false + schema: + type: string + title: Display Name + description: The internal display name of the team + example: Marketing team + name: display_name + in: query + - description: The team source local (rivery) or external (Active Directory) + required: false + schema: + type: string + title: Source + description: The team source local (rivery) or external (Active Directory) + example: rivery + name: source + in: query + - description: The remote display name of the team + required: false + schema: + type: string + title: Remote Display Name + description: The remote display name of the team + example: Core team + name: remote_display_name + in: query + - description: Sorted the results by attributes + required: false + schema: + allOf: + - $ref: '#/components/schemas/TeamsSortByEnum' + description: Sorted the results by attributes + default: display_name + name: sort_by + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: desc + name: sort_order + in: query + - description: List of team ids + required: false + schema: + items: + type: string + type: array + title: Team Id + description: List of team ids + example: + - 65ce173412f5e196b2b9b163 + name: team_id + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/UserTeamsListResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + post: + tags: + - Groups + summary: Create Team + description: |- + **Authorization scope:** `team:write` + + **Create user team** + operationId: create_team + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateUserTeam' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/UserTeamsModel' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/teams/{team_id}: + get: + tags: + - Groups + summary: Get Team + description: |- + **Authorization scope:** `team:list` + + **Get user team by id** + operationId: get_team + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Team Id + name: team_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/UserTeamsModel' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + put: + tags: + - Groups + summary: Update Team + description: |- + **Authorization scope:** `team:write` + + **Update team** + operationId: update_team + parameters: + - required: true + schema: + type: string + title: Team Id + name: team_id + in: path + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateUserTeamsInput' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/UserTeamsModel' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + delete: + tags: + - Groups + summary: Delete Team + description: |- + **Authorization scope:** `team:write` + + **Delete user team** + operationId: delete_team + parameters: + - required: true + schema: + type: string + title: Team Id + name: team_id + in: path + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + responses: + '204': + description: Successful Response + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + patch: + tags: + - Groups + summary: Patch Team + description: |- + **Authorization scope:** `team:write` + + **Patch team by id** + operationId: patch_team + parameters: + - required: true + schema: + type: string + title: Team Id + name: team_id + in: path + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchUserTeamsInput' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/UserTeamsModel' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/copy: + post: + tags: + - Beta Endpoints + summary: Copy River + description: |- + **Authorization scope:** `river:write` + + **This endpoint creates a copy of a river** + operationId: copy_river + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + responses: + '201': + description: Successful Response + headers: + Location: + description: The location of the created resource + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/CopyRiverResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/restore: + put: + tags: + - Beta Endpoints + summary: Restore River Version + description: |- + **Authorization scope:** `river:write` + + **This endpoint restores a river to a specific version** + operationId: restore_river + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RestoreRiverVersionInput' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverModel' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/enable_cdc: + post: + tags: + - Beta Endpoints + summary: Enable Cdc + description: |- + **Authorization scope:** `river:write` + + **This endpoint enables the CDC extraction for a CDC river.** + operationId: enable_cdc + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + responses: + '202': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/OperationResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/disable_cdc: + post: + tags: + - Beta Endpoints + summary: Disable Cdc + description: |- + **Authorization scope:** `river:write` + + **This endpoint disables the CDC extraction for a CDC river.** + operationId: disable_cdc + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + responses: + '202': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/OperationResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/predefined_metadata/columns: + get: + tags: + - Beta Endpoints + summary: Get Predefined Columns + description: >- + This endpoint gets all predefined columns per datasource id and + report_id. + operationId: get_predefined_columns + parameters: + - description: The datasource of the columns. + required: true + schema: + allOf: + - $ref: '#/components/schemas/SourceTypeEnum' + description: The datasource of the columns. + example: shopify + name: datasource_id + in: query + - description: The report id + required: true + schema: + type: string + title: Report + description: The report id + example: orders + name: report + in: query + - description: Name of the column to filter + required: false + schema: + type: string + title: Column Name + description: Name of the column to filter + example: id + name: column_name + in: query + - description: The number of items per page in the paginated list. + required: false + schema: + type: integer + maximum: 500 + minimum: 1 + title: Items Per Page + description: The number of items per page in the paginated list. + default: 20 + name: items_per_page + in: query + - description: The current page number in the paginated list. + required: false + schema: + type: integer + minimum: 1 + title: Page + description: The current page number in the paginated list. + default: 1 + name: page + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PredefinedColumnsPaginatedResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/predefined_metadata/tables: + get: + tags: + - Beta Endpoints + summary: Get Predefined Tables + description: This endpoint gets all predefined tables per datasource id. + operationId: get_predefined_tables + parameters: + - description: The datasource of the columns. + required: true + schema: + allOf: + - $ref: '#/components/schemas/SourceTypeEnum' + description: The datasource of the columns. + example: shopify + name: datasource_id + in: query + - description: Name of the report to filter + required: false + schema: + type: string + title: Report Name + description: Name of the report to filter + example: orders + name: report_name + in: query + - description: The number of items per page in the paginated list. + required: false + schema: + type: integer + maximum: 500 + minimum: 1 + title: Items Per Page + description: The number of items per page in the paginated list. + default: 20 + name: items_per_page + in: query + - description: The current page number in the paginated list. + required: false + schema: + type: integer + minimum: 1 + title: Page + description: The current page number in the paginated list. + default: 1 + name: page + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PredefinedTablesModelPaginatedResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/predefined_metadata/metadata: + get: + tags: + - Beta Endpoints + summary: Get Predefined Metadata + description: This endpoint gets all predefined metadata datasource id and report id. + operationId: get_predefined_metadata + parameters: + - description: The datasource of the columns. + required: true + schema: + allOf: + - $ref: '#/components/schemas/SourceTypeEnum' + description: The datasource of the columns. + example: shopify + name: datasource_id + in: query + - description: The report id + required: true + schema: + type: string + title: Report Id + description: The report id + example: predefined_orders + name: report_id + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PredefinedMetadataModelResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/river_source/metadata: + get: + tags: + - Beta Endpoints + summary: Get Source Metadata + description: This endpoint gets all source metadata. + operationId: get_source_metadata + parameters: + - description: The source name + required: true + schema: + allOf: + - $ref: '#/components/schemas/SourceTypeEnum' + description: The source name + example: shopify + name: source_name + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SourcedMetadataModelResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + components: + schemas: + ActionProperties: + properties: + properties_type: + type: string + enum: + - actions + title: Properties Type + default: actions + additionalProperties: false + type: object + title: ActionProperties + description: Action properties which define the action river properties + ActivitiesResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + account_id: + type: string + title: Account Id + description: The account id + environment_id: + type: string + title: Environment Id + description: The environment id + items: + items: + $ref: '#/components/schemas/Activity' + type: array + title: Items + cache_context_id: + type: string + title: Cache Context Id + nullable: true + type: object + required: + - current_page_size + - account_id + - environment_id + - items + - cache_context_id + title: ActivitiesResponse + description: General activities response + Activity: + properties: + account_id: + type: string + title: Account Id + environment_id: + type: string + title: Environment Id + cross_id: + type: string + title: Cross Id + river_id: + type: string + title: River Id + master_river_id: + type: string + title: Master River Id + river_name: + type: string + title: River Name + is_sub_river: + type: boolean + title: Is Sub River + is_master_river: + type: boolean + title: Is Master River + is_multi: + type: boolean + title: Is Multi + is_deleted: + type: boolean + title: Is Deleted + group_id: + type: string + title: Group Id + is_scheduled: + type: boolean + title: Is Scheduled + total_files: + type: integer + title: Total Files + units: + type: number + title: Units + description: Total RPU (units) + example: 2.1 + rpu: + type: number + title: Rpu + description: Total RPU + example: 2.1 + total_size: + type: integer + title: Total Size + last_run: + type: integer + title: Last Run + pending: + type: integer + title: Pending + failed: + type: integer + title: Failed + running: + type: integer + title: Running + succeeded: + type: integer + title: Succeeded + canceled: + type: integer + title: Canceled + datasource_id: + type: string + title: Datasource Id + type: object + required: + - account_id + - environment_id + - cross_id + - river_id + - master_river_id + - river_name + - is_sub_river + - is_master_river + - is_multi + - is_deleted + - is_scheduled + - total_files + - units + - rpu + - total_size + - last_run + - pending + - failed + - running + - succeeded + - canceled + - datasource_id + title: Activity + description: Activity properties to return. + ActivityLogicVariableResponse: + properties: + items: + items: + $ref: '#/components/schemas/RiverVariablesFields' + type: array + title: Items + type: object + required: + - items + title: ActivityLogicVariableResponse + description: The activities logic variables response + ActivitySortByEnum: + type: string + enum: + - river_name + - last_run + - units + title: ActivitySortByEnum + description: Activities sort properties in the UI. + ActivityStatisticResponse: + properties: + account_id: + type: string + title: Account Id + environment_id: + type: string + title: Environment Id + total_units: + type: number + title: Total Units + description: Total RPU (units) + example: 2.1 + total_rpu: + type: number + title: Total Rpu + description: Total RPU + example: 2.1 + running: + type: integer + title: Running + canceled: + type: integer + title: Canceled + pending: + type: integer + title: Pending + failed: + type: integer + title: Failed + succeeded: + type: integer + title: Succeeded + skipped: + type: integer + title: Skipped + type: object + required: + - account_id + - environment_id + - total_units + - total_rpu + - running + - canceled + - pending + - failed + - succeeded + - skipped + title: ActivityStatisticResponse + description: Activity statistics response + ActivityStatusEnum: + type: string + enum: + - pending + - canceled + - succeeded + - failed + - running + - skipped + title: ActivityStatusEnum + description: The external status of a run (being used in the api) + AthenaAdditionalTargetSettings: + properties: + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: >- + The order expression of the river entity,to filter duplications from + the source data by the provided order expression (for `merge` + loading method). + example: id desc,createDate asc + nullable: true + target_loading: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: >- + The target loading of the table entity,if not specified the default + loading mode of the riverwill be used. + example: merge + nullable: true + target_type: + type: string + enum: + - athena + title: Target Type + description: Internal field, populated automatically + default: athena + nullable: true + replace_invalid_utf_characters: + type: boolean + title: Replace Invalid Utf Characters + description: Enable replacing invalid UTF characters in the target + default: false + truncate_columns: + type: boolean + title: Truncate Columns + description: Whether or not to truncate the columns in the target + default: false + type: object + title: AthenaAdditionalTargetSettings + description: Athena specific target settings + AthenaModifiedColumn: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the column is selected and should be modified. + example: true + name: + type: string + title: Name + description: The name of the column. + example: column_name + type: + type: string + title: Type + description: The type of the column. + example: string + nullable: true + alias: + type: string + title: Alias + description: The alias of the column in the target table. + example: column_alias + nullable: true + expression: + type: string + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + example: select 'test' + nullable: true + is_key: + type: boolean + title: Is Key + description: If the column is a key. + example: true + nullable: true + sort_order: + type: integer + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + example: 1 + nullable: true + is_sort_key: + type: boolean + title: Is Sort Key + description: If the column is a sort column. + example: true + nullable: true + calculated_column_mode: + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + example: source + nullable: true + order: + type: integer + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + example: 1 + nullable: true + target_type: + type: string + enum: + - athena + title: Target Type + description: Internal field, populated automatically + default: athena + nullable: true + additionalProperties: false + type: object + required: + - is_selected + - name + title: AthenaModifiedColumn + description: Athena specific columns settings + AthenaTargetSettings: + properties: + name: + type: string + enum: + - athena + title: Name + description: The name of the target + default: athena + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + table_name: + type: string + title: Table Name + description: >- + The table name of this target (only relevant for non multi table + source to target rivers) + default: '' + example: Table 1 + nullable: true + target_prefix: + type: string + title: Target Prefix + description: >- + The table prefix of this target (only relevant for multi table + source to target rivers) + default: '' + example: start_at_ + nullable: true + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: The order expression of the river entity. + example: id desc,createDate asc + nullable: true + loading_method: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: The loading method of this target + example: merge + merge_method: + allOf: + - $ref: '#/components/schemas/MergeMethod' + description: >- + The merge method to preform,only relevant when the loading mode is + Merge,if not provided the default merge method will be used.(merge) + example: merge + nullable: true + file_zone_settings: + allOf: + - $ref: '#/components/schemas/RiverFileZoneSettings' + title: File Zone Settings + description: The file zone settings of this target + nullable: true + file_path_destination: + type: string + title: File Path Destination + description: The file name and path + example: path/to/file + bucket_name: + type: string + title: Bucket Name + description: The bucket name + example: bucket + additional_settings: + type: object + title: Additional Settings + description: The additional settings of this target + default: {} + example: + key: value + nullable: true + type: object + required: + - loading_method + title: AthenaTargetSettings + description: Athena target settings properties to return. + AuditEntityTypeEnum: + type: string + enum: + - accounts + - connections + - rivers + - river_groups + - users + title: AuditEntityTypeEnum + description: The audit event entity types + AuditEventTypeEnum: + type: string + enum: + - create + - delete + - update + title: AuditEventTypeEnum + description: The audit events, events type + AuditEventsPaginationResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + items: + items: + $ref: '#/components/schemas/AuditEventsResponse' + type: array + title: Items + type: object + required: + - items + title: AuditEventsPaginationResponse + description: Audit events pagination response + AuditEventsResponse: + properties: + event_id: + type: string + title: Event Id + description: The id of the audit event + event_initiator: + type: string + title: Event Initiator + description: Where the event was initiated + example: UI + event_datetime: + type: string + title: Event Datetime + description: The event date time in UTC timezone + example: '2022-08-02T13:38:44.054000' + event_type: + allOf: + - $ref: '#/components/schemas/AuditEventTypeEnum' + description: The type of the event + example: create + event_result_status: + type: integer + title: Event Result Status + description: The status of the API request of the event + example: 200 + event_name: + type: string + title: Event Name + description: >- + The name of the event in the following + format-event_type:entity_type:additional_info + example: update:rivers:without_version + entity_type: + allOf: + - $ref: '#/components/schemas/AuditEntityTypeEnum' + description: The type of entity that was recorded + example: rivers + entity_logical_key: + type: string + title: Entity Logical Key + default: A unique logical identifier of an entity, usually the cross_id + example: 5eda28ee6b028e1ce7a2b5ec + account_id: + type: string + title: Account Id + description: The account id the event originated for + example: 5ebec4ca6b028e2da4191dde + environment_id: + type: string + title: Environment Id + description: The environment id the event originated for + example: 5ebec4ca6b028e2da4191de1 + user_id: + type: string + title: User Id + description: The user id the event originated for + example: 60d08931f5682c0d9fa24890 + user_name: + type: string + title: User Name + description: The name of the user that originated the event + example: Rivi Ee + entity_name: + type: string + title: Entity Name + description: >- + The name of the event entity, this could be the name of the river, + connection etc. + example: My First River + entity_subtype: + type: string + title: Entity Subtype + description: >- + The even subtype, this could be a river classification like logic or + s2t rivers + examples: + - src_to_trgt + - logic + additional_info: + type: string + title: Additional Info + default: Additional information saved for the event + example: '{"version_id": "637582d3c32287000fc1d69f"}' + type: object + required: + - event_id + - event_initiator + - event_datetime + - event_type + - event_result_status + - event_name + - entity_type + - account_id + - environment_id + - user_id + title: AuditEventsResponse + description: Audit events response + AzureSqlAdditionalTargetSettings: + properties: + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: >- + The order expression of the river entity,to filter duplications from + the source data by the provided order expression (for `merge` + loading method). + example: id desc,createDate asc + nullable: true + target_loading: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: >- + The target loading of the table entity,if not specified the default + loading mode of the riverwill be used. + example: merge + nullable: true + target_type: + type: string + enum: + - azure_sql + title: Target Type + description: Internal field, populated automatically + default: azure_sql + nullable: true + type: object + title: AzureSqlAdditionalTargetSettings + description: Azure SQL specific target settings + AzureSqlModifiedColumn: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the column is selected and should be modified. + example: true + name: + type: string + title: Name + description: The name of the column. + example: column_name + type: + type: string + title: Type + description: The type of the column. + example: string + nullable: true + alias: + type: string + title: Alias + description: The alias of the column in the target table. + example: column_alias + nullable: true + expression: + type: string + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + example: select 'test' + nullable: true + is_key: + type: boolean + title: Is Key + description: If the column is a key. + example: true + nullable: true + sort_order: + type: integer + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + example: 1 + nullable: true + is_sort_key: + type: boolean + title: Is Sort Key + description: If the column is a sort column. + example: true + nullable: true + calculated_column_mode: + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + example: source + nullable: true + order: + type: integer + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + example: 1 + nullable: true + target_type: + type: string + enum: + - azure_sql + title: Target Type + description: Internal field, populated automatically + default: azure_sql + nullable: true + additionalProperties: false + type: object + required: + - is_selected + - name + title: AzureSqlModifiedColumn + description: AzureSql specific columns settings + AzureSqlTargetSettings: + properties: + name: + type: string + enum: + - azure_sql + title: Name + description: The name of the target + default: azure_sql + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + table_name: + type: string + title: Table Name + description: >- + The table name of this target (only relevant for non multi table + source to target rivers) + default: '' + example: Table 1 + nullable: true + target_prefix: + type: string + title: Target Prefix + description: >- + The table prefix of this target (only relevant for multi table + source to target rivers) + default: '' + example: start_at_ + nullable: true + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: The order expression of the river entity. + example: id desc,createDate asc + nullable: true + loading_method: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: The loading method of this target + example: merge + merge_method: + allOf: + - $ref: '#/components/schemas/MergeMethod' + description: >- + The merge method to preform,only relevant when the loading mode is + Merge,if not provided the default merge method will be used.(merge) + example: merge + nullable: true + file_zone_settings: + allOf: + - $ref: '#/components/schemas/RiverFileZoneSettings' + title: File Zone Settings + description: The file zone settings of this target + nullable: true + file_path_destination: + type: string + title: File Path Destination + description: The file name and path + example: path/to/file + bucket_name: + type: string + title: Bucket Name + description: The bucket name + example: bucket + additional_settings: + type: object + title: Additional Settings + description: The additional settings of this target + default: {} + example: + key: value + nullable: true + type: object + required: + - loading_method + title: AzureSqlTargetSettings + description: Azure SQL target settings properties to return. + AzureSynapseAnalyticsModifiedColumn: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the column is selected and should be modified. + example: true + name: + type: string + title: Name + description: The name of the column. + example: column_name + type: + type: string + title: Type + description: The type of the column. + example: string + nullable: true + alias: + type: string + title: Alias + description: The alias of the column in the target table. + example: column_alias + nullable: true + expression: + type: string + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + example: select 'test' + nullable: true + is_key: + type: boolean + title: Is Key + description: If the column is a key. + example: true + nullable: true + sort_order: + type: integer + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + example: 1 + nullable: true + is_sort_key: + type: boolean + title: Is Sort Key + description: If the column is a sort column. + example: true + nullable: true + calculated_column_mode: + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + example: source + nullable: true + order: + type: integer + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + example: 1 + nullable: true + target_type: + type: string + enum: + - azure_synapse_analytics + title: Target Type + description: Internal field, populated automatically + default: azure_synapse_analytics + nullable: true + additionalProperties: false + type: object + required: + - is_selected + - name + title: AzureSynapseAnalyticsModifiedColumn + description: AzureSynapseAnalytics specific columns settings + AzureSynapseAnalyticsTargetSettings: + properties: + name: + type: string + enum: + - azure_synapse_analytics + title: Name + description: The name of the target + default: azure_synapse_analytics + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + table_name: + type: string + title: Table Name + description: >- + The table name of this target (only relevant for non multi table + source to target rivers) + default: '' + example: Table 1 + nullable: true + target_prefix: + type: string + title: Target Prefix + description: >- + The table prefix of this target (only relevant for multi table + source to target rivers) + default: '' + example: start_at_ + nullable: true + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: The order expression of the river entity. + example: id desc,createDate asc + nullable: true + loading_method: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: The loading method of this target + example: merge + merge_method: + allOf: + - $ref: '#/components/schemas/MergeMethod' + description: >- + The merge method to preform,only relevant when the loading mode is + Merge,if not provided the default merge method will be used.(merge) + example: merge + nullable: true + file_zone_settings: + allOf: + - $ref: '#/components/schemas/RiverFileZoneSettings' + title: File Zone Settings + description: The file zone settings of this target + nullable: true + file_path_destination: + type: string + title: File Path Destination + description: The file name and path + example: path/to/file + bucket_name: + type: string + title: Bucket Name + description: The bucket name + example: bucket + additional_settings: + type: object + title: Additional Settings + description: The additional settings of this target + default: {} + example: + key: value + nullable: true + type: object + required: + - loading_method + title: AzureSynapseAnalyticsTargetSettings + description: Azure Synapse Analytics target settings properties to return. + BigQueryAdditionalTargetSettings: + properties: + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: >- + The order expression of the river entity,to filter duplications from + the source data by the provided order expression (for `merge` + loading method). + example: id desc,createDate asc + nullable: true + target_loading: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: >- + The target loading of the table entity,if not specified the default + loading mode of the riverwill be used. + example: merge + nullable: true + target_type: + type: string + enum: + - bigquery + title: Target Type + description: Internal field, populated automatically + default: bigquery + nullable: true + use_standard_sql: + type: boolean + title: Use Standard Sql + description: >- + Indication if to use standard SQL, default is true, if false will + use legacy SQL. + example: true + nullable: true + split_tables: + type: string + title: Split Tables + description: Split tables at target. + default: no_split + example: no_split + nullable: true + split_interval: + type: string + title: Split Interval + description: The interval by which to split the tables if split table is on. + example: daily + nullable: true + split_data: + type: string + title: Split Data + description: >- + The expression by which to split the tablesif split tables by + expression is chosen. + example: a>3 + nullable: true + partition_type: + type: string + title: Partition Type + description: The type of partition to partition that table by. + example: timestamp + nullable: true + partition_granularity: + type: string + title: Partition Granularity + description: The partition granularity to split the table by. + example: day + nullable: true + type: object + title: BigQueryAdditionalTargetSettings + description: BigQuery specific target settings + BigQueryModifiedColumn: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the column is selected and should be modified. + example: true + name: + type: string + title: Name + description: The name of the column. + example: column_name + type: + type: string + title: Type + description: The type of the column. + example: string + nullable: true + alias: + type: string + title: Alias + description: The alias of the column in the target table. + example: column_alias + nullable: true + expression: + type: string + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + example: select 'test' + nullable: true + is_key: + type: boolean + title: Is Key + description: If the column is a key. + example: true + nullable: true + sort_order: + type: integer + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + example: 1 + nullable: true + is_sort_key: + type: boolean + title: Is Sort Key + description: If the column is a sort column. + example: true + nullable: true + calculated_column_mode: + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + example: source + nullable: true + order: + type: integer + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + example: 1 + nullable: true + is_partition: + type: boolean + title: Is Partition + description: Indication if the column is a partition column + default: false + nullable: true + target_type: + type: string + enum: + - bigquery + title: Target Type + description: Internal field, populated automatically + default: bigquery + nullable: true + additionalProperties: false + type: object + required: + - is_selected + - name + title: BigQueryModifiedColumn + description: Big Query specific columns settings + BigQueryTargetSettings: + properties: + name: + type: string + enum: + - bigquery + title: Name + description: The name of the target + default: bigquery + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + table_name: + type: string + title: Table Name + description: >- + The table name of this target (only relevant for non multi table + source to target rivers) + default: '' + example: Table 1 + nullable: true + target_prefix: + type: string + title: Target Prefix + description: >- + The table prefix of this target (only relevant for multi table + source to target rivers) + default: '' + example: start_at_ + nullable: true + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: The order expression of the river entity. + example: id desc,createDate asc + nullable: true + loading_method: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: The loading method of this target + example: merge + merge_method: + allOf: + - $ref: '#/components/schemas/MergeMethod' + description: >- + The merge method to preform,only relevant when the loading mode is + Merge,if not provided the default merge method will be used.(merge) + example: merge + nullable: true + file_zone_settings: + allOf: + - $ref: '#/components/schemas/RiverFileZoneSettings' + title: File Zone Settings + description: The file zone settings of this target + nullable: true + file_path_destination: + type: string + title: File Path Destination + description: The file name and path + example: path/to/file + bucket_name: + type: string + title: Bucket Name + description: The bucket name + example: bucket + additional_settings: + type: object + title: Additional Settings + description: The additional settings of this target + default: {} + example: + key: value + nullable: true + dataset_id: + type: string + title: Dataset Id + description: The dataset ID of this target + example: dataset_1 + nullable: true + type: object + required: + - loading_method + title: BigQueryTargetSettings + description: BigQuery target settings properties to return. + BlobStorageSettings: + properties: + name: + type: string + enum: + - blob_storage + title: Name + description: The name of the target + default: blob_storage + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + path: + type: string + title: Path + description: The path of the file zone entity. + example: my_path + bucket_name: + type: string + title: Bucket Name + description: The bucket name of the file zone entity. + example: my_bucket + partitioned_kind: + allOf: + - $ref: '#/components/schemas/PartitionedKindEnum' + description: The partitioned kind of the file zone entity. + example: by_day + type: object + required: + - path + - bucket_name + - partitioned_kind + title: BlobStorageSettings + description: Azure Blob Storage target settings properties to return. + CalculatedColumnModeEnum: + type: string + enum: + - source + - target + title: CalculatedColumnModeEnum + description: >- + The calculated column mode + + Calculated column mode is used to determine if the calculated column is + a new column or an override of an existing + + It can be used either on the source or the target + CancelRiverRunBody: + properties: + run_id: + type: string + title: Run Id + description: The run_id to cancel. + run_group_id: + type: string + title: Run Group Id + description: >- + The run_group_id to cancel. Use this field when you want to cancel + multiple tables or sub rivers + type: object + title: CancelRiverRunBody + description: Cancel River Run body + CdcConfig: + properties: + config: + oneOf: + - $ref: '#/components/schemas/CdcMysqlConfig' + - $ref: '#/components/schemas/CdcPostgresConfig' + - $ref: '#/components/schemas/CdcSqlServerConfig' + - $ref: '#/components/schemas/CdcMongodbConfig' + - $ref: '#/components/schemas/CdcOracleConfig' + title: Config + discriminator: + propertyName: datasource_type + mapping: + mysql: '#/components/schemas/CdcMysqlConfig' + postgres: '#/components/schemas/CdcPostgresConfig' + mssql: '#/components/schemas/CdcSqlServerConfig' + mongodb: '#/components/schemas/CdcMongodbConfig' + oracle: '#/components/schemas/CdcOracleConfig' + type: object + required: + - config + title: CdcConfig + description: The cdc config request class. + CdcMongodbConfig: + properties: + last_updated: + type: string + title: Last Updated + default: '2024-03-29T20:59:22.070733Z' + datasource_type: + type: string + enum: + - mongodb + title: Datasource Type + default: mongodb + resume_token: + type: string + title: Resume Token + description: The resume token position offset + type: object + required: + - resume_token + title: CdcMongodbConfig + description: |- + Cdc Mongodb Config: + * resume token offset of the Mongodb database CDC + CdcMysqlConfig: + properties: + last_updated: + type: string + title: Last Updated + default: '2024-03-29T20:59:22.070733Z' + datasource_type: + type: string + enum: + - mysql + title: Datasource Type + default: mysql + binlog_file: + type: string + title: Binlog File + description: The bin log file + example: mysql-bin-changelog.000931 + binlog_position: + type: string + title: Binlog Position + description: The binlog position + example: '515820321' + gtid: + type: string + title: Gtid + description: The gtid position offset + example: >- + 51d431b9-585e-11ed-9222-022d1416c792:1-34,7e0646d8-b3e4-11eb-a15e-0a47d4c912dc:1-21343,8937b67f-3ab2-11ea-9bc9-0ad74248f0fe:1-5182243242,c23585e8-579a-11ed-83e3-0a47d4c912dc:1-12 + type: object + title: CdcMysqlConfig + description: |- + Cdc mysql config: + * binlog offset of the MYSQL database CDC + CdcOracleConfig: + properties: + last_updated: + type: string + title: Last Updated + default: '2024-03-29T20:59:22.070733Z' + datasource_type: + type: string + enum: + - oracle + title: Datasource Type + default: oracle + scn_offset: + type: integer + title: Scn Offset + description: The system change number offset + type: object + required: + - scn_offset + title: CdcOracleConfig + description: |- + Cdc Oracle config: + * system change number of the Oracle database CDC + CdcPostgresConfig: + properties: + last_updated: + type: string + title: Last Updated + default: '2024-03-29T20:59:22.070733Z' + datasource_type: + type: string + enum: + - postgres + title: Datasource Type + default: postgres + lsn_offset: + type: integer + title: Lsn Offset + description: The lsn position offset + example: 518 + type: object + required: + - lsn_offset + title: CdcPostgresConfig + description: |- + Cdc postgres config: + * lsn offset of the postgres database CDC + CdcSqlServerConfig: + properties: + last_updated: + type: string + title: Last Updated + default: '2024-03-29T20:59:22.070733Z' + datasource_type: + type: string + enum: + - mssql + title: Datasource Type + default: mssql + lsn_offset_sql_server: + type: string + title: Lsn Offset Sql Server + description: The lsn offset sql server position offset + example: '0x0000004B000009350003' + type: object + required: + - lsn_offset_sql_server + title: CdcSqlServerConfig + description: |- + Cdc sql server config: + * lsn offset of the sql server database CDC + ColumnsIncrementTypeEnum: + type: string + enum: + - INTEGER + - TIMESTAMP + - DATE + - FLOAT + - STRING + - DATETIME + title: ColumnsIncrementTypeEnum + description: All increment columns data types + ColumnsIntervalTypeEnum: + type: string + enum: + - datetime + - runningnumber + - epoch + - row_version + - date + title: ColumnsIntervalTypeEnum + description: The column's interval type + ColumnsModeEnum: + type: string + enum: + - NULLABLE + - REPEATED + title: ColumnsModeEnum + description: All column modes. + ColumnsTypeEnum: + type: string + enum: + - INTEGER + - TIMESTAMP + - DATE + - FLOAT + - STRING + - DATETIME + - BOOLEAN + - RECORD + - VARCHAR + - SMALLINT + - BIGINT + - OBJECT + - NUMBER + - VARIANT + - JSON + - TEXT + - TIME + - TINYINT + title: ColumnsTypeEnum + description: All column data types. + ConvertFileTypeEnum: + type: string + enum: + - parquet + title: ConvertFileTypeEnum + description: >- + Conversion service types of file conversions. + + The conversion service supports multiple conversion including CSV and + JSON but the back only support PARQUET for now + + Once the back adds support for the other file types we can add them here + CopyRiverResponse: + properties: + details: + type: string + title: Details + cross_id: + type: string + title: Cross Id + description: The new river cross id + example: 62e7f4352c13160013dc39be + type: object + required: + - details + - cross_id + title: CopyRiverResponse + description: Copy river response + CreateOrUpdateScimTokenResponse: + properties: + account_id: + type: string + title: Account Id + description: The account id + examples: + - 65c2465a76ba59de1a868a4e + scim_service_url: + type: string + title: Scim Service Url + description: The connection string (URL) used to communicate with your SCIM app + examples: + - https://rivery-scim.rivery.io + token: + type: string + title: Token + description: >- + The SCIM authentication token. Keep the token somewhere safe. The + token will be shown only once. + examples: + - '1234' + type: object + required: + - account_id + - scim_service_url + - token + title: CreateOrUpdateScimTokenResponse + description: SCIM Token create or update response. + CreateUserTeam: + properties: + display_name: + type: string + title: Display Name + description: The display name in rivery + example: Rivery Core Team + description: + type: string + title: Description + description: Internal description + example: Some description + environments: + type: object + title: Environments + description: Dictionary of environment id and environment role + default: {} + example: + 633ede20f1fc5500111fd7b3: + role: viewer + 5f887c764c40e5598f717676: + role: viewer + is_all_environment_admin: + type: boolean + title: Is All Environment Admin + description: Indicates if group have Admin permission for all environment + default: false + example: true + type: object + required: + - display_name + title: CreateUserTeam + description: Request create user groups input. + DatabaseTableInput: + properties: + run_type_and_datasource: + type: string + enum: + - multi_tables + title: Run Type And Datasource + description: Internal field + default: multi_tables + details: + allOf: + - $ref: '#/components/schemas/WriteDatabaseTableDetailsInput' + title: Details + description: The database table details + type: object + required: + - details + title: DatabaseTableInput + description: |- + Table properties which define the db table data + This schema is being used for read + DatabricksModifiedColumn: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the column is selected and should be modified. + example: true + name: + type: string + title: Name + description: The name of the column. + example: column_name + type: + type: string + title: Type + description: The type of the column. + example: string + nullable: true + alias: + type: string + title: Alias + description: The alias of the column in the target table. + example: column_alias + nullable: true + expression: + type: string + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + example: select 'test' + nullable: true + is_key: + type: boolean + title: Is Key + description: If the column is a key. + example: true + nullable: true + sort_order: + type: integer + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + example: 1 + nullable: true + is_sort_key: + type: boolean + title: Is Sort Key + description: If the column is a sort column. + example: true + nullable: true + calculated_column_mode: + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + example: source + nullable: true + order: + type: integer + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + example: 1 + nullable: true + target_type: + type: string + enum: + - databricks + title: Target Type + description: Internal field, populated automatically + default: databricks + nullable: true + additionalProperties: false + type: object + required: + - is_selected + - name + title: DatabricksModifiedColumn + description: Databricks specific columns settings + DatabricksTargetSettings: + properties: + name: + type: string + enum: + - databricks + title: Name + description: The name of the target + default: databricks + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + table_name: + type: string + title: Table Name + description: >- + The table name of this target (only relevant for non multi table + source to target rivers) + default: '' + example: Table 1 + nullable: true + target_prefix: + type: string + title: Target Prefix + description: >- + The table prefix of this target (only relevant for multi table + source to target rivers) + default: '' + example: start_at_ + nullable: true + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: The order expression of the river entity. + example: id desc,createDate asc + nullable: true + loading_method: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: The loading method of this target + example: merge + merge_method: + allOf: + - $ref: '#/components/schemas/MergeMethod' + description: >- + The merge method to preform,only relevant when the loading mode is + Merge,if not provided the default merge method will be used.(merge) + example: merge + nullable: true + file_zone_settings: + allOf: + - $ref: '#/components/schemas/RiverFileZoneSettings' + title: File Zone Settings + description: The file zone settings of this target + nullable: true + file_path_destination: + type: string + title: File Path Destination + description: The file name and path + example: path/to/file + bucket_name: + type: string + title: Bucket Name + description: The bucket name + example: bucket + additional_settings: + type: object + title: Additional Settings + description: The additional settings of this target + default: {} + example: + key: value + nullable: true + type: object + required: + - loading_method + title: DatabricksTargetSettings + description: Databricks target settings properties to return. + DataframeAddInput: + properties: + connection_settings: + allOf: + - $ref: '#/components/schemas/DataframeConnectionSettingsInput' + title: Connection Settings + description: The connection settings of the dataframe + example: |- + "connection_settings":{ + "connection" : "6278159bcfc148000fad5632", + "datasource_id" : "s3", + "storage_type" : "aws", + "default_bucket" : "rivery-dev-tests"} + + name: + type: string + title: Name + description: The name of the dataframe - must be unique + example: unique_name + type: object + required: + - name + title: DataframeAddInput + description: |- + Input for adding Dataframe + + DataframeConnectionSettingsInput: + properties: + connection: + type: string + title: Connection + description: The connection of the connection_settings + example: 62e7f4352c13160013dc39be + datasource_id: + type: string + title: Datasource Id + description: The datasource_id of the connection_settings + example: aws + default_bucket: + type: string + title: Default Bucket + description: The default bucket of the connection settings + example: some_s3_bucket + storage_type: + type: string + title: Storage Type + description: The storage type of the connection settings + example: s3 + type: object + required: + - connection + - datasource_id + - default_bucket + - storage_type + title: DataframeConnectionSettingsInput + description: |- + Input for the Dataframe connection settings + + DataframePaginationResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + account_id: + type: string + title: Account Id + description: The account id + environment_id: + type: string + title: Environment Id + description: The environment id + items: + items: + $ref: '#/components/schemas/DataframeResponse' + type: array + title: Items + type: object + required: + - current_page_size + - account_id + - environment_id + - items + title: DataframePaginationResponse + description: |- + Dataframe response properties to return as a paginated list + + DataframeResponse: + properties: + account_id: + type: string + title: Account Id + description: The account id of the user + example: 62e7f4352c13160013dc39be + environment_id: + type: string + title: Environment Id + description: The environment id of the user + example: 82e7f4122c13169813dc395g + connection_settings: + type: object + title: Connection Settings + description: The connection settings of the dataframe + default: {} + example: |- + "connection_settings":{ + "connection" : "6278159bcfc148000fad5632", + "datasource_id" : "s3", + "storage_type" : "aws", + "default_bucket" : "rivery-dev-tests"} + name: + type: string + title: Name + description: The name of the dataframe - must be unique + example: unique_name + type: object + required: + - account_id + - environment_id + - name + title: DataframeResponse + description: |- + Dataframe response properties to return + + DataframeUpdateInput: + properties: + connection_settings: + allOf: + - $ref: '#/components/schemas/DataframeConnectionSettingsInput' + title: Connection Settings + description: The connection settings of the dataframe + example: |- + "connection_settings":{ + "connection" : "6278159bcfc148000fad5632", + "datasource_id" : "s3", + "storage_type" : "aws", + "default_bucket" : "rivery-dev-tests"} + + type: object + title: DataframeUpdateInput + description: Input for updating Dataframe + DateRange: + properties: + time_period: + allOf: + - $ref: '#/components/schemas/RiverTimePeriodEnum' + description: The time period of the river entity. + default: custom + example: custom + nullable: true + start_date: + type: string + title: Start Date + description: The start date of the river entity. + example: '2020-12-01T00:00:00.000Z' + nullable: true + end_date: + type: string + title: End Date + description: The end date of the river entity. + example: '2020-01-01T00:00:00.000Z' + nullable: true + days_back: + type: integer + title: Days Back + description: The days back of the river entity. + default: 0 + example: 1 + include_end_value: + type: boolean + title: Include End Value + description: Whether to include or exclude the end_value in the date range + default: false + example: true + extra: + name: date_range.include_end_value + type: switch + display_name: Include the End Value of the End Date + left_label: true + split_time_intervals: + allOf: + - $ref: '#/components/schemas/SplitTimeIntervals' + title: Split Time Intervals + description: The interval time to split by when using date increment. + default: + time_interval: dont_split + interval_size: 1 + example: + time_interval: days + interval_size: 3 + update_increment_on_failures: + type: boolean + title: Update Increment On Failures + description: >- + If to update the start date for the next extraction even if the + current extraction is unsuccessful. + default: false + example: true + type: object + title: DateRange + description: Date range when using incremental loading method. + DistributionMethodEnum: + type: string + enum: + - all + - even + - key + title: DistributionMethodEnum + description: |- + Enum for distribution methods in Redshift as a target, example: + ALL - A copy of the entire table is distributed to every node + EmailTargetSettings: + properties: + name: + type: string + enum: + - target_email + title: Name + description: The name of the target + default: target_email + email_list: + items: + type: string + type: array + maxItems: 15 + minItems: 1 + title: Email List + description: A list of email addresses to send the data to. + example: + - example@example.io + type: object + required: + - email_list + title: EmailTargetSettings + description: Email target settings properties to return. + EnvironmentsColorEnum: + type: string + enum: + - gray.400 + - tagGreen + - cBlues + - tagCyan + - tagGeekBlue + - cPurples + - tagPurple + - tagMagenta + - cOranges + - tagOrange + - yellow.200 + title: EnvironmentsColorEnum + description: The EnvironmentsColor enum provides all color options for environments + EnvironmentsFields: + properties: + _id: + type: string + title: ' Id' + account: + type: string + title: Account + description: The account id of the user + example: 62e7f4352c13160013dc39be + user_created: + type: string + title: User Created + description: The user id of the user who first created the environment + example: 62e7f4352c13160013dc39be + created_at: + anyOf: + - type: string + format: date-time + - type: string + title: Created At + description: >- + The environment creation date time in UTC timezone. Time format + YYYY-MM-DDThh:mm:ss.ms + example: '2022-07-25T18:38:55.640Z' + cross_id: + type: string + title: Cross Id + description: The cross id of the environment + example: 62e7f4352c13160013dc39be + updated_at: + anyOf: + - type: string + format: date-time + - type: string + title: Updated At + description: The time in which the environment was last updated (UTC time zone) + example: '2022-08-02T13:38:44.054000' + environment_name: + type: string + title: Environment Name + description: The environment name + example: Dev Environment + color: + allOf: + - $ref: '#/components/schemas/EnvironmentsColorEnum' + description: The environment color as shown in the app + default: gray.400 + example: Gray + description: + type: string + title: Description + description: The environment description + example: Development environment for new rivers + variables: + type: object + title: Variables + description: Environment's variables + example: + days_ago: '0' + aws_file_zone: Rivery-rivery + gcs_file_zone: Rivery-rivery + azure_file_zone: Rivery-rivery + hours_offset: '0' + is_deleted: + type: boolean + title: Is Deleted + description: A flag that indicates whether the environment is deleted + default: false + example: 'False' + deleted_by: + type: string + title: Deleted By + description: >- + The user id of the user who deleted the environment (if the + environment is deleted) + example: 62e7f4352c13160013dc39be + deleted_at: + anyOf: + - type: string + format: date-time + - type: string + title: Deleted At + description: >- + The time in which the environment was deleted (if the environment is + deleted). Time format YYYY-MM-DDThh:mm:ss.ms + example: '2022-07-25T18:38:55.640Z' + is_default: + type: boolean + title: Is Default + description: >- + A flag that indicates whether the environment is the account's + default environment + default: 'False' + example: 'True' + updated_by: + type: string + title: Updated By + description: The user id of the user who last updated the environment + example: 62e7f4352c13160013dc39be + type: object + required: + - _id + - account + - cross_id + - environment_name + - variables + title: EnvironmentsFields + description: |- + Environments properties to return. + + ExtractMethodEnum: + type: string + enum: + - all + - incremental + - log + title: ExtractMethodEnum + description: |- + Extract method enum. + The supported extract methods are: + - All - for extracting all the data with no filter + - Incremental - for extracting the data with an increment filter by a certain field / column + - LogBased - for CDC extraction using logs + FacebookAdsAdsTypeEnum: + type: string + enum: + - ads_ids + - ads_names + - ads_filter + title: FacebookAdsAdsTypeEnum + description: Facebook Ads, ads type enum + FacebookAdsCampaignsTypeEnum: + type: string + enum: + - campaigns_ids + - campaigns_names + - campaigns_filter + title: FacebookAdsCampaignsTypeEnum + description: Facebook Ads campaigns type enum + FacebookAdsSetsTypeEnum: + type: string + enum: + - adsets_ids + - adsets_names + - adsets_filter + title: FacebookAdsSetsTypeEnum + description: Facebook Ads ad sets type enum + FinancialStatusEnum: + type: string + enum: + - any + - paid + - unpaid + - voided + - pending + - refunded + - authorized + - partially_paid + - partially_refunded + title: FinancialStatusEnum + description: Shopify financial order status enum + GCSModifiedColumn: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the column is selected and should be modified. + example: true + name: + type: string + title: Name + description: The name of the column. + example: column_name + type: + type: string + title: Type + description: The type of the column. + example: string + nullable: true + alias: + type: string + title: Alias + description: The alias of the column in the target table. + example: column_alias + nullable: true + expression: + type: string + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + example: select 'test' + nullable: true + is_key: + type: boolean + title: Is Key + description: If the column is a key. + example: true + nullable: true + sort_order: + type: integer + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + example: 1 + nullable: true + is_sort_key: + type: boolean + title: Is Sort Key + description: If the column is a sort column. + example: true + nullable: true + calculated_column_mode: + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + example: source + nullable: true + order: + type: integer + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + example: 1 + nullable: true + target_type: + type: string + enum: + - GCS + title: Target Type + description: Internal field, populated automatically + default: GCS + nullable: true + additionalProperties: false + type: object + required: + - is_selected + - name + title: GCSModifiedColumn + description: GCS specific columns settings + GcsTargetSettings: + properties: + name: + type: string + enum: + - GCS + title: Name + description: The name of the target + default: GCS + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + path: + type: string + title: Path + description: The path of the file zone entity. + example: my_path + bucket_name: + type: string + title: Bucket Name + description: The bucket name of the file zone entity. + example: my_bucket + partitioned_kind: + allOf: + - $ref: '#/components/schemas/PartitionedKindEnum' + description: The partitioned kind of the file zone entity. + example: by_day + type: object + required: + - path + - bucket_name + - partitioned_kind + title: GcsTargetSettings + description: GCS target settings properties to return. + GeneralResponse: + properties: + details: + type: string + title: Details + type: object + required: + - details + title: GeneralResponse + description: General response schema contains only details + GetScimTokenStatusResponse: + properties: + account_id: + type: string + title: Account Id + description: The account id + examples: + - 65c2465a76ba59de1a868a4e + is_enabled: + type: boolean + title: Is Enabled + description: A flag that indicates whether SCIM provisioning is enabled + examples: + - true + scim_service_url: + type: string + title: Scim Service Url + description: The connection string (URL) used to communicate with your SCIM app + examples: + - https://rivery-scim.rivery.io + type: object + required: + - account_id + - is_enabled + - scim_service_url + title: GetScimTokenStatusResponse + description: SCIM token get status + GroupOrUserSourceEnum: + type: string + enum: + - rivery + - active_directory + title: GroupOrUserSourceEnum + description: >- + The source group. can be locally from Rivery or imported from external + provider + HTTPValidationError: + properties: + detail: + items: + $ref: '#/components/schemas/ValidationError' + type: array + title: Detail + type: object + title: HTTPValidationError + IDNameInput: + properties: + id: + type: string + title: Id + description: The if of the entity + name: + type: string + title: Name + description: The name of the entity + type: object + required: + - id + title: IDNameInput + description: Basic ID and Name input + IncrementColumn: + properties: + name: + type: string + title: Name + description: The column’s name + example: column name + type: + allOf: + - $ref: '#/components/schemas/ColumnsIncrementTypeEnum' + description: The data type of the increment column in the DB + example: DATETIME + incremental_type: + allOf: + - $ref: '#/components/schemas/ColumnsIntervalTypeEnum' + description: The interval type of the column + example: datetime + is_default: + type: boolean + title: Is Default + description: >- + A boolean field that indicates if the column should be the default + increment column + default: false + example: false + type: object + required: + - name + - type + - incremental_type + title: IncrementColumn + description: Increment columns for the table entity + IncrementalFieldEnum: + type: string + enum: + - updated at + - created at + title: IncrementalFieldEnum + description: Shopify addresses/customers incremental field enum + IntervalTimeExternalEnum: + type: string + enum: + - dont_split + - minutes + - hours + - days + - weeks + - months + - years + title: IntervalTimeExternalEnum + description: >- + Intervals by time options (external enum for IntervalChunkSizeEnum + options) + LegacyRiverResponse: + properties: + river_definition: + type: object + title: River Definition + description: The definition of the river version + example: + river: + name: river_name + id: 55fr7d4270fdca16cac18261 + type: river_type + version: river_version + source: + type: source_type + id: 55fr7d4270fdca16cac18261 + name: source_name + source_task_config: + type: object + title: Source Task Config + description: The source task config of the river version + example: + task: + name: task_name + target_task_config: + type: object + title: Target Task Config + description: The target task config of the river version + example: + task: + name: task_name + type: object + required: + - river_definition + - source_task_config + title: LegacyRiverResponse + description: >- + This class is used to return the river version definition in the legacy + format. + ListEnvironmentsPaginationResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + account_id: + type: string + title: Account Id + description: The account id + items: + items: + $ref: '#/components/schemas/EnvironmentsFields' + type: array + title: Items + type: object + required: + - current_page_size + - account_id + - items + title: ListEnvironmentsPaginationResponse + description: The list environments response to return as a paginated list + ListRiverObject: + properties: + name: + type: string + title: Name + description: Name of the river + example: river_name + river_status: + allOf: + - $ref: '#/components/schemas/RiverStatusEnum' + description: Status of the river + example: active + group_name: + type: string + title: Group Name + description: Name of the group associated with the river + example: river_group_1 + group_id: + type: string + title: Group Id + description: the id of the group associated with the river + example: 62e7f4352c13160013dc39be + river_schedulers: + items: + type: string + type: array + title: River Schedulers + description: List of schedulers used for the river + example: + - 0 * * * * + - 0 0 1 * * + datasource_id: + type: string + title: Datasource Id + description: Source ID of the river + example: 5f7d4270fdca16cac18261 + last_user_name_modified: + type: string + title: Last User Name Modified + description: User name of the last modifier + example: user_name + river_cross_id: + type: string + title: River Cross Id + description: River cross ID + example: 5f7d4270fdca16cac18261 + last_updated_at: + type: string + format: date-time + title: Last Updated At + description: Last time the river was modified + example: '2021-01-01T00:00:00.000Z' + description: + type: string + title: Description + description: Description of the river, if available + example: river_description + nullable: true + is_api_v2: + type: boolean + title: Is Api V2 + description: Flag indicating whether the river is using API v2 + example: true + river_type: + allOf: + - $ref: '#/components/schemas/RiverTypeEnum' + description: Type of the river + example: source_to_target + created_at: + type: string + format: date-time + title: Created At + description: Time the river was created + example: '2021-01-01T00:00:00.000Z' + type: object + required: + - name + - river_status + - group_name + - group_id + - river_schedulers + - datasource_id + - last_user_name_modified + - river_cross_id + - last_updated_at + - is_api_v2 + - river_type + - created_at + title: ListRiverObject + description: River list object for the list endpoint. + ListRiversSortByFilterEnum: + type: string + enum: + - last_updated_at + - source_name + - river_name + - group_name + - group_id + title: ListRiversSortByFilterEnum + description: The river sort by filter enum provide all the sort by options. + LoadingMode: + type: string + enum: + - overwrite + - append + - merge + title: LoadingMode + description: 'Enum for loading modes ' + LogicBlockTypeEnum: + type: string + enum: + - big_query_sql + - river + - redshift + - action + - azure_datalake + - azure_sql + - azure_datalake_job + - snowflake + - logicode + - azure_sql_dwh + - postgres + - databricks + - firebolt + - athena + title: LogicBlockTypeEnum + description: >- + Logic step can have block types - this enum enumerate the different + block types + LogicContainerTypeEnum: + type: string + enum: + - run_once + - loop_over + - condition + title: LogicContainerTypeEnum + description: ALl of the logic container options + LogicProperties: + properties: + properties_type: + type: string + enum: + - logic + title: Properties Type + default: logic + additionalProperties: false + type: object + title: LogicProperties + description: Logic properties which define the logic river properties + LogicStep: + properties: + is_container: + type: boolean + title: Is Container + description: A flag that indicates whether this step is a container or not + example: true + container_type: + allOf: + - $ref: '#/components/schemas/LogicContainerTypeEnum' + description: The container type - if any + example: run_once + start_date_utc: + type: string + format: date-time + title: Start Date Utc + description: >- + The start date time in UTC timezone.Time format + YYYY-MM-DDThh:mm:ss.ms + example: '2022-07-25T18:38:55.640Z' + start_date_in_milliseconds: + type: integer + title: Start Date In Milliseconds + description: The start epoch in milliseconds. + example: 1658774335000 + end_date_utc: + type: string + format: date-time + title: End Date Utc + description: The end date time in UTC timezone.Time format YYYY-MM-DDThh:mm:ss.ms + example: '2022-07-25T18:38:55.640Z' + nullable: true + end_date_in_milliseconds: + type: integer + title: End Date In Milliseconds + description: The end epoch in milliseconds. + example: 1658774335000 + nullable: true + step_status: + allOf: + - $ref: '#/components/schemas/ActivityStatusEnum' + description: The step status + example: succeeded + loop_iteration_number: + type: integer + title: Loop Iteration Number + description: >- + If loop exist, it will contain the loop iteration number, otherwise + 0 + duration: + type: string + title: Duration + description: >- + Step duration. Format h:mm:ss.ms. If step failed or canceled the + duration will be 'None' + example: '0:01:23.275006' + step_execution_id: + type: string + title: Step Execution Id + step_id: + type: string + title: Step Id + step_index: + type: string + title: Step Index + error_description: + type: string + title: Error Description + description: The error description if any + example: error + nullable: true + logicode_statistics: + allOf: + - $ref: '#/components/schemas/LogicodeStatistics' + title: Logicode Statistics + description: The logicode statistics of RPU, duration and network + nullable: true + block_type: + allOf: + - $ref: '#/components/schemas/LogicBlockTypeEnum' + description: The logic block type + example: action + nullable: true + type: object + required: + - is_container + - start_date_utc + - start_date_in_milliseconds + - step_status + - loop_iteration_number + - duration + - step_execution_id + - step_id + - step_index + title: LogicStep + description: Logic step configuration + LogicodeStatistics: + properties: + logicode_rpu: + type: number + title: Logicode Rpu + description: The total RPUs that were consumed during this step run + logicode_network_mb: + type: number + title: Logicode Network Mb + description: The total network (in and out) consumption of this step run + logicode_duration_seconds: + type: number + title: Logicode Duration Seconds + description: The duration of this step + type: object + required: + - logicode_rpu + - logicode_network_mb + - logicode_duration_seconds + title: LogicodeStatistics + description: Logicode (python) statistics + MergeMethod: + type: string + enum: + - switch_tables + - delete_insert + - merge + title: MergeMethod + description: 'Enum for merge methods ' + MongoDBAdditionalSourceSettings: + properties: + filter_expression: + type: string + title: Filter Expression + description: The filter expression of the river entity. + default: '' + example: id > 100 + source_type: + type: string + enum: + - mongodb + title: Source Type + description: Internal field, populated automatically + default: mongodb + nullable: true + concurrent_requests_number: + type: integer + title: Concurrent Requests Number + description: Number of connections to open concurrently to MongoDB + default: 1 + example: 1 + nullable: true + type: object + title: MongoDBAdditionalSourceSettings + description: MongoDB specific source settings + MongoDBSourceCDCSettings: + properties: + default_tables_migration_option: + allOf: + - $ref: '#/components/schemas/RiverTablesMigrationDefaultSyncOption' + description: >- + This option determine the tables migration option. For example. + Choosing SKIP_INITIAL_MIGRATIONwill cause all tables to inherit the + status from the River level to be used for a one-time process. + default: RUN_INITIAL_MIGRATION + example: SKIP_INITIAL_MIGRATION + datasource_id: + type: string + enum: + - mongodb + title: Datasource Id + description: The data source id of this source + default: mongodb + type: object + title: MongoDBSourceCDCSettings + description: MongoDB Source settings properties. + MySQLAdditionalSourceSettings: + properties: + filter_expression: + type: string + title: Filter Expression + description: The filter expression of the river entity. + default: '' + example: id > 100 + source_type: + type: string + enum: + - mysql + title: Source Type + description: Internal field, populated automatically + default: mysql + nullable: true + type: object + title: MySQLAdditionalSourceSettings + description: MySQL specific source settings + MysqlSourceCDCSettings: + properties: + default_tables_migration_option: + allOf: + - $ref: '#/components/schemas/RiverTablesMigrationDefaultSyncOption' + description: >- + This option determine the tables migration option. For example. + Choosing SKIP_INITIAL_MIGRATIONwill cause all tables to inherit the + status from the River level to be used for a one-time process. + default: RUN_INITIAL_MIGRATION + example: SKIP_INITIAL_MIGRATION + datasource_id: + type: string + enum: + - mysql + title: Datasource Id + description: The data source id of this source + default: mysql + type: object + title: MysqlSourceCDCSettings + description: Mysql Source settings properties to return. + NotificationSettings: + properties: + warning: + allOf: + - $ref: '#/components/schemas/RiverNotificationReport' + title: Warning + description: Notification report for warning. + nullable: true + failure: + allOf: + - $ref: '#/components/schemas/RiverNotificationReport' + title: Failure + description: Notification report for failure. + nullable: true + run_threshold: + allOf: + - $ref: '#/components/schemas/RiverNotificationReport' + title: Run Threshold + description: Notification report for run threshold. + nullable: true + type: object + title: NotificationSettings + description: |- + Notification settings properties for the entire river + (define what to do on warning, error, failure/timeout) + OperationResponse: + properties: + operation_id: + type: string + title: Operation Id + description: The ID of the operation + example: 62e7f4352c13160013dc39be + operation_type: + type: string + title: Operation Type + description: The type of the operation + example: dataframe + last_update_date: + type: string + format: date-time + title: Last Update Date + description: The date time in UTC timezone of the last update + example: '2022-08-02T13:38:44.054000' + status: + allOf: + - $ref: '#/components/schemas/PullRequestStatus' + description: The current status of the operation id + example: D + result: + title: Result + description: The result of the operation + example: 'true' + error_message: + type: string + title: Error Message + description: The error message of the operation + example: '[RVR-QBK-003]: Response value error: Missing Rows/Columns' + type: object + required: + - operation_id + - operation_type + - last_update_date + - status + title: OperationResponse + description: |- + Operation properties to return. + + OracleAdditionalSourceSettings: + properties: + filter_expression: + type: string + title: Filter Expression + description: The filter expression of the river entity. + default: '' + example: id > 100 + source_type: + type: string + enum: + - oracle + title: Source Type + description: Internal field, populated automatically + default: oracle + nullable: true + type: object + title: OracleAdditionalSourceSettings + description: Oracle specific source settings + OracleSourceCDCSettings: + properties: + default_tables_migration_option: + allOf: + - $ref: '#/components/schemas/RiverTablesMigrationDefaultSyncOption' + description: >- + This option determine the tables migration option. For example. + Choosing SKIP_INITIAL_MIGRATIONwill cause all tables to inherit the + status from the River level to be used for a one-time process. + default: RUN_INITIAL_MIGRATION + example: SKIP_INITIAL_MIGRATION + datasource_id: + type: string + enum: + - oracle + title: Datasource Id + description: The data source id of this source + default: oracle + type: object + title: OracleSourceCDCSettings + description: Oracle Source settings properties to return. + PartitionedKindEnum: + type: string + enum: + - by_day + - by_hour + - by_minute + title: PartitionedKindEnum + description: Partitioned kind for storages + PatchUserTeamsInput: + properties: + display_name: + type: string + title: Display Name + description: The display name in rivery + example: Rivery Core Team + description: + type: string + title: Description + description: Internal description + example: Some description + environments: + type: object + title: Environments + description: Dictionary of environment id and environment role + example: + 633ede20f1fc5500111fd7b3: + role: viewer + 5f887c764c40e5598f717676: + role: viewer + is_all_environment_admin: + type: boolean + title: Is All Environment Admin + description: Indicates if group have Admin permission for all environment + example: true + type: object + title: PatchUserTeamsInput + description: Request patch user groups input. + PostgreSQLAdditionalSourceSettings: + properties: + filter_expression: + type: string + title: Filter Expression + description: The filter expression of the river entity. + default: '' + example: id > 100 + source_type: + type: string + enum: + - postgresql + title: Source Type + description: Internal field, populated automatically + default: postgresql + nullable: true + type: object + title: PostgreSQLAdditionalSourceSettings + description: PostgreSQL specific source settings + PostgresAdditionalTargetSettings: + properties: + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: >- + The order expression of the river entity,to filter duplications from + the source data by the provided order expression (for `merge` + loading method). + example: id desc,createDate asc + nullable: true + target_loading: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: >- + The target loading of the table entity,if not specified the default + loading mode of the riverwill be used. + example: merge + nullable: true + target_type: + type: string + enum: + - postgres + title: Target Type + description: Internal field, populated automatically + default: postgres + nullable: true + analyze_tables: + type: boolean + title: Analyze Tables + description: Analyze the tables after the load process + default: false + type: object + title: PostgresAdditionalTargetSettings + description: Postgres specific target settings + PostgresModifiedColumn: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the column is selected and should be modified. + example: true + name: + type: string + title: Name + description: The name of the column. + example: column_name + type: + type: string + title: Type + description: The type of the column. + example: string + nullable: true + alias: + type: string + title: Alias + description: The alias of the column in the target table. + example: column_alias + nullable: true + expression: + type: string + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + example: select 'test' + nullable: true + is_key: + type: boolean + title: Is Key + description: If the column is a key. + example: true + nullable: true + sort_order: + type: integer + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + example: 1 + nullable: true + is_sort_key: + type: boolean + title: Is Sort Key + description: If the column is a sort column. + example: true + nullable: true + calculated_column_mode: + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + example: source + nullable: true + order: + type: integer + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + example: 1 + nullable: true + target_type: + type: string + enum: + - postgres + title: Target Type + description: Internal field, populated automatically + default: postgres + nullable: true + additionalProperties: false + type: object + required: + - is_selected + - name + title: PostgresModifiedColumn + description: Postgres specific columns settings + PostgresSourceCDCSettings: + properties: + default_tables_migration_option: + allOf: + - $ref: '#/components/schemas/RiverTablesMigrationDefaultSyncOption' + description: >- + This option determine the tables migration option. For example. + Choosing SKIP_INITIAL_MIGRATIONwill cause all tables to inherit the + status from the River level to be used for a one-time process. + default: RUN_INITIAL_MIGRATION + example: SKIP_INITIAL_MIGRATION + datasource_id: + type: string + enum: + - postgres + title: Datasource Id + description: The data source id of this source + default: postgres + custom_replication_slot: + type: string + title: Custom Replication Slot + description: The custom replication slot of this source + example: custom_replication_slot + custom_publication: + type: string + title: Custom Publication + description: The custom publication of this source + example: custom_publication + type: object + title: PostgresSourceCDCSettings + description: Postgres Source settings properties to return. + PostgresTargetSettings: + properties: + name: + type: string + enum: + - postgres + title: Name + description: The name of the target + default: postgres + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + table_name: + type: string + title: Table Name + description: >- + The table name of this target (only relevant for non multi table + source to target rivers) + default: '' + example: Table 1 + nullable: true + target_prefix: + type: string + title: Target Prefix + description: >- + The table prefix of this target (only relevant for multi table + source to target rivers) + default: '' + example: start_at_ + nullable: true + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: The order expression of the river entity. + example: id desc,createDate asc + nullable: true + loading_method: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: The loading method of this target + example: merge + merge_method: + allOf: + - $ref: '#/components/schemas/MergeMethod' + description: >- + The merge method to preform,only relevant when the loading mode is + Merge,if not provided the default merge method will be used.(merge) + example: merge + nullable: true + file_zone_settings: + allOf: + - $ref: '#/components/schemas/RiverFileZoneSettings' + title: File Zone Settings + description: The file zone settings of this target + nullable: true + file_path_destination: + type: string + title: File Path Destination + description: The file name and path + example: path/to/file + bucket_name: + type: string + title: Bucket Name + description: The bucket name + example: bucket + additional_settings: + type: object + title: Additional Settings + description: The additional settings of this target + default: {} + example: + key: value + nullable: true + type: object + required: + - loading_method + title: PostgresTargetSettings + description: Postgres target settings properties to return. + PredefinedColumnModel: + properties: + name: + type: string + title: Name + description: The column name. + example: column_name + type: + allOf: + - $ref: '#/components/schemas/ColumnsTypeEnum' + description: The column's data type. + example: STRING + is_key: + type: boolean + title: Is Key + description: Whether the column is a key. + default: false + example: true + alias: + type: string + title: Alias + description: The column name's alias. + example: column_alias + mode: + allOf: + - $ref: '#/components/schemas/ColumnsModeEnum' + description: The column's mode. + example: NULLABLE + datasource_id: + allOf: + - $ref: '#/components/schemas/SourceTypeEnum' + description: The column datasource id. + example: shopify + report: + type: string + title: Report + description: The column's report id. + example: orders + fields: + items: + type: string + type: array + title: Fields + description: A list of subfields for the original field + type: object + required: + - name + - type + - datasource_id + - report + title: PredefinedColumnModel + description: Predefined report column structure + PredefinedColumnsPaginatedResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + items: + items: + $ref: '#/components/schemas/PredefinedColumnModel' + type: array + title: Items + description: A list of predefined columns + type: object + required: + - current_page_size + - items + title: PredefinedColumnsPaginatedResponse + description: The response for the get predefined columns. + PredefinedMetadataModelResponse: + properties: + title: + type: string + title: Title + description: The report title. + example: my title + description: + type: string + title: Description + description: The report description. + example: report description + properties: + type: object + title: Properties + description: The report fields and metadata. + required: + items: + type: string + type: array + title: Required + description: A list of required report fields + example: + - id + type: object + required: + - title + - description + - properties + title: PredefinedMetadataModelResponse + description: The response for the get predefined metadata. + PredefinedReportShopifyTableInput: + properties: + run_type_and_datasource: + type: string + enum: + - predefined_report_shopify + title: Run Type And Datasource + description: Internal field + default: predefined_report_shopify + details: + anyOf: + - $ref: '#/components/schemas/WriteShopifyPredefinedOrdersReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedShopReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedAddressesReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedAnalyticReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedCustomersReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedInventoryLevelsReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedMarketingEventsReport' + - $ref: >- + #/components/schemas/WriteShopifyPredefinedOrderTransactionsReport + - $ref: '#/components/schemas/WriteShopifyPredefinedProductsReport' + title: Details + description: The predefined report table details + additionalProperties: false + type: object + required: + - details + title: PredefinedReportShopifyTableInput + description: |- + Table properties which define the predefined report table data + This schema is being used for read + PredefinedTableModel: + properties: + id: + type: string + title: Id + description: The table id. + example: table_id + increment_columns: + items: + $ref: '#/components/schemas/IncrementColumn' + type: array + title: Increment Columns + description: List of columns that the table can run incrementally by. + example: + - incremental_type: runningnumber + type: FLOAT + name: days_unsigned__c + is_default: false + datasource_id: + type: string + title: Datasource Id + description: The id of the datasource. + example: shopify + report_id: + type: string + title: Report Id + description: The id of the report. + example: predefined_orders + report_name: + type: string + title: Report Name + description: The name of the report. + example: orders + no_increment: + type: boolean + title: No Increment + description: Indication if there is no increment for the report. + nullable: true + increment_required: + type: boolean + title: Increment Required + description: Indication if the increment is required for the report. + nullable: true + user_parameters: + items: + type: string + type: array + title: User Parameters + description: List of parameters the user can input and change. + default: [] + example: + - date + nullable: true + hide_parameters: + items: + type: string + type: array + title: Hide Parameters + description: List of parameters hidden to the user + default: [] + nullable: true + type: object + required: + - id + - increment_columns + - datasource_id + - report_id + - report_name + title: PredefinedTableModel + description: >- + Predefined table properties to return (for Shopify, Facebook ads, + etc...) + PredefinedTablesModelPaginatedResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + items: + items: + $ref: '#/components/schemas/PredefinedTableModel' + type: array + title: Items + description: A list of predefined tables + type: object + required: + - current_page_size + - items + title: PredefinedTablesModelPaginatedResponse + description: The response for the get predefined tables. + ProductsIncrementalFieldEnum: + type: string + enum: + - updated at + - created at + - published at + title: ProductsIncrementalFieldEnum + description: Shopify products incremental field enum + PullRequestStatus: + type: string + enum: + - W + - E + - R + - D + title: PullRequestStatus + description: >- + The status of the pull request that we use in the back, and expose in + the API + RedshiftAdditionalTargetSettings: + properties: + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: >- + The order expression of the river entity,to filter duplications from + the source data by the provided order expression (for `merge` + loading method). + example: id desc,createDate asc + nullable: true + target_loading: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: >- + The target loading of the table entity,if not specified the default + loading mode of the riverwill be used. + example: merge + nullable: true + target_type: + type: string + enum: + - redshift + title: Target Type + description: Internal field, populated automatically + default: redshift + nullable: true + distribution_method: + allOf: + - $ref: '#/components/schemas/DistributionMethodEnum' + description: The distribution method of the target. + default: even + example: even + merge_method: + allOf: + - $ref: '#/components/schemas/MergeMethod' + description: >- + The merge method of the table, if not specified the default merge + method of the riverwill be used. + example: merge + nullable: true + type: object + title: RedshiftAdditionalTargetSettings + description: Redshift specific target settings + RedshiftModifiedColumn: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the column is selected and should be modified. + example: true + name: + type: string + title: Name + description: The name of the column. + example: column_name + type: + type: string + title: Type + description: The type of the column. + example: string + nullable: true + alias: + type: string + title: Alias + description: The alias of the column in the target table. + example: column_alias + nullable: true + expression: + type: string + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + example: select 'test' + nullable: true + is_key: + type: boolean + title: Is Key + description: If the column is a key. + example: true + nullable: true + sort_order: + type: integer + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + example: 1 + nullable: true + is_sort_key: + type: boolean + title: Is Sort Key + description: If the column is a sort column. + example: true + nullable: true + calculated_column_mode: + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + example: source + nullable: true + order: + type: integer + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + example: 1 + nullable: true + target_type: + type: string + enum: + - redshift + title: Target Type + description: Internal field, populated automatically + default: redshift + nullable: true + length: + type: integer + title: Length + description: The length of VARCHAR columns. + example: 256 + nullable: true + scale: + type: integer + title: Scale + description: The scale of DECIMAL columns. + example: 0 + nullable: true + precision: + type: integer + title: Precision + description: The precision of DECIMAL columns. + example: 18 + nullable: true + is_dist_key: + type: boolean + title: Is Dist Key + description: >- + If the column is a unique Distkey column on which the table is + distributed to each node + example: true + nullable: true + is_sorted: + type: boolean + title: Is Sorted + description: >- + If the column should be sorted (if true- sort_order is the order of + the column for sorting. + example: true + nullable: true + additionalProperties: false + type: object + required: + - is_selected + - name + title: RedshiftModifiedColumn + description: Redshift specific columns settings + RedshiftTargetSettings: + properties: + name: + type: string + enum: + - redshift + title: Name + description: The name of the target + default: redshift + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + table_name: + type: string + title: Table Name + description: >- + The table name of this target (only relevant for non multi table + source to target rivers) + default: '' + example: Table 1 + nullable: true + target_prefix: + type: string + title: Target Prefix + description: >- + The table prefix of this target (only relevant for multi table + source to target rivers) + default: '' + example: start_at_ + nullable: true + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: The order expression of the river entity. + example: id desc,createDate asc + nullable: true + loading_method: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: The loading method of this target + example: merge + merge_method: + allOf: + - $ref: '#/components/schemas/MergeMethod' + description: >- + The merge method to preform,only relevant when the loading mode is + Merge,if not provided the default merge method will be used.(merge) + example: merge + nullable: true + file_zone_settings: + allOf: + - $ref: '#/components/schemas/RiverFileZoneSettings' + title: File Zone Settings + description: The file zone settings of this target + nullable: true + file_path_destination: + type: string + title: File Path Destination + description: The file name and path + example: path/to/file + bucket_name: + type: string + title: Bucket Name + description: The bucket name + example: bucket + additional_settings: + type: object + title: Additional Settings + description: The additional settings of this target + default: {} + example: + key: value + nullable: true + schema_name: + type: string + title: Schema Name + description: The schema name of this target + example: Schema 1 + nullable: true + type: object + required: + - loading_method + title: RedshiftTargetSettings + description: Redshift target settings properties to return. + RestoreRiverVersionInput: + properties: + version_id: + type: string + title: Version Id + description: The id of the version to restore. + example: 5f7d4270fdca16cac18261 + additionalProperties: false + type: object + required: + - version_id + title: RestoreRiverVersionInput + description: Input for restoring a river version + RiverActivityRun: + properties: + run_id: + type: string + title: Run Id + description: The run ID + example: 5658a1c9ea724ee59f048cbb5a6f734a + datasource_id: + type: string + title: Datasource Id + description: The datasource ID + example: mysql + error_description: + type: string + title: Error Description + description: The error description if any + example: error + nullable: true + units: + type: number + title: Units + description: Total RPU (units) + example: 2.1 + rpu: + type: number + title: Rpu + description: Total RPU + example: 2.1 + run_group_id: + type: string + title: Run Group Id + description: The run group id + example: 201dcf8182ad4a59868cb41b957fdc8d + status: + $ref: '#/components/schemas/ActivityStatusEnum' + source_name: + type: string + title: Source Name + description: The name of the source + example: mysql + target_name: + type: string + title: Target Name + description: The target table name + example: table + nullable: true + start_date_utc: + type: string + format: date-time + title: Start Date Utc + description: >- + The start date time in UTC timezone.Time format + YYYY-MM-DDThh:mm:ss.ms + example: '2022-07-25T18:38:55.640Z' + start_date_in_milliseconds: + type: integer + title: Start Date In Milliseconds + description: The start epoch in milliseconds. + example: 1658774335000 + end_date_utc: + type: string + format: date-time + title: End Date Utc + description: The end date time in UTC timezone.Time format YYYY-MM-DDThh:mm:ss.ms + example: '2022-07-25T18:38:55.640Z' + nullable: true + end_date_in_milliseconds: + type: integer + title: End Date In Milliseconds + description: The end epoch in milliseconds. + example: 1658774335000 + nullable: true + sub_river_id: + type: string + title: Sub River Id + description: The sub river id + example: 507f191e810c19729de860ea + nullable: true + is_sub_river_run: + type: boolean + title: Is Sub River Run + description: A flag that indicates whether this run is of a sub river or not + example: false + type: object + required: + - run_id + - datasource_id + - units + - rpu + - run_group_id + - status + - source_name + - start_date_utc + - start_date_in_milliseconds + - is_sub_river_run + title: RiverActivityRun + description: A run + RiverActivityRunGroup: + properties: + run_group_id: + type: string + title: Run Group Id + description: The run group id + example: 201dcf8182ad4a59868cb41b957fdc8d + status: + type: string + title: Status + units: + type: number + title: Units + description: Total RPU (units) + example: 2.1 + rpu: + type: number + title: Rpu + description: Total RPU + example: 2.1 + max_duration_in_milliseconds: + type: integer + title: Max Duration In Milliseconds + run_date_epoch_milliseconds: + type: integer + title: Run Date Epoch Milliseconds + run_date_utc: + type: string + format: date-time + title: Run Date Utc + run_end_date_epoch_milliseconds: + type: integer + title: Run End Date Epoch Milliseconds + description: The end epoch in milliseconds. + example: 1658774335000 + nullable: true + run_end_date_utc: + type: string + format: date-time + title: Run End Date Utc + description: The end date time in UTC timezone.Time format YYYY-MM-DDThh:mm:ss.ms + example: '2022-07-25T18:38:55.640Z' + nullable: true + type: object + required: + - run_group_id + - status + - run_date_epoch_milliseconds + - run_date_utc + title: RiverActivityRunGroup + description: The run group details + RiverActivityRunGroupResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + account_id: + type: string + title: Account Id + description: The account id + environment_id: + type: string + title: Environment Id + description: The environment id + items: + items: + $ref: '#/components/schemas/RiverActivityRunGroup' + type: array + title: Items + river_cross_id: + type: string + title: River Cross Id + type: object + required: + - current_page_size + - account_id + - environment_id + - items + - river_cross_id + title: RiverActivityRunGroupResponse + description: The response for the activity run groups + RiverActivityRunGroupWithStatistics: + properties: + run_group_id: + type: string + title: Run Group Id + description: The run group id + example: 201dcf8182ad4a59868cb41b957fdc8d + status: + type: string + title: Status + units: + type: number + title: Units + description: Total RPU (units) + example: 2.1 + rpu: + type: number + title: Rpu + description: Total RPU + example: 2.1 + max_duration_in_milliseconds: + type: integer + title: Max Duration In Milliseconds + run_date_epoch_milliseconds: + type: integer + title: Run Date Epoch Milliseconds + run_date_utc: + type: string + format: date-time + title: Run Date Utc + run_end_date_epoch_milliseconds: + type: integer + title: Run End Date Epoch Milliseconds + description: The end epoch in milliseconds. + example: 1658774335000 + nullable: true + run_end_date_utc: + type: string + format: date-time + title: Run End Date Utc + description: The end date time in UTC timezone.Time format YYYY-MM-DDThh:mm:ss.ms + example: '2022-07-25T18:38:55.640Z' + nullable: true + running: + type: integer + title: Running + canceled: + type: integer + title: Canceled + pending: + type: integer + title: Pending + failed: + type: integer + title: Failed + succeeded: + type: integer + title: Succeeded + skipped: + type: integer + title: Skipped + type: object + required: + - run_group_id + - status + - run_date_epoch_milliseconds + - run_date_utc + - running + - canceled + - pending + - failed + - succeeded + - skipped + title: RiverActivityRunGroupWithStatistics + description: The run group details with statistics + RiverActivityRunLogicStepsLogsResponse: + properties: + logs_url: + type: string + title: Logs Url + type: object + required: + - logs_url + title: RiverActivityRunLogicStepsLogsResponse + description: run's logic step logs + RiverActivityRunLogicStepsResponse: + properties: + account_id: + type: string + title: Account Id + environment_id: + type: string + title: Environment Id + river_cross_id: + type: string + title: River Cross Id + run_id: + type: string + title: Run Id + steps: + additionalProperties: + $ref: '#/components/schemas/LogicStep' + type: object + title: Steps + type: object + required: + - account_id + - environment_id + - river_cross_id + - run_id + - steps + title: RiverActivityRunLogicStepsResponse + description: run's logic step + RiverActivityRunsResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + account_id: + type: string + title: Account Id + description: The account id + environment_id: + type: string + title: Environment Id + description: The environment id + items: + items: + $ref: '#/components/schemas/RiverActivityRun' + type: array + title: Items + river_cross_id: + type: string + title: River Cross Id + type: object + required: + - current_page_size + - account_id + - environment_id + - items + - river_cross_id + title: RiverActivityRunsResponse + description: The activity run response + RiverActivityStatisticResponse: + properties: + account_id: + type: string + title: Account Id + environment_id: + type: string + title: Environment Id + total_units: + type: number + title: Total Units + description: Total RPU (units) + example: 2.1 + total_rpu: + type: number + title: Total Rpu + description: Total RPU + example: 2.1 + running: + type: integer + title: Running + canceled: + type: integer + title: Canceled + pending: + type: integer + title: Pending + failed: + type: integer + title: Failed + succeeded: + type: integer + title: Succeeded + skipped: + type: integer + title: Skipped + river_cross_id: + type: string + title: River Cross Id + type: object + required: + - account_id + - environment_id + - total_units + - total_rpu + - running + - canceled + - pending + - failed + - succeeded + - skipped + - river_cross_id + title: RiverActivityStatisticResponse + description: Statistics response + RiverActivitySubRiver: + properties: + sub_river_id: + type: string + title: Sub River Id + sub_river_name: + type: string + title: Sub River Name + type: object + required: + - sub_river_id + - sub_river_name + title: RiverActivitySubRiver + description: Activity's sub river + RiverActivitySubRiverResponse: + properties: + items: + items: + $ref: '#/components/schemas/RiverActivitySubRiver' + type: array + title: Items + account_id: + type: string + title: Account Id + environment_id: + type: string + title: Environment Id + river_cross_id: + type: string + title: River Cross Id + type: object + required: + - items + - account_id + - environment_id + - river_cross_id + title: RiverActivitySubRiverResponse + description: The response of the sub river + RiverActivityTarget: + properties: + target_name: + type: string + title: Target Name + status: + $ref: '#/components/schemas/ActivityStatusEnum' + units: + type: number + title: Units + description: Total RPU (units) + example: 2.1 + rpu: + type: number + title: Rpu + description: Total RPU + example: 2.1 + last_run: + type: string + format: date-time + title: Last Run + type: object + required: + - target_name + - status + - units + - rpu + - last_run + title: RiverActivityTarget + description: The activity target + RiverActivityTargetResponse: + properties: + items: + items: + $ref: '#/components/schemas/RiverActivityTarget' + type: array + title: Items + account_id: + type: string + title: Account Id + environment_id: + type: string + title: Environment Id + river_cross_id: + type: string + title: River Cross Id + type: object + required: + - items + - account_id + - environment_id + - river_cross_id + title: RiverActivityTargetResponse + description: Target response + RiverFileZoneSettings: + properties: + path: + type: string + title: Path + description: The path of the file zone entity. + example: my_path + bucket_name: + type: string + title: Bucket Name + description: The bucket name of the file zone entity. + example: my_bucket + nullable: true + partitioned_kind: + allOf: + - $ref: '#/components/schemas/PartitionedKindEnum' + description: The partitioned kind of the file zone entity. + example: by_day + type: object + required: + - path + - partitioned_kind + title: RiverFileZoneSettings + description: River File zone settings properties to return. + RiverKindEnum: + type: string + enum: + - sub_river + - main_river + title: RiverKindEnum + description: River kind + RiverListResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + account_id: + type: string + title: Account Id + description: The account id + environment_id: + type: string + title: Environment Id + description: The environment id + items: + items: + $ref: '#/components/schemas/ListRiverObject' + type: array + title: Items + type: object + required: + - current_page_size + - account_id + - environment_id + - items + title: RiverListResponse + description: List rivers response object. + RiverMetadata: + properties: + description: + type: string + title: Description + description: The description of the river. + default: '' + example: River 1 description + river_status: + allOf: + - $ref: '#/components/schemas/RiverStatusEnum' + description: The status of the river. + default: disabled + example: active + type: object + title: RiverMetadata + description: River metadata properties for the CREATE + RiverMetadataExtended: + properties: + description: + type: string + title: Description + description: The description of the river. + default: '' + example: River 1 description + river_status: + allOf: + - $ref: '#/components/schemas/RiverStatusEnum' + description: The status of the river. + default: disabled + example: active + current_version_id: + type: string + title: Current Version Id + description: The current version ID of the river. + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + created_by: + type: string + title: Created By + description: The User that created the river. + example: SomeUser + last_updated_by: + type: string + title: Last Updated By + description: The User that last updated the river. + example: SomeUser + created_at: + type: string + format: date-time + title: Created At + description: The date the river was created. + example: '2020-09-01T00:00:00Z' + last_updated_at: + type: string + format: date-time + title: Last Updated At + description: The date the river was last updated. + example: '2020-09-01T12:00:00.000Z' + type: object + required: + - last_updated_by + - created_at + - last_updated_at + title: RiverMetadataExtended + description: Extended RiverMetadata to be returned with the GET + RiverModel: + properties: + cross_id: + type: string + title: Cross Id + description: The river cross id. + example: 62e7f4352c13160013dc39be + account_id: + type: string + title: Account Id + description: The account id. + example: 62e7f4352c13160013dc39be + kind: + allOf: + - $ref: '#/components/schemas/RiverKindEnum' + description: The kind of the river. + default: main_river + example: main_river + type: + allOf: + - $ref: '#/components/schemas/RiverTypeEnum' + description: The type of the river. + example: source_to_target + name: + type: string + title: Name + description: The name of the river. + example: my_river + environment_id: + type: string + title: Environment Id + description: The environment cross id. + example: 62e7f4352c13160013dc39be + environment_name: + type: string + title: Environment Name + description: The environment name. + example: my_environment + group_id: + type: string + title: Group Id + description: The group id. + example: 62e7f4352c13160013dc39be + group_name: + type: string + title: Group Name + description: The group name. + example: my_group + metadata: + allOf: + - $ref: '#/components/schemas/RiverMetadataExtended' + title: Metadata + description: The river metadata. + properties: + oneOf: + - $ref: '#/components/schemas/SourceToTargetRiverProperties' + - $ref: '#/components/schemas/ActionProperties' + - $ref: '#/components/schemas/LogicProperties' + title: Properties + description: The river properties, will change according to the river type. + discriminator: + propertyName: properties_type + mapping: + source_to_target: '#/components/schemas/SourceToTargetRiverProperties' + actions: '#/components/schemas/ActionProperties' + logic: '#/components/schemas/LogicProperties' + settings: + allOf: + - $ref: '#/components/schemas/RiverSettings' + title: Settings + description: River settings. + nullable: true + schedulers: + items: + $ref: '#/components/schemas/RiverSchedule' + type: array + title: Schedulers + description: River schedulers. + default: [] + nullable: true + type: object + required: + - cross_id + - account_id + - type + - name + - environment_id + - environment_name + - group_id + - group_name + - metadata + - properties + title: RiverModel + description: River properties to return + RiverNotificationReport: + properties: + email: + type: string + title: Email + description: Email address to send the report to in case of failure. + example: test@test.com + is_enabled: + type: boolean + title: Is Enabled + description: A flag that indicates whether the notification is enabled. + default: false + example: true + execution_time_limit_seconds: + type: integer + title: Execution Time Limit Seconds + description: >- + The execution time limit in seconds of the river before reporting, + only relevant for on run_threshold. + example: 43200 + nullable: true + type: object + required: + - email + title: RiverNotificationReport + description: |- + River Notification Report properties + + RiverRunResponse: + properties: + sub_river_id: + type: string + title: Sub River Id + description: The river cross id + example: 62e7f4352c13160013dc39be + nullable: true + run_id: + type: string + title: Run Id + description: The run id of the run process + example: 1f1468d097754cd8892468c2763ebfe8 + status: + allOf: + - $ref: '#/components/schemas/ActivityStatusEnum' + description: the status of the run process + example: pending + message: + type: string + title: Message + description: the message of the run process + example: The river is already in progress. + nullable: true + type: object + required: + - run_id + - status + title: RiverRunResponse + description: Run properties to return + RiverSchedule: + properties: + cron_expression: + type: string + title: Cron Expression + description: The cron expression of the river entity. + example: '* * * * *' + nullable: true + is_enabled: + type: boolean + title: Is Enabled + description: The is enabled of the river. + default: false + example: true + type: object + title: RiverSchedule + description: |- + River schedule properties to return. + + RiverScheduleStatusEnum: + type: string + enum: + - all + - scheduled + - unscheduled + title: RiverScheduleStatusEnum + description: River schedule status enum + RiverSettings: + properties: + run_timeout_seconds: + type: integer + title: Run Timeout Seconds + description: The timeout of the river in seconds. + default: 43200 + example: 43200 + notification: + allOf: + - $ref: '#/components/schemas/NotificationSettings' + title: Notification + description: River notification settings. + nullable: true + type: object + title: RiverSettings + description: |- + River settings properties to return. + + RiverStatusEnum: + type: string + enum: + - active + - disabled + title: RiverStatusEnum + description: >- + River status enum. + + Used in the is_enabled field which is part of the river properties. + + Disabled status for a river means the river cannot be executed while + active status river can. + RiverTablesMigrationDefaultSyncOption: + type: string + enum: + - SKIP_INITIAL_MIGRATION + - RUN_INITIAL_MIGRATION + title: RiverTablesMigrationDefaultSyncOption + description: >- + Each river can have a few options when it comes to migration of tables + + 1. skip_initial_migration: will mean that the tables will inherit the + status from the river and skip the migration + + 2. run_initial_migration: (default for most cases) will mean that tables + will fully migrate in the first run + RiverTimePeriodEnum: + type: string + enum: + - custom + - yesterday + - today + - last_7_days + - last_365_days + - week_to_date + - previous_week + - previous_week_to_date + - last_week + - month_to_date + - previous_month + - previous_month_to_date + - year_to_date + title: RiverTimePeriodEnum + description: River supported time periods + RiverTypeEnum: + type: string + enum: + - src_to_trgt + - source_to_target + - actions + - logic + title: RiverTypeEnum + description: All of the EXTERNAL river types + RiverVariableSettings: + properties: + clear_value_on_start: + type: boolean + title: Clear Value On Start + description: Option for clearing variable on river start + default: false + example: false + is_multi_value: + type: boolean + title: Is Multi Value + description: Indicator for variable containing multiple values + default: false + example: false + is_encrypted: + type: boolean + title: Is Encrypted + description: Option for encrypting variable value + default: false + example: true + is_private: + type: boolean + title: Is Private + description: Option for private variable value in source to target rivers + default: false + example: false + add_to_results: + type: boolean + title: Add To Results + description: Add variables to results for actions river + example: false + type: object + title: RiverVariableSettings + description: |- + Variable settings fields. + + RiverVariablesFields: + properties: + account: + type: string + title: Account + description: The account of the river + example: 55fr7d4270fdca16cac18261 + env_id: + type: string + title: Env Id + description: The environment of the river + example: 55fr7d4270fdca16cac18261 + river_id: + type: string + title: River Id + description: The ID of the river + example: 55fr7d4270fdca16cac18261 + name: + type: string + title: Name + description: The name of the variable + example: credentials + settings: + type: object + title: Settings + description: variable settings + example: + clear_value_on_start: true + is_multi_value: false + is_private: false + is_encrypted: false + value: + anyOf: + - type: string + - items: {} + type: array + title: Value + description: value of variable + example: '1234' + type: object + required: + - account + - env_id + - river_id + - name + - settings + title: RiverVariablesFields + description: |- + River variable properties to return. + + RiverVariablesPaginatedResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + account_id: + type: string + title: Account Id + description: The account id + environment_id: + type: string + title: Environment Id + description: The environment id + items: + items: + $ref: '#/components/schemas/RiverVariablesFields' + type: array + title: Items + type: object + required: + - current_page_size + - account_id + - environment_id + - items + title: RiverVariablesPaginatedResponse + description: >- + Final river variables paginated response for all variables in a single + river. + + RiverVersionMetadata: + properties: + account_id: + type: string + title: Account Id + description: The account id of the river version + example: 55fr7d4270fdca16cac18261 + user_info: + allOf: + - $ref: '#/components/schemas/UserInfo' + title: User Info + description: Contains user name and user email information + nullable: true + environment_id: + type: string + title: Environment Id + description: The environment id of the river version + example: 55fr7d4270fdca16cac18261 + insert_date: + type: string + format: date-time + title: Insert Date + description: The insert date time of the river version in UTC timezone + example: '2022-08-02T13:38:44.054000' + version_id: + type: string + title: Version Id + description: The version id of the river version + example: 55fr7d4270fdca16cac18261 + previous_version: + type: string + title: Previous Version + description: The previous version id of the river version + example: 55fr7d4270fdca16cac18261 + created_by: + type: string + title: Created By + description: The creator id of the river version + example: 55fr7d4270fdca16cac18261 + river_id: + type: string + title: River Id + description: The river id of the river version + example: 55fr7d4270fdca16cac18261 + restored_by: + type: string + title: Restored By + description: The restore id of the river version + example: 55fr7d4270fdca16cac18261 + restore_date: + type: string + format: date-time + title: Restore Date + description: The restore date time of the river version in UTC timezone + example: '2022-08-02T13:38:44.054000' + nullable: true + name: + type: string + title: Name + description: Name of river version + example: river_version_name + bookmarked: + type: boolean + title: Bookmarked + description: Flag indicating whether the river version is bookmarked or not + default: false + example: false + type: object + required: + - account_id + - environment_id + - insert_date + - version_id + - created_by + - river_id + title: RiverVersionMetadata + description: |- + River Versions metadata. This class does not contain the version itself. + + RiverVersions: + properties: + account_id: + type: string + title: Account Id + description: The account id of the river version + example: 55fr7d4270fdca16cac18261 + user_info: + allOf: + - $ref: '#/components/schemas/UserInfo' + title: User Info + description: Contains user name and user email information + nullable: true + environment_id: + type: string + title: Environment Id + description: The environment id of the river version + example: 55fr7d4270fdca16cac18261 + insert_date: + type: string + format: date-time + title: Insert Date + description: The insert date time of the river version in UTC timezone + example: '2022-08-02T13:38:44.054000' + version_id: + type: string + title: Version Id + description: The version id of the river version + example: 55fr7d4270fdca16cac18261 + previous_version: + type: string + title: Previous Version + description: The previous version id of the river version + example: 55fr7d4270fdca16cac18261 + created_by: + type: string + title: Created By + description: The creator id of the river version + example: 55fr7d4270fdca16cac18261 + river_id: + type: string + title: River Id + description: The river id of the river version + example: 55fr7d4270fdca16cac18261 + restored_by: + type: string + title: Restored By + description: The restore id of the river version + example: 55fr7d4270fdca16cac18261 + restore_date: + type: string + format: date-time + title: Restore Date + description: The restore date time of the river version in UTC timezone + example: '2022-08-02T13:38:44.054000' + nullable: true + name: + type: string + title: Name + description: Name of river version + example: river_version_name + bookmarked: + type: boolean + title: Bookmarked + description: Flag indicating whether the river version is bookmarked or not + default: false + example: false + river: + anyOf: + - $ref: '#/components/schemas/LegacyRiverResponse' + - $ref: '#/components/schemas/RiverModel' + title: River + description: The definition of the river version + example: + river definition: some definition + type: object + required: + - account_id + - environment_id + - insert_date + - version_id + - created_by + - river_id + - river + title: RiverVersions + description: |- + River Versions properties to return. + + RiverVersionsResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + account_id: + type: string + title: Account Id + description: The account id + environment_id: + type: string + title: Environment Id + description: The environment id + statistics: + $ref: '#/components/schemas/RiverVersionsStats' + items: + items: + $ref: '#/components/schemas/RiverVersionMetadata' + type: array + title: Items + type: object + required: + - current_page_size + - account_id + - environment_id + - statistics + - items + title: RiverVersionsResponse + description: |- + River Versions response. + + RiverVersionsStats: + properties: + bookmarked_versions: + type: integer + title: Bookmarked Versions + description: Number of bookmarked river versions + example: 3 + bookmarks_allowed: + type: integer + title: Bookmarks Allowed + description: Maximum number of bookmarked river versions allowed + example: 30 + total_versions: + type: integer + title: Total Versions + description: Total number of existing river versions + example: 3 + snapshot_versions: + type: integer + title: Snapshot Versions + description: Number of snapshot river versions + example: 2 + versions_allowed: + type: integer + title: Versions Allowed + description: Maximum number of non-bookmarked river versions allowed + example: 70 + type: object + required: + - bookmarked_versions + - bookmarks_allowed + - total_versions + - snapshot_versions + - versions_allowed + title: RiverVersionsStats + description: |- + River versions stats fields. + + RiversRunResponse: + properties: + runs: + items: + $ref: '#/components/schemas/RiverRunResponse' + type: array + title: Runs + river_cross_id: + type: string + title: River Cross Id + run_group_id: + type: string + title: Run Group Id + type: object + required: + - runs + - river_cross_id + - run_group_id + title: RiversRunResponse + description: >- + Run response properties to return + + The response is a list since in the case of sub rivers that are multiple + runs, + + and we want to be able to return them all + RunGroupSortByEnum: + type: string + enum: + - units + - last_run + - max_duration + title: RunGroupSortByEnum + description: Activities sort properties in the UI. + RunGroupStatusEnum: + type: string + enum: + - partially succeeded + - pending + - canceled + - succeeded + - failed + - running + - skipped + title: RunGroupStatusEnum + description: The run group enum provide all the status that run group can have. + RunTypeEnum: + type: string + enum: + - custom + - multi_tables + - legacy + - predefined_report + title: RunTypeEnum + description: River run types + RunningNumber: + properties: + start_value: + type: integer + title: Start Value + description: The start value of the river entity. + example: 1 + nullable: true + end_value: + type: integer + title: End Value + description: The end value of the river entity. + example: 100 + nullable: true + include_end_value: + type: boolean + title: Include End Value + description: >- + Whether to include or exclude the end_value in the running number + range + default: false + example: true + rows_in_chunk: + type: integer + title: Rows In Chunk + description: The rows in chunk of the river entity. + default: 100000 + example: 1000 + type: object + title: RunningNumber + description: >- + Running number when using incremental on a running number and not date + time + RunsSortByEnum: + type: string + enum: + - units + - start_time + - table_name + title: RunsSortByEnum + description: Activities sort properties in the UI. + S3ModifiedColumn: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the column is selected and should be modified. + example: true + name: + type: string + title: Name + description: The name of the column. + example: column_name + type: + type: string + title: Type + description: The type of the column. + example: string + nullable: true + alias: + type: string + title: Alias + description: The alias of the column in the target table. + example: column_alias + nullable: true + expression: + type: string + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + example: select 'test' + nullable: true + is_key: + type: boolean + title: Is Key + description: If the column is a key. + example: true + nullable: true + sort_order: + type: integer + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + example: 1 + nullable: true + is_sort_key: + type: boolean + title: Is Sort Key + description: If the column is a sort column. + example: true + nullable: true + calculated_column_mode: + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + example: source + nullable: true + order: + type: integer + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + example: 1 + nullable: true + target_type: + type: string + enum: + - s3 + title: Target Type + description: Internal field, populated automatically + default: s3 + nullable: true + additionalProperties: false + type: object + required: + - is_selected + - name + title: S3ModifiedColumn + description: S3 specific columns settings + S3TargetSettings: + properties: + name: + type: string + enum: + - s3 + title: Name + description: The name of the target + default: s3 + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + path: + type: string + title: Path + description: The path of the file zone entity. + example: my_path + bucket_name: + type: string + title: Bucket Name + description: The bucket name of the file zone entity. + example: my_bucket + partitioned_kind: + allOf: + - $ref: '#/components/schemas/PartitionedKindEnum' + description: The partitioned kind of the file zone entity. + example: by_day + convert_file_type: + allOf: + - $ref: '#/components/schemas/ConvertFileTypeEnum' + description: The type of file to convert to + example: parquet + nullable: true + type: object + required: + - path + - bucket_name + - partitioned_kind + title: S3TargetSettings + description: S3 target settings properties to return. + ScheduleEnum: + type: string + enum: + - 'true' + - 'false' + title: ScheduleEnum + description: Schedule can be either True or False (enabled or disabled) + Schema: + properties: + name: + type: string + title: Name + description: The name of the schema + tables: + items: + oneOf: + - $ref: '#/components/schemas/DatabaseTableInput' + - $ref: '#/components/schemas/PredefinedReportShopifyTableInput' + discriminator: + propertyName: run_type_and_datasource + mapping: + multi_tables: '#/components/schemas/DatabaseTableInput' + predefined_report_shopify: '#/components/schemas/PredefinedReportShopifyTableInput' + type: array + title: Tables + default: [] + type: object + required: + - name + title: Schema + description: The schema we use for GET operations + SnowflakeAdditionalTargetSettings: + properties: + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: >- + The order expression of the river entity,to filter duplications from + the source data by the provided order expression (for `merge` + loading method). + example: id desc,createDate asc + nullable: true + target_loading: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: >- + The target loading of the table entity,if not specified the default + loading mode of the riverwill be used. + example: merge + nullable: true + target_type: + type: string + enum: + - snowflake + title: Target Type + description: Internal field, populated automatically + default: snowflake + nullable: true + merge_method: + allOf: + - $ref: '#/components/schemas/MergeMethod' + description: >- + The merge method of the table, if not specified the default merge + method of the riverwill be used. + example: merge + nullable: true + enforce_masking_policy: + type: boolean + title: Enforce Masking Policy + description: >- + Reserve the data masking policy that is applied on the column level + in your target table. + default: false + example: false + nullable: true + recreate_keys: + type: boolean + title: Recreate Keys + description: Recreate the table keys. + default: false + example: false + nullable: true + escape_character: + type: string + title: Escape Character + description: >- + Escape characters allow special characters in strings to be + interpreted as literal characters, rather than as control characters + inside the query + example: \t + nullable: true + type: object + title: SnowflakeAdditionalTargetSettings + description: Snowflake specific target settings + SnowflakeModifiedColumn: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the column is selected and should be modified. + example: true + name: + type: string + title: Name + description: The name of the column. + example: column_name + type: + type: string + title: Type + description: The type of the column. + example: string + nullable: true + alias: + type: string + title: Alias + description: The alias of the column in the target table. + example: column_alias + nullable: true + expression: + type: string + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + example: select 'test' + nullable: true + is_key: + type: boolean + title: Is Key + description: If the column is a key. + example: true + nullable: true + sort_order: + type: integer + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + example: 1 + nullable: true + is_sort_key: + type: boolean + title: Is Sort Key + description: If the column is a sort column. + example: true + nullable: true + calculated_column_mode: + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + example: source + nullable: true + order: + type: integer + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + example: 1 + nullable: true + target_type: + type: string + enum: + - snowflake + title: Target Type + description: Internal field, populated automatically + default: snowflake + nullable: true + additionalProperties: false + type: object + required: + - is_selected + - name + title: SnowflakeModifiedColumn + description: Snowflake specific columns settings + SnowflakeTargetSettings: + properties: + name: + type: string + enum: + - snowflake + title: Name + description: The name of the target + default: snowflake + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + table_name: + type: string + title: Table Name + description: >- + The table name of this target (only relevant for non multi table + source to target rivers) + default: '' + example: Table 1 + nullable: true + target_prefix: + type: string + title: Target Prefix + description: >- + The table prefix of this target (only relevant for multi table + source to target rivers) + default: '' + example: start_at_ + nullable: true + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: The order expression of the river entity. + example: id desc,createDate asc + nullable: true + loading_method: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: The loading method of this target + example: merge + merge_method: + allOf: + - $ref: '#/components/schemas/MergeMethod' + description: >- + The merge method to preform,only relevant when the loading mode is + Merge,if not provided the default merge method will be used.(merge) + example: merge + nullable: true + file_zone_settings: + allOf: + - $ref: '#/components/schemas/RiverFileZoneSettings' + title: File Zone Settings + description: The file zone settings of this target + nullable: true + file_path_destination: + type: string + title: File Path Destination + description: The file name and path + example: path/to/file + bucket_name: + type: string + title: Bucket Name + description: The bucket name + example: bucket + additional_settings: + type: object + title: Additional Settings + description: The additional settings of this target + default: {} + example: + key: value + nullable: true + database_name: + type: string + title: Database Name + description: The database name of this target + example: Database 1 + nullable: true + schema_name: + type: string + title: Schema Name + description: The schema name of this target + example: Schema 1 + nullable: true + type: object + required: + - loading_method + title: SnowflakeTargetSettings + description: Snowflake target settings properties to return. + SortOrderEnum: + type: string + enum: + - desc + - asc + title: SortOrderEnum + description: Sorting can be either asc or desc, used in the api-service + SourceSettings: + properties: + name: + allOf: + - $ref: '#/components/schemas/SourceTypeEnum' + description: The name of the source (correlate to source type in db) + example: mysql + nullable: true + connection_id: + type: string + title: Connection Id + description: The connection ID of this source. + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this source. + example: Connection 1 + nullable: true + run_type: + allOf: + - $ref: '#/components/schemas/RunTypeEnum' + description: The run type of this source. + default: multi_tables + example: predefined_report + cdc_settings: + oneOf: + - $ref: '#/components/schemas/MysqlSourceCDCSettings' + - $ref: '#/components/schemas/PostgresSourceCDCSettings' + - $ref: '#/components/schemas/OracleSourceCDCSettings' + - $ref: '#/components/schemas/MongoDBSourceCDCSettings' + title: Cdc Settings + description: The CDC settings of this source. + discriminator: + propertyName: datasource_id + mapping: + mysql: '#/components/schemas/MysqlSourceCDCSettings' + postgres: '#/components/schemas/PostgresSourceCDCSettings' + oracle: '#/components/schemas/OracleSourceCDCSettings' + mongodb: '#/components/schemas/MongoDBSourceCDCSettings' + nullable: true + additional_settings: + type: object + title: Additional Settings + description: The additional settings of this source. + default: {} + example: + extract_method: all + nullable: true + type: object + required: + - name + title: SourceSettings + description: Source settings properties to return. + SourceToTargetRiverProperties: + properties: + properties_type: + type: string + enum: + - source_to_target + title: Properties Type + default: source_to_target + source: + allOf: + - $ref: '#/components/schemas/SourceSettings' + title: Source + description: The source of the river. + target: + oneOf: + - $ref: '#/components/schemas/SnowflakeTargetSettings' + - $ref: '#/components/schemas/BigQueryTargetSettings' + - $ref: '#/components/schemas/RedshiftTargetSettings' + - $ref: '#/components/schemas/S3TargetSettings' + - $ref: '#/components/schemas/EmailTargetSettings' + - $ref: '#/components/schemas/BlobStorageSettings' + - $ref: '#/components/schemas/GcsTargetSettings' + - $ref: '#/components/schemas/DatabricksTargetSettings' + - $ref: '#/components/schemas/AzureSynapseAnalyticsTargetSettings' + - $ref: '#/components/schemas/AthenaTargetSettings' + - $ref: '#/components/schemas/AzureSqlTargetSettings' + - $ref: '#/components/schemas/PostgresTargetSettings' + title: Target + description: The target of the river. + discriminator: + propertyName: name + mapping: + snowflake: '#/components/schemas/SnowflakeTargetSettings' + bigquery: '#/components/schemas/BigQueryTargetSettings' + redshift: '#/components/schemas/RedshiftTargetSettings' + s3: '#/components/schemas/S3TargetSettings' + target_email: '#/components/schemas/EmailTargetSettings' + blob_storage: '#/components/schemas/BlobStorageSettings' + GCS: '#/components/schemas/GcsTargetSettings' + databricks: '#/components/schemas/DatabricksTargetSettings' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsTargetSettings' + athena: '#/components/schemas/AthenaTargetSettings' + azure_sql: '#/components/schemas/AzureSqlTargetSettings' + postgres: '#/components/schemas/PostgresTargetSettings' + schemas: + items: + $ref: '#/components/schemas/Schema' + type: array + title: Schemas + description: The schemas of the river entity + default: [] + additionalProperties: false + type: object + required: + - source + - target + title: SourceToTargetRiverProperties + description: Source to target River properties that is being used for GET purposes + SourceTypeEnum: + type: string + enum: + - mysql + - postgresql + - oracle + - mongodb + - shopify + - facebook ads + title: SourceTypeEnum + description: The source type enum provide all the source type options. + SourcedMetadataModelResponse: + properties: + title: + type: string + title: Title + description: The datasource title. + example: my title + description: + type: string + title: Description + description: The datasource description. + example: report description + properties: + type: object + title: Properties + description: The datasource fields and metadata. + required: + items: + type: string + type: array + title: Required + description: A list of required datasource fields + example: + - id + type: object + required: + - title + - description + - properties + title: SourcedMetadataModelResponse + description: The response for the get source metadata. + SplitTimeIntervals: + properties: + time_interval: + allOf: + - $ref: '#/components/schemas/IntervalTimeExternalEnum' + description: The interval time unit to split when using date increment. + default: dont_split + example: days + extra: + name: date_range.split_time_intervals.time_interval + type: split_time_intervals + display_name: >- + Split your loading data into several intervals in case of a large + amount of returned data by: + interval_size: + type: integer + title: Interval Size + description: >- + The number of time units for each interval - for example, when the + interval is set to days and the interval size is 3, each interval + will extract data for 3 days. + default: 1 + example: 3 + extra: + name: date_range.split_time_intervals.interval_size + type: number + display_name: Split Interval Size + condition: + different: dont_split + field_name: date_range.split_time_intervals.time_interval + type: object + title: SplitTimeIntervals + description: >- + Settings for splitting to time intervals when using incremental loading + method by dates. + StatusEnum: + type: string + enum: + - any + - cancelled + - closed + - open + title: StatusEnum + description: Shopify order status enum + TableCDCSettings: + properties: + initiate_table: + type: boolean + title: Initiate Table + description: Initiate migration process for CDC table + example: true + nullable: true + overwrite_table_in_migration: + type: boolean + title: Overwrite Table In Migration + description: Overwrite target table for CDC migration process + example: true + nullable: true + type: object + title: TableCDCSettings + description: The table CDC settings + TableStatusEnum: + type: string + enum: + - waiting_for_migration + - migrating + - tracked + - live + title: TableStatusEnum + description: Table status for rivers in multi table mode + TargetsSortByEnum: + type: string + enum: + - units + - last_run + - table_name + title: TargetsSortByEnum + description: Activities sort properties in the UI. + TeamsSortByEnum: + type: string + enum: + - display_name + - created_at + - source + - is_all_environment_admin + title: TeamsSortByEnum + description: User teams sort properties in the UI. + UpdateRiverVariableInput: + properties: + name: + type: string + title: Name + description: The name of the variable + example: credentials + settings: + allOf: + - $ref: '#/components/schemas/RiverVariableSettings' + title: Settings + description: settings class for variable + example: + clear_value_on_start: true + is_multi_value: false + is_encrypted: false + value: + anyOf: + - type: string + - items: {} + type: array + title: Value + description: value of a variable + example: '1234' + type: object + required: + - name + - settings + title: UpdateRiverVariableInput + description: |- + Logic river variable fields for update. + + UpdateRiverVariableInputList: + properties: + items: + items: + $ref: '#/components/schemas/UpdateRiverVariableInput' + type: array + title: Items + type: object + required: + - items + title: UpdateRiverVariableInputList + description: |- + List of logic river variable fields for update. + + UpdateUserTeamsInput: + properties: + display_name: + type: string + title: Display Name + description: The display name in rivery + example: Rivery Core Team + description: + type: string + title: Description + description: Internal description + example: Some description + environments: + type: object + title: Environments + description: Dictionary of environment id and environment role + example: + 633ede20f1fc5500111fd7b3: + role: viewer + 5f887c764c40e5598f717676: + role: viewer + is_all_environment_admin: + type: boolean + title: Is All Environment Admin + description: Indicates if group have Admin permission for all environment + default: false + example: true + type: object + title: UpdateUserTeamsInput + description: Request update user groups input. + UserInfo: + properties: + user_name: + type: string + title: User Name + description: river version creator username + example: createdby_username + user_email: + type: string + title: User Email + description: river version creator email + example: createdby@rivery.io + type: object + required: + - user_name + - user_email + title: UserInfo + description: |- + River version creator info. + + UserTeamsListResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + account_id: + type: string + title: Account Id + description: The account id + items: + items: + $ref: '#/components/schemas/UserTeamsModel' + type: array + title: Items + type: object + required: + - current_page_size + - account_id + - items + title: UserTeamsListResponse + description: List user teams response + UserTeamsModel: + properties: + _id: + type: string + title: ' Id' + description: The user group id + example: 633ede20f1fc5500111fd7b3 + account_id: + type: string + title: Account Id + description: The account id + example: 55bf7c4270fdca16cac18761 + display_name: + type: string + title: Display Name + description: The display name in rivery + example: Rivery Core Team + remote_display_name: + type: string + title: Remote Display Name + description: The SCIM display name + example: Core Team + description: + type: string + title: Description + description: Internal description + example: Some description + environments: + type: object + title: Environments + description: Dictionary of environment id and environment role + default: {} + example: + 633ede20f1fc5500111fd7b3: + role: viewer + 5f887c764c40e5598f717676: + role: viewer + is_all_environment_admin: + type: boolean + title: Is All Environment Admin + description: Indicates if group have Admin permission for all environment + default: false + example: true + source: + allOf: + - $ref: '#/components/schemas/GroupOrUserSourceEnum' + description: >- + Source if this group locally of rivery or imported from external + such as Active Directory + default: rivery + example: rivery + created_at: + type: string + format: date-time + title: Created At + description: Created team datatime + example: '2024-03-29T20:59:20.796255' + type: object + required: + - _id + - account_id + - display_name + - created_at + title: UserTeamsModel + description: Base user team model properties to return. + ValidationError: + properties: + loc: + items: + anyOf: + - type: string + - type: integer + type: array + title: Location + msg: + type: string + title: Message + type: + type: string + title: Error Type + type: object + required: + - loc + - msg + - type + title: ValidationError + WriteDatabaseTableDetailsInput: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: The name of the target table (relevant to multi-tables rivers) + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + allOf: + - $ref: '#/components/schemas/ExtractMethodEnum' + description: >- + The extract method of the table entity.if not specified the extract + method of the riverwill be used. + example: incremental + nullable: true + name: + type: string + title: Name + description: The name of the table + example: table_name + incremental_field: + type: string + title: Incremental Field + description: The interval field of the river entity. + example: some_date_field + nullable: true + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: >- + The date range of the river entity only needed if the extract method + is incremental. + nullable: true + running_number: + allOf: + - $ref: '#/components/schemas/RunningNumber' + title: Running Number + description: >- + The running number of the river entity only needed if the extract + method is incremental. + nullable: true + exporter_chunk_size: + type: integer + title: Exporter Chunk Size + description: >- + The exporter chunk size of the river entity. i.e. the number of rows + to extract per chuck + default: 30000 + example: 1000 + table_status: + allOf: + - $ref: '#/components/schemas/TableStatusEnum' + description: The table status of the river entity. + default: waiting_for_migration + example: waiting_for_migration + cdc_settings: + allOf: + - $ref: '#/components/schemas/TableCDCSettings' + title: Cdc Settings + description: The CDC settings of this table. + nullable: true + additional_source_settings: + oneOf: + - $ref: '#/components/schemas/MongoDBAdditionalSourceSettings' + - $ref: '#/components/schemas/MySQLAdditionalSourceSettings' + - $ref: '#/components/schemas/PostgreSQLAdditionalSourceSettings' + - $ref: '#/components/schemas/OracleAdditionalSourceSettings' + title: Additional Source Settings + description: The additional source settings of this table. + examples: + - filter_expression: '' + source_type: mongodb + concurrent_requests_number: 1 + discriminator: + propertyName: source_type + mapping: + mongodb: '#/components/schemas/MongoDBAdditionalSourceSettings' + mysql: '#/components/schemas/MySQLAdditionalSourceSettings' + postgresql: '#/components/schemas/PostgreSQLAdditionalSourceSettings' + oracle: '#/components/schemas/OracleAdditionalSourceSettings' + nullable: true + additionalProperties: false + type: object + required: + - target_table + - name + title: WriteDatabaseTableDetailsInput + description: |- + Table properties which define the db table details data + This schema is being used for Create or Update purposes + WriteDatabaseTableInput: + properties: + run_type_and_datasource: + type: string + enum: + - multi_tables + title: Run Type And Datasource + description: Internal field + default: multi_tables + details: + allOf: + - $ref: '#/components/schemas/WriteDatabaseTableDetailsInput' + title: Details + description: The database table details + type: object + required: + - details + title: WriteDatabaseTableInput + description: |- + Table properties which define the db table data + This schema is being used for Create or Update purposes + WriteFacebookAdsPredefinedAdAccountActivitiesReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_ad_account_activities + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - Date + title: Incremental Field + description: The interval field of the river entity. + default: Date + example: date_field + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteFacebookAdsPredefinedAdAccountActivitiesReport + description: Facebook ads predefined ad account activities report, used for write. + WriteFacebookAdsPredefinedAdAccountReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + type: string + enum: + - predefined_ad_account + title: Report Id + description: The report id + type: object + required: + - target_table + - report_id + title: WriteFacebookAdsPredefinedAdAccountReport + description: Facebook ads predefined ad account report, used for write. + WriteFacebookAdsPredefinedAdCreativesReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_ad_creatives + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - Ads Creation Date + title: Incremental Field + description: The interval field of the river entity. + default: Ads Creation Date + example: ads_creation_date_field + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteFacebookAdsPredefinedAdCreativesReport + description: Facebook ads predefined ad creatives report, used for write. + WriteFacebookAdsPredefinedAdLeadsFormsReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + type: string + enum: + - predefined_ad_leads_forms + title: Report Id + description: The report id + type: object + required: + - target_table + - report_id + title: WriteFacebookAdsPredefinedAdLeadsFormsReport + description: Facebook ads predefined ad leads forms report, used for write. + WriteFacebookAdsPredefinedAdLeadsReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_ad_leads + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - Ads Creation Date + title: Incremental Field + description: The interval field of the river entity. + default: Ads Creation Date + example: ads_creation_date + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteFacebookAdsPredefinedAdLeadsReport + description: Facebook ads predefined ad leads report, used for write. + WriteFacebookAdsPredefinedAdSetsReport: + properties: + adsets_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Adsets Ac + description: Leave empty for all ad sets + default: [] + adsets_filter: + items: + type: string + type: array + title: Adsets Filter + description: Leave empty for all ad sets + default: [] + adsets_ids: + items: + type: string + type: array + title: Adsets Ids + description: Leave empty for all ad sets + default: [] + adsets_names: + items: + type: string + type: array + title: Adsets Names + description: Leave empty for all ad sets + default: [] + adsets_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsSetsTypeEnum' + description: The type of ad sets input to use + examples: + - adsets_names + - adsets_ids + - adsets_filter + campaigns_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Campaigns Ac + description: Leave empty for all campaigns + default: [] + campaigns_filter: + items: + type: string + type: array + title: Campaigns Filter + description: Leave empty for all campaigns + default: [] + campaigns_ids: + items: + type: string + type: array + title: Campaigns Ids + description: Leave empty for all campaigns + default: [] + campaigns_names: + items: + type: string + type: array + title: Campaigns Names + description: Leave empty for all campaigns + default: [] + campaigns_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsCampaignsTypeEnum' + description: The type of campaigns input to use + examples: + - campaigns_names + - campaigns_ids + - campaigns_filter + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + type: string + enum: + - predefined_adsets + title: Report Id + description: The report id + type: object + required: + - target_table + - report_id + title: WriteFacebookAdsPredefinedAdSetsReport + description: Facebook ads predefined ad sets report, used for write. + WriteFacebookAdsPredefinedAdsPixelsReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_ads_pixels + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - Date + title: Incremental Field + description: The interval field of the river entity. + default: Date + example: date_field + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteFacebookAdsPredefinedAdsPixelsReport + description: Facebook ads predefined ads pixels report, used for write. + WriteFacebookAdsPredefinedAdsReport: + properties: + ads_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Ads Ac + description: Leave empty for all ads + default: [] + ads_filter: + items: + type: string + type: array + title: Ads Filter + description: Leave empty for all ads + default: [] + ads_ids: + items: + type: string + type: array + title: Ads Ids + description: Leave empty for all ads + default: [] + ads_names: + items: + type: string + type: array + title: Ads Names + description: Leave empty for all ads + default: [] + ads_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsAdsTypeEnum' + description: The type of ads input to use + examples: + - ads_ids + - ads_names + - ads_filter + adsets_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Adsets Ac + description: Leave empty for all ad sets + default: [] + adsets_filter: + items: + type: string + type: array + title: Adsets Filter + description: Leave empty for all ad sets + default: [] + adsets_ids: + items: + type: string + type: array + title: Adsets Ids + description: Leave empty for all ad sets + default: [] + adsets_names: + items: + type: string + type: array + title: Adsets Names + description: Leave empty for all ad sets + default: [] + adsets_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsSetsTypeEnum' + description: The type of ad sets input to use + examples: + - adsets_names + - adsets_ids + - adsets_filter + campaigns_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Campaigns Ac + description: Leave empty for all campaigns + default: [] + campaigns_filter: + items: + type: string + type: array + title: Campaigns Filter + description: Leave empty for all campaigns + default: [] + campaigns_ids: + items: + type: string + type: array + title: Campaigns Ids + description: Leave empty for all campaigns + default: [] + campaigns_names: + items: + type: string + type: array + title: Campaigns Names + description: Leave empty for all campaigns + default: [] + campaigns_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsCampaignsTypeEnum' + description: The type of campaigns input to use + examples: + - campaigns_names + - campaigns_ids + - campaigns_filter + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_ads + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - Ads Creation Date + title: Incremental Field + description: The interval field of the river entity. + default: Ads Creation Date + example: ads_creation_date + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteFacebookAdsPredefinedAdsReport + description: Facebook ads predefined ads report, used for write. + WriteFacebookAdsPredefinedCampaignsReport: + properties: + campaigns_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Campaigns Ac + description: Leave empty for all campaigns + default: [] + campaigns_filter: + items: + type: string + type: array + title: Campaigns Filter + description: Leave empty for all campaigns + default: [] + campaigns_ids: + items: + type: string + type: array + title: Campaigns Ids + description: Leave empty for all campaigns + default: [] + campaigns_names: + items: + type: string + type: array + title: Campaigns Names + description: Leave empty for all campaigns + default: [] + campaigns_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsCampaignsTypeEnum' + description: The type of campaigns input to use + examples: + - campaigns_names + - campaigns_ids + - campaigns_filter + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + type: string + enum: + - predefined_campaigns + title: Report Id + description: The report id + type: object + required: + - target_table + - report_id + title: WriteFacebookAdsPredefinedCampaignsReport + description: Facebook ads predefined campaigns report, used for write. + WriteFacebookAdsPredefinedCustomAudiencesReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + type: string + enum: + - predefined_custom_audiences + title: Report Id + description: The report id + type: object + required: + - target_table + - report_id + title: WriteFacebookAdsPredefinedCustomAudiencesReport + description: Facebook ads predefined custom audiences report, used for write. + WriteFacebookAdsPredefinedCustomConversionsReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + type: string + enum: + - predefined_custom_conversions + title: Report Id + description: The report id + type: object + required: + - target_table + - report_id + title: WriteFacebookAdsPredefinedCustomConversionsReport + description: Facebook ads predefined custom conversions report, used for write. + WriteFacebookAdsPredefinedInsightBasicReport: + properties: + ads_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Ads Ac + description: Leave empty for all ads + default: [] + ads_filter: + items: + type: string + type: array + title: Ads Filter + description: Leave empty for all ads + default: [] + ads_ids: + items: + type: string + type: array + title: Ads Ids + description: Leave empty for all ads + default: [] + ads_names: + items: + type: string + type: array + title: Ads Names + description: Leave empty for all ads + default: [] + ads_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsAdsTypeEnum' + description: The type of ads input to use + examples: + - ads_ids + - ads_names + - ads_filter + adsets_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Adsets Ac + description: Leave empty for all ad sets + default: [] + adsets_filter: + items: + type: string + type: array + title: Adsets Filter + description: Leave empty for all ad sets + default: [] + adsets_ids: + items: + type: string + type: array + title: Adsets Ids + description: Leave empty for all ad sets + default: [] + adsets_names: + items: + type: string + type: array + title: Adsets Names + description: Leave empty for all ad sets + default: [] + adsets_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsSetsTypeEnum' + description: The type of ad sets input to use + examples: + - adsets_names + - adsets_ids + - adsets_filter + campaigns_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Campaigns Ac + description: Leave empty for all campaigns + default: [] + campaigns_filter: + items: + type: string + type: array + title: Campaigns Filter + description: Leave empty for all campaigns + default: [] + campaigns_ids: + items: + type: string + type: array + title: Campaigns Ids + description: Leave empty for all campaigns + default: [] + campaigns_names: + items: + type: string + type: array + title: Campaigns Names + description: Leave empty for all campaigns + default: [] + campaigns_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsCampaignsTypeEnum' + description: The type of campaigns input to use + examples: + - campaigns_names + - campaigns_ids + - campaigns_filter + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_insight_report_basic + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - Date + title: Incremental Field + description: The interval field of the river entity. + default: Date + example: date_field + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteFacebookAdsPredefinedInsightBasicReport + description: Facebook ads predefined insights basic report, used for write. + WriteFacebookAdsPredefinedInsightReportAgeGender: + properties: + ads_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Ads Ac + description: Leave empty for all ads + default: [] + ads_filter: + items: + type: string + type: array + title: Ads Filter + description: Leave empty for all ads + default: [] + ads_ids: + items: + type: string + type: array + title: Ads Ids + description: Leave empty for all ads + default: [] + ads_names: + items: + type: string + type: array + title: Ads Names + description: Leave empty for all ads + default: [] + ads_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsAdsTypeEnum' + description: The type of ads input to use + examples: + - ads_ids + - ads_names + - ads_filter + adsets_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Adsets Ac + description: Leave empty for all ad sets + default: [] + adsets_filter: + items: + type: string + type: array + title: Adsets Filter + description: Leave empty for all ad sets + default: [] + adsets_ids: + items: + type: string + type: array + title: Adsets Ids + description: Leave empty for all ad sets + default: [] + adsets_names: + items: + type: string + type: array + title: Adsets Names + description: Leave empty for all ad sets + default: [] + adsets_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsSetsTypeEnum' + description: The type of ad sets input to use + examples: + - adsets_names + - adsets_ids + - adsets_filter + campaigns_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Campaigns Ac + description: Leave empty for all campaigns + default: [] + campaigns_filter: + items: + type: string + type: array + title: Campaigns Filter + description: Leave empty for all campaigns + default: [] + campaigns_ids: + items: + type: string + type: array + title: Campaigns Ids + description: Leave empty for all campaigns + default: [] + campaigns_names: + items: + type: string + type: array + title: Campaigns Names + description: Leave empty for all campaigns + default: [] + campaigns_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsCampaignsTypeEnum' + description: The type of campaigns input to use + examples: + - campaigns_names + - campaigns_ids + - campaigns_filter + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_insight_report_age_gender + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - Date + title: Incremental Field + description: The interval field of the river entity. + default: Date + example: date_field + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteFacebookAdsPredefinedInsightReportAgeGender + description: Facebook ads predefined insights age gender report, used for write. + WriteFacebookAdsPredefinedInsightReportCountry: + properties: + ads_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Ads Ac + description: Leave empty for all ads + default: [] + ads_filter: + items: + type: string + type: array + title: Ads Filter + description: Leave empty for all ads + default: [] + ads_ids: + items: + type: string + type: array + title: Ads Ids + description: Leave empty for all ads + default: [] + ads_names: + items: + type: string + type: array + title: Ads Names + description: Leave empty for all ads + default: [] + ads_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsAdsTypeEnum' + description: The type of ads input to use + examples: + - ads_ids + - ads_names + - ads_filter + adsets_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Adsets Ac + description: Leave empty for all ad sets + default: [] + adsets_filter: + items: + type: string + type: array + title: Adsets Filter + description: Leave empty for all ad sets + default: [] + adsets_ids: + items: + type: string + type: array + title: Adsets Ids + description: Leave empty for all ad sets + default: [] + adsets_names: + items: + type: string + type: array + title: Adsets Names + description: Leave empty for all ad sets + default: [] + adsets_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsSetsTypeEnum' + description: The type of ad sets input to use + examples: + - adsets_names + - adsets_ids + - adsets_filter + campaigns_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Campaigns Ac + description: Leave empty for all campaigns + default: [] + campaigns_filter: + items: + type: string + type: array + title: Campaigns Filter + description: Leave empty for all campaigns + default: [] + campaigns_ids: + items: + type: string + type: array + title: Campaigns Ids + description: Leave empty for all campaigns + default: [] + campaigns_names: + items: + type: string + type: array + title: Campaigns Names + description: Leave empty for all campaigns + default: [] + campaigns_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsCampaignsTypeEnum' + description: The type of campaigns input to use + examples: + - campaigns_names + - campaigns_ids + - campaigns_filter + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_insight_report_country + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - Date + title: Incremental Field + description: The interval field of the river entity. + default: Date + example: date_field + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteFacebookAdsPredefinedInsightReportCountry + description: Facebook ads predefined insights country report, used for write. + WriteFacebookAdsPredefinedInsightReportPlatform: + properties: + ads_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Ads Ac + description: Leave empty for all ads + default: [] + ads_filter: + items: + type: string + type: array + title: Ads Filter + description: Leave empty for all ads + default: [] + ads_ids: + items: + type: string + type: array + title: Ads Ids + description: Leave empty for all ads + default: [] + ads_names: + items: + type: string + type: array + title: Ads Names + description: Leave empty for all ads + default: [] + ads_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsAdsTypeEnum' + description: The type of ads input to use + examples: + - ads_ids + - ads_names + - ads_filter + adsets_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Adsets Ac + description: Leave empty for all ad sets + default: [] + adsets_filter: + items: + type: string + type: array + title: Adsets Filter + description: Leave empty for all ad sets + default: [] + adsets_ids: + items: + type: string + type: array + title: Adsets Ids + description: Leave empty for all ad sets + default: [] + adsets_names: + items: + type: string + type: array + title: Adsets Names + description: Leave empty for all ad sets + default: [] + adsets_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsSetsTypeEnum' + description: The type of ad sets input to use + examples: + - adsets_names + - adsets_ids + - adsets_filter + campaigns_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Campaigns Ac + description: Leave empty for all campaigns + default: [] + campaigns_filter: + items: + type: string + type: array + title: Campaigns Filter + description: Leave empty for all campaigns + default: [] + campaigns_ids: + items: + type: string + type: array + title: Campaigns Ids + description: Leave empty for all campaigns + default: [] + campaigns_names: + items: + type: string + type: array + title: Campaigns Names + description: Leave empty for all campaigns + default: [] + campaigns_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsCampaignsTypeEnum' + description: The type of campaigns input to use + examples: + - campaigns_names + - campaigns_ids + - campaigns_filter + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_insight_report_platform + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - Date + title: Incremental Field + description: The interval field of the river entity. + default: Date + example: date_field + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteFacebookAdsPredefinedInsightReportPlatform + description: Facebook ads predefined insights platform report, used for write. + WriteFacebookAdsPredefinedInsightReportProduct: + properties: + ads_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Ads Ac + description: Leave empty for all ads + default: [] + ads_filter: + items: + type: string + type: array + title: Ads Filter + description: Leave empty for all ads + default: [] + ads_ids: + items: + type: string + type: array + title: Ads Ids + description: Leave empty for all ads + default: [] + ads_names: + items: + type: string + type: array + title: Ads Names + description: Leave empty for all ads + default: [] + ads_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsAdsTypeEnum' + description: The type of ads input to use + examples: + - ads_ids + - ads_names + - ads_filter + adsets_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Adsets Ac + description: Leave empty for all ad sets + default: [] + adsets_filter: + items: + type: string + type: array + title: Adsets Filter + description: Leave empty for all ad sets + default: [] + adsets_ids: + items: + type: string + type: array + title: Adsets Ids + description: Leave empty for all ad sets + default: [] + adsets_names: + items: + type: string + type: array + title: Adsets Names + description: Leave empty for all ad sets + default: [] + adsets_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsSetsTypeEnum' + description: The type of ad sets input to use + examples: + - adsets_names + - adsets_ids + - adsets_filter + campaigns_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Campaigns Ac + description: Leave empty for all campaigns + default: [] + campaigns_filter: + items: + type: string + type: array + title: Campaigns Filter + description: Leave empty for all campaigns + default: [] + campaigns_ids: + items: + type: string + type: array + title: Campaigns Ids + description: Leave empty for all campaigns + default: [] + campaigns_names: + items: + type: string + type: array + title: Campaigns Names + description: Leave empty for all campaigns + default: [] + campaigns_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsCampaignsTypeEnum' + description: The type of campaigns input to use + examples: + - campaigns_names + - campaigns_ids + - campaigns_filter + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_insight_report_product + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - Date + title: Incremental Field + description: The interval field of the river entity. + default: Date + example: date_field + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteFacebookAdsPredefinedInsightReportProduct + description: Facebook ads predefined insights product report, used for write. + WriteFacebookAdsPredefinedSavedAudiencesReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + type: string + enum: + - predefined_saved_audiences + title: Report Id + description: The report id + type: object + required: + - target_table + - report_id + title: WriteFacebookAdsPredefinedSavedAudiencesReport + description: Facebook ads predefined saved audiences report, used for write. + WritePredefinedReportFacebookAdsTableInput: + properties: + run_type_and_datasource: + type: string + enum: + - predefined_report_facebook ads + title: Run Type And Datasource + description: Internal field + default: predefined_report_facebook ads + details: + anyOf: + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedInsightBasicReport + - $ref: '#/components/schemas/WriteFacebookAdsPredefinedCampaignsReport' + - $ref: '#/components/schemas/WriteFacebookAdsPredefinedAdsReport' + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedAdLeadsFormsReport + - $ref: '#/components/schemas/WriteFacebookAdsPredefinedAdsPixelsReport' + - $ref: '#/components/schemas/WriteFacebookAdsPredefinedAdSetsReport' + - $ref: '#/components/schemas/WriteFacebookAdsPredefinedAdAccountReport' + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedAdAccountActivitiesReport + - $ref: '#/components/schemas/WriteFacebookAdsPredefinedAdCreativesReport' + - $ref: '#/components/schemas/WriteFacebookAdsPredefinedAdLeadsReport' + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedCustomAudiencesReport + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedCustomConversionsReport + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedInsightReportAgeGender + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedInsightReportCountry + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedInsightReportPlatform + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedInsightReportProduct + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedSavedAudiencesReport + title: Details + description: The predefined report table details + additionalProperties: false + type: object + required: + - details + title: WritePredefinedReportFacebookAdsTableInput + description: |- + Table properties which define the predefined report table data + This schema is being used for Create or Update purposes + WritePredefinedReportShopifyTableInput: + properties: + run_type_and_datasource: + type: string + enum: + - predefined_report_shopify + title: Run Type And Datasource + description: Internal field + default: predefined_report_shopify + details: + anyOf: + - $ref: '#/components/schemas/WriteShopifyPredefinedOrdersReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedShopReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedAddressesReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedAnalyticReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedCustomersReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedInventoryLevelsReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedMarketingEventsReport' + - $ref: >- + #/components/schemas/WriteShopifyPredefinedOrderTransactionsReport + - $ref: '#/components/schemas/WriteShopifyPredefinedProductsReport' + title: Details + description: The predefined report table details + additionalProperties: false + type: object + required: + - details + title: WritePredefinedReportShopifyTableInput + description: |- + Table properties which define the predefined report table data + This schema is being used for Create or Update purposes + WriteRiverInput: + properties: + name: + type: string + title: Name + description: The name of the river. + example: river_name + kind: + allOf: + - $ref: '#/components/schemas/RiverKindEnum' + description: The kind of the river. + default: main_river + example: main_river + nullable: true + type: + allOf: + - $ref: '#/components/schemas/RiverTypeEnum' + description: The type of river. + example: source_to_target + group_id: + type: string + title: Group Id + description: The id of the group the river belongs to. + example: 55fr7d4270fdca16cac18261 + nullable: true + group_name: + type: string + title: Group Name + description: The name of the group the river belongs to. + example: river_group_1 + nullable: true + metadata: + allOf: + - $ref: '#/components/schemas/RiverMetadata' + title: Metadata + description: An object containing river metadata. + default: + description: '' + river_status: disabled + settings: + allOf: + - $ref: '#/components/schemas/RiverSettings' + title: Settings + description: An object containing river settings. + default: + run_timeout_seconds: 43200 + properties: + oneOf: + - $ref: '#/components/schemas/WriteSourceToTargetRiverPropertiesInput' + - $ref: '#/components/schemas/ActionProperties' + - $ref: '#/components/schemas/LogicProperties' + title: Properties + description: The properties of a river. + discriminator: + propertyName: properties_type + mapping: + source_to_target: '#/components/schemas/WriteSourceToTargetRiverPropertiesInput' + actions: '#/components/schemas/ActionProperties' + logic: '#/components/schemas/LogicProperties' + schedulers: + items: + $ref: '#/components/schemas/RiverSchedule' + type: array + maxItems: 1 + minItems: 0 + title: Schedulers + description: >- + An object containing the schedule settings. Currently support only + one scheduler + default: [] + cross_id: + type: string + title: Cross Id + description: The cross_id of the river to be deployed. + nullable: true + hidden: true + deployment_definition: + type: object + title: Deployment Definition + description: The deployment definition of the river to be deployed. + nullable: true + hidden: true + additionalProperties: false + type: object + required: + - name + - type + - properties + title: WriteRiverInput + description: River fields for new river creation / update an existing river. + WriteSchemaInput: + properties: + name: + type: string + title: Name + description: The name of the schema + tables: + items: + oneOf: + - $ref: '#/components/schemas/WriteDatabaseTableInput' + - $ref: '#/components/schemas/WritePredefinedReportShopifyTableInput' + - $ref: >- + #/components/schemas/WritePredefinedReportFacebookAdsTableInput + discriminator: + propertyName: run_type_and_datasource + mapping: + multi_tables: '#/components/schemas/WriteDatabaseTableInput' + predefined_report_shopify: '#/components/schemas/WritePredefinedReportShopifyTableInput' + predefined_report_facebook ads: >- + #/components/schemas/WritePredefinedReportFacebookAdsTableInput + type: array + title: Tables + default: [] + type: object + required: + - name + title: WriteSchemaInput + description: Schema properties to write (PUT operations) + WriteShopifyPredefinedAddressesReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_addresses + title: Report Id + description: The report id + incremental_field: + allOf: + - $ref: '#/components/schemas/IncrementalFieldEnum' + description: The interval field of the river entity. + default: updated at + example: date_field + extra: + display_name: Incremental Field + type: incremental_field + options: + - label: updated at + value: updated at + - label: created at + value: created at + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteShopifyPredefinedAddressesReport + description: Shopify predefined addresses report, used for write. + report_index: + extract_method: 0 + incremental_field: 1 + incremental_type: 2 + date_range: 3 + advanced_settings: 4 + include_end_value: 4.1 + time_interval: 4.2 + interval_size: 4.3 + skip_failed_queues: 5 + extra_fields: + skip_failed_queues: + display_name: Number of allowed failed queues + name: skip_failed_queues + value: 0 + required: false + type: number + readonly: true + chakra: true + WriteShopifyPredefinedAnalyticReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_analytic_reports + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - updated at + title: Incremental Field + description: The interval field of the river entity. + default: updated at + example: date_field + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteShopifyPredefinedAnalyticReport + description: Shopify predefined analytic report, used for write. + report_index: + extract_method: 0 + incremental_field: 1 + incremental_type: 2 + date_range: 3 + advanced_settings: 4 + include_end_value: 4.1 + time_interval: 4.2 + interval_size: 4.3 + skip_failed_queues: 5 + extra_fields: + skip_failed_queues: + display_name: Number of allowed failed queues + name: skip_failed_queues + value: 0 + required: false + type: number + readonly: true + chakra: true + WriteShopifyPredefinedCustomersReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_customers + title: Report Id + description: The report id + incremental_field: + allOf: + - $ref: '#/components/schemas/IncrementalFieldEnum' + description: The interval field of the river entity. + default: updated at + example: date_field + extra: + display_name: Incremental Field + type: incremental_field + options: + - label: updated at + value: updated at + - label: created at + value: created at + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteShopifyPredefinedCustomersReport + description: Shopify predefined analytic report, used for write. + report_index: + extract_method: 0 + incremental_field: 1 + incremental_type: 2 + date_range: 3 + advanced_settings: 4 + include_end_value: 4.1 + time_interval: 4.2 + interval_size: 4.3 + skip_failed_queues: 5 + extra_fields: + skip_failed_queues: + display_name: Number of allowed failed queues + name: skip_failed_queues + value: 0 + required: false + type: number + readonly: true + chakra: true + WriteShopifyPredefinedInventoryLevelsReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_inventory_levels + title: Report Id + description: The report id + incremental_field: + allOf: + - $ref: '#/components/schemas/IncrementalFieldEnum' + description: The interval field of the river entity. + default: created at + example: date_field + extra: + display_name: Incremental Field + type: incremental_field + options: + - label: updated at + value: updated at + - label: created at + value: created at + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteShopifyPredefinedInventoryLevelsReport + description: Shopify predefined inventory levels report, used for write. + report_index: + extract_method: 0 + incremental_field: 1 + incremental_type: 2 + date_range: 3 + advanced_settings: 4 + include_end_value: 4.1 + time_interval: 4.2 + interval_size: 4.3 + skip_failed_queues: 5 + extra_fields: + skip_failed_queues: + display_name: Number of allowed failed queues + name: skip_failed_queues + value: 0 + required: false + type: number + readonly: true + chakra: true + WriteShopifyPredefinedMarketingEventsReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + type: string + enum: + - predefined_marketing_events + title: Report Id + description: The report id + type: object + required: + - target_table + - report_id + title: WriteShopifyPredefinedMarketingEventsReport + description: Shopify predefined marketing events report, used for write. + report_index: + extract_method: 0 + WriteShopifyPredefinedOrderTransactionsReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_order_transactions + title: Report Id + description: The report id + incremental_field: + allOf: + - $ref: '#/components/schemas/IncrementalFieldEnum' + description: The interval field of the river entity. + default: updated at + example: date_field + extra: + display_name: Incremental Field + type: incremental_field + options: + - label: updated at + value: updated at + - label: created at + value: created at + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteShopifyPredefinedOrderTransactionsReport + description: Shopify predefined order transaction report, used for write. + report_index: + extract_method: 0 + incremental_field: 1 + incremental_type: 2 + date_range: 3 + advanced_settings: 4 + include_end_value: 4.1 + time_interval: 4.2 + interval_size: 4.3 + skip_failed_queues: 5 + extra_fields: + skip_failed_queues: + display_name: Number of allowed failed queues + name: skip_failed_queues + value: 0 + required: false + type: number + readonly: true + chakra: true + WriteShopifyPredefinedOrdersReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_orders + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - updated at + title: Incremental Field + description: The interval field of the river entity. + default: updated at + example: date_field + extra: + display_name: Incremental Field + type: incremental_field + options: + - label: updated at + value: updated at + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + status: + allOf: + - $ref: '#/components/schemas/StatusEnum' + description: Filter by order status + default: any + extra: + required: true + chakra: true + display_name: Status + type: list_single_options + options: + - id: any + name: Any + - id: cancelled + name: Cancelled + - id: closed + name: Closed + - id: open + name: Open + financial_status: + allOf: + - $ref: '#/components/schemas/FinancialStatusEnum' + description: Filter by order's financial status + default: any + extra: + chakra: true + display_name: Financial Status + type: list_single_options + options: + - id: any + name: Any + - id: paid + name: Paid + - id: unpaid + name: Unpaid + - id: voided + name: Voided + - id: pending + name: Pending + - id: refunded + name: Refunded + - id: authorized + name: Authorized + - id: partially_paid + name: Partially paid + - id: partially_refunded + name: Partially refunded + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteShopifyPredefinedOrdersReport + description: Shopify predefined orders report, used for write. + report_index: + status: 0 + financial_status: 1 + extract_method: 2 + incremental_field: 3 + incremental_type: 4 + date_range: 5 + advanced_settings: 6 + include_end_value: 6.1 + time_interval: 6.2 + interval_size: 6.3 + skip_failed_queues: 7 + extra_fields: + skip_failed_queues: + display_name: Number of allowed failed queues + name: skip_failed_queues + value: 0 + required: false + type: number + readonly: true + chakra: true + WriteShopifyPredefinedProductsReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_products + title: Report Id + description: The report id + incremental_field: + allOf: + - $ref: '#/components/schemas/ProductsIncrementalFieldEnum' + description: The interval field of the river entity. + default: updated at + example: date_field + extra: + display_name: Incremental Field + type: incremental_field + options: + - label: updated at + value: updated at + - label: created at + value: created at + - label: published at + value: published at + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteShopifyPredefinedProductsReport + description: Shopify predefined products report, used for write. + report_index: + extract_method: 0 + incremental_field: 1 + incremental_type: 2 + date_range: 3 + advanced_settings: 4 + include_end_value: 4.1 + time_interval: 4.2 + interval_size: 4.3 + skip_failed_queues: 5 + extra_fields: + skip_failed_queues: + display_name: Number of allowed failed queues + name: skip_failed_queues + value: 0 + required: false + type: number + readonly: true + chakra: true + WriteShopifyPredefinedShopReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + type: string + enum: + - predefined_shop + title: Report Id + description: The report id + type: object + required: + - target_table + - report_id + title: WriteShopifyPredefinedShopReport + description: Shopify predefined shop report, used for write. + report_index: + extract_method: 0 + WriteSourceToTargetRiverPropertiesInput: + properties: + properties_type: + type: string + enum: + - source_to_target + title: Properties Type + default: source_to_target + source: + allOf: + - $ref: '#/components/schemas/SourceSettings' + title: Source + description: The source of the river. + target: + oneOf: + - $ref: '#/components/schemas/SnowflakeTargetSettings' + - $ref: '#/components/schemas/BigQueryTargetSettings' + - $ref: '#/components/schemas/RedshiftTargetSettings' + - $ref: '#/components/schemas/S3TargetSettings' + - $ref: '#/components/schemas/EmailTargetSettings' + - $ref: '#/components/schemas/BlobStorageSettings' + - $ref: '#/components/schemas/GcsTargetSettings' + - $ref: '#/components/schemas/DatabricksTargetSettings' + - $ref: '#/components/schemas/AzureSynapseAnalyticsTargetSettings' + - $ref: '#/components/schemas/AthenaTargetSettings' + - $ref: '#/components/schemas/AzureSqlTargetSettings' + - $ref: '#/components/schemas/PostgresTargetSettings' + title: Target + description: The target of the river. + discriminator: + propertyName: name + mapping: + snowflake: '#/components/schemas/SnowflakeTargetSettings' + bigquery: '#/components/schemas/BigQueryTargetSettings' + redshift: '#/components/schemas/RedshiftTargetSettings' + s3: '#/components/schemas/S3TargetSettings' + target_email: '#/components/schemas/EmailTargetSettings' + blob_storage: '#/components/schemas/BlobStorageSettings' + GCS: '#/components/schemas/GcsTargetSettings' + databricks: '#/components/schemas/DatabricksTargetSettings' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsTargetSettings' + athena: '#/components/schemas/AthenaTargetSettings' + azure_sql: '#/components/schemas/AzureSqlTargetSettings' + postgres: '#/components/schemas/PostgresTargetSettings' + schemas: + items: + $ref: '#/components/schemas/WriteSchemaInput' + type: array + title: Schemas + description: The schemas of the river entity + default: [] + additionalProperties: false + type: object + required: + - source + - target + title: WriteSourceToTargetRiverPropertiesInput + description: Source to target River properties that is being used for PUT purposes + securitySchemes: + HTTPBearer: + type: http + scheme: bearer + tags: + - name: Rivers + description: Management of rivers + - name: Activities + description: Get the Rivery's activities data with various of GET operations + - name: Connections + description: Management of connection entities + - name: Dataframes + description: Management of dataframe entities + - name: Environments + description: Listing account's environments + - name: Accounts + description: Listing accounts + - name: Audit Events + description: Listing account's audit events + - name: Beta Endpoints + description: Beta endpoints +konfigCliVersion: 1.38.34 diff --git a/sdks/db/fixed-specs-cache/secoda-fixed-spec.yaml b/sdks/db/fixed-specs-cache/secoda-fixed-spec.yaml new file mode 100644 index 000000000..43102d42b --- /dev/null +++ b/sdks/db/fixed-specs-cache/secoda-fixed-spec.yaml @@ -0,0 +1,5190 @@ +publishJson: + company: Secoda + serviceName: false + sdkName: secoda-{language}-sdk + clientName: Secoda + metaDescription: >- + The all-in-one data management platform. Secoda is the first AI powered data + search, catalog, lineage, and monitoring platform to double your data team's + efficiency. + + + Data teams at companies like Panasonic, Mode, and Vanta use Secoda to + automate data discovery, documentation, and take the grunt-work out of their + day. + + + By automatically ingesting the metadata across all of your data sources, + Secoda makes it easy to make decisions from a single source of truth. + + + Built for users of the modern data stack, Secoda helps data teams take + control of their data sprawl and reliably scale their tech stacks. + + + With Secoda, data teams save time and enable revenue teams with better data, + faster. + apiStatusUrls: inherit + homepage: secoda.co + developerDocumentation: docs.secoda.co/ + categories: + - data_management +rawSpecString: | + openapi: 3.0.0 + info: + title: Secoda API + version: 1.0.0 + description: > + Use this API to programmatically use Secoda's data enablement features. With + these APIs, you can bring in resource metadata, build documentation + pipelines, and manage workspace settings programmatically. + + + To learn more about Secoda, visit the [Secoda + documentation](https://docs.secoda.co/). + + + To get in touch with Secoda, contact customer support at support@secoda.co. + + + ## Getting Started + + + ### Authentication + + + Secoda API's require an Authorization header with a Bearer token. You can + generate an API key in your workspace, as outlined + [here](https://docs.secoda.co/secoda-api/authentication). + + + ### Base URL + + + To determine the base URL of your API requests, please refer to the chart + below. + + + | Workspace URL | Base URL | + + | ---------------------- | ---------------------- | + + | app.secoda.co | api.secoda.co | + + | eu.secoda.co | eapi.secoda.co | + + | apac.secoda.co | aapi.secoda.co | + + + For teams with an On Premise or Managed instance with a custom domain, the + Base URL is the custom domain followed by `/api/v1`. + + + ## Helpful Information + + + Secoda’s APIs generally follow the CRUD pattern (Create, Read, Update, + Delete). The data elements that are managed with these APIs are called + Resources. Generally, each resource maps to an integration, with many set + and customizable properties called Metadata. + + + ### Important Terminology + + + **Workspace:** + + In Secoda, a workspace is the environment within the application where teams + can integrate resources and metadata and add documentation, either through + the UI or programatically through the API. + + + **Resource:** + + In Secoda, a resource is any entity that metadata can be added to. This + includes, but is not limited to, tables, dashboards, charts, columns, + queries, documents, dictionary terms, and more. + + + **Metadata:** + + In Secoda, metadata is the additional information you can provide to add + context to your resources. This includes descriptions, definitions, owners, + custom properties, and more. Metadata is the lifeblood of Secoda; the more + you put in, the more you'll get out of the tool! + + + ### Resource Heirarchy + + + Nearly all resources in Secoda can be nested under a parent. A resource has + a one to many relationship with its child. This means thats a parent + resource can have several children, but a child resource can only have one + parent. + + + For Collections, Dictionary Terms, and Documents, the parent must be the + same resource type. However, there are two unique heirarchy structures that + the application expects when adding net new resources. + + + **Table Heirarchy:** Integration > Databases > Schemas > Tables > Columns > + Columns (if nested) + + + **Dashboard Heirarchy:** Integration > Groups > Dashboards > Charts + servers: + - url: https://api.secoda.co + description: Base URL for all US cloud based workspaces. + - url: https://eapi.secoda.co + description: Base URL for all EU cloud based workspaces. + - url: https://aapi.secoda.co + description: Base URL for all APAC cloud based workspaces. + - url: https://{customer_domain}.secoda.co/api/v1 + description: Base URL for On Premise Secoda workspaces. + variables: + customer_domain: + default: customer_domain + description: The specific domain set up for your On Premise Secoda workspace. + security: + - ApiKeyAuth: [] + tags: + - name: Integrations + description: External sources from which resources and metadata are extracted. + - name: Databases + description: Databases or similar data elements from an integration. + - name: Schemas + description: Schemas or similar data elements from an integration. + - name: Tables + description: Tables or similar data elements from an integration. + - name: Columns + description: Columns or similar data elements from an integration. + - name: Dashboard Groups + description: A grouping of related dashboards or charts from an integration. + - name: Dashboards + description: Dashboards or similar visualization elements from an integration. + - name: Charts + description: Charts or similar visualization elements from an integration. + - name: Event Categories + description: A grouping of related events from an integration. + - name: Events + description: Data elements representing an event from an integration. + - name: Event Properties + description: The properties associated with an event from an integration. + - name: Lineage + description: > + The dependencies between resources. Learn more about lineage + [here](https://docs.secoda.co/features/data-lineage). + - name: Tags + description: >- + Labels used to categorize, filter, and classify resources. Learn more + about tags + [here](https://docs.secoda.co/resource-and-metadata-management/tags/custom-tags). + - name: Terms + description: > + Definitions and explanations of specific data-related concepts. Learn more + about terms [here](https://docs.secoda.co/features/metrics). + - name: Collections + description: > + Groups of related resources within the workspace. Learn more about + collections [here](https://docs.secoda.co/features/collections-1). + - name: Questions + description: > + Questions asked by data consumers and their associated answers in the + workspace. Learn more about questions + [here](https://docs.secoda.co/features/ask-questions-in-secoda). + - name: Documents + description: > + Mark down content used to add documentation to the workspace. Learn more + about documents [here](https://docs.secoda.co/features/documents). + - name: Queries + description: > + Queries from an extraction. Learn more about queries + [here](https://docs.secoda.co/features/queries). + - name: Users + description: > + Members within the workspace. Learn more about user management + [here](https://docs.secoda.co/user-management). + - name: Teams + description: > + Teams within the workspace. Learn more about team management + [here](https://docs.secoda.co/user-management/teams). + - name: User Groups + description: > + Groups within the workspace. Learn more about team management + [here](https://docs.secoda.co/user-management/groups). + - name: Monitors + description: > + Monitors allow Secoda admins to have insight into the health of the data + stack. Learn more about monitors + [here](https://docs.secoda.co/features/monitoring). + paths: + /integration/integrations: + post: + tags: + - Integrations + summary: Create a New Integration + description: >- + Use this endpoint to create a [custom + integration](https://docs.secoda.co/integrations/custom-integration), or + add credentials for a native integration programatically. + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Represents the name of the integration data source or tool. + example: Sample Integration + type: + type: string + description: This indicates the type of integration (e.g., "custom"). + example: custom + teams: + type: array + items: + type: string + description: >- + Indicates the teams associated with this integration. The + access can be edited in the UI. + example: + - 4c0e07c0-306a-4f4e-8b2b-6a8d7a33d251 + - a5423e2e-93b8-4b2c-af3c-7b7f0eefea14 + credentials: + type: object + description: >- + If you are adding a custom integration, the value of this + parameter should always be empty {}. + example: {} + responses: + '201': + description: Integration created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/IntegrationResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + get: + tags: + - Integrations + summary: List Integrations + description: This endpoint will return all the integrations active in your workspace. + parameters: + - name: type + in: query + schema: + type: string + description: The type of integrations to filter. + example: bigquery + responses: + '200': + description: List of integrations. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/IntegrationResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + /integration/integrations/{integration_id}: + get: + tags: + - Integrations + summary: Get Integration by ID + description: This endpoint will provide the details of an individual integration. + parameters: + - name: integration_id + in: path + required: true + schema: + type: string + description: The ID of the integration to retrieve. + example: d31e59c7-cd52-4398-9d6e-da313a7b7775 + responses: + '200': + description: Integration details retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/IntegrationResponse' + '404': + description: Integration not found. + '500': + description: Internal server error. + /integration/integrations/{integration_id}/import_metadata: + post: + tags: + - Integrations + summary: Upload Integration Metadata (via CSV) + description: >- + This endpoint allows the upload of integration metadata using a CSV. + This can also be done through the UI. See more about CSV uploads + [here](https://docs.secoda.co/integrations/custom-integration/import-your-resources). + parameters: + - name: integration_id + in: path + required: true + schema: + type: string + description: The ID of the integration to upload metadata for. + example: d31e59c7-cd52-4398-9d6e-da313a7b7775 + requestBody: + required: true + content: + multipart/form-data: + schema: + type: object + properties: + file: + description: >- + The path to the CSV file containing your metadata and + resources. The format of the CSV file can be found + [here](https://docs.secoda.co/integrations/custom-integration/import-your-resources/create-your-csv). + type: string + format: binary + example: path/to/your/file.csv + responses: + '200': + description: Integration metadata uploaded successfully. + '404': + description: Integration not found. + '500': + description: Internal server error. + /integration/integrations/{integration_id}/import_jsonl_metadata: + post: + tags: + - Integrations + summary: Upload Integration Metadata (via JSONL) + description: >- + This endpoint allows the upload of integration metadata as well as + integration lineage using a JSONL file. This can also be done through + the UI. See more about JSONL uploads + [here](https://docs.secoda.co/integrations/custom-integration/import-your-resources). + parameters: + - name: integration_id + in: path + required: true + schema: + type: string + description: The ID of the integration to upload metadata and/or lineage for. + example: d31e59c7-cd52-4398-9d6e-da313a7b7775 + requestBody: + required: true + content: + multipart/form-data: + schema: + type: object + required: + - resources_file + properties: + resources_file: + type: string + format: binary + description: >- + The path to the your resources file. The expected formatting + of this file can be found + [here](https://docs.secoda.co/integrations/custom-integration/import-your-resources/create-your-jsonl-file). + example: path/to/your/resources_file.jsonl + lineages_file: + description: >- + The path to the your lineages file. The expected formatting + of this file can be found + [here](https://docs.secoda.co/integrations/custom-integration/import-your-resources/create-your-jsonl-file). + type: string + format: binary + example: path/to/your/lineages_file.jsonl + responses: + '200': + description: Integration JSONL file uploaded successfully. + '404': + description: Integration not found. + '500': + description: Internal server error. + /table/databases: + post: + tags: + - Databases + summary: Create a New Database + description: >- + Create a new database resource. It must have a schema as a parent, and + an associated integration. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Database created successfully + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + get: + tags: + - Databases + summary: List Databases + description: Use this endpoint to see all the databases active in your workspace. + parameters: + - in: query + name: title + schema: + type: string + description: The title of the database to search for. + example: customers + responses: + '200': + description: List of databases. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/BaseResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + /table/databases/{database_id}: + get: + tags: + - Databases + summary: Get Database by ID + description: Use this endpoint for retrieving a specific database by its ID. + parameters: + - in: path + name: database_id + required: true + schema: + type: string + description: The unique identifier of the database to retrieve. + example: 27498d73-db31-4a4e-8cf0-faccff1bed0f + responses: + '200': + description: Database retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '404': + description: Database not found. + '500': + description: Internal server error. + /table/schemas: + post: + tags: + - Schemas + description: >- + Create a new schema. Schema must have one database as a parent, and be + associated with an integration. + summary: Create a New Schema + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + native_type: + type: string + description: >- + The native type of the schema as it's referred to in the + integration. + example: System + database: + type: string + description: The title of the database. + example: Sample Database + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Schema created successfully + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + get: + tags: + - Schemas + summary: List Schemas + description: >- + Endpoint for retrieving a list of schemas with optional filtering by + parent schema and title. + parameters: + - in: query + name: parent + schema: + type: string + description: The ID of the parent database to filter by. + - in: query + name: title + schema: + type: string + description: The title of the schema to filter by. + responses: + '200': + description: List of schemas. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/BaseResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + /table/schemas/{schema_id}: + parameters: + - in: path + name: schema_id + required: true + description: The ID of the schema to retrieve or update. + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + schema: + type: string + get: + tags: + - Schemas + summary: Get Schema by ID + description: Retrieve schema details by its unique ID. + responses: + '200': + description: Schema details retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '404': + description: Schema not found. + '500': + description: Internal server error. + patch: + tags: + - Schemas + summary: Update Schema by ID + description: Use this endpoint to update schema metadata. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: Schema updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '400': + description: Bad request. + '404': + description: Schema not found. + '500': + description: Internal server error. + /table/tables: + post: + tags: + - Tables + summary: Create a New Table + description: >- + Create a new table with a schema as a parent. The table must be + associated with an integration. + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + native_type: + type: string + description: The native type of the table. + example: Dataset + database: + type: string + description: The name of the database the table belongs to. + example: Sample Database + schema: + type: string + description: The name of the schema the table belongs to. + example: Sample Schema + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Table created successfully + content: + application/json: + schema: + $ref: '#/components/schemas/TableResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + get: + tags: + - Tables + summary: List Tables + description: > + This endpoint retrieves a list of tables, with optional filters for the + integration, the schema, and the title of the table resource. + parameters: + - name: integration_id + in: query + description: Integration ID + schema: + type: string + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + - name: parent_id + in: query + description: ID of the schema + schema: + type: string + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + - name: title + in: query + description: Title of the table + schema: + type: string + example: Sample Table + responses: + '200': + description: List of databases. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/TableResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + /table/tables/{table_id}: + get: + tags: + - Tables + summary: Get Table by ID + description: | + This endpoint retrieves a specific table by its ID. + parameters: + - name: table_id + in: path + description: ID of the table to retrieve + required: true + schema: + type: string + example: d935a76c-2125-4c30-9389-ef42fa7e23bb + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/TableResponse' + '404': + description: Table not found. + '500': + description: Internal server error. + patch: + tags: + - Tables + summary: Update Table by ID + description: | + Use this endpoint to update table metadata. + parameters: + - name: table_id + in: path + description: ID of the table to update + required: true + schema: + type: string + example: d935a76c-2125-4c30-9389-ef42fa7e23bb + requestBody: + description: Table data to update + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/TableResponse' + '400': + description: Bad request. + '404': + description: Table not found. + '500': + description: Internal server error. + delete: + tags: + - Tables + summary: Delete Table by ID + description: | + This endpoint deletes a specific table by its ID. + parameters: + - name: table_id + in: path + description: ID of the table to delete + required: true + schema: + type: string + example: e7691426-2c2a-46b4-98e7-d09d0b82b2b1 + responses: + '204': + description: Table deleted successfully + '404': + description: Table not found. + '500': + description: Internal server error. + /table/columns: + post: + tags: + - Columns + summary: Create a New Column + description: > + This endpoint allows you to create a new column. Columns must have + tables as a parent or another column for nested records. Columns must be + associated with an integration. + requestBody: + content: + application/json: + schema: + type: object + properties: + native_type: + type: string + description: The native data type of the column in the source. + example: Record + data_type: + type: string + description: The type of the column. + example: null + is_pk: + type: string + description: Indicates whether the column is a primary key. + example: false + table_database: + type: string + description: The name of the database where the column's table belongs. + example: Sample Database + table_schema: + type: string + description: The name of the schema where the column's table belongs. + example: Sample Schema + table_title: + type: string + description: The title of the table to which the column belongs. + example: Sample Table + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Column created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ColumnResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + get: + tags: + - Columns + summary: List Columns + description: > + This endpoint allows you to retrieve a list of all columns in the + workspace. Optional filters for integration_id, title, and parent_id + (the table or parent column) are available. + parameters: + - name: integration_id + in: query + description: Optional. Filter columns by integration identifier. + schema: + type: string + example: 6c69de0f-b269-4380-bcf5-0686de276b9e + - name: parent_id + in: query + description: >- + Optional. Filter columns by parent identifier. This could be the ID + of the table or of the parent column in the case of nested columns. + schema: + type: string + example: c444bc26-433e-4cd2-b3ee-f5a1fbb2caf8 + - name: title + in: query + description: Optional. Filter columns by title of the column. + schema: + type: string + example: Sample Column + - name: table_title + in: query + description: >- + Optional. Filter columns by title of the table that the columns + belong to. If several integrations have the same naming of tables, + it is recommended to combine this with the `integration_id`. + schema: + type: string + example: Sample Table + responses: + '200': + description: List of columns. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/ColumnResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + /table/columns/{column_id}: + get: + tags: + - Columns + summary: Get Column by ID + description: > + This endpoint allows you to retrieve information about a specific column + by its identifier. + parameters: + - name: column_id + in: path + description: Identifier of the column to retrieve. + required: true + schema: + type: string + example: 8b2e01e0-603b-4559-8eac-4e16ecc61fc7 + responses: + '200': + description: Column retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ColumnResponse' + '404': + description: Column not found. + '500': + description: Internal server error. + patch: + tags: + - Columns + summary: Edit Column by ID + description: > + This endpoint allows you to edit the metadata of a specific column by + its identifier. + parameters: + - name: column_id + in: path + description: Identifier of the column to retrieve. + required: true + schema: + type: string + example: 8b2e01e0-603b-4559-8eac-4e16ecc61fc7 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: Column retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ColumnResponse' + '404': + description: Column not found. + '500': + description: Internal server error. + delete: + tags: + - Columns + summary: Delete Column by ID + description: | + This endpoint allows you to delete a specific column by its identifier. + parameters: + - name: column_id + in: path + description: Identifier of the column to delete. + required: true + schema: + type: string + example: 8b2e01e0-603b-4559-8eac-4e16ecc61fc7 + responses: + '204': + description: Column deleted successfully. + '404': + description: Column not found. + '500': + description: Internal server error. + /dashboard/groups: + post: + summary: Create a New Dashboard Group + description: >- + Use this endpoint to create a dashboard group, which will be the parent + of dashboards. + tags: + - Dashboard Groups + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + native_type: + type: string + description: The native type of the group. + example: dashboard_group + url: + type: string + description: Reprents the URL of the group. + example: sample.url.com + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardGroupResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + summary: List Dashboard Groups + description: >- + List all the dashboard groups in the workspace. Optional filter by + title. + tags: + - Dashboard Groups + parameters: + - in: query + name: title + schema: + type: string + description: Filter groups by title + example: Sample Group + responses: + '200': + description: List of groups. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/DashboardGroupResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /dashboard/groups/{group_id}: + get: + summary: Get Dashboard Group by ID + description: Retrieve the information of a specific dashboard group. + tags: + - Dashboard Groups + parameters: + - in: path + name: group_id + required: true + schema: + type: string + description: ID of the dashboard group to retrieve + example: 43d7c33d-ad74-4dfb-bfad-c172f6701afb + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardGroupResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + /dashboard/dashboards: + post: + tags: + - Dashboards + summary: Create a new Dashboard + description: > + Create a new dashboard with the provided data. Dashboards must have a + Group as a parent, and be associated with an integration. + requestBody: + description: Dashboard data + required: true + content: + application/json: + schema: + type: object + properties: + group: + type: string + description: >- + Indicates the title name of the group to which the dashboard + belongs. + example: Sample Group + url: + type: string + description: Indicates the URL of the dashboard. + example: sample.url.com + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Dashboards + summary: List Dashboards + description: > + Retrieve a list of dashboards with optional filtering using the + integration_id, parent_id (the dashboard group), and title. + parameters: + - name: integration_id + in: query + schema: + type: string + example: cf103b47-8576-4467-ad34-384cd523abd9 + description: Filter by integration ID + - name: parent_id + in: query + schema: + type: string + example: 43d7c33d-ad74-4dfb-bfad-c172f6701afb + description: Filter by parent ID + - name: title + in: query + schema: + type: string + description: Filter by title + example: Sample Dashboard + responses: + '200': + description: List of dashboards. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/DashboardResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /dashboard/dashboards/{dashboard_id}: + get: + tags: + - Dashboards + summary: Get Dashboard by ID + description: | + Retrieve a specific dashboard by its ID. + parameters: + - name: dashboard_id + in: path + required: true + schema: + type: string + description: The ID of the dashboard to retrieve. + example: 226dc8aa-fa8d-4646-8b11-6652cdc64065 + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + patch: + tags: + - Dashboards + summary: Update Dashboard by ID + description: | + Use this endpoint to update dashboard metadata. + parameters: + - name: dashboard_id + in: path + required: true + schema: + type: string + description: The ID of the dashboard to update. + example: 226dc8aa-fa8d-4646-8b11-6652cdc64065 + requestBody: + description: Represents the description of the dashboard + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + delete: + tags: + - Dashboards + summary: Delete Dashboard by ID + description: | + Delete a specific dashboard by its ID. + parameters: + - name: dashboard_id + in: path + required: true + schema: + type: string + description: The ID of the dashboard to delete. + example: 0b3938f4-692c-4d78-b40c-247c75dc6930 + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + /dashboard/charts: + post: + tags: + - Charts + summary: Create a new Chart + description: > + Create a new chart with the provided data. Charts must have a dashboard + as a parent, and be associated with an integration. + requestBody: + description: Chart data + required: true + content: + application/json: + schema: + type: object + properties: + native_type: + type: string + description: Set a different name to the charts term. + example: Other Chart + group: + type: string + description: Indicates the name of the group. + url: + type: string + description: Indicates the URL of the chart. + example: sample.url.com + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/ChartResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Charts + summary: List Charts + description: > + Retrieve a list of charts with optional filtering by integration_id, + parent_id (the dashboard the chart belongs to), and title. + parameters: + - name: integration_id + in: query + schema: + type: string + description: Filter by integration ID + example: cf103b47-8576-4467-ad34-384cd523abd9 + - name: parent_id + in: query + schema: + type: string + example: 226dc8aa-fa8d-4646-8b11-6652cdc64065 + description: Filter by parent ID + - name: title + in: query + schema: + type: string + description: Filter by title + example: Sample Chart + responses: + '200': + description: List of charts. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/ChartResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /dashboard/charts/{chart_id}: + get: + tags: + - Charts + summary: Get Chart by ID + description: | + Retrieve a specific chart by its ID. + parameters: + - name: chart_id + in: path + required: true + schema: + type: string + description: The ID of the chart to retrieve. + example: 45813776-8934-442d-adf7-74ec921c53bf + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ChartResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + patch: + tags: + - Charts + summary: Update Chart by ID + description: Use this endpoint to update chart metadata. + parameters: + - name: chart_id + in: path + required: true + schema: + type: string + description: The ID of the chart to update. + example: 45813776-8934-442d-adf7-74ec921c53bf + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ChartResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + delete: + tags: + - Charts + summary: Delete Chart by ID + description: | + Delete a specific chart by its ID. + parameters: + - name: chart_id + in: path + required: true + schema: + type: string + description: The ID of the chart to delete. + example: 45813776-8934-442d-adf7-74ec921c53bf + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ChartResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + /lineage/manual: + post: + tags: + - Lineage + summary: Create new Lineage + description: >- + Create a new lineage object manually. Only one direction of the + relationship needs to be created. The opposite direction of the lineage + is automatically generated. + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + from_entity: + type: string + description: Indicates the source of the resource data. + example: 7879886b-9e0e-4d02-8b37-c7d3c496a587 + to_entity: + type: string + description: >- + Points to the final destination of the resouce data through + various transformations and entities. + example: b500ef23-c9b4-4259-a87d-d77b8b588f06 + direction: + type: string + description: >- + Represents the flow of the resource data. Values can be - +
  • Upstream
  • Downstream
+ example: DOWNSTREAM + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/LineageResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Lineage + summary: List Lineage + description: >- + Get lineage objects with optional filtering by source and destination + entity. + parameters: + - name: from_entity__in + in: query + schema: + type: string + example: 7879886b-9e0e-4d02-8b37-c7d3c496a587 + description: The source resource. + - name: to_entity__in + in: query + schema: + type: string + example: b500ef23-c9b4-4259-a87d-d77b8b588f06 + description: The destination resource. + responses: + '200': + description: List of lineage entries. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/LineageResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /lineage/manual/{lineage_id}: + get: + tags: + - Lineage + summary: Get Lineage by ID + description: Get a lineage object by its ID. + parameters: + - name: lineage_id + in: path + required: true + description: The ID of the lineage entry to retrieve. + schema: + type: string + example: 34d983b3-bfe0-4b49-abea-0692c8be6693 + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/LineageResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + delete: + tags: + - Lineage + summary: Delete Lineage by ID + description: Delete a lineage object by its ID. + parameters: + - name: lineage_id + in: path + required: true + description: The ID of the lineage entry to delete. + schema: + type: string + example: 34d983b3-bfe0-4b49-abea-0692c8be6693 + responses: + '204': + description: No Content + '404': + description: Not Found + '500': + description: Internal Server Error + /tag: + post: + tags: + - Tags + summary: Create a new Tag + description: Create a new tag for the workspace. + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Indicates the name of the tag. + example: Sample Tag + description: + type: string + description: Indicates the description of the tag. + example: This is a sample tag. + color: + type: string + description: Defines the different colors of the tags. + example: '#4299E1' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/TagsResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Tags + summary: List Tags + description: Get a list of tags. No filtering is currently available. + responses: + '200': + description: List of tags. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/TagsResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /tag/{tag_id}: + get: + tags: + - Tags + summary: Get Tag by ID + description: Get a tag by its ID. + parameters: + - name: tag_id + in: path + required: true + description: The ID of the tag to retrieve. + schema: + type: string + example: 69e0b863-8bb8-47e1-b566-8b8d57441c70 + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/TagsResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + patch: + tags: + - Tags + summary: Update Tag by ID + description: Use this endpoint to update tag name, colour, or icon. + parameters: + - name: tag_id + in: path + required: true + description: The ID of the tag to update. + schema: + type: string + example: 38040671-8f1d-4322-b895-4fd7b73317bf + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + color: + type: string + description: Represents the color of the tags. + example: '#316650' + required: + - color + responses: + '204': + description: No Content + '404': + description: Not Found + '500': + description: Internal Server Error + delete: + tags: + - Tags + summary: Delete Tag by ID + description: Delete a tag by its ID. + parameters: + - name: tag_id + in: path + required: true + description: The ID of the tag to delete. + schema: + type: string + example: 69e0b863-8bb8-47e1-b566-8b8d57441c70 + responses: + '204': + description: No Content + '404': + description: Not Found + '500': + description: Internal Server Error + /user: + post: + tags: + - Users + summary: Create a New User + description: Create a new user in the workspace. + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + first_name: + type: string + description: Indicates the first name of the user. + example: Sample + last_name: + type: string + description: Indicates the last name of the user. + example: User + email: + type: string + description: Indicates the email id of the user. + example: sample@sample.com + role: + type: string + description: >- + Indicates the role of the user. Values can be -
  • + Admin
  • Editor
  • Viewer
+ example: editor + _role: + type: string + description: >- + Indicates the role of the user. Values can be -
  • + Admin
  • Editor
  • Viewer
+ example: editor + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/UsersResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Users + summary: List Users + description: Get a list of users. + responses: + '200': + description: List of users. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/UsersResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /user/{id}: + get: + tags: + - Users + summary: Get User by ID + description: Get a user by their ID. + parameters: + - name: id + in: path + required: true + description: The ID of the user to retrieve. + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/UsersResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + patch: + tags: + - Users + summary: Update User by ID + description: >- + Use this endpoint to update the user. Editable fields include the first + name, last name, and role. + parameters: + - name: id + in: path + required: true + description: The ID of the user to update. + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + first_name: + type: string + description: Indicates the first name of the user. + example: Sample + last_name: + type: string + description: Indicates the last name of the user. + example: User + responses: + '200': + description: User updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/UsersResponse' + '400': + description: Bad Request + '404': + description: User not found + '500': + description: Internal Server Error + delete: + tags: + - Users + summary: Delete User by ID + description: Delete a user by their ID. + parameters: + - name: id + in: path + required: true + description: The ID of the user to delete. + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + responses: + '204': + description: No Content + '404': + description: Not Found + '500': + description: Internal Server Error + /auth/teams: + post: + tags: + - Teams + summary: Create a New Team + description: Create a new team in the workspace. + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Indicates the name of the team. + example: Test Team + icon: + type: string + description: Indicates the icon of the team. + example: 😀 + type: + type: string + description: >- + Indicates the type of the team. If a team is Open, this + means it is Public and can be joined by anyone in the + workspace. If a team is Closed, the team is private and only + admins can invite members into the team. Values can be - +
  • OPEN
  • CLOSED
+ example: OPEN + description: + type: string + description: Description of the team. + example: This is the best team in this workspace. + sidebar_settings: + type: object + description: >- + Use these settings to toggle which pages should be shown to + team members in the side bar. + properties: + home: + type: boolean + description: Whether to show the home page to team members. + example: true + catalog: + type: boolean + description: Whether to show the catalog page to team members. + example: true + documents: + type: boolean + description: Whether to show the documents page to team members. + example: true + questions: + type: boolean + description: Whether to show the questions page to team members. + example: true + dictionary: + type: boolean + description: Whether to show the dictionary page to team members. + example: true + collections: + type: boolean + description: Whether to show the collections page to team members. + example: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/TeamsResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Teams + summary: List Teams + description: Get a list of teams in the workspace. + responses: + '200': + description: List of teams. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/TeamsResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /auth/teams/{id}: + get: + tags: + - Teams + summary: Get Team by ID + description: Get a team by their ID. + parameters: + - name: id + in: path + required: true + description: The ID of the team to retrieve. + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/TeamsResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + patch: + tags: + - Teams + summary: Update Team by ID + description: >- + Use this endpoint to update the Team. Editable fields include the name, + description, icon, type, and sidebar settings. + parameters: + - name: id + in: path + required: true + description: The ID of the team to update. + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Indicates the name of the team. + example: New Team + responses: + '200': + description: Team updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/TeamsResponse' + '400': + description: Bad Request + '404': + description: User not found + '500': + description: Internal Server Error + delete: + tags: + - Teams + summary: Delete Team by ID + description: >- + Delete a team by their ID. Any resources that belong solely to this team + will be set to the default team. + parameters: + - name: id + in: path + required: true + description: The ID of the team to delete. + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + responses: + '204': + description: No Content + '404': + description: Not Found + '500': + description: Internal Server Error + /auth/group: + post: + tags: + - User Groups + summary: Create a New User Group + description: Create a new user group in the workspace. + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Indicates the name of the group. + example: Data Stewards + icon: + type: string + description: Indicates the icon of the team. + example: 😀 + description: + type: string + description: Description of the group. + example: Users responsible for keeping documentation up to date. + users: + type: array + description: A list of user IDs that are part of this group. + example: + - 33733f42-8ff7-460b-9e20-50a2133d3bb0 + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + items: + type: string + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/UserGroupResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - User Groups + summary: List User Groups + description: Get a list of user groups in the workspace. + responses: + '200': + description: List of groups. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/UserGroupResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /auth/group/{id}: + get: + tags: + - User Groups + summary: Get User Group by ID + description: Get a user group by their ID. + parameters: + - name: id + in: path + required: true + description: The ID of the group to retrieve. + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/UserGroupResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + patch: + tags: + - User Groups + summary: Update User Group by ID + description: >- + Use this endpoint to update the Group. Editable fields include the name, + description, icon, and users. + parameters: + - name: id + in: path + required: true + description: The ID of the group to update. + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Indicates the name of the group. + example: New Group + responses: + '200': + description: Group updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/UserGroupResponse' + '400': + description: Bad Request + '404': + description: User not found + '500': + description: Internal Server Error + delete: + tags: + - User Groups + summary: Delete User Group by ID + description: Delete a group by their ID. + parameters: + - name: id + in: path + required: true + description: The ID of the group to delete. + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + responses: + '204': + description: No Content + '404': + description: Not Found + '500': + description: Internal Server Error + /dictionary/terms: + post: + tags: + - Terms + summary: Create a New Dictionary Term + description: > + This endpoint allows you to create a new dictionary term with the + specified data. The `title` will map to the dictionary term name, and + the definition of the term can be added to the `definition` field. + requestBody: + required: true + content: + application/json: + schema: + type: object + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/TermResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Terms + summary: List Dictionary Terms + description: > + This endpoint allows you to retrieve a list of dictionary terms with + optional filtering by name of the term (title). + parameters: + - in: query + name: title + description: Filter terms by title (optional) + schema: + type: string + example: Sample Dictionary Term + responses: + '200': + description: List of dictionary terms. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/TermResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /dictionary/terms/{term_id}: + get: + tags: + - Terms + summary: Get Dictionary Term by ID + description: > + This endpoint allows you to retrieve a single dictionary term by its + unique identifier (term_id). + parameters: + - in: path + name: term_id + description: The unique identifier of the dictionary term + required: true + schema: + type: string + example: 61ce0a34-ce90-4f1a-a135-f122dcbed242 + responses: + '200': + description: Dictionary term retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/TermResponse' + '404': + description: Term not found + '500': + description: Internal Server Error + patch: + tags: + - Terms + summary: Edit Dictionary Term by ID + description: > + This endpoint allows you to edit the metadata of a dictionary term by + its unique identifier (term_id). + parameters: + - in: path + name: term_id + description: The unique identifier of the dictionary term to edit + required: true + schema: + type: string + example: 61ce0a34-ce90-4f1a-a135-f122dcbed24 + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: Description updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/TermResponse' + '400': + description: Bad Request + '404': + description: Term not found + '500': + description: Internal Server Error + delete: + tags: + - Terms + summary: Delete Dictionary Term by ID + description: > + This endpoint allows you to delete a dictionary term by its unique + identifier (term_id). + parameters: + - in: path + name: term_id + description: The unique identifier of the dictionary term to delete + required: true + schema: + type: string + example: 61ce0a34-ce90-4f1a-a135-f122dcbed242 + responses: + '204': + description: Term deleted successfully + '404': + description: Term not found + '500': + description: Internal Server Error + /collection/collections: + post: + tags: + - Collections + summary: Create a New Collection + description: > + This endpoint allows you to create a new collection. Note, adding + resources to a collection through the API must be done on the resource + that is added (by adding the collection_id to the `collections` + parameter). Related resources cannot be added using the + `/collection/collections` endpoints. + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + icon: + type: string + description: >- + Graphical or visual representation that symbolizes or + represents an item within the collection + example: 🗂 + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/CollectionResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Collections + summary: List Collections + description: > + This endpoint allows you to retrieve a list of collections. You can + optionally filter the collections by title using the "title" query + parameter. + parameters: + - in: query + name: title + description: Filter collections by title (optional) + schema: + type: string + example: Sample Collection + responses: + '200': + description: List of collections. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/CollectionResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /collection/collections/{collection_id}: + get: + tags: + - Collections + summary: Get Collection by ID + description: > + This endpoint allows you to retrieve a collection by its unique + identifier (collection_id). + parameters: + - in: path + name: collection_id + description: The unique identifier of the collection + required: true + schema: + type: string + example: 3ea9a7c2-9538-46a0-899d-b2018c80113c + responses: + '200': + description: Collection retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/CollectionResponse' + '404': + description: Collection not found + '500': + description: Internal Server Error + patch: + tags: + - Collections + summary: Edit Collection by ID + description: >- + Use this endpoint to update collections. Note, adding resources to a + collection through the API must be done on the resource that is added + (by adding the collection_id to the `collections` parameter). Related + resources cannot be added using the `/collection/collections` endpoints. + parameters: + - in: path + name: collection_id + description: The unique identifier of the collection to edit + required: true + schema: + type: string + example: 3ea9a7c2-9538-46a0-899d-b2018c80113c + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: Description updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/CollectionResponse' + '400': + description: Bad Request + '404': + description: Collection not found + '500': + description: Internal Server Error + delete: + tags: + - Collections + summary: Delete Collection by ID + description: > + This endpoint allows you to delete a collection by its unique identifier + (collection_id). + parameters: + - in: path + name: collection_id + description: The unique identifier of the collection to delete + required: true + schema: + type: string + example: 3ea9a7c2-9538-46a0-899d-b2018c80113c + responses: + '204': + description: Collection deleted successfully + '404': + description: Collection not found + '500': + description: Internal Server Error + /question/questions: + post: + tags: + - Questions + summary: Create a New Question + description: > + This endpoint allows you to create a new question. The answer to the + question can be set in the answer field, or added as a reply to the + `question/replies` endpoint. + requestBody: + required: true + content: + application/json: + schema: + type: object + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + properties: + assigned_to: + type: string + description: Represents to whom the question is assigned to. + example: 33733f42-8ff7-460b-9e20-50a2133d3bb0 + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/QuestionResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Questions + summary: List Questions + description: | + This endpoint allows you to retrieve a list of questions. + responses: + '200': + description: List of questions. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/QuestionResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /question/questions/{question_id}: + get: + tags: + - Questions + summary: Get Question by ID + description: > + This endpoint allows you to retrieve a question by its unique identifier + (question_id). + parameters: + - in: path + name: question_id + description: The unique identifier of the question + required: true + schema: + type: string + example: 7795133a-6e36-4ef2-b95a-664babb99b71 + responses: + '200': + description: Question retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/QuestionResponse' + '404': + description: Question not found + '500': + description: Internal Server Error + patch: + tags: + - Questions + summary: Edit Question by ID + description: > + This endpoint allows you to edit the metadata of a question by its + unique identifier (question_id). + parameters: + - in: path + name: question_id + description: The unique identifier of the question to edit + required: true + schema: + type: string + example: 7795133a-6e36-4ef2-b95a-664babb99b71 + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: Definition updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/QuestionResponse' + '400': + description: Bad Request + '404': + description: Question not found + '500': + description: Internal Server Error + delete: + tags: + - Questions + summary: Delete Question by ID + description: > + This endpoint allows you to delete a question by its unique identifier + (question_id). + parameters: + - in: path + name: question_id + description: The unique identifier of the question to delete + required: true + schema: + type: string + example: 4272310f-0129-4982-8849-4b20edd3f2d5 + responses: + '204': + description: Question deleted successfully + '404': + description: Question not found + '500': + description: Internal Server Error + /question/replies: + post: + summary: Create a New Question Reply + description: > + This endpoint allows you to create a new reply to a specified question + (indicated by the parent_id). + tags: + - Questions + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + definition: + type: string + description: The answer of the reply + example: Replying to the question + accepted_answer: + type: boolean + description: >- + Indicates if the answer is accepted or not. Values can be - +
  • True
  • False
+ example: false + parent: + type: string + description: The unique identifier of the parent question + example: 7795133a-6e36-4ef2-b95a-664babb99b71 + owners: + type: array + items: + type: string + description: Defines the UUIDs that are the owners of the replies. + example: 33733f42-8ff7-460b-9e20-50a2133d3bb0 + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/ReplyResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + summary: List Question Replies + description: > + This endpoint allows you to retrieve a list of replies. You can + optionally filter the replies by question_id using the "question_id" + query parameter. + tags: + - Questions + parameters: + - in: query + name: question_id + description: Filter replies by question_id (optional) + schema: + type: string + example: 7795133a-6e36-4ef2-b95a-664babb99b71 + responses: + '200': + description: List of replies. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/ReplyResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /question/replies/{reply_id}: + get: + summary: Get Question Reply by ID + description: > + This endpoint allows you to retrieve a reply by its unique identifier + (reply_id). + tags: + - Questions + parameters: + - in: path + name: reply_id + description: The unique identifier of the reply + required: true + schema: + type: string + example: 47f9d5ab-4ae1-4eea-a8b8-6d3847829b3f + responses: + '200': + description: Reply retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/ReplyResponse' + '404': + description: Reply not found + '500': + description: Internal Server Error + patch: + summary: Edit Question Reply by ID + description: > + This endpoint allows you to edit the content of a reply by its unique + identifier (reply_id). You can also use this endoint to set this reply + as the accepted answer. + tags: + - Questions + parameters: + - in: path + name: reply_id + description: The unique identifier of the reply to edit + required: true + schema: + type: string + example: 47f9d5ab-4ae1-4eea-a8b8-6d3847829b3f + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + definition: + type: string + description: The updated definition for the reply + example: Changing the answer. + accepted_answer: + type: boolean + description: >- + Indicates if the answer is accepted or not. Values can be - +
  • True
  • False
+ example: false + responses: + '200': + description: Definition updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/ReplyResponse' + '400': + description: Bad Request + '404': + description: Reply not found + '500': + description: Internal Server Error + delete: + summary: Delete Question Reply by ID + description: > + This endpoint allows you to delete a reply by its unique identifier + (reply_id). + tags: + - Questions + parameters: + - in: path + name: reply_id + description: The unique identifier of the reply to delete + required: true + schema: + type: string + example: 47f9d5ab-4ae1-4eea-a8b8-6d3847829b3f + responses: + '204': + description: Reply deleted successfully + '404': + description: Reply not found + '500': + description: Internal Server Error + /document: + post: + summary: Create a New Document + description: > + This endpoint allows you to create a new document with the specified + data. The document content is pulled from the `definition` parameter. + tags: + - Documents + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + icon: + type: string + description: The icon of the document + example: 🗂 + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/DocumentResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + summary: List Documents + description: > + This endpoint allows you to retrieve a list of documents. You can + optionally filter the documents by title using the "title" query + parameter. + tags: + - Documents + parameters: + - in: query + name: title + description: Filter documents by title (optional) + schema: + type: string + example: Sample Document + responses: + '200': + description: List of documents. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/DocumentResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /document/{document_id}: + get: + summary: Get Document by ID + description: > + This endpoint allows you to retrieve a document by its unique identifier + (document_id). + tags: + - Documents + parameters: + - in: path + name: document_id + description: The unique identifier of the document + required: true + schema: + type: string + example: 1f5c76c3-e7a3-406f-b51e-7ba220244f1b + responses: + '200': + description: Document retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/DocumentResponse' + '404': + description: Document not found + '500': + description: Internal Server Error + patch: + summary: Edit Document by ID + description: > + This endpoint allows you to edit the definition of a document by its + unique identifier (document_id). The definition of the document maps to + the visible content of the document itself. + tags: + - Documents + parameters: + - in: path + name: document_id + description: The unique identifier of the document to edit + required: true + schema: + type: string + example: 1f5c76c3-e7a3-406f-b51e-7ba220244f1b + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: Definition updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/DocumentResponse' + '400': + description: Bad Request + '404': + description: Document not found + '500': + description: Internal Server Error + delete: + summary: Delete Document by ID + description: > + This endpoint allows you to delete a document by its unique identifier + (document_id). + tags: + - Documents + parameters: + - in: path + name: document_id + description: The unique identifier of the document to delete + required: true + schema: + type: string + example: 1f5c76c3-e7a3-406f-b51e-7ba220244f1b + responses: + '204': + description: Document deleted successfully + '404': + description: Document not found + '500': + description: Internal Server Error + /query/queries: + get: + summary: List Queries + description: > + This endpoint allows you to retrieve a list of all queries in the + workspace. No filtering is available at this time. + tags: + - Queries + responses: + '200': + description: List of queries. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/QueryResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /query/queries/{query_id}: + get: + summary: Get Query by ID + description: > + This endpoint allows you to retrieve a query by its unique identifier + (query_id). + tags: + - Queries + parameters: + - in: path + name: query_id + description: The unique identifier of the query + required: true + schema: + type: string + example: 871fc00d-828b-4348-9353-c635313ee459 + responses: + '200': + description: Query retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/QueryResponse' + '404': + description: Query not found + '500': + description: Internal Server Error + /monitors/monitors: + get: + summary: List Monitors + description: > + This endpoint allows you to retrieve a list of all the monitors in your + workspace. + tags: + - Monitors + responses: + '200': + description: List of Monitors. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/MonitorResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /monitors/monitors/{monitor_id}: + get: + summary: Get Monitor by ID + description: > + This endpoint allows you to retrieve a monitors by it's ID. You can find + the ID in the URL of the monitor when accessing it from the Secoda UI. + tags: + - Monitors + parameters: + - in: path + name: monitor_id + description: The unique identifier of the monitor + required: true + schema: + type: string + example: 871fc00d-828b-4348-9353-c635313ee459 + responses: + '200': + description: Monitor retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/MonitorResponse' + '404': + description: Monitor not found + '500': + description: Internal Server Error + /monitors/incidents: + get: + summary: List Incidents + description: > + This endpoint allows you to retrieve a list of all the incidents in your + workspace. + tags: + - Monitors + responses: + '200': + description: List of Incidents. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/IncidentResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /monitors/incident/{incident_id}: + get: + summary: Get Incident by ID + description: | + This endpoint allows you to retrieve an incident by it's ID. + tags: + - Monitors + parameters: + - in: path + name: incident_id + description: The unique identifier of the incident + required: true + schema: + type: string + example: 871fc00d-828b-4348-9353-c635313ee459 + responses: + '200': + description: Monitor retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentResponse' + '404': + description: Incident not found + '500': + description: Internal Server Error + /monitors/measurements: + get: + summary: List Measurements + description: > + This endpoint allows you to retrieve a list of all the measurements in + your workspace filtered by a Monitor or Incident. A query param of + either the Monitor ID or Incident ID is required. + + + If using monitoring in automatic mode, thresholds will take some time to + populate as the system learnins the appropriate range for your data. + tags: + - Monitors + parameters: + - in: query + name: monitor + description: The unique identifier of the monitor + schema: + type: string + example: 871fc00d-828b-4348-9353-c635313ee459 + - in: query + name: incident_id + description: The unique identifier of the incident + schema: + type: string + example: 40b3e4d3-3bf8-4ec4-ae87-56d1e738ca76 + responses: + '200': + description: List of Measurements. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/MeasurementResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /event/category: + post: + summary: Create a New Event Category + description: >- + Use this endpoint to create a new event category. This will be the + parent of events. The category must be associated to an integration. + tags: + - Event Categories + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + title: + type: string + description: The name of the category. + example: Landing Page + integration: + type: string + description: The UUID of the associated integration. + teams: + type: array + description: The teams the category belongs to. + example: + - e8ac09ede51e4e618eaf59942c98c260 + responses: + '201': + description: Event category created + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + summary: List Event Categories + description: >- + List all the event categories in the workspace. Optional filter by + title. + tags: + - Event Categories + parameters: + - in: query + name: title + schema: + type: string + description: Filter event categories by title + example: Landing Page + responses: + '200': + description: List of event categories. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/BaseResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /event/category/{event_category_id}: + get: + summary: Get Event Category by Id + description: Retrieve the information of a specific event category. + tags: + - Event Categories + parameters: + - name: event_category_id + required: true + in: path + schema: + type: string + description: ID of the event category to retrieve + example: 43d7c33dad744dfbbfadc172f6701afb + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + /event/events: + post: + tags: + - Events + summary: Create a new Event + description: >- + Create a new event with the provided data. Events must have a Category + as a parent, and be associated with an integration. + requestBody: + required: true + content: + application/json: + schema: + type: object + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Event created + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Events + summary: List Events + description: >- + Retrieve a list of events with optional filtering using the + integration_id, parent_id (the event category), and title. + parameters: + - name: integration_id + in: query + schema: + type: string + example: cf103b4785764467ad34384cd523abd9 + description: Filter by integration ID + - name: parent_id + in: query + schema: + type: string + example: 43d7c33dad744dfbbfadc172f6701afb + description: Filter by parent ID + - name: title + in: query + schema: + type: string + description: Filter by title + example: Clicked + responses: + '200': + description: List of events. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/BaseResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /event/events/{event_id}: + get: + tags: + - Events + summary: Get Event by ID + description: Retrieve a specific event by its ID. + parameters: + - name: event_id + in: path + required: true + schema: + type: string + description: The ID of the event to retrieve. + example: 226dc8aafa8d46468b116652cdc64065 + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + patch: + tags: + - Events + summary: Update an Event by ID + description: Use this endpoint to partially update event metadata. + parameters: + - name: event_id + in: path + required: true + schema: + type: string + description: The ID of the event to update. + example: 226dc8aafa8d46468b116652cdc64065 + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + delete: + tags: + - Events + summary: Delete Event by ID + description: Delete a specific event by it's ID. + parameters: + - name: event_id + in: path + required: true + schema: + type: string + description: The ID of the event to delete. + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + /event/event_properties: + post: + tags: + - Event Properties + summary: Create a new Event Property + description: >- + Create a new event property with the provided data. Event properties + must have an Event as a parent, and be associated with an integration. + requestBody: + required: true + content: + application/json: + schema: + type: object + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + properties: + type: + type: string + description: >- + The type of property associated with the event. Examples + include string, enum, integer, etc. + example: enum + enum: + type: string + description: >- + If the property type is enum, this field indicates the + various enum values. + example: red, green, yellow + is_required: + type: boolean + description: Set this to true if the property is required. + responses: + '200': + description: Event property created. + content: + application/json: + schema: + $ref: '#/components/schemas/EventPropertyResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + get: + tags: + - Event Properties + summary: List Event Properties + description: >- + Retrieve a list of events with optional filtering using the + integration_id, parent_id (the event), and title. + parameters: + - name: integration_id + in: query + schema: + type: string + example: cf103b4785764467ad34384cd523abd9 + description: Filter by integration ID + - name: parent_id + in: query + schema: + type: string + example: 43d7c33dad744dfbbfadc172f6701afb + description: Filter by parent ID + - name: title + in: query + schema: + type: string + description: Filter by title + example: 'true' + responses: + '200': + description: List of event properties. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/EventPropertyResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /event/event_properties/{event_property_id}: + get: + tags: + - Event Properties + summary: Get Event Property by ID + description: Retrieve a specific event property by its ID. + parameters: + - name: event_property_id + in: path + required: true + schema: + type: string + description: The ID of the event property to retrieve. + example: 226dc8aafa8d46468b116652cdc64065 + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/EventPropertyResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + patch: + tags: + - Event Properties + summary: Update an Event Property by ID + description: Use this endpoint to partially update event metadata. + parameters: + - name: event_property_id + in: path + required: true + schema: + type: string + description: The ID of the event property to update. + example: 226dc8aafa8d46468b116652cdc64065 + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/EventPropertyResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + delete: + tags: + - Event Properties + summary: Delete Event Property by ID + description: Delete a specific event property by it's ID. + parameters: + - name: event_property_id + in: path + required: true + schema: + type: string + description: The ID of the event property to delete. + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/EventPropertyResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + components: + securitySchemes: + ApiKeyAuth: + type: http + scheme: bearer + bearerFormat: string + schemas: + UserGroupResponse: + type: object + properties: + id: + type: string + example: f3bdd4f8-d6ea-4f9b-8384-e179fa8eb3da + description: The ID of the group. + created_at: + type: string + example: '2023-05-10T14:27:23.797657Z' + description: The creation timestamp of the group. + updated_at: + type: string + example: '2023-10-20T13:53:06.088248Z' + description: The last update timestamp of the group. + users: + type: array + items: + type: string + example: + - 33733f42-8ff7-460b-9e20-50a2133d3bb0 + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + description: List of user IDs of the members in the group. + name: + type: string + example: Data Stewards + description: The name of the group. + icon: + type: string + example: 🧪 + description: The icon associated with the group. + description: + type: string + example: >- + Group of users that are responsible for keeping documentation + updated. + description: The description of the group. + workspace_id: + type: string + example: f71585fa-251c-4102-8d81-c97c57c8d435 + description: The ID of the workspace associated with the grop. + snowflake_role: + description: This field can be ignored. + MonitorResponse: + type: object + properties: + id: + type: string + example: 886337a0-f298-4259-84dc-710879c826de + description: The unique identifier of the monitor. + created_at: + type: string + example: '2023-10-12T14:59:58.781935Z' + description: The timestamp when the monitor was created. + updated_at: + type: string + example: '2023-10-12T15:06:19.251573Z' + description: The timestamp when the data was last updated. + integration: + type: string + example: 337c5803-b484-4128-a24d-dcc55dee2ea2 + description: The identifier of the integration associated with the resource. + target: + type: string + example: 11db7782-4030-4acf-93e4-85aff3b860a1 + description: The identifier of the resource that the monitor is watching. + workspace: + type: string + example: e051db43-cda6-42dc-8a69-12d1aefc3a91 + description: The identifier of the workspace. + metric_type: + type: string + enum: + - row_count + - cardinality + - mean + - max + - min + - unique_percentage + - null_percentage + - freshness + - custom_sql + example: null_percentage + description: The type of metric. + metric_config: + type: string + description: Configuration for the metric. + frequency: + type: integer + example: 24 + description: The frequency with which this monitor is run. + name: + type: string + example: Null percentage in amount + description: >- + The full name of the monitor, includes the metric type and target + resource. + is_enabled: + type: boolean + example: true + description: Whether the monitor is enabled. + last_attempted_at: + type: string + example: '2023-10-12T15:03:40.693728Z' + description: The timestamp of the last attempted monitor. + last_success_at: + type: string + format: date-time + description: >- + The timestamp of the last check on Secoda's access and ability to + read the data source on which this monitor is set. This is + connctivity check - not a data quality check. + example: '2023-09-29T17:46:22.552345Z' + last_error_at: + type: string + example: null + description: The timestamp of the last error, if any. + last_error_message: + type: string + example: '' + description: The message associated with the last error, if any. + condition_auto_sensitivity: + type: integer + example: 5 + description: The automatic sensitivity condition. + condition_manual_min: + type: integer + example: null + description: The manual minimum condition if set by the user. + condition_manual_max: + type: integer + example: null + description: The manual maximum condition if set by the user. + status: + type: string + enum: + - normal + - incident + - error + - learning + - inactive + description: The status of the monitor. + example: incident + display_metadata: + type: object + description: >- + This is an internally used object that provides additional + information about the incident. This can be ignored by customers. + properties: + target: + type: object + properties: + icon: + type: string + example: null + description: Icon associated with the target resource, if one exists. + label: + type: string + example: amount + description: Title of the target resource. + entity_type: + type: string + example: column + description: The type of the target resource (e.g., column). + integration: + type: string + example: 337c5803-b484-4128-a24d-dcc55dee2ea2 + description: >- + The UUID of the integration from which the target resource + is extracted. + integration_type: + type: string + example: redshift + description: The type of integration. + last_measurement_value: + type: number + description: The last measured value if one is available. + example: 1234.56 + last_incident: + type: string + description: >- + The UUID of the last active incident. If there are no active + incidents (if the last incident has been closed), the field is set + to null. + example: 102ac399-6e3a-42dd-a710-dbbb6b2addbe + last_measurement: + type: string + example: 5d6ad413-5f74-41d6-b2f5-870b6f04de5c + description: The identifier of the last measurement. + next_run_at: + type: string + example: '2023-10-13T15:03:40.693728Z' + description: >- + The timestamp for the next run. Note, the run may occur shortly + after the time set, but never before. + IncidentResponse: + type: object + properties: + acknowledged_at: + type: string + format: date-time + description: >- + The time that the incident was acknowledged at. This will be null if + an incident hasn't been acknowledged yet. + example: '2023-11-10T19:20:44.975657Z' + actions: + type: array + description: A list of actions associated with the incident. + example: + - type: notification_initial + user_id: e1250ab7-c4dc-4b9c-8963-105fa73d4ba5 + user_name: John Doe + items: + type: object + properties: + type: + type: string + enum: + - notification_initial + - notification_reminder + - notification_resolved + - acknowledged + - resolved + user_id: + type: string + user_name: + type: string + created_at: + type: string + format: date-time + description: When the incident was created. + example: '2023-10-10T19:20:44.975657Z' + display_metadata: + type: object + description: >- + This is an internally used object that provides additional + information about the incident. This can be ignored by customers. + properties: + monitor: + type: object + properties: + label: + type: string + example: Unique percentage on extraction_completed_at + target: + type: object + properties: + entity_type: + type: string + description: The type of resource the incident is associated with. + example: column + icon: + type: string + integration: + type: string + description: The UUID of the integration associated with the resource. + example: 0c6f8b1a-0c8f-4fdf-b95d-57da8f80ef82 + integration_type: + type: string + description: >- + The type of the integration that the resource is extracted + from. + example: snowflake + label: + type: string + first_seen_at: + type: string + format: date-time + description: The first time this incident was observed. + example: '2023-10-10T19:20:44.973632Z' + id: + type: string + description: The UUID of the incident. + example: 6ac1bff0-b85f-47e8-84fb-8dca29614785 + last_notified_at: + type: string + format: date-time + description: The time of the last notification sent about this incident. + example: '2023-10-10T19:20:45.047056Z' + last_seen_at: + type: string + format: date-time + description: The most recent occurence about this incident. + example: '2023-10-10T19:20:45.047056Z' + monitor: + type: string + description: The UUID of the associated monitor. + example: b45bc798-763d-4ca5-863a-c12a882967c9 + name: + type: string + description: >- + The name of the incident, which indicates the type of metric set for + the monitor. + example: Unique percentage incident + resolved_at: + type: string + format: date-time + description: >- + The time that the incident was resolved. Will be null if the + incident has not yet been resolved. + status: + type: string + enum: + - acknowledged + - expired + - resolved + - active + description: The status of the incident. + example: active + summary: + type: string + example: Unique percentage incident + description: An automatically generated short summary of the incident. + target: + type: string + description: The UUID of the target resource being monitored for anomolies. + example: c332407c-cfa4-47c9-8d83-31df72b30c20 + updated_at: + type: string + format: date-time + description: The last updated time for the incident. + example: '2023-10-10T19:20:45.047238Z' + value: + type: number + description: The value of the measurement at the time of incident creation. + example: 86.4081806 + MeasurementResponse: + type: object + properties: + id: + type: string + description: The UUID of the measurement. + example: 6ac1bff0-b85f-47e8-84fb-8dca29614785 + created_at: + type: string + format: date-time + description: Timestamp of when the measurement was created. + example: '2023-10-03T04:46:24.290765Z' + updated_at: + type: string + format: date-time + description: Timestamp of the when the measurement was updated. + example: '2023-10-03T04:46:24.290765Z' + incident: + type: string + nullable: true + description: >- + The UUID of the associated incident, if it exists. Otherwise, this + is set to null. + example: 102ac399-6e3a-42dd-a710-dbbb6b2addbe + incident_metadata: + type: string + description: Additional information about the incident. + monitor: + type: string + description: The UUID of the associated monitor. + example: 102ac399-6e3a-42dd-a710-dbbb6b2addbe + upper_threshold: + type: number + description: > + The upper threshold of the measurement. A value crossing this + threshold will trigger an incident. The threshold will be set to + null when one is not configured, or the monitor is still learning + the thresholds. + example: 90.64496791804484 + lower_threshold: + type: number + description: > + The lower threshold of the measurement. A value crossing this + threshold will trigger an incident. The threshold will be set to + null when one is not configured, or the monitor is still learning + the thresholds. + example: 87.83219024929676 + value: + type: number + description: The exact value at the time of measurement. + example: 90.81823317519981 + TermResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + parent_id: + type: string + description: Indicates the UUID of the parent of terms. + example: None + base_entity_id: + type: string + description: >- + Indicates the UUID of the highest level ancestor of the + document. + example: 1f5c76c3-e7a3-406f-b51e-7ba220244f1b + sql: + type: string + description: Represents the sql query associated with the term. + example: select * from sample_table + last_run: + type: string + format: date-time + description: >- + Indicates the last time the query was ran in UTC format. This + could be the same as the scheduled last run. If this value is + different, it indicates the the last extraction was triggered + manually. + example: '2023-08-16T23:12:53.245493Z' + scheduled_delta: + type: string + description: Represents the time difference between last run and next run. + example: 4 + scheduled_next_run: + type: string + format: date-time + description: Indicates the next time the query will be run in UTC format. + example: '2023-08-20T23:12:53.245493Z' + scheduled_last_run: + type: string + description: >- + Indicates the scheduled last run time of the extraction in UTC + format. + example: '2023-08-20T14:12:53.245493Z' + results: + type: array + description: Specifies the results of the query of the terms. + chart_config: + type: object + description: Defines chart configuration for the query of the term. + properties: + grid: + type: object + description: controls the visibility of gridlines on a chart. + properties: + top: + type: integer + example: 32 + left: + type: string + example: 10% + show: + type: boolean + example: false + right: + type: integer + example: 32 + bottom: + type: string + example: 10% + color: + type: array + items: + type: string + description: Defines the different colors of the terms. + example: '#198B9A' + title: + type: object + properties: + text: + type: string + description: Defines the details of the title + example: Chart title + xAxis: + type: object + description: Customizes and control xAxis parameters of charts. + properties: + name: + type: string + type: + type: string + example: category + nameGap: + type: integer + example: 32 + axisLabel: + type: object + description: Customize and control the labels on the axes of a chart. + properties: + interval: + type: integer + nameLocation: + type: string + example: middle + yAxis: + type: object + description: Customizes and control yAxis parameters of charts. + example: null + properties: + name: + type: string + example: null + type: + type: string + example: category + nameGap: + type: integer + example: 32 + nameLocation: + type: string + example: middle + nameTextStyle: + type: object + description: >- + Represents a set of settings and attributes that control + the visual appearance and styling of text + properties: + padding: + type: array + items: + type: integer + example: '-30, 0, 0, 0' + legend: + type: object + description: >- + Indicates the legend associated with the chart if a chart + was generated. + series: + type: array + items: + type: object + description: >- + Represents the series associated with the chart if a chart + was generated. + properties: + type: + type: string + example: line + encode: + type: object + properties: + x: + type: integer + example: 0 + 'y': + type: integer + example: 1 + smooth: + type: boolean + example: false + dataset: + type: array + items: + type: object + properties: + source: + type: string + description: >- + Refers to data source that serves as the basis for + creating a chart. + toolbox: + type: object + properties: + show: + type: boolean + example: true + feature: + type: object + properties: + dataZoom: + type: object + properties: + show: + type: boolean + example: true + saveAsImage: + type: object + properties: + show: + type: boolean + example: true + tooltip: + type: object + properties: + show: + type: boolean + example: false + CollectionResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + pinned: + type: boolean + description: Refers to whether the resource has been pinned by user. + example: false + resource_count: + type: integer + description: Indicates how many resources are part of the collection. + example: 0 + QuestionResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + status: + type: string + description: >- + Indicates the status of the question. Values can be -
  • + Answered
  • Unanswered
+ example: UNANSWERED + priority: + type: string + description: Indicates the priority of the question or request. + example: High + reactions: + type: array + items: + type: string + description: Represents the emoji reactions to a question. + example: + - 👍 + answer: + type: string + description: Represents the verified answer of the question. + example: This is the answer to the question. + assigned_to: + type: string + description: Represents the user whom the question is assigned to. + example: 33733f42-8ff7-460b-9e20-50a2133d3bb0 + votes_sum: + type: integer + description: Indicates the amount of votes for the quesion. + example: 5 + current_user_vote: + type: integer + description: Represents the vote number of the current user. + example: 4 + ReplyResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + reactions: + type: array + items: + type: string + description: Represents the emoji reactions to a question. + example: + - 👍 + accepted_answer: + type: boolean + description: >- + Indicates if the answer is accepted or not. Values can be -
    +
  • True
  • False
+ example: false + DocumentResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + parent_id: + type: string + description: >- + Indicates the UUID of the parent of the document, which is + always another document. + example: 1f5c76c3-e7a3-406f-b51e-7ba220244f1b + base_entity_id: + type: string + description: >- + Indicates the UUID of the highest level ancestor of the + document. + example: 1f5c76c3-e7a3-406f-b51e-7ba220244f1b + QueryResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + type: + type: string + description: Indicates the type of query. Currently this is returned as None. + example: None + freq: + type: integer + description: >- + Represents the frequency with which the query is running. + Currently this will be returned as 0. + example: 0 + LineageResponse: + type: object + properties: + id: + type: string + description: The unique identifier of the resource. + example: d935a76c-2125-4c30-9389-ef42fa7e23bb + created_at: + type: string + format: date-time + description: The timestamp when the resource was created in Secoda in UTC format. + example: '2023-08-16T23:12:53.245493Z' + updated_at: + type: string + format: date-time + description: >- + The timestamp when the resource was last updated in Secoda in UTC + format. + example: '2023-08-16T23:12:53.245507Z' + from_entity: + type: string + description: Indicates the source resource of the lineage. + example: 7879886b-9e0e-4d02-8b37-c7d3c496a587 + to_entity: + type: string + description: Indicates the destination resource of the lineage. + example: b500ef23-c9b4-4259-a87d-d77b8b588f06 + direction: + type: string + description: >- + Represents the flow of data between the source and destination. + Values can be -
  • Upstream
  • Downstream
+ enum: + - UPSTREAM + - DOWNSTREAM + example: DOWNSTREAM + is_manual: + type: boolean + description: >- + Represents if data lineage is manually created or not. Values can be + -
  • True
  • False
+ example: true + TagsResponse: + type: object + properties: + id: + type: string + description: The unique identifier of the resource. + example: 69e0b863-8bb8-47e1-b566-8b8d57441c70 + created_at: + type: string + format: date-time + description: The timestamp when the resource was created in Secoda in UTC format. + example: '2023-09-05T17:32:56.571134Z' + updated_at: + type: string + format: date-time + description: >- + The timestamp when the resource was last updated in Secoda in UTC + format. + example: '2023-09-05T17:32:56.571151Z' + name: + type: string + description: Indicates the name of the tag. + example: Sample Tag + description: + type: string + description: Indicates the description of the tag. + example: This is a sample tag. + color: + type: string + description: Defines the different colors of the tags in HEX format. + example: '#4299E1' + integration_id: + type: string + description: >- + The unique identifier of the integration the tag is pulled from. + Null if the tag is created manually in Secoda. + example: 69e0b863-8bb8-47e1-b566-8b8d57441c70 + workspace_id: + type: string + description: Indiactes the workspace ID where the tag belongs. + example: f71585fa-251c-4102-8d81-c97c57c8d435 + TeamsResponse: + type: object + properties: + id: + type: string + description: Indicates the UUID of the team. + example: 3131f219-16bb-4c95-853a-894ae12db42a + created_at: + type: string + format: date-time + description: The timestamp when the team was created in Secoda in UTC format. + example: '2023-09-22T15:30:00Z' + updated_at: + type: string + format: date-time + description: The timestamp when the team was last updated in Secoda UTC format. + example: '2023-09-22T15:30:00Z' + name: + type: string + description: Indicates the name of the team. + example: Test Team + icon: + type: string + description: Indicates the icon of the team. + example: 😀 + type: + type: string + description: >- + Indicates the type of the team. If a team is Open, this means it is + Public and can be joined by anyone in the workspace. If a team is + Closed, the team is private and only admins can invite members into + the team. Values can be -
  • OPEN
  • CLOSED
+ example: OPEN + description: + type: string + description: Description of the team. + example: This is the best team in this workspace. + sidebar_settings: + type: object + description: >- + Use these settings to toggle which pages should be shown to team + members in the side bar. + properties: + home: + type: boolean + description: Whether to show the home page to team members. + example: true + catalog: + type: boolean + description: Whether to show the catalog page to team members. + example: true + documents: + type: boolean + description: Whether to show the documents page to team members. + example: true + questions: + type: boolean + description: Whether to show the questions page to team members. + example: true + dictionary: + type: boolean + description: Whether to show the dictionary page to team members. + example: true + collections: + type: boolean + description: Whether to show the collections page to team members. + example: true + workspace_id: + type: string + description: Indicates the workspace ID of the user. + example: f71585fa-251c-4102-8d81-c97c57c8d435 + archived: + type: boolean + description: Indicates if the team has been deleted. + example: false + is_default_team: + type: boolean + description: >- + Indicates if the team is the default team. Any resource without a + specified team will automatically get added to this team. + example: true + onboarding_complete: + type: boolean + description: This field will be deprecated. + example: true + UsersResponse: + type: object + properties: + id: + type: string + description: Indicates the UUID of the user. + example: 3131f219-16bb-4c95-853a-894ae12db42a + first_name: + type: string + description: Indicates the first name of the user. + example: Sample + last_name: + type: string + description: Indicates the last name of the user. + example: User + email: + type: string + description: Indicates the email id of the user. + example: sample@sample.com + role: + type: string + description: >- + Indicates the role of the user. Values can be -
  • Admin
  • + Editor
  • Viewer
+ example: editor + _role: + type: string + description: >- + Indicates the role of the user. Is the same value as the `role` + parameter. Values can be -
  • Admin
  • Editor
  • Viewer +
+ example: editor + workspace_id: + type: string + description: Indicates the workspace ID of the user. + example: f71585fa-251c-4102-8d81-c97c57c8d435 + secoda_is_superuser: + type: boolean + description: >- + Represents if the user is super user or not. Values can be -
    +
  • True
  • False
+ example: false + profile_picture: + type: string + description: Indicates the file name of the profile picture for the user. + example: image.jpg + pending: + type: boolean + description: >- + Represents if the user has been invited to the space but not + accepted yet. Values can be -
  • "True"
  • "False"
+ example: 'False' + viewer_mode: + type: boolean + description: >- + Indicates if the user is in Preview mode. Values can be -
    +
  • True
  • False
+ example: false + user_groups: + type: array + description: A list of UUIDs of groups the user belongs to. + items: + type: string + example: + - f71585fa-251c-4102-8d81-c97c57c8d435 + bookmarks: + type: array + items: + type: string + description: Represents the resorces that the user has bookmarked. + example: + - f71585fa-251c-4102-8d81-c97c57c8d435 + workspace: + type: string + description: Indicates the workspace of the user. + example: f71585fa-251c-4102-8d81-c97c57c8d435 + is_service_account: + type: boolean + example: false + description: >- + Indicates if the user account is a service account or not. Values + can be -
  • True
  • False
+ service_account_count_popularity: + type: boolean + description: >- + Indicates if the account counts towards popularity calculations. + Values can be -
  • True
  • False
+ example: true + last_login: + type: string + format: date-time + description: >- + Indicates the last time account was logged in to Secoda in UTC + format. + example: None + new_feature_acknowledged: + type: boolean + description: >- + Indicates if the new feature has been acknowleged or not. Values can + be -
  • True
  • False
+ example: true + disabled: + type: boolean + description: >- + Represents if the account is disabled or not. Values can be -
    +
  • True
  • False
+ example: false + DashboardGroupResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + visible: + type: boolean + description: This is a deprecated field. + DashboardResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + group: + type: string + description: Indicates the name of the group. + example: Samples + product: + type: string + description: Indicates the name of the integration. + example: tableau + ChartResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + product: + type: string + description: Indicates the name of the integration. + example: tableau + ListResponse: + type: object + properties: + links: + type: object + description: Indicates Links to associated pages. + properties: + next: + type: string + description: The link to the next page (null if there are no more pages). + example: https://api.secoda.co/resource/all/?page=2 + previous: + type: string + description: The link to the previous page (null if on the first page). + example: None + meta: + type: object + description: Reprents the meta data of the response. + properties: + page: + type: integer + description: The current page number. + example: 1 + previous_page: + type: integer + description: The previous page number (null if on the first page). + example: None + next_page: + type: integer + description: The next page number (null if on the last page). + example: 2 + count: + type: integer + description: The total count of items returned. + example: 315 + total_pages: + type: integer + description: The total number of pages. + example: 7 + IntegrationResponse: + type: object + properties: + id: + type: string + description: The ID of the created integration. + example: 740904fe-e87d-44f8-8a91-b13631ff2812 + created_at: + type: string + format: date-time + description: >- + The timestamp when the integration was created in Secoda in UTC + format. + example: '2023-09-22T15:30:00Z' + updated_at: + type: string + format: date-time + description: >- + The timestamp when the integration was last updated in Secoda UTC + format. + example: '2023-09-22T15:30:00Z' + name: + type: string + description: The name of the integration. + example: Tableau + type: + type: string + description: The type of integration. + example: tableau + credentials: + type: object + description: >- + The actual credentials of the integration will NOT be returned. Can + you find the easter egg in this response parameter for native + integrations? + example: {} + workspace_id: + type: string + description: The ID of the associated workspace. + example: f71585fa-251c-4102-8d81-c97c57c8d435 + ssh_tunnel: + type: string + description: Information about SSH tunnel if one is set update. + example: None + execute_access: + type: array + items: + type: string + description: List of IDs that have the permission to trigger the extracton. + example: + - f71585fa-251c-4102-8d81-c97c57c8d435 + scheduled_extractions_hour: + type: integer + description: Hour for scheduled extractions. Will be null for custom extractions. + example: 3 + scheduled_extractions_frequency: + type: integer + description: >- + Frequency in days of scheduled extractions. Will be null for custom + extractions. + example: 7 + scheduled_extractions_next_run: + type: string + format: date-time + description: >- + Next scheduled extraction run time. Will be null for custom + extractions. + example: '2023-10-15T09:45:00Z' + scheduled_extractions_last_run: + type: string + description: Last scheduled extraction run time (null in this response). + example: '2023-10-15T09:45:00Z' + properties: + type: object + description: Additional properties associated with the integration. + preview_access_users: + type: array + items: + type: string + description: >- + List of users IDs with access to preview the data in the + integration. + example: + - f71585fa-251c-4102-8d81-c97c57c8d435 + preview_access_roles: + type: array + items: + type: string + description: >- + List of roles that are allowed to preview the data in the + integration.
  • Admin
  • Editor
  • Viewer
+ example: + - Admin + - Editor + preview_access_groups: + type: array + items: + type: string + description: >- + List of users group IDs with access to preview the data in the + integration. + example: + - f71585fa-251c-4102-8d81-c97c57c8d435 + teams: + type: array + items: + type: string + description: List of team IDs associated with the integration. + example: + - e8ac09ed-e51e-4e61-8eaf-59942c98c260 + ColumnResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + data_type: + type: string + description: Indicates the data type of the column. + example: integer + sort_order: + type: integer + description: >- + Indicates the order the column should be in amongst the other + columns + example: 3 + is_pk: + type: boolean + description: Whether the column is a primary key. + example: true + hidden: + type: boolean + description: This is a deprecated field. + table_cluster: + type: string + description: This is a deprecated field. + table_database: + type: string + description: Indicates the name of the database that the column belongs to. + example: aws-datacatalog + table_schema: + type: string + description: Indicates the name of the schema that the column belongs to. + example: secoda-glue + table_title: + type: string + description: Indicates the name of the table that the column belongs to. + example: customers + TableResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + database: + type: string + description: Indicates the name of the database that the table belongs to. + example: awsdatacatalog + schema: + type: string + description: Indicates the name of the schema that the table belongs to. + example: secoda-glue + cluster: + type: string + description: This is a deprecated field. + creation_query: + type: string + description: >- + If the table is a view, this indicates the query written to + generate the view. + example: select * from customers where country=='CAN' + CustomProperties: + type: object + properties: + name: + type: string + description: The name of the custom property. + example: Custom Property + type: + type: string + enum: + - string + - number + - multiselect + - checkbox + - user + - resource + - date + description: The type of the custom property. + example: string + order: + type: integer + description: The order of the custom property. + example: 1 + value: + type: string + description: The value of the custom property. + example: TestValue + BaseResponse: + type: object + properties: + id: + type: string + description: The unique identifier of the resource. + example: d935a76c-2125-4c30-9389-ef42fa7e23bb + created_at: + type: string + format: date-time + description: The timestamp when the resource was created in Secoda in UTC format. + example: '2023-08-16T23:12:53.245493Z' + updated_at: + type: string + format: date-time + description: >- + The timestamp when the resource was last updated in Secoda in UTC + format. + example: '2023-08-16T23:12:53.245507Z' + entity_type: + type: string + description: The type of resource in Secoda. + example: table + native_type: + type: string + description: >- + The native type of the resource as it is referred to in the + integration. + example: Dataset + bookmarked_by: + type: array + items: + type: string + description: List of member IDs that have bookmarked the resource. + example: + - d935a76c-2125-4c30-9389-ef42fa7e23bb + - 33733f42-8ff7-460b-9e20-50a2133d3bb0 + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + icon: + type: string + description: The icon associated with the resource. + example: icon-url.png + title: + type: string + description: The title of the resource. + example: Sample Table + title_full: + type: string + description: The full title of the resource. This is a generated field + example: Sample Database.Sample Schema.Sample Table + title_cased: + type: string + description: The title in a cased format. + example: sampleTable + description: + type: string + description: A description of the resource. + example: This is a description for a sample table. + definition: + type: string + format: markdown + description: The documentation of the resource, written in Mark Down format. + definition_version: + type: integer + description: The version of the resource's documentation. + example: 1 + multiplayers: + type: array + items: + type: string + description: >- + List of members who have opened or worked with the resource + recently. + example: + - 429693a2-a5e7-4525-b413-ece5e96bc5b3 + - f71585fa-251c-4102-8d81-c97c57c8d435 + multiplayer_last_modified_by: + type: string + description: The last member who modified this resource. + example: 429693a2-a5e7-4525-b413-ece5e96bc5b3 + multiplayer_last_modified: + type: string + format: date-time + description: The timestamp when the multiplayer was last modified in UTC format. + example: '2023-08-16T23:12:53.245507Z' + owners: + type: array + items: + type: string + description: List of owner IDs for the resource. + example: + - 429693a2-a5e7-4525-b413-ece5e96bc5b3 + - f71585fa-251c-4102-8d81-c97c57c8d435 + owners_groups: + type: array + items: + type: string + description: List of owner group IDs for the resource. + example: + - 3b2c7185-fb5d-4d94-89d4-3dae08e093a9 + collections: + type: array + items: + type: string + description: >- + List of IDs representing the collection(s) that the resource has + been added to. + example: + - e8ac09ed-e51e-4e61-8eaf-59942c98c260 + tags: + type: array + items: + type: string + description: List of tag IDs added to the resource. + example: + - f7466f09-33bf-4ac2-9ff2-165fb4b8bdc2 + - a17f4ed0-0e5a-45a9-92c0-6c93c0b8242c + workspace_id: + type: string + description: The ID of the workspace. + example: f71585fa-251c-4102-8d81-c97c57c8d435 + total_usage: + type: integer + description: The total usage count for the resource. + example: 483 + published: + type: boolean + description: Indicates if the resource is published and can be seen by Viewers. + example: false + archived: + type: boolean + description: Indicates if the resource is deleted. + example: false + pii: + type: boolean + description: >- + Indicates if the resource contains Personally Identifiable + Information (PII). Values can be -
  • True
  • False
+ example: true + verified: + type: boolean + description: >- + Indicates if the resource is verified. Values can be -
  • True +
  • False
+ example: false + url: + type: string + description: The URL associated with the resource. + example: https://example.com/sample-table + parent: + type: string + description: The parent resource's ID. + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + children_count: + type: integer + description: The count of children entities of the resource. + example: 2 + integration: + type: string + description: The integration ID associated with the resource. + example: ca529385-fbc9-4934-afae-e372affe795b + external_updated_at: + type: string + format: date-time + description: The timestamp of the last update for the resource in the source. + example: '2023-08-16T23:12:53.245507Z' + internal_usage: + type: integer + description: The internal usage count for the resource. + example: 3 + internal_users: + type: array + items: + type: string + description: List of internal user IDs for the resource. + example: + - 04654d61-4f64-4f08-b697-3915b5137c49 + external_users: + type: array + items: + type: string + description: >- + List of external user IDs for the resource extracted from the + integration. + example: + - 33733f42-8ff7-460b-9e20-50a2133d3bb0 + external_usage: + type: integer + description: >- + The external usage count for the resource extracted from the source + source. This is what is used to calculate Popularity of a resource. + example: 38 + databuilder_id: + type: string + description: >- + The databuilder ID associated with the resource. This is a generated + field. + example: b818280a-ae1a-43bf-90d3-dbccf812b025.x68605bd2 + search_metadata: + type: object + description: Metadata related to indexing the resource for optimizing search. + example: + cluster: glue + database: awsdatacatalog + schema: secoda-glue + type: table + sources: + type: array + items: + type: string + description: >- + List of other integrations associated with the resource. For + example, if a description is pulled in from DBT for a Snowflake + table, this field will reference DBT. + example: + - 8a3af948-026c-45d6-983d-3873f6156f86 + subscribers: + type: array + items: + type: string + description: List of User IDs who subscribe to the resource. + example: + - 33733f42-8ff7-460b-9e20-50a2133d3bb0 + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + teams: + type: array + items: + type: string + description: List of team IDs associated with the resource. + example: + - 8680f886-97d2-4f4e-92c8-c80b46a3017d + stale: + type: boolean + description: >- + Indicates if the resource is stale. This means this resource no + longer exists in the source, as of the last extraction. + example: false + current_user_permissions: + type: object + description: Permissions of the current user for this resource. + properties: + read: + type: boolean + example: true + write: + type: boolean + example: true + execute: + type: boolean + example: false + properties: + type: object + description: A list of custom properties associated with the resource. + properties: + custom: + type: array + items: + $ref: '#/components/schemas/CustomProperties' + BaseResourceRequest: + type: object + properties: + title: + type: string + description: The title of the resource. + example: Sample Title + integration: + type: string + description: The integration ID associated with the resource, if one exists. + example: ca529385-fbc9-4934-afae-e372affe795b + description: + type: string + description: A description of the resource. + example: This is a description for a sample table. + definition: + type: string + description: Mark down documentation to be added to the resource. + example: \n# Castae illa\n\n## Finemque aequore\n\nLorem markdownum motus + parent: + type: string + description: >- + The ID of the parent resource. Please keep the resource heirarchy in + mind when setting the parent. + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + pii: + type: boolean + description: >- + Indicates whether the resource contains personally identifiable + information (PII). Values can be -
  • True
  • False
+ example: false + verified: + type: boolean + description: >- + Indicates whether the resource has been set as verified. Values can + be -
  • True
  • False
+ example: true + published: + type: boolean + description: >- + Indicates if the resource is visible to viewers or not. Values can + be -
  • True
  • False
+ example: true + teams: + type: array + items: + type: string + description: A list of team IDs that the resource belongs to. + example: + - e8ac09ed-e51e-4e61-8eaf-59942c98c260 + - cca810f1-11c1-4117-bc23-20ae8020897f + owners: + type: array + items: + type: string + description: A list of owner user IDs for the resource. + example: + - 33733f42-8ff7-460b-9e20-50a2133d3bb0 + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + collections: + type: array + items: + type: string + description: A list of collection IDs the resource belongs to. + example: + - 3b2c7185-fb5d-4d94-89d4-3dae08e093a9 + tags: + type: array + items: + type: string + description: A list of tag IDs associated with the resources. + example: + - 04654d61-4f64-4f08-b697-3915b5137c49 + - 429693a2-a5e7-4525-b413-ece5e96bc5b3 + subscribers: + type: array + description: >- + A list of user IDs that have been subscribed to the resource. Anyone + subscribed will be notified of any changes. + items: + type: string + example: + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + properties: + type: object + description: A list of custom properties associated with the resource. + properties: + custom: + type: array + items: + $ref: '#/components/schemas/CustomProperties' + BasePatchRequest: + type: object + properties: + description: + type: string + description: A description of the resource. + example: This is a description for a sample table. + definition: + type: string + description: Mark down documentation to be added to the resource. + example: \n# Castae illa\n\n## Finemque aequore\n\nLorem markdownum motus + pii: + type: boolean + description: >- + Indicates whether the resource contains personally identifiable + information (PII). Values can be -
  • True
  • False
+ example: false + verified: + type: boolean + description: >- + Indicates whether the table has been set as verified. Values can be + -
  • True
  • False
+ example: true + published: + type: boolean + description: >- + Indicates if the resource is visible to viewers or not. Values can + be -
  • True
  • False
+ example: true + teams: + type: array + items: + type: string + description: A list of team IDs that the resource belongs to. + example: + - e8ac09ed-e51e-4e61-8eaf-59942c98c260 + - cca810f1-11c1-4117-bc23-20ae8020897f + owners: + type: array + items: + type: string + description: A list of owner user IDs for the resource. + example: + - 33733f42-8ff7-460b-9e20-50a2133d3bb0 + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + collections: + type: array + items: + type: string + description: A list of collection IDs the resource belongs to. + example: + - 3b2c7185-fb5d-4d94-89d4-3dae08e093a9 + tags: + type: array + items: + type: string + description: A list of tag IDs associated with the resources. + example: + - 04654d61-4f64-4f08-b697-3915b5137c49 + - 429693a2-a5e7-4525-b413-ece5e96bc5b3 + subscribers: + type: array + description: >- + A list of the added user IDs that have been subscribed to the + resource. Anyone subscribed will be notified of any changes. + items: + type: string + example: + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + properties: + type: object + description: A list of custom properties to add to the resource. + properties: + custom: + type: array + items: + $ref: '#/components/schemas/CustomProperties' + EventPropertyResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + type: + type: string + description: >- + The type of property associated with the event. Examples include + string, enum, integer, etc. + example: enum + enum: + type: string + description: >- + If the property type is enum, this field indicates the various + enum values. + example: red, green, yellow + is_required: + type: boolean + description: Set this to true if the property is required. +konfigCliVersion: 1.38.34 diff --git a/sdks/db/fixed-specs-cache/sellsy-fixed-spec.yaml b/sdks/db/fixed-specs-cache/sellsy-fixed-spec.yaml new file mode 100644 index 000000000..2257e67b0 --- /dev/null +++ b/sdks/db/fixed-specs-cache/sellsy-fixed-spec.yaml @@ -0,0 +1,38721 @@ +publishJson: + company: Sellsy + serviceName: false + sdkName: sellsy-{language}-sdk + clientName: Sellsy + metaDescription: >- + Sellsy is a CRM, invoicing and pre-accounting suite for optimized business + management and customer experience. A collaborative tool to give marketing, + sales and administrative teams the means to be effective! 🚀 + + + With 6,300 clients, Sellsy surrounds itself with almost 130 employees to + carry out its projects. Sellsy remains, above all, a French company created + by two entrepreneurs, Frédéric Coulais and Alain Mevellec, for + entrepreneurs. Since its creation in 2009, Sellsy has placed innovation at + the heart of its strategy, in order to offer companies simple, efficient and + secure digital solutions. + + + 👉 To learn more about Sellsy and its CRM suite, visit go.sellsy.com + apiStatusUrls: inherit + homepage: sellsy.com + developerDocumentation: api.sellsy.com/doc/v2/ + categories: + - crm + - invoicing +rawSpecString: | + openapi: 3.0.2 + info: + title: Sellsy API + version: 2.126.0 + description: >- + Find out the [Postman collections](dist/postman/CollectionsApiV2.json) with + the required [environment variables](dist/postman/Environment.json) + + + Find out the [Changelog](changelog.html) + + # Errors + + + The errors are returned in JSON with the following format: + + ``` + + { + "error": { + "code": HTTP_CODE, + "message": "Error message", + "context": "Error context code" + "details": { + "FIELD": "Error message" + } + } + + ``` + + + The `details` field can contain an object that details the error. It is used + in particular during validation to return the invalid fields + + + + | HTTP Code | Description | + + | ------------- | ------------- | + + | 400 | Validation and logic errors | + + | 401 | Authentification errors | + + | 402 | Quotas limit reached or limit of feature reached on your + current plan | + + | 403 | Insufficient privileges | + + | 404 | Page not found | + + | 409 | A request conflicts with the current state of the server | + + | 413 | Payload is too large | + + | 429 | Quotas of requests reached (See quotas section) | + + | 5xx | Server errors | + + + + # Versioning + + + This API is versioned, the modifications carried out on this one should not + generate regression if you respect the following recommendations: + + + - A new field can be added, your code must authorize this + + - A new error code can be added, your code must deal with unknown errors + + - On lists, values can be added + + - A missing field is not equal to `null` + + + To target a specific **major** version of the API, just precise the number + in the url: `{url}/v2/{endpoint}` + + + # Quotas + + + A limit on the number of requests per second, minute, day and/or month is + applied to each user account. + + + A 429 error will be sent if at least one of the quotas has reached zero. + + + You can know your remaining quota through the headers of the response: + + - `X-Quota-Remaining-By-Second` + + - `X-Quota-Remaining-By-Minute` + + - `X-Quota-Remaining-By-Day` + + - `X-Quota-Remaining-By-Month` + + + The quotas are counted on each request, even in the event of an error. On + the scripts generating a lot of requests, it is therefore necessary to check + these values before returning requests. + + + A new 402 error code has created. This error appears when you try to create + ressources like a pipeline or custom fields and the quota limit has been + reached. + + + # Pagination on list and search requests + + On list and search requests, the pagination offset can be typed as either an + int or a string, depending on the pagination method used. + + + We provide 2 ways to interact with the pagination. + + ### 1. "Seek" method + + The offset value represents the LAST object in the response list, it's the + default one used. + + + **We recommend to use the "seek" method, it has better performance and + includes optimizations.** + + ``` + + GET {{url}}/comments?limit=1 { + "data": [ + { + "id": 1 + } + ], + "pagination": { + "limit": 1, + "count": 1, + "total": 13, + "offset": "WyIxMSJd" + } + } + + --- + + GET {{url}}/comments?limit=1&offset=WyIxMSJd { + "data": [ + { + "id": 2 + } + ], + "pagination": { + "limit": 1, + "count": 1, + "total": 13, + "offset": "SoIxNyJd" + } + } + + ``` + + ### 2. Numeric offset method + + The second method, more classical, where the offset corresponds to the + number of the result page, it must be explicitly specified in the first + request. + + + **We have applied a limit to the first 100 000 results on this method, for + performance purposes.** + + ``` + + GET {{url}}/comments?limit=1&offset=0 { + "data": [ + { + "id": 1 + } + ], + "pagination": { + "limit": 1, + "count": 1, + "total": 13, + "offset": 0 + } + } + + --- + + GET {{url}}/comments?limit=1&offset=1 { + "data": [ + { + "id": 2 + } + ], + "pagination": { + "limit": 1, + "count": 1, + "total": 13, + "offset": 1 + } + } + + ``` + + # Embed objects + + Additional objects can be included in the result, and are specified on each + endpoint under the `embed` parameter. Those objects may require different + OAuth2 scopes than the main endpoint, and will automatically be `null` if + the scopes are not respected. Usually, the scopes are listed in the + description of the parameter. + contact: + email: api@sellsy.com + x-logo: + url: ./resources/sellsy.png + servers: + - url: https://api.sellsy.com/v2 + tags: + - name: API Management + description: Api management + - name: Accounting + description: Accounting management + - name: Activities + description: Activities management + - name: Batch + description: Batch requests + - name: CRM Activities + description: CRM Activity management + - name: Calendar + description: Calendar management + - name: Comments + description: Comments + - name: Companies + description: Client, prospect and supplier management + - name: Conformities + description: Invoicing conformities management + - name: Contacts + description: Contacts management + - name: Corporations + description: Corporations management + - name: Countries + description: Countries management + - name: Credit notes + description: Credit notes documents + - name: Currencies + description: Currency management + - name: Custom Activities + description: Custom Activities management + - name: Custom Fields + description: Custom Fields management + - name: Discount Including Taxes + description: Discount Including Taxes + - name: Document Layouts + description: Document layouts on the account + - name: Document Models + description: Document models management + - name: Documents + description: Invoices and credit notes on the account + - name: Electronic Signature + description: Electronic signature management + - name: Emails + description: Emails management + - name: Estimates + description: Estimates documents + - name: Files + description: Files endpoint + - name: Fiscal Year + description: Fiscal year endpoint + - name: Imports + description: Imports management + - name: Individuals + description: Individuals management + - name: Invoices + description: Invoices documents + - name: Items + description: Items management + - name: Language + description: Language management + - name: Listings + description: Listings management + - name: Marketing + description: Marketing management + - name: Masquerade + description: Masquerade management + - name: Notifications + description: Notifications management + - name: Objectives + description: Objectives management + - name: Onboarding + description: Onboarding Management + - name: Opportunities + description: Opportunity Management + - name: Orders + description: Orders managemenm + - name: Payments + description: Payments management + - name: PhoneCalls + description: PhoneCalls management + - name: Purchase (OCR) + description: Ocr management + - name: Quotas + description: Quotas management + - name: Rate Categories + description: Rate categories management + - name: Search Documents + description: Search documents + - name: Smart Tags + description: Smart-tags management + - name: Staffs + description: Staffs management + - name: Tasks + description: Tasks management + - name: Taxes + description: Taxes management + - name: Two Factor Authentication + description: Two factor authentication management + - name: Units + description: Units management + - name: Webhooks + description: Webhooks + x-tagGroups: + - name: Core + tags: + - Batch + - API Management + - Webhooks + - Listings + - Activities + - Custom Activities + - null + - null + - Files + - null + - null + - null + - name: Prospection + tags: + - Companies + - Contacts + - Individuals + - Opportunities + - Calendar + - Emails + - Comments + - Tasks + - PhoneCalls + - CRM Activities + - Estimates + - null + - name: Catalog + tags: + - Discount Including Taxes + - Items + - Units + - Taxes + - Rate Categories + - name: Invoicing + tags: + - null + - Document Models + - Invoices + - Credit Notes + - Orders + - Accounting + - Payments + - Subscriptions + - Purchase (OCR) + - name: Account + tags: + - Currencies + - Custom Fields + - Countries + - Smart Tags + - Document Layouts + - Documents + - Staffs + - Subscription + - Quotas + - Conformities + - Notifications + - null + - Fiscal Year + - Language + - null + paths: + /comments: + get: + summary: Comments List + tags: + - Comments + description: Get a list of comments + operationId: get-comments + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/commentItemEmbed' + - $ref: '#/components/parameters/commentOrder' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CommentItem' + required: + - pagination + - data + security: + - oauth2: + - comments.read + post: + summary: Create a comment + tags: + - Comments + description: Create a comment + operationId: create-comment + parameters: + - $ref: '#/components/parameters/commentItemEmbed' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/verify' + responses: + '201': + description: Comment created + content: + application/json: + schema: + $ref: '#/components/schemas/CommentItem' + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CommentCreateItem' + security: + - oauth2: + - comments.write + /comments/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Comment id + get: + summary: Get comment details + parameters: + - $ref: '#/components/parameters/commentItemEmbed' + - $ref: '#/components/parameters/fields' + tags: + - Comments + responses: + '200': + description: Comment fetched + content: + application/json: + schema: + $ref: '#/components/schemas/CommentItem' + operationId: get-comment + description: Fetch comment details + security: + - oauth2: + - comments.read + put: + summary: Update a comment + tags: + - Comments + description: Udate a comment + operationId: update-comment + parameters: + - $ref: '#/components/parameters/commentItemEmbed' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/verify' + responses: + '200': + description: Comment updated + content: + application/json: + schema: + $ref: '#/components/schemas/CommentItem' + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CommentUpdateItem' + security: + - oauth2: + - comments.write + delete: + summary: Delete a comment + tags: + - Comments + operationId: delete-comment + responses: + '204': + description: Comment deleted + description: Remove a comment + security: + - oauth2: + - comments.write + /comments/search: + post: + summary: Search comments + tags: + - Comments + description: Search through comments + operationId: search-comments + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/commentItemEmbed' + - $ref: '#/components/parameters/commentOrder' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CommentFilters' + responses: + '200': + description: Comments list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CommentItem' + required: + - pagination + - data + security: + - oauth2: + - comments.read + /companies: + post: + summary: Create a company + tags: + - Companies + operationId: create-company + parameters: + - in: query + name: embed + description: > + Example : `embed[]=invoicing_contact&embed[]=cf.1542&embed[]=acl` +
Additional object included in the result.

Each + embed object may require different oauth2 scopes than the main + endpoint:
- opportunities: `opportunities.read`
- + main_contact, dunning_contact, invoicing_contact: `contacts.read`
- estimates,invoices,orders,deliveries: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is + limited to the 20 first results sorted in alphabetical order.
+ schema: + type: array + items: + oneOf: + - type: string + title: standards + description: The standards embeds + enum: + - invoicing_address + - delivery_address + - main_contact + - dunning_contact + - invoicing_contact + - opportunities + - estimates + - invoices + - orders + - deliveries + - acl + - smart_tags + - type: string + title: custom-fields + description: >- + Each custom field value can be requested as an embed object + by passing the custom field identifier in the query, + prefixed with the "cf." string. Such as `embed[]=cf.123` for + the value of the custom field of identifier `123` + pattern: ^cf.\d+$ + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/verify' + responses: + '201': + description: Company created + content: + application/json: + schema: + title: Company with embed + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + - type: object + properties: + _embed: + nullable: true + allOf: + - title: Embed for Company + type: object + description: Optional objects added through the embed parameter + x-examples: {} + additionalProperties: false + allOf: + - type: object + properties: + invoicing_address: + nullable: true + description: Invocing address + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + delivery_address: + nullable: true + description: Delivery address + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + main_contact: + nullable: true + description: Main contact + allOf: + - $ref: >- + #/components/schemas/OpportunityItem/properties/_embed/allOf/0/properties/contacts/items + dunning_contact: + nullable: true + description: Dunning contact + allOf: + - $ref: >- + #/components/schemas/OpportunityItem/properties/_embed/allOf/0/properties/contacts/items + invoicing_contact: + nullable: true + description: Invoicing contact + allOf: + - $ref: >- + #/components/schemas/OpportunityItem/properties/_embed/allOf/0/properties/contacts/items + opportunities: + nullable: true + type: integer + description: Count of opportunities + example: 2 + estimates: + nullable: true + type: integer + description: Count of estimates + example: 2 + invoices: + nullable: true + type: integer + description: Count of invoices + example: 2 + orders: + nullable: true + type: integer + description: Count of orders + example: 2 + deliveries: + nullable: true + type: integer + description: Count of deliveries + example: 2 + acl: + nullable: true + description: Company acl + allOf: + - $ref: >- + #/components/schemas/Activity/properties/_embed/properties/acl/oneOf/0 + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/2 + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + title: Company + type: object + additionalProperties: false + description: '' + x-examples: {} + required: + - name + - type + properties: + type: + type: string + enum: + - prospect + - client + - supplier + name: + type: string + description: Company name + example: Example company + maxLength: 250 + email: + description: Company email + type: string + format: email + example: contact@example-company.com + nullable: true + website: + type: string + format: url + description: Company website + example: http://example-company.com + nullable: true + phone_number: + type: string + description: Company phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Company mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Company Fax number + example: '+33100000000' + nullable: true + legal_france: + type: object + additionalProperties: false + properties: + siret: + description: Company Siret + type: string + minLength: 14 + maxLength: 14 + nullable: true + example: '73282932000074' + siren: + description: Company Siren + type: string + minLength: 9 + maxLength: 9 + nullable: true + example: '732829320' + vat: + description: VAT number + type: string + minLength: 2 + maxLength: 15 + nullable: true + example: FR99999999999 + ape_naf_code: + description: APE/NAF Code + type: string + minLength: 5 + maxLength: 6 + nullable: true + example: 4711C + company_type: + description: Company type + type: string + minLength: 2 + maxLength: 100 + nullable: true + example: SAS + rcs_immatriculation: + description: RCS immatriculation code + type: string + minLength: 3 + maxLength: 200 + nullable: true + example: RCS xxxxx + capital: + type: string + nullable: true + description: Company Capital + example: '4000' + reference: + type: string + description: Company reference + example: CLI-1654 + nullable: true + note: + type: string + description: Note on company + example: An handed-written note describing this company + auxiliary_code: + type: string + description: Auxiliary code + example: 0EX11C + nullable: true + social: + type: object + properties: + twitter: + type: string + format: url + description: Twitter account + example: https://twitter.com/example + nullable: true + facebook: + type: string + format: url + description: Facebook account + example: https://facebook.com/example + nullable: true + linkedin: + type: string + format: url + description: Linkedin account + example: https://linkedin.com/example + nullable: true + viadeo: + type: string + format: url + description: Viadeo account + example: https://viadeo.com/example + nullable: true + rate_category_id: + type: integer + nullable: true + description: Company Rate category id + example: 9956 + accounting_code_id: + type: integer + nullable: true + description: Company accounting code id + example: 12345 + accounting_purchase_code_id: + type: integer + nullable: true + description: Company accouting purchase code id + example: 98556 + owner_id: + type: integer + nullable: true + description: Owner of the company (Staff id expected) + example: 112 + minimum: 1 + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + business_segment: + type: integer + description: Company business segment + nullable: true + number_of_employees: + type: integer + description: Number of employees of company + nullable: true + marketing_campaigns_subscriptions: + type: array + items: + type: string + enum: + - sms + - phone + - email + - postal_mail + - custom + description: list of campaign type subscribed + uniqueItems: true + created: + description: Date of creation of the company + type: string + format: date-time + description: '' + security: + - oauth2: + - companies.write + description: Create a company + get: + summary: Companies List + tags: + - Companies + description: Get a list of companies + operationId: get-companies + parameters: + - in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - name + - id + - created_at + - updated_at + - $ref: '#/paths/~1companies/post/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Companies list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1companies/post/responses/201/content/application~1json/schema + required: + - pagination + - data + security: + - oauth2: + - companies.read + /companies/search: + post: + summary: Search companies + tags: + - Companies + description: Search companies + operationId: search-companies + parameters: + - $ref: '#/paths/~1companies/get/parameters/0' + - $ref: '#/paths/~1companies/post/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + title: Company filters + type: object + additionalProperties: false + required: + - filters + properties: + filters: + type: object + additionalProperties: false + description: Company filters + properties: + created: + title: Created at + type: object + description: Filter the company list by creation date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + updated_at: + title: Updated at + type: object + description: Filter the company list by last update date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + name: + title: Name + type: string + description: Filter the company list by name (exact search) + example: Company + email: + title: Email + type: string + description: Filter the company list by email (exact search) + example: contact@example.com + type: + title: Type + description: Filter the company list by type + oneOf: + - type: string + enum: + - prospect + - client + - supplier + - type: array + uniqueItems: true + items: + type: string + enum: + - prospect + - client + - supplier + is_archived: + title: Is archived + type: boolean + description: Filter the company list by is_archived + example: false + contacts: + title: Contacts + description: Filter the company list for the given contacts + type: array + items: + type: integer + siret: + title: Siret + description: Filter the company list by siret + type: string + example: '36252187900034' + id: + title: Companies + type: array + items: + type: integer + description: Filter companies list by ID + example: + - 12 + - 22 + country_code: + title: Country code + description: >- + Filter the company list by country code (main address + only) + type: string + example: FR + postal_code: + title: Postal code + description: >- + Filter the company list by postal code (main address + only) + type: array + items: + type: string + example: + - '17001' + - '17002' + favourite_filter: + $ref: >- + #/components/schemas/ContactFilters/properties/filters/properties/favourite_filter + responses: + '200': + description: Companies list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1companies/post/responses/201/content/application~1json/schema + required: + - pagination + - data + security: + - oauth2: + - companies.read + /companies/favourite-filters: + get: + summary: List companies favourite filters + tags: + - Companies + description: > + List favourite filters for faster access to specific companies
> + Favourite filters can be applied directly to company search endpoints +
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-company-favourite-filters + parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + security: + - oauth2: + - companies.read + /companies/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Company id + get: + summary: Get Company + tags: + - Companies + parameters: + - $ref: '#/paths/~1companies/post/parameters/0' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Company fetched + content: + application/json: + schema: + $ref: >- + #/paths/~1companies/post/responses/201/content/application~1json/schema + operationId: get-company + description: Fetch company informations + security: + - oauth2: + - companies.read + put: + summary: Update Company + tags: + - Companies + operationId: update-company + parameters: + - $ref: '#/paths/~1companies/post/parameters/0' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/verify' + responses: + '200': + description: Company updated + content: + application/json: + schema: + $ref: >- + #/paths/~1companies/post/responses/201/content/application~1json/schema + '204': + $ref: '#/components/schemas/Verify' + description: Update Company informations + requestBody: + content: + application/json: + schema: + title: Company + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + name: + type: string + description: Company name + example: Example company + maxLength: 250 + email: + description: Company email + type: string + format: email + example: contact@example-company.com + nullable: true + website: + type: string + format: url + description: Company website + example: http://example-company.com + nullable: true + phone_number: + type: string + description: Company phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Company mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Company Fax number + example: '+33100000000' + nullable: true + legal_france: + $ref: >- + #/paths/~1companies/post/requestBody/content/application~1json/schema/properties/legal_france + capital: + type: string + nullable: true + description: Company Capital + example: '4000' + reference: + type: string + description: Company reference + example: CLI-1654 + nullable: true + note: + type: string + description: Note on company + example: An handed-written note describing this company + auxiliary_code: + type: string + description: Auxiliary code + example: 0EX11C + nullable: true + social: + $ref: >- + #/paths/~1companies/post/requestBody/content/application~1json/schema/properties/social + rate_category_id: + type: integer + nullable: true + description: Company Rate category id + example: 9956 + accounting_code_id: + type: integer + nullable: true + description: Company accounting code id + example: 12345 + accounting_purchase_code_id: + type: integer + nullable: true + description: Company accouting purchase code id + example: 98556 + owner_id: + type: integer + nullable: true + description: Owner of the company (Staff id expected) + example: 112 + minimum: 1 + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + business_segment: + type: integer + description: Company business segment + nullable: true + number_of_employees: + type: integer + description: Number of employees of company + nullable: true + marketing_campaigns_subscriptions: + type: array + items: + type: string + enum: + - sms + - phone + - email + - postal_mail + - custom + description: list of campaign type subcribed + uniqueItems: true + security: + - oauth2: + - companies.write + delete: + summary: Delete company + tags: + - Companies + operationId: delete-company + responses: + '204': + description: Company deleted + description: Remove a company + security: + - oauth2: + - companies.write + /companies/{companyId}/addresses: + parameters: + - schema: + type: integer + name: companyId + in: path + required: true + description: Company id + get: + summary: Get company addresses + tags: + - Companies + responses: + '200': + description: Addresses fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Address' + required: + - pagination + - data + operationId: get-company-addresses + security: + - oauth2: + - companies.read + post: + tags: + - Companies + parameters: + - $ref: '#/components/parameters/verify' + responses: + '201': + description: Address created + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + '204': + $ref: '#/components/schemas/Verify' + operationId: create-company-address + summary: Create a company address + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/AddressCreate' + security: + - oauth2: + - companies.write + /companies/{companyId}/addresses/{id}: + parameters: + - schema: + type: integer + name: companyId + in: path + required: true + description: Company id + - schema: + type: integer + name: id + in: path + required: true + description: Address id + get: + tags: + - Companies + responses: + '200': + description: Address fetched + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + operationId: get-company-address + summary: Get a company address + security: + - oauth2: + - companies.read + put: + tags: + - Companies + parameters: + - $ref: '#/components/parameters/verify' + responses: + '200': + description: Address updated + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + '204': + $ref: '#/components/schemas/Verify' + operationId: update-company-address + summary: Update a company address + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddressUpdate' + security: + - oauth2: + - companies.write + delete: + tags: + - Companies + responses: + '204': + description: Address deleted + operationId: delete-company-address + summary: Delete a company address + security: + - oauth2: + - companies.write + /companies/{id}/payments: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Company identifier + post: + summary: Record payment on a company + description: > + Record a payment on a company
This route is available + in open beta.
Please note that its specifications may be + subject to significant and breaking changes in the coming weeks.
+ operationId: create-company-payment + tags: + - Companies + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreatePayment' + responses: + '201': + description: Payment created + content: + application/json: + schema: + $ref: '#/components/schemas/Payment' + security: + - oauth2: + - companies.read + - payments.write + /companies/{id}/contacts: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Company id + get: + summary: Get a company contacts + tags: + - Companies + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ContactCollectionItem' + required: + - pagination + - data + operationId: get-company-contacts + parameters: + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/contactEmbed' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - companies.read + - contacts.read + /companies/{companyId}/contacts/{contactId}: + parameters: + - schema: + type: integer + name: companyId + in: path + required: true + description: Company id + - schema: + type: integer + name: contactId + in: path + required: true + description: Contact id + post: + summary: Link a contact at one company + tags: + - Companies + responses: + '200': + description: Contact already linked + '201': + description: Contact linked + operationId: link-company-contact + security: + - oauth2: + - companies.write + - contacts.read + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LinkCompanyContact' + put: + summary: Update a contact of company link + tags: + - Companies + responses: + '200': + description: Contact updated + operationId: update-company-contact + security: + - oauth2: + - companies.write + - companies.read + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateLinkCompanyContact' + delete: + summary: Unlink a contact of company + tags: + - Companies + responses: + '204': + description: Contact unlinked + operationId: unlink-company-contact + security: + - oauth2: + - companies.write + - contacts.read + /companies/{id}/custom-fields: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Company id + get: + summary: Company custom fields List + description: Get list of custom fields for a company + tags: + - Companies + operationId: get-company-custom-fields + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + anyOf: + - title: Simple text + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0 + - type: object + nullable: true + properties: + value: + type: string + description: Value of custom field + nullable: true + example: Lorem + - title: Rich text + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/1 + - type: object + nullable: true + properties: + value: + type: string + description: Value of custom field + nullable: true + example:

Lorem ipsum in dolor.

+ - title: Email address + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/2 + - type: object + nullable: true + properties: + value: + type: string + format: email + description: Email + nullable: true + example: john.doe@email.com + - title: Url + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/3 + - type: object + nullable: true + properties: + value: + type: string + format: url + description: URL + nullable: true + example: https://domain.com + - title: Numeric value + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/4 + - type: object + nullable: true + properties: + value: + type: string + description: Value of custom field, numeric value + nullable: true + example: '15' + - title: Date + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/5 + - type: object + nullable: true + properties: + value: + type: string + format: date + description: Date + nullable: true + example: '2021-03-22' + - title: Hour + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/6 + - type: object + nullable: true + properties: + value: + type: string + description: Time + nullable: true + pattern: ^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$ + example: '05:30' + - title: Amount with currency + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/7 + - type: object + nullable: true + properties: + value: + type: object + additionalProperties: false + properties: + amount: + type: string + description: Amount, numeric value + nullable: true + example: '15.26' + currency: + type: string + description: Currency (ISO 4217) + pattern: ^[A-Za-z *]{2,5}$ + nullable: true + example: EUR + - title: Numeric field with unit + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/8 + - type: object + nullable: true + properties: + value: + type: object + additionalProperties: false + properties: + number: + type: string + description: Value of custom field, numeric value + nullable: true + example: '15.26' + unit_id: + type: integer + description: Unit ID + nullable: true + example: 1 + - title: Radio button + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/9 + - type: object + nullable: true + properties: + value: + type: integer + description: Selected choice + nullable: true + example: 12345 + - title: Select + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/10 + - type: object + nullable: true + properties: + value: + type: integer + description: Value of custom field + nullable: true + example: 12345 + - title: Multiple choice + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/11 + - type: object + nullable: true + properties: + value: + type: array + description: List of selected choice + nullable: true + example: '{ 1, 2, 3 }' + items: + type: integer + - title: Yes / No + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/12 + - type: object + nullable: true + properties: + value: + type: boolean + description: Value of custom field + nullable: true + example: true + - title: Client/Prospect/Supplier + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/13 + - type: object + nullable: true + properties: + value: + type: array + description: List of company/inviduals + nullable: true + items: + type: object + properties: + type: + type: string + description: company/individual's type + example: company + id: + type: integer + description: company/individual's ID + example: 15 + - title: Contact + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/14 + - type: object + nullable: true + properties: + value: + type: array + description: List of Contact IDs + nullable: true + example: '{ 1, 2, 3 }' + items: + type: integer + - title: Staff member + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/15 + - type: object + nullable: true + properties: + value: + type: array + description: List of Staff IDs + nullable: true + example: '{ 1, 2, 3 }' + items: + type: integer + - title: Products/services + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/16 + - type: object + nullable: true + properties: + value: + type: array + description: List of Item IDs + nullable: true + example: '{ 1, 2, 3 }' + items: + type: integer + required: + - pagination + - data + parameters: + - in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - companies.read + - custom-fields.read + put: + summary: Update Company custom fields + description: Update list of custom fields for a company + tags: + - Companies + parameters: + - $ref: '#/components/parameters/verify' + operationId: update-company-custom-fields + responses: + '200': + description: Company's custom fields updated + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + type: array + description: Custom fields + items: + type: object + description: Company + properties: + id: + type: integer + example: 1 + description: Custom Field id + value: + anyOf: + - type: string + description: Value of custom field + title: Simple text + example: Lorem + nullable: true + - type: string + description: Value of custom field + title: Rich text + example:

Lorem ipsum in dolor.

+ nullable: true + - type: string + description: Value of custom field. Numeric value (integer) only + example: '15' + nullable: true + title: Numeric value + - type: object + nullable: true + additionalProperties: false + title: Amount with currency + properties: + amount: + type: string + description: >- + Amount. Will use the default one if null. Numeric + value + example: '15.26' + nullable: true + currency: + type: string + description: >- + Currency (ISO 4217). Will use the default one if + null + example: EUR + nullable: true + required: + - amount + - currency + - type: object + nullable: true + additionalProperties: false + title: Numeric field with unit + properties: + number: + type: string + description: Value of custom field. Numeric value + example: '15.26' + nullable: true + unit_id: + type: integer + description: Unit ID + example: 1 + nullable: true + required: + - number + - unit_id + - type: integer + description: Selected choice + example: 12345 + nullable: true + title: Radio button + - type: integer + description: Value of custom field + example: 12345 + title: Select + nullable: true + - type: array + description: List of selected choice + example: '{ 1, 2, 3 }' + items: + type: integer + nullable: true + title: Multiple choice + - type: string + format: date + title: Date + nullable: true + description: Date + example: '2021-03-22' + - type: string + description: Time + title: Time + nullable: true + example: '05:30' + - type: string + format: email + description: Email + title: Email address + nullable: true + maxLength: 250 + example: john.doe@email.com + - type: string + format: url + title: Url + nullable: true + description: URL + example: https://domain.com + - type: boolean + description: Value of custom field + example: true + title: Yes / No + nullable: true + - type: array + description: List of company/invidual IDs + example: '{ 1, 2, 3 }' + items: + type: integer + nullable: true + title: Client / Prospect / Supplier + - type: array + description: List of Item IDs + example: '{ 1, 2, 3 }' + items: + type: integer + nullable: true + title: Product / service + - type: array + description: List of Contact IDs + example: '{ 1, 2, 3 }' + items: + type: integer + nullable: true + title: Contact + - type: array + description: List of Staff IDs + example: '{ 1, 2, 3 }' + items: + type: integer + title: Staff member + nullable: true + nullable: true + required: + - id + - value + security: + - oauth2: + - companies.write + - custom-fields.write + /companies/{companyId}/smart-tags: + parameters: + - schema: + type: integer + name: companyId + in: path + required: true + description: Company id + get: + summary: Company smart tags List + description: Get list of smart tags for a company + tags: + - Companies + operationId: get-company-smart-tags + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + title: smart tag + type: array + items: + type: object + properties: + value: + type: string + description: value of smart tags + example: smart tag + id: + type: integer + description: id of smart tags + example: 55 + security: + - oauth2: + - companies.read + - smart-tags.read + post: + summary: Link smart tags to company + description: Link a list of smart tag to a company + tags: + - Companies + operationId: link-company-smart-tags + responses: + '200': + description: Smart tag linked + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + requestBody: + content: + application/json: + schema: + title: smart tag + type: array + nullable: true + items: + anyOf: + - title: Create and link smart-tags + type: object + description: >- + Create a new tag and link it to the entity. If the value + already exists, the tag is only linked to the entity and + does not create a duplicate. It's not case sensitive and + not accented. + properties: + value: + type: string + description: value of smart tags + example: smart tag + nullable: false + required: + - value + - title: Link by identifier + type: object + description: Link an existing tag to the entity + properties: + id: + type: integer + description: id of smart tags + example: 55 + nullable: false + required: + - id + security: + - oauth2: + - smart-tags.write + - companies.write + /companies/{companyId}/files: + parameters: + - name: companyId + in: path + description: Company id + schema: + type: integer + required: true + post: + summary: Attach file to a company + description: >- + Attach file to a company
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: upload-company-file + tags: + - Companies + responses: + '201': + description: File uploaded + content: + application/json: + schema: + $ref: '#/components/schemas/FileOuput' + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + security: + - oauth2: + - companies.read + - files.write + get: + summary: List directories and files of a company + description: >- + List directories and files attached to a company
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-company-files + tags: + - Companies + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + security: + - oauth2: + - companies.read + - files.read + /contacts/{id}/companies: + get: + summary: Companies contact + description: Get the companies of a contact + tags: + - Contacts + operationId: get-contact-companies + security: + - oauth2: + - companies.read + - contacts.read + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Contact id + responses: + '200': + description: Companies list linked to the contact + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + title: Company + type: object + description: '' + x-examples: {} + properties: + id: + type: integer + description: Unique ID + example: 6657 + type: + type: string + enum: + - prospect + - client + - supplier + name: + type: string + description: Company name + example: Example company + maxLength: 250 + email: + description: Company email + type: string + format: email + example: contact@example-company.com + nullable: true + website: + type: string + format: url + description: Company website + example: http://example-company.com + nullable: true + phone_number: + type: string + description: Company phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Company mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Company Fax number + example: '+33100000000' + nullable: true + legal_france: + type: object + additionalProperties: false + properties: + siret: + description: Company Siret + type: string + nullable: true + example: '73282932000074' + siren: + description: Company Siren + type: string + nullable: true + example: '732829320' + vat: + description: VAT number + type: string + nullable: true + example: FR99999999999 + ape_naf_code: + description: APE/NAF Code + type: string + nullable: true + example: 4711C + company_type: + description: Company type + type: string + nullable: true + example: SAS + rcs_immatriculation: + description: RCS immatriculation code + type: string + nullable: true + example: RCS xxxxx + capital: + type: string + nullable: true + description: Company Capital + example: '4000' + reference: + type: string + description: Company reference + example: CLI-1654 + nullable: true + note: + type: string + description: Note on company + example: An handed-written note describing this company + auxiliary_code: + type: string + description: Auxiliary code + example: 0EX11C + nullable: true + social: + $ref: >- + #/paths/~1companies/post/requestBody/content/application~1json/schema/properties/social + rate_category_id: + type: integer + nullable: true + description: Company Rate category id + example: 9956 + main_contact_id: + description: Main contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + dunning_contact_id: + description: Dunning contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + invoicing_contact_id: + description: Invoicing contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + invoicing_address_id: + description: Invoicing address unique ID + type: integer + nullable: true + minimum: 1 + example: 9987 + delivery_address_id: + description: Delivery address unique ID + type: integer + nullable: true + minimum: 1 + example: 6547 + accounting_code_id: + type: integer + nullable: true + description: Company accounting code id + example: 12345 + accounting_purchase_code_id: + type: integer + nullable: true + description: Company accouting purchase code id + example: 98556 + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + created: + type: string + format: date-time + nullable: false + description: Datetime of creating company + example: '2020-05-29T11:22:03+02:00' + updated_at: + type: string + format: date-time + nullable: false + description: Datetime of the last update of the company + example: '2020-05-29T11:22:03+02:00' + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + business_segment: + type: object + description: Company business segment + nullable: true + properties: + id: + type: integer + example: 3 + label: + type: string + example: Software publisher / Digital services company + number_of_employees: + type: object + description: Number of employees of company + nullable: true + properties: + id: + type: integer + example: 1 + label: + type: string + example: From 1 to 5 + marketing_campaigns_subscriptions: + type: array + items: + type: string + enum: + - sms + - phone + - email + - postal_mail + - custom + description: list of campaign type subcribed + uniqueItems: true + required: + - pagination + - data + /smart-tags/{linkedtype}/autocomplete: + parameters: + - schema: + type: string + enum: + - company + - contact + - individual + name: linkedtype + in: path + required: true + description: Linked type of smart tags searched + - schema: + type: string + name: q + in: query + required: true + description: Word for the research of autocomplete + get: + summary: Smart tags autocomplete + description: Autocompled for smart tags + tags: + - Smart Tags + operationId: autocomplete-smart-tags + responses: + '200': + description: Smart tags find + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + security: + - oauth2: + - smart-tags.read + /smart-tags/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Smart tags ID + delete: + summary: Delete a smart tags + description: >- + Delete a smart tags

Note that deleting a smart tags will also + remove it's presence on any object he was linked to.
To unlink a + smart-tag (without deleting it), please use the "Link smart-tags to ..." + endpoint
+ tags: + - Smart Tags + operationId: delete-smart-tags + responses: + '200': + description: Smart tags deleted + security: + - oauth2: + - smart-tags.write + /custom-fields: + get: + summary: Custom Fields List + description: Get a list of custom fields + tags: + - Custom Fields + operationId: get-custom-fields + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Custom fields fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + anyOf: + - title: Simple text + type: object + additionalProperties: false + allOf: + - title: Custom field + type: object + description: '' + x-examples: {} + properties: + id: + type: integer + readOnly: true + description: Customfield id + example: 6657 + name: + type: string + maxLength: 250 + description: Name of custom field + example: Business sector + code: + type: string + maxLength: 250 + description: Machine name of custom field + example: business-sector + description: + type: string + maxLength: 250 + description: Description of custom field + example: A text describing this custom field. + mandatory: + type: boolean + description: Custom field must be completed or not + example: false + rank: + type: integer + description: Rank of custom field in group + example: 1 + related_object: + type: array + items: + type: string + enum: + - document + - contact + - client + - prospect + - supplier + - product + - service + - ticket + - task + - purchase + - opportunity + - project + - staff + - site + description: >- + List of objects the custom field can be used + on + uniqueItems: true + customfield_group: + type: object + description: Full custom field group object + properties: + id: + type: integer + readOnly: true + description: Group id + example: 123 + name: + type: string + maxLength: 250 + description: Group name + example: intervention + code: + type: string + maxLength: 250 + description: Group code + example: groupintervention + open_by_default: + type: boolean + description: Group is open by default or not + example: false + - type: object + properties: + type: + type: string + description: Simple text + enum: + - simple-text + parameters: + type: object + description: Field type parameters + additionalProperties: false + properties: + default_value: + type: string + description: Default value + minLength: 0 + maxLength: 250 + nullable: true + example: Simple text + char_min: + type: integer + description: Min characters + minimum: 0 + maximum: 250 + nullable: true + example: 0 + char_max: + type: integer + description: Max characters + minimum: 0 + maximum: 250 + nullable: true + example: 250 + - title: Rich text + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Rich text + enum: + - rich-text + parameters: + type: object + description: Field type parameters + additionalProperties: false + properties: + default_value: + type: string + description: Default value + minLength: 0 + maxLength: 65000 + nullable: true + example: Rich text + char_min: + type: integer + description: Min characters + minimum: 0 + maximum: 65000 + nullable: true + example: 0 + char_max: + type: integer + description: Max characters + minimum: 0 + maximum: 65000 + nullable: true + example: 500 + - title: Email address + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Email address + enum: + - email + parameters: + type: object + description: Field type parameters + additionalProperties: false + properties: + default_value: + type: string + description: Default value + format: email + nullable: true + example: contact@domain.fr + - title: Url + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Url + enum: + - url + parameters: + type: object + description: Field type parameters + additionalProperties: false + properties: + default_value: + type: string + description: Default value + format: uri + nullable: true + example: www.sellsy.com + - title: Numeric value + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Numeric value + enum: + - numeric + parameters: + type: object + description: Field type parameters + additionalProperties: false + properties: + default_value: + type: string + description: Default value, numeric value only + nullable: true + example: '5' + min_value: + type: string + description: Min value, numeric value only + nullable: true + example: '0' + max_value: + type: string + description: Max value, numeric value only + nullable: true + example: '500' + - title: Date + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Date + enum: + - date + parameters: + type: object + description: Field type parameters + additionalProperties: false + properties: + min_date: + type: string + description: Min date + format: date + nullable: true + example: '2002-01-01' + max_date: + type: string + description: Max date + format: date + nullable: true + example: '2017-01-01' + - title: Time + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Time + enum: + - time + parameters: + type: object + description: Field type parameters + additionalProperties: false + properties: + min_hour: + type: string + description: Min hour + pattern: ^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$ + nullable: true + example: '00:00' + max_hour: + type: string + description: Max hour + pattern: ^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$ + nullable: true + example: '08:45' + - title: Amount with currency + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Amount with currency + enum: + - amount + parameters: + type: object + description: Field type parameters + additionalProperties: false + properties: + default_value: + type: string + description: Default value, numeric value only + nullable: true + example: '15.36' + min_value: + type: string + description: Min value, numeric value only + nullable: true + example: '0.00' + max_value: + type: string + description: Max value, numeric value only + nullable: true + example: '1898.32' + currency: + type: string + description: Currency (ISO 4217) + pattern: ^[A-Za-z *]{2,5}$ + nullable: true + example: EUR + - title: Numeric field with unit + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Numeric field with unit + enum: + - numeric-with-unit + parameters: + type: object + description: Field type parameters + additionalProperties: false + properties: + default_value: + type: string + description: Default value, numeric value only + nullable: true + example: '15.35' + min_value: + type: string + description: Min value, numeric value only + nullable: true + example: '0.00' + max_value: + type: string + description: Max value, numeric value only + nullable: true + example: '100.25' + unit: + type: string + description: Type of unit + nullable: true + enum: + - unit + - package + - m2 + - m3 + - ton + - kg + - g + - metres + - days + - hour + - minutes + - title: Radio button + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Radio button + enum: + - radio + parameters: + type: object + description: Available values list + additionalProperties: false + properties: + items: + type: array + minItems: 2 + description: Values list + items: + type: object + additionalProperties: false + properties: + id: + type: integer + description: Id of label + example: 15 + label: + type: string + description: Label of checkbox item + minLength: 1 + maxLength: 250 + example: Label + checked: + type: boolean + description: Checked + example: false + rank: + type: integer + description: Rank of item + example: 1 + - title: Select + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Select + enum: + - select + parameters: + type: object + description: Available values list + additionalProperties: false + properties: + items: + type: array + minItems: 2 + description: Values list + items: + type: object + additionalProperties: false + properties: + id: + type: integer + description: Id of label + example: 15 + label: + type: string + description: Label of checkbox item + minLength: 1 + maxLength: 250 + example: Label + checked: + type: boolean + description: Checked + example: false + rank: + type: integer + description: Rank of item + example: 1 + - title: Multiple choice + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Multiple choice + enum: + - checkbox + parameters: + type: object + description: Available values list + additionalProperties: false + properties: + min: + type: integer + description: Number minimum of checked values + nullable: true + minimum: 1 + example: 1 + max: + type: integer + description: Number maximum of checked values + nullable: true + example: 3 + items: + type: array + minItems: 2 + description: Values list + items: + type: object + additionalProperties: false + properties: + id: + type: integer + description: Id of label + example: 15 + label: + type: string + description: Label of checkbox item + minLength: 1 + maxLength: 250 + example: Label + checked: + type: boolean + description: Checked + example: false + rank: + type: integer + description: Rank of item + example: 1 + - title: Yes / No + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Yes / No + enum: + - boolean + parameters: + type: object + description: Field type parameters + additionalProperties: false + properties: + default_value: + type: boolean + description: Default value + nullable: true + example: false + - title: Client/Prospect/Supplier + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Client/Prospect/Supplier + enum: + - company-individual + parameters: + type: object + description: Custom settings for this field type + additionalProperties: false + properties: + number_of_values: + type: integer + description: Between 1 and 10 + minimum: 1 + maximum: 10 + example: 1 + client: + type: boolean + description: Enabled for client-type companies + example: true + prospect: + type: boolean + description: Enabled for prospect-type companies + example: false + supplier: + type: boolean + description: Enabled for supplier-type companies + example: false + address_on_pdf: + type: boolean + description: Add address information on PDFs + example: false + email_on_pdf: + type: boolean + description: Add email information on PDFs + example: false + phone_on_pdf: + type: boolean + description: Add phone information on PDFs + example: false + mobile_on_pdf: + type: boolean + description: Add mobile information on PDFs + example: false + - title: Contact + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Contact + enum: + - contact + parameters: + type: object + description: Custom settings for this field type + additionalProperties: false + properties: + number_of_values: + type: integer + description: Between 1 and 10 + minimum: 1 + maximum: 10 + example: 2 + address_on_pdf: + type: boolean + description: Add address information on PDFs + example: false + email_on_pdf: + type: boolean + description: Add email information on PDFs + example: false + phone_on_pdf: + type: boolean + description: Add phone information on PDFs + example: false + mobile_on_pdf: + type: boolean + description: Add mobile information on PDFs + example: false + - title: Staff member + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Staff member + enum: + - staff + parameters: + type: object + description: Custom settings for this field type + additionalProperties: false + properties: + number_of_values: + type: integer + description: Between 1 and 10 + minimum: 1 + maximum: 10 + example: 2 + email_on_pdf: + type: boolean + description: Add email information on PDFs + example: false + phone_on_pdf: + type: boolean + description: Add phone information on PDFs + example: false + mobile_on_pdf: + type: boolean + description: Add mobile information on PDFs + example: false + - title: Products/services + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Products/services + enum: + - item + parameters: + type: object + description: Custom settings for this field type + additionalProperties: false + properties: + number_of_values: + type: integer + description: Between 1 and 10 + minimum: 1 + maximum: 10 + example: 1 + product: + type: boolean + description: Enabled for product-type items + example: true + service: + type: boolean + description: Enabled for service-type items + example: false + required: + - pagination + - data + security: + - oauth2: + - custom-fields.read + /custom-fields/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Custom field id + get: + summary: Get custom field + description: Fetch a custom field informations + tags: + - Custom Fields + operationId: get-custom-field + parameters: + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Custom field fetched + content: + application/json: + schema: + oneOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/1 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/2 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/3 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/4 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/5 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/6 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/7 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/8 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/9 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/10 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/11 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/12 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/13 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/14 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/15 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/16 + security: + - oauth2: + - custom-fields.read + /custom-fields/search: + post: + summary: Custom Fields Search + description: Search custom fields + tags: + - Custom Fields + operationId: search-custom-fields + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + title: Custom Fields filters + type: object + additionalProperties: false + required: + - filters + properties: + filters: + type: object + additionalProperties: false + description: Custom Fields filters + properties: + related_object: + title: Related object + type: string + description: Filter the custom fields by object they can be used on + enum: + - document + - contact + - client + - prospect + - supplier + - item + - service + - ticket + - task + - purchase + - opportunity + - project + - staff + - site + is_required: + type: boolean + description: >- + Filter custom fields according to whether they are + required or not. + responses: + '200': + description: Custom fields fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + security: + - oauth2: + - custom-fields.read + /estimates: + get: + tags: + - Estimates + summary: Get all estimates + operationId: get-estimates + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/SaleEmbed' + - $ref: '#/components/parameters/SaleOrder' + responses: + '200': + description: Get a list of estimate + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/EstimateCollection' + security: + - oauth2: + - estimates.read + post: + tags: + - Estimates + summary: Create estimate + operationId: create-estimate + responses: + '201': + description: Estimate created + headers: {} + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/EstimateOne' + - $ref: '#/components/schemas/SaleEmbed' + description: Create an estimate + security: + - oauth2: + - estimates.write + parameters: + - $ref: '#/components/parameters/SaleEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EstimateCreate' + examples: {} + description: '' + /estimates/search: + post: + tags: + - Estimates + summary: Search estimates + operationId: search-estimates + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/SaleEmbed' + - $ref: '#/components/parameters/SaleOrder' + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/EstimateFilters' + responses: + '200': + description: Get a list of estimate + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/EstimateCollection' + - type: object + properties: + aggregations: + $ref: '#/components/schemas/EstimateAggregations' + '400': + description: Validation and logic errors + security: + - oauth2: + - estimates.read + /estimates/{id}/custom-fields: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Estimate id + get: + summary: Estimate custom fields List + description: Get list of custom fields for an Estimate + tags: + - Estimates + operationId: get-estimate-custom-fields + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - estimates.read + - custom-fields.read + put: + summary: Update Estimate custom fields + description: Update list of custom fields for an estimate + tags: + - Estimates + parameters: + - $ref: '#/components/parameters/verify' + operationId: update-estimate-custom-fields + responses: + '200': + description: Estimate's custom fields updated + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/put/requestBody/content/application~1json/schema + security: + - oauth2: + - estimates.write + - custom-fields.write + /estimates/favourite-filters: + get: + summary: List estimates favourite filters + tags: + - Estimates + description: > + List favourite filters for faster access to specific estimates
> + Favourite filters can be applied directly to estimate search endpoints +
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-estimate-favourite-filters + parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + security: + - oauth2: + - estimates.read + /estimates/{id}: + parameters: + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/EstimateOneEmbed' + - schema: + type: integer + name: id + in: path + required: true + description: Estimate id + get: + tags: + - Estimates + summary: Get an estimate + operationId: get-estimate + responses: + '200': + description: get an estimate + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/EstimateOne' + - $ref: '#/components/schemas/EstimateOneEmbed' + '404': + description: Estimate no found + security: + - oauth2: + - estimates.read + put: + tags: + - Estimates + summary: Update estimate + operationId: update-estimate + responses: + '200': + description: Estimate updated + headers: {} + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/EstimateOne' + - $ref: '#/components/schemas/SaleEmbed' + description: Update an estimate + security: + - oauth2: + - estimates.write + parameters: + - $ref: '#/components/parameters/SaleEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EstimateUpdate' + examples: {} + description: '' + /estimates/{id}/status: + parameters: + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/SaleEmbed' + - schema: + type: integer + name: id + in: path + required: true + description: Estimate id + put: + tags: + - Estimates + summary: Update estimate status + operationId: update-estimate-status + responses: + '200': + description: Estimate step updated + headers: {} + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/EstimateOne' + - $ref: '#/components/schemas/SaleEmbed' + description: Update an estimate status + security: + - oauth2: + - estimates.write + parameters: + - $ref: '#/components/parameters/SaleEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EstimateStatusUpdate' + examples: {} + description: '' + /estimates/compute: + post: + tags: + - Estimates + summary: Compute an estimate + operationId: compute-estimate + responses: + '200': + description: Estimate computed successfully + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/EstimateCompute' + description: Compute an estimate + security: + - oauth2: + - estimates.read + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EstimateCreate' + examples: {} + description: '' + /estimates/{documentId}/files: + parameters: + - name: documentId + in: path + description: Document id + schema: + type: integer + required: true + post: + summary: Attach file to an estimate + description: >- + Attach file to an estimate
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: upload-estimate-file + tags: + - Estimates + responses: + '201': + description: File uploaded + content: + application/json: + schema: + $ref: '#/components/schemas/FileOuput' + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + security: + - oauth2: + - estimates.read + - files.write + get: + summary: List directories and files of an estimate + description: >- + List directories and files attached to an estimate
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-estimate-files + tags: + - Estimates + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + security: + - oauth2: + - estimates.read + - files.read + /estimates/{id}/payments: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Estimate ID + get: + summary: Estimate payments list + description: >- + Get list of payments for an estimate
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Estimates + operationId: get-estimate-payments + responses: + '200': + description: Payments list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/InvoicingPayment' + security: + - oauth2: + - estimates.read + - payments.read + /estimates/{documentId}/payments/{paymentId}: + parameters: + - name: documentId + in: path + required: true + schema: + type: integer + description: Estimate identifier + - name: paymentId + in: path + required: true + schema: + type: integer + description: Payment identifier + post: + summary: Link payment to estimate + description: > + Link a payment to an estimate
This route is available + in open beta.
Please note that its specifications may be + subject to significant and breaking changes in the coming weeks.
+ tags: + - Estimates + operationId: link-estimate-payment + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LinkPaymentToDocument' + responses: + '201': + description: Payments list attached to the estimate + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/InvoicingPayment' + security: + - oauth2: + - estimates.write + - payments.write + delete: + summary: Unlink payment from estimate + description: > + Unlink a payment from an estimate
This route is + available in open beta.
Please note that its specifications may + be subject to significant and breaking changes in the coming + weeks.
+ tags: + - Estimates + operationId: unlink-estimate-payment + responses: + '204': + description: Payment unlinked + security: + - oauth2: + - estimates.write + - payments.write + /estimates/{id}/smart-tags: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Estimate ID + get: + summary: Estimate smart-tags list + description: Get list of smart-tags for an estimate + tags: + - Estimates + operationId: get-estimate-smart-tags + responses: + '200': + description: Smart-tags list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + security: + - oauth2: + - estimates.read + - smart-tags.read + post: + summary: Link smart tags to estimate + description: Link a list of smart-tags to an estimate + tags: + - Estimates + operationId: link-estimate-smart-tags + responses: + '200': + description: Smart-tags list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/post/requestBody/content/application~1json/schema + security: + - oauth2: + - estimates.write + - smart-tags.write + /estimates/{estimateId}/primes/{primeId}: + parameters: + - schema: + type: integer + name: estimateId + in: path + required: true + description: Estimate identifier + - schema: + type: integer + name: primeId + in: path + required: true + description: Prime identifier + post: + deprecated: true + operationId: link-estimate-prime + summary: Link prime to estimate + description: > + Link a prime to an estimate
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Estimates + security: + - oauth2: + - primes.read + - estimates.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesDocumentInput' + responses: + '201': + description: Prime linked + '403': + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + delete: + deprecated: true + summary: Unlink a prime from an estimate + description: > + Unlink a prime from an estimate
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Estimates + operationId: unlink-estimate-prime + responses: + '204': + description: Prime unlinked + '403': + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + '404': + description: Requested prime was not applied on the document + security: + - oauth2: + - primes.read + - estimates.write + /estimates/{estimateId}/discount-incl-taxes/{discountId}: + parameters: + - schema: + type: integer + name: estimateId + in: path + required: true + description: Estimate identifier + - schema: + type: integer + name: discountId + in: path + required: true + description: Discount including taxes identifier + post: + operationId: link-estimate-discount-incl-taxes + summary: Link discount including taxes to estimate + description: > + Link a discount including taxes to an estimate
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Estimates + security: + - oauth2: + - discount-incl-taxes.read + - estimates.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesDocumentInput' + responses: + '201': + description: Discount linked + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + delete: + summary: Unlink a discount including taxes from an estimate + description: > + Unlink a discount including taxes from an estimate
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ tags: + - Estimates + operationId: unlink-estimate-discount-incl-taxes + responses: + '204': + description: Discount unlinked + '403': + description: >- + Either Discounts on documents are not activated on your account or + you don't have the required privileges + '404': + description: Requested discount was not applied on the document + security: + - oauth2: + - discount-incl-taxes.read + - estimates.write + /orders: + get: + operationId: get-orders + summary: Get all orders + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/orderEmbed' + - $ref: '#/components/parameters/orderOrder' + tags: + - Orders + description: > + Get all orders
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '200': + description: Orders list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Order' + security: + - oauth2: + - orders.read + post: + operationId: create-order + summary: Create an order + tags: + - Orders + description: > + Create an order
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrderCreate' + parameters: + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/orderEmbedOne' + responses: + '201': + description: Order created + content: + application/json: + schema: + $ref: '#/components/schemas/OrderOne' + security: + - oauth2: + - orders.write + /orders/compute: + post: + operationId: compute-order + summary: Compute an order + tags: + - Orders + description: > + Compute an order
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrderCreate' + responses: + '200': + description: Order computed successfully + content: + application/json: + schema: + $ref: '#/components/schemas/OrderCompute' + security: + - oauth2: + - orders.read + /orders/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Order ID + - $ref: '#/components/parameters/orderEmbedOne' + get: + operationId: get-order + summary: Get order + description: > + Get an order by ID
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Orders + responses: + '200': + description: Order fetched + content: + application/json: + schema: + $ref: '#/components/schemas/OrderOne' + security: + - oauth2: + - orders.read + put: + operationId: update-order + summary: Update an order + tags: + - Orders + description: > + Update a given order
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrderUpdate' + responses: + '200': + description: Order updated + content: + application/json: + schema: + $ref: '#/components/schemas/OrderOne' + security: + - oauth2: + - orders.write + /orders/search: + post: + summary: Search orders + tags: + - Orders + description: > + Search orders
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: search-orders + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/orderEmbed' + - $ref: '#/components/parameters/orderOrder' + requestBody: + content: + application/json: + schema: + description: Orders filters + $ref: '#/components/schemas/OrderFilters' + responses: + '200': + description: Orders list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Order' + required: + - pagination + - data + security: + - oauth2: + - orders.read + /orders/{id}/payments: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Order ID + get: + summary: Order payments list + description: > + Get list of payments for an order
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Orders + operationId: get-order-payments + responses: + '200': + description: Payments list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/InvoicingPayment' + security: + - oauth2: + - orders.read + - payments.read + /orders/{id}/smart-tags: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Order id + get: + summary: Order smart tags List + description: Get list of smart tags for an order + tags: + - Orders + operationId: get-order-smart-tags + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + security: + - oauth2: + - orders.read + - smart-tags.read + post: + summary: Link smart tags to an order + description: Link a list of smart tag to an order + tags: + - Orders + operationId: link-order-smart-tags + responses: + '200': + description: Smart tag linked + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/post/requestBody/content/application~1json/schema + security: + - oauth2: + - smart-tags.write + - orders.write + /orders/{id}/custom-fields: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Order id + get: + summary: Order custom fields List + description: Get list of custom fields for an order + tags: + - Orders + operationId: get-order-custom-fields + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - orders.read + - custom-fields.read + put: + summary: Update Order custom fields + description: Update list of custom fields for an order + tags: + - Orders + parameters: + - $ref: '#/components/parameters/verify' + operationId: update-order-custom-fields + responses: + '200': + description: Order's custom fields updated + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/put/requestBody/content/application~1json/schema + security: + - oauth2: + - orders.write + - custom-fields.write + /orders/favourite-filters: + get: + summary: List orders favourite filters + tags: + - Orders + description: > + List favourite filters for faster access to specific orders
> + Favourite filters can be applied directly to order search endpoints
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-order-favourite-filters + parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + security: + - oauth2: + - orders.read + /orders/{documentId}/payments/{paymentId}: + parameters: + - name: documentId + in: path + required: true + schema: + type: integer + description: Order identifier + - name: paymentId + in: path + required: true + schema: + type: integer + description: Payment identifier + post: + summary: Link payment to order + description: >- + Link a payment to an order
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Orders + operationId: link-order-payment + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LinkPaymentToDocument' + responses: + '201': + description: Payments list attached to the order + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/InvoicingPayment' + security: + - oauth2: + - orders.write + - payments.write + delete: + summary: Unlink payment from order + description: >- + Unlink a payment from an order
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Orders + operationId: unlink-order-payment + responses: + '204': + description: Payment unlinked + security: + - oauth2: + - orders.write + - payments.write + /orders/{documentId}/files: + parameters: + - name: documentId + in: path + description: Document id + schema: + type: integer + required: true + post: + summary: Attach file to an order + description: >- + Attach file to an order
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: upload-order-file + tags: + - Orders + responses: + '201': + description: File uploaded + content: + application/json: + schema: + $ref: '#/components/schemas/FileOuput' + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + security: + - oauth2: + - orders.read + - files.write + get: + summary: List directories and files of an orders + description: >- + List directories and files attached to an orders
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-order-files + tags: + - Orders + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + security: + - oauth2: + - orders.read + - files.read + /orders/{orderId}/primes/{primeId}: + parameters: + - schema: + type: integer + name: orderId + in: path + required: true + description: Order identifier + - schema: + type: integer + name: primeId + in: path + required: true + description: Prime identifier + post: + deprecated: true + operationId: link-order-prime + summary: Link prime to order + description: > + Link a prime to an order
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Orders + security: + - oauth2: + - primes.read + - orders.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesDocumentInput' + responses: + '201': + description: Prime linked + '403': + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + delete: + deprecated: true + summary: Unlink a prime from an order + description: > + Unlink a prime from an order
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Orders + operationId: unlink-order-prime + responses: + '204': + description: Prime unlinked + '403': + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + '404': + description: Requested prime was not applied on the document + security: + - oauth2: + - primes.read + - orders.write + /orders/{orderId}/discount-incl-taxes/{discountId}: + parameters: + - schema: + type: integer + name: orderId + in: path + required: true + description: Order identifier + - schema: + type: integer + name: discountId + in: path + required: true + description: Discount including taxes identifier + post: + operationId: link-order-discount-incl-taxes + summary: Link discount including taxes to order + description: > + Link a discount including taxes to an order
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Orders + security: + - oauth2: + - discount-incl-taxes.read + - orders.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesDocumentInput' + responses: + '201': + description: Discount linked + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + delete: + summary: Unlink a discount including taxes from an order + description: > + Unlink a discount including taxes from an order
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ tags: + - Orders + operationId: unlink-order-discount-incl-taxes + responses: + '204': + description: Discount unlinked + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + '404': + description: Requested discount was not applied on the document + security: + - oauth2: + - discount-incl-taxes.read + - orders.write + /individuals: + get: + summary: Individuals List + tags: + - Individuals + description: Get a list of individuals + operationId: get-individuals + parameters: + - in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - name + - id + - created_at + - updated_at + - in: query + name: embed + description: > + Example : `embed[]=invoicing_address&embed[]=cf.1542&embed[]=acl` +
Additional object included in the result.

Each + embed object may require different oauth2 scopes than the main + endpoint:
- opportunities: `opportunities.read`
- + main_contact, dunning_contact, invoicing_contact: `contacts.read`
- estimates,invoices,orders,deliveries: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is + limited to the 20 first results sorted in alphabetical order.
+ schema: + type: array + items: + oneOf: + - type: string + title: standards + description: The standards embeds + enum: + - invoicing_address + - delivery_address + - main_contact + - dunning_contact + - invoicing_contact + - opportunities + - estimates + - invoices + - orders + - deliveries + - acl + - smart_tags + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Individuals list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + title: Individual with embed + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + - type: object + properties: + _embed: + nullable: true + allOf: + - title: Embed for Individual + description: >- + Optional objects added through the embed + parameter + x-examples: {} + additionalProperties: false + allOf: + - type: object + properties: + invoicing_address: + nullable: true + description: Invocing address + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + delivery_address: + nullable: true + description: Delivery address + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + main_contact: + nullable: true + description: Main contact + allOf: + - $ref: >- + #/components/schemas/OpportunityItem/properties/_embed/allOf/0/properties/contacts/items + dunning_contact: + nullable: true + description: Dunning contact + allOf: + - $ref: >- + #/components/schemas/OpportunityItem/properties/_embed/allOf/0/properties/contacts/items + invoicing_contact: + nullable: true + description: Invoicing contact + allOf: + - $ref: >- + #/components/schemas/OpportunityItem/properties/_embed/allOf/0/properties/contacts/items + opportunities: + nullable: true + type: integer + description: Count of opportunities + example: 2 + estimates: + nullable: true + type: integer + description: Count of estimates + example: 2 + invoices: + nullable: true + type: integer + description: Count of invoices + example: 2 + orders: + nullable: true + type: integer + description: Count of orders + example: 2 + deliveries: + nullable: true + type: integer + description: Count of deliveries + example: 2 + acl: + nullable: true + description: Individual acl + allOf: + - $ref: >- + #/components/schemas/Activity/properties/_embed/properties/acl/oneOf/2 + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/2 + required: + - pagination + - data + security: + - oauth2: + - individuals.read + post: + summary: Create an individual + tags: + - Individuals + operationId: create-individual + responses: + '201': + description: Individual created + headers: {} + content: + application/json: + schema: + $ref: >- + #/paths/~1individuals/get/responses/200/content/application~1json/schema/properties/data/items + '204': + $ref: '#/components/schemas/Verify' + description: Create an individual + security: + - oauth2: + - individuals.write + parameters: + - $ref: '#/paths/~1individuals/get/parameters/1' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/verify' + requestBody: + content: + application/json: + schema: + title: Individual + type: object + description: '' + x-examples: {} + required: + - last_name + - type + properties: + type: + type: string + enum: + - prospect + - client + - supplier + last_name: + type: string + description: Individual contact lastname + example: Martin + maxLength: 200 + first_name: + type: string + description: Individual contact firstname + example: Jean + nullable: true + civility: + type: string + description: Civility of individual + example: mr + nullable: true + enum: + - mr + - mrs + - ms + email: + description: Individual email + type: string + format: email + example: jean.martin@personal-example.com + nullable: true + website: + type: string + format: url + description: Individual website + example: http://personal-example.com + nullable: true + phone_number: + type: string + description: Phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Fax number + example: '+33100000000' + nullable: true + reference: + type: string + description: Internal reference + example: IND-1654 + nullable: true + note: + type: string + description: Note on company + example: An handed-written note describing this company + auxiliary_code: + type: string + description: Auxiliary code + example: 0EX11C + nullable: true + social: + $ref: >- + #/paths/~1companies/post/requestBody/content/application~1json/schema/properties/social + rate_category_id: + type: integer + nullable: true + description: Rate category id + example: 9956 + accounting_code_id: + type: integer + nullable: true + description: Accounting code id + example: 12345 + accounting_purchase_code_id: + type: integer + nullable: true + description: Accouting purchase code id + example: 98556 + owner_id: + type: integer + nullable: true + description: Owner of the company (Staff id expected) + example: 112 + minimum: 1 + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + marketing_campaigns_subscriptions: + type: array + items: + type: string + enum: + - sms + - phone + - email + - postal_mail + - custom + description: list of campaign type subcribed + uniqueItems: true + sync: + type: object + properties: + mailchimp: + type: boolean + description: Activate the mailchimp synchronization + nullable: false + mailjet: + type: boolean + description: Activate the mailjet synchronization + nullable: false + simplemail: + type: boolean + description: Activate the simplemail synchronization + nullable: false + created: + description: Date of creation of the individual + type: string + format: date-time + examples: {} + description: '' + /individuals/search: + post: + summary: Search individuals + tags: + - Individuals + description: Search individuals + operationId: search-individuals + parameters: + - $ref: '#/paths/~1individuals/get/parameters/0' + - $ref: '#/paths/~1individuals/get/parameters/1' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + title: Individual filters + type: object + additionalProperties: false + required: + - filters + properties: + filters: + type: object + additionalProperties: false + description: Individual filters + properties: + created: + title: Created at + type: object + description: Filter the individual list by creation date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + updated_at: + title: Updated at + type: object + description: Filter the individual list by last update date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + name: + title: Name + type: string + description: Filter the individual list by name (exact search) + example: Jean + email: + title: Email + type: string + description: Filter the individual list by email (exact search) + example: contact@example.com + type: + title: Type + description: Filter the individual list by type + oneOf: + - type: string + example: prospect + enum: + - prospect + - client + - supplier + - type: array + uniqueItems: true + items: + type: string + example: prospect + enum: + - prospect + - client + - supplier + is_archived: + title: Is archived + type: boolean + description: Filter the individual list by is_archived + example: false + id: + title: Individuals + type: array + items: + type: integer + description: Filter individuals list by ID + example: + - 12 + - 22 + favourite_filter: + $ref: >- + #/components/schemas/ContactFilters/properties/filters/properties/favourite_filter + responses: + '200': + description: Individuals list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1individuals/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + security: + - oauth2: + - individuals.read + /individuals/favourite-filters: + get: + summary: List individuals favourite filters + tags: + - Individuals + description: > + List favourite filters for faster access to specific individuals
> + Favourite filters can be applied directly to individual search endpoints +
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-individual-favourite-filters + parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + security: + - oauth2: + - individuals.read + /individuals/{individualId}/files: + parameters: + - name: individualId + in: path + description: Individual id + schema: + type: integer + required: true + post: + summary: Attach file to an individual + description: >- + Attach file to an individual
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: upload-individual-file + tags: + - Individuals + responses: + '201': + description: File uploaded + content: + application/json: + schema: + $ref: '#/components/schemas/FileOuput' + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + security: + - oauth2: + - individuals.read + - files.write + get: + summary: List directories and files of an individual + description: >- + List directories and files attached to an individual
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-individual-files + tags: + - Individuals + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + security: + - oauth2: + - individuals.read + - files.read + /individuals/{id}/smart-tags: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Individual id + get: + summary: Individual smart tags List + description: Get list of smart tags for an individual + tags: + - Individuals + operationId: get-individual-smart-tags + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + security: + - oauth2: + - individuals.read + - smart-tags.read + post: + summary: Link smart tags to individual + description: Link a list of smart tag to an individual + tags: + - Individuals + operationId: link-individual-smart-tags + responses: + '200': + description: Smart tag linked + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/post/requestBody/content/application~1json/schema + security: + - oauth2: + - smart-tags.write + - individuals.write + /individuals/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Individual id + get: + summary: Get Individual + tags: + - Individuals + parameters: + - $ref: '#/paths/~1individuals/get/parameters/1' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Individual fetched + content: + application/json: + schema: + $ref: >- + #/paths/~1individuals/get/responses/200/content/application~1json/schema/properties/data/items + operationId: get-individual + description: Fetch individual informations + security: + - oauth2: + - individuals.read + put: + summary: Update Individual + tags: + - Individuals + operationId: update-individual + parameters: + - $ref: '#/paths/~1individuals/get/parameters/1' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/verify' + responses: + '200': + description: Individual updated + content: + application/json: + schema: + $ref: >- + #/paths/~1individuals/get/responses/200/content/application~1json/schema/properties/data/items + '204': + $ref: '#/components/schemas/Verify' + description: Update Individual informations + requestBody: + content: + application/json: + schema: + title: Individual + type: object + description: '' + x-examples: {} + properties: + last_name: + type: string + description: Individual contact lastname + example: Martin + maxLength: 200 + first_name: + type: string + description: Individual contact firstname + example: Jean + nullable: true + civility: + type: string + description: Civility of individual + example: mr + nullable: true + enum: + - mr + - mrs + - ms + email: + description: Individual email + type: string + format: email + example: jean.martin@personal-example.com + nullable: true + website: + type: string + format: url + description: Individual website + example: http://personal-example.com + nullable: true + phone_number: + type: string + description: Phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Fax number + example: '+33100000000' + nullable: true + reference: + type: string + description: Internal reference + example: IND-1654 + nullable: true + note: + type: string + description: Note on company + example: An handed-written note describing this company + auxiliary_code: + type: string + description: Auxiliary code + example: 0EX11C + nullable: true + social: + $ref: >- + #/paths/~1companies/post/requestBody/content/application~1json/schema/properties/social + rate_category_id: + type: integer + nullable: true + description: Rate category id + example: 9956 + accounting_code_id: + type: integer + nullable: true + description: Accounting code id + example: 12345 + accounting_purchase_code_id: + type: integer + nullable: true + description: Accouting purchase code id + example: 98556 + owner_id: + type: integer + nullable: true + description: Owner of the individual (Staff id expected) + example: 112 + minimum: 1 + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + marketing_campaigns_subscriptions: + type: array + items: + type: string + enum: + - sms + - phone + - email + - postal_mail + - custom + description: list of campaign type subcribed + uniqueItems: true + sync: + type: object + properties: + mailchimp: + type: boolean + description: Activate the mailchimp synchronization + nullable: false + mailjet: + type: boolean + description: Activate the mailjet synchronization + nullable: false + simplemail: + type: boolean + description: Activate the simplemail synchronization + nullable: false + security: + - oauth2: + - individuals.write + delete: + summary: Delete Individual + tags: + - Individuals + operationId: delete-individual + responses: + '204': + description: Individual deleted + description: Remove a individual + security: + - oauth2: + - individuals.write + /individuals/{individualId}/addresses: + parameters: + - schema: + type: integer + name: individualId + in: path + required: true + description: Individual id + get: + summary: Get individual addresses + tags: + - Individuals + responses: + '200': + description: Addresses list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Address' + required: + - pagination + - data + operationId: get-individual-addresses + security: + - oauth2: + - individuals.read + post: + tags: + - Individuals + parameters: + - $ref: '#/components/parameters/verify' + responses: + '201': + description: Address created + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + '204': + $ref: '#/components/schemas/Verify' + operationId: create-individual-address + summary: Create an individual address + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/AddressCreate' + security: + - oauth2: + - individuals.write + /individuals/{individualId}/addresses/{id}: + parameters: + - schema: + type: integer + name: individualId + in: path + required: true + description: Individual id + - schema: + type: integer + name: id + in: path + required: true + description: Address id + get: + tags: + - Individuals + responses: + '200': + description: Address fetched + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + operationId: get-individual-address + summary: Get an individual address + security: + - oauth2: + - individuals.read + put: + tags: + - Individuals + parameters: + - $ref: '#/components/parameters/verify' + responses: + '200': + description: Address updated + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + '204': + $ref: '#/components/schemas/Verify' + operationId: update-individual-address + summary: Update an individual address + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddressUpdate' + security: + - oauth2: + - individuals.write + delete: + tags: + - Individuals + responses: + '204': + description: Address deleted + operationId: delete-individual-address + summary: Delete an individual address + security: + - oauth2: + - individuals.write + /individuals/{id}/payments: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Individual identifier + post: + summary: Record payment on an individual + description: > + Record a payment on an individual
This route is + available in open beta.
Please note that its specifications may + be subject to significant and breaking changes in the coming + weeks.
+ operationId: create-individual-payment + tags: + - Individuals + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreatePayment' + responses: + '201': + description: Payment created + content: + application/json: + schema: + $ref: '#/components/schemas/Payment' + security: + - oauth2: + - individuals.read + - payments.write + /individuals/{id}/contacts: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Individual id + get: + summary: Get an individual contacts + tags: + - Individuals + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ContactCollectionItem' + required: + - pagination + - data + operationId: get-individual-contacts + parameters: + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/contactEmbed' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - individuals.read + - contacts.read + /individuals/{individualId}/contacts/{contactId}: + parameters: + - schema: + type: integer + name: individualId + in: path + required: true + description: Individual id + - schema: + type: integer + name: contactId + in: path + required: true + description: Contact id + post: + summary: Link contact to individual + tags: + - Individuals + responses: + '200': + description: Contact already link + '201': + description: Contact was link to individual + operationId: link-individual-contact + security: + - oauth2: + - individuals.write + - contacts.read + delete: + summary: Delete link between contact and individual + tags: + - Individuals + responses: + '204': + description: Delete link between contact and individual + operationId: unlink-individual-contact + security: + - oauth2: + - individuals.write + - contacts.read + /individuals/{id}/custom-fields: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Individual id + get: + summary: Individual custom fields List + description: Get list of custom fields for an individual + tags: + - Individuals + operationId: get-individual-custom-fields + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - individuals.read + - custom-fields.read + put: + summary: Update Individual custom fields + description: Update list of custom fields for an individual + tags: + - Individuals + parameters: + - $ref: '#/components/parameters/verify' + operationId: update-individual-custom-fields + responses: + '200': + description: Individual's custom fields updated + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/put/requestBody/content/application~1json/schema + security: + - oauth2: + - custom-fields.write + - individuals.write + /activities/crm: + get: + summary: Get the CRM activity + tags: + - CRM Activities + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CrmActivity' + aggregations: + $ref: '#/components/schemas/CrmActivityAggregations' + required: + - pagination + - data + operationId: get-crm-activities + security: + - oauth2: + - activities.read + parameters: + - $ref: '#/components/parameters/crmActivityOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/crmActivityEmbed' + - $ref: '#/components/parameters/fields' + description: Get the activity + /activities/crm/search: + post: + summary: Search in CRM activity + tags: + - CRM Activities + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CrmActivity' + aggregations: + $ref: '#/components/schemas/CrmActivityAggregations' + required: + - pagination + - data + '206': + description: Partial content if the due_date range is too wide + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CrmActivity' + aggregations: + $ref: '#/components/schemas/CrmActivityAggregations' + required: + - pagination + - data + headers: + X-Partial-Content: + schema: + type: string + description: Detail of the partial content reason + operationId: search-crm-activities + security: + - oauth2: + - activities.read + parameters: + - $ref: '#/components/parameters/crmActivityOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/crmActivityEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CrmActivityFilters' + description: Search the activity + /activities/crm/export: + post: + summary: Export the CRM activity + tags: + - CRM Activities + responses: + '202': + description: Accepted + operationId: export-crm-activities + security: + - oauth2: + - activities.read + parameters: + - $ref: '#/components/parameters/crmActivityOrder' + - $ref: '#/components/parameters/direction' + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ExportParams' + - $ref: '#/components/schemas/CrmActivityFilters' + description: Search the activity + /activities/crm/metas: + get: + summary: Get meta informations for activity + tags: + - CRM Activities + responses: + '200': + description: Context object + content: + application/json: + schema: + $ref: '#/components/schemas/CrmActivityMetas' + operationId: meta-crm-activities + security: + - oauth2: + - activities.read + parameters: [] + description: >- + Get metadata, ie everything you need to build the form (filter labels, + static values aso..) + /custom-activities/{id}: + parameters: + - schema: + type: string + name: id + in: path + required: true + description: Custom Activity ID + get: + summary: Get Custom Activity + tags: + - Custom Activities + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivity' + operationId: get-custom-activities-id + description: Fetch custom activity informations + security: + - oauth2: + - custom-activities.read + put: + summary: Update Custom Activity + operationId: put-custom-activities-id + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivity' + description: Edit a custom activity + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivity' + description: '' + security: + - oauth2: + - custom-activities.write + tags: + - Custom Activities + delete: + summary: Delete Custom Activity + operationId: delete-custom-activities-id + responses: + '204': + description: No Content + description: Delete a custom activity + security: + - oauth2: + - custom-activities.write + tags: + - Custom Activities + /custom-activities: + get: + summary: Customs Activities List + tags: + - Custom Activities + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CustomActivity' + operationId: get-custom-activities + description: Get a list of custom activities + security: + - oauth2: + - custom-activities.read + parameters: + - $ref: '#/components/parameters/direction' + - in: query + name: order + description: The order field + schema: + type: string + example: date + enum: + - date + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + post: + summary: Create Custom Activity + operationId: post-custom-activities + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivity' + description: Create a custom activity + security: + - oauth2: + - custom-activities.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivityCreate' + tags: + - Custom Activities + /custom-activities/search: + post: + summary: Search Custom Activities + operationId: post-custom-activities-search + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/CustomActivity' + pagination: + title: pagination + type: object + description: The pagination + properties: + limit: + type: integer + example: 25 + minimum: 0 + maximum: 100 + total: + type: integer + example: 152 + minimum: 0 + count: + type: integer + example: 25 + minimum: 0 + offset: + anyOf: + - type: integer + minimum: 0 + example: 25 + - type: string + example: WzIwMTQtMDEtMDEsNTk4XQ== + required: + - limit + - total + - count + - offset + description: Search Custom Activities + security: + - oauth2: + - custom-activities.read + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivityFilters' + tags: + - Custom Activities + /custom-activity-types/{id}: + parameters: + - schema: + type: string + name: id + in: path + required: true + description: Custom activity type ID + get: + summary: Get Custom Activity Type + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivityType' + operationId: get-custom-activity-types-id + description: Get a custom activity type + security: + - oauth2: + - custom-activities.read + tags: + - Custom Activities + put: + summary: Update Custom Activity Type + operationId: put-custom-activity-types-id + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivityType' + description: Update a custom activity type + security: + - oauth2: + - custom-activities.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivityType' + tags: + - Custom Activities + /custom-activity-types: + post: + summary: Create Custom Activity Type + operationId: post-custom-activity-types + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivityType' + description: Create a custom activity type + security: + - oauth2: + - custom-activities.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivityType' + tags: + - Custom Activities + get: + summary: Custom Activity Types List + operationId: get-custom-activity-types + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CustomActivityType' + description: Get a list of custom actvity types + security: + - oauth2: + - custom-activities.read + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + tags: + - Custom Activities + /scopes: + get: + summary: Scopes List + tags: + - API Management + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: string + operationId: get-scopes + description: Get list of scopes + security: + - oauth2: + - scopes.read + /scopes/tree: + get: + summary: Get Scopes Tree + tags: + - API Management + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + examples: {} + operationId: get-scopes-tree + description: Get tree of scopes + security: + - oauth2: + - scopes.read + /clients: + post: + summary: Create OAuth client + tags: + - API Management + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ClientWSecret' + operationId: create-clients + description: Create OAuth2 client for API + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ClientCreate' + security: + - oauth2: + - clients.write + get: + summary: List OAuth clients + tags: + - API Management + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Client' + parameters: + - $ref: '#/components/parameters/offset' + operationId: list-clients + description: List the OAuth clients for API + security: + - oauth2: + - clients.read + /clients/{id}: + parameters: + - schema: + type: string + name: id + in: path + required: true + description: OAuth client id + get: + summary: Get OAuth client + tags: + - API Management + responses: + '200': + description: OAuth client + content: + application/json: + schema: + $ref: '#/components/schemas/Client' + operationId: fetch-clients + description: Fetch OAuth 2 client for API + security: + - oauth2: + - clients.read + put: + summary: Update OAuth client + tags: + - API Management + responses: + '200': + description: OAuth client + content: + application/json: + schema: + $ref: '#/components/schemas/Client' + operationId: update-clients + description: Update OAuth2 client for API + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ClientUpdate' + security: + - oauth2: + - clients.write + delete: + summary: Delete OAuth client + tags: + - API Management + responses: + '204': + description: Client deleted + operationId: delete-clients + description: Delete OAuth 2 client for API + security: + - oauth2: + - clients.write + /personal-access-tokens: + get: + deprecated: true + summary: List personal access tokens + tags: + - API Management + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/PersonalAccessTokenItem' + parameters: + - $ref: '#/components/parameters/offset' + operationId: list-personal-access-tokens + description: List the personal access tokens for API + security: + - oauth2: + - access-tokens.read + post: + deprecated: true + summary: Create personal access token + tags: + - API Management + responses: + '201': + description: OK + content: + application/json: + schema: + title: createPersonalAccessTokenItem + allOf: + - $ref: '#/components/schemas/PersonalAccessTokenItem/allOf/0' + - type: object + properties: + name: + type: string + description: The token name + example: My Token 7 + token: + type: string + description: The oauth2 access token + example: >- + eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiI2NzBmYWRlZi01NzZlLTQ3YTEtOTM1OC02Mjc4NDYwNWMwMjQiLCJqdGkiOiI5MWUyYmRhNTI4MTYzMTZjMDJjMzRkNTU3YjI4NzJmYjJkNDRkYTNlMDNiZjY3YTQ1YTA2Yjk2MDgzZjNlZjlkNmU5YzU0ZmEzN2VjMGVlYSIsImlhdCI6MTU5MDQyMDUwOSwibmJmIjoxNTkwNDIwNTA5LCJleHAiOjQ3NDYwOTc3MDksInN1YiI6IjM1NjdlMzA0LTk4YTUtNGI3My1hOGY0LWJlN2Y5NzgwZjU4YiIsInNjb3BlcyI6WyJhbGwiLCJjb21wYW5pZXMiLCJjb21wYW5pZXMucmVhZCIsImNvbXBhbmllcy53cml0ZSIsImFjdGl2aXRpZXMiLCJhY3Rpdml0aWVzLnJlYWQiLCJhY3Rpdml0aWVzLndyaXRlIiwibGlzdGluZ3MiLCJsaXN0aW5ncy5yZWFkIiwibGlzdGluZ3Mud3JpdGUiXSwidXNlclR5cGUiOiJzdGFmZiIsInVzZXJJZCI6MSwiY29ycElkIjoxfQ.e6EhrwGhis1w2LdUdR_3aJMOnHRr3eYdiIExqChb_mXOo843spzOOhP5Gigv21IJIEslF7mqudahoLbWIeq12AAUUapAgA93f9-Pxl1OgKkqzvRHN_Ft_Q_HQhX2BuSKrd6HTFtgL6B-vCi21wL-VRsMuasuLl7KDVqlQxikqJ-59MAYCHXOE9hyLOUc85OFvBWyyJOzX_Ey45IYIG6VuieyuNNm6eibjrmnW47gFsT-1YWVDvDJnLwyPew1MuSwbaVmUBLOe9hfjOJGWYPz5Wlrwo0zwbuiKHaXK8BAJ5pLXMpL8uUuMHuaPiMza-mZETXmNKScUwSdUXwEFEmgoQ + required: + - name + - token + operationId: create-personal-access-tokens + description: Create OAuth2 personal access token for API + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PersonalAccessTokenCreateItem' + security: + - oauth2: + - access-tokens.write + /personal-access-tokens/metas: + get: + deprecated: true + summary: Get meta informations for personal access tokens + tags: + - API Management + responses: + '200': + description: Context object + content: + application/json: + schema: + $ref: '#/components/schemas/PersonalAccessTokenMetas' + operationId: personal-access-tokens-meta + security: + - oauth2: + - access-tokens.read + parameters: [] + description: 'Get metadata, ie everything you need to build the form ' + /personal-access-tokens/{id}: + parameters: + - schema: + type: string + name: id + in: path + required: true + description: Personal access token id + get: + deprecated: true + summary: Get personal access token + tags: + - API Management + responses: + '200': + description: Personal access token + content: + application/json: + schema: + $ref: '#/components/schemas/PersonalAccessTokenItem' + operationId: fetch-personal-access-tokens + description: Fetch OAuth2 personal access token for API + security: + - oauth2: + - access-tokens.read + delete: + deprecated: true + summary: Delete personal access token + tags: + - API Management + responses: + '204': + description: Personal access token deleted + operationId: delete-personal-access-tokens + description: Delete OAuth2 personal access token for API + security: + - oauth2: + - access-tokens.write + /accounting-codes: + get: + summary: Get accounting codes + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/AccountingCode' + required: + - pagination + - data + operationId: get-accounting-codes + tags: + - Accounting + description: Get list of accounting codes + security: + - oauth2: + - accounting-codes.read + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/accountingOrder' + post: + summary: Create an accounting code + responses: + '201': + description: Accounting code created + content: + application/json: + schema: + $ref: '#/components/schemas/AccountingCode' + '400': + description: Code already exists + '403': + description: Module is not accessible + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AccountingCodeCreate' + operationId: create-accounting-code + tags: + - Accounting + description: Create an accounting code + security: + - oauth2: + - accounting-codes.write + /accounting-codes/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: ID of the accounting code + delete: + summary: Delete an accounting code + responses: + '204': + description: Accounting code deleted + '403': + description: Module is not accessible + operationId: delete-accounting-code + tags: + - Accounting + description: Delete an accounting code + security: + - oauth2: + - accounting-codes.write + /accounting-codes/search: + post: + summary: Search accounting codes + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/AccountingCode' + required: + - pagination + - data + application/xml: + schema: + type: object + properties: {} + operationId: search-accounting-codes + tags: + - Accounting + description: Search in list of accouting codes + security: + - oauth2: + - accounting-codes.read + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/accountingOrder' + requestBody: + content: + application/json: + schema: + title: accountingCodeFilters + type: object + description: Accounting code filters + properties: + filters: + type: object + description: Accounting code filters + additionalProperties: false + properties: + views: + type: array + items: + type: string + enum: + - third + - purchase + - sell + - bank + - reconciliation + required: + - filters + description: '' + /accounting-journal/{type}: + parameters: + - schema: + type: string + enum: + - sells + - purchases + - bank + - cashtill + - misc + name: type + in: path + required: true + description: Type of accounting journal to fetch + get: + summary: Get accounting journal + description: Get list of accounting journal + tags: + - Accounting + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/accountingEmbed' + responses: + '200': + description: Accounting journal + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/AccountingJournal' + aggregations: + $ref: '#/components/schemas/AccountingAggregations' + required: + - pagination + - data + operationId: get-accounting-journal + security: + - oauth2: + - accounting-entry.read + /accounting-journal/{type}/search: + parameters: + - schema: + type: string + enum: + - sells + - purchases + - bank + - cashtill + - misc + name: type + in: path + required: true + description: Type of accounting journal to fetch + post: + summary: Search accounting journal + description: Search in list of accounting journal + tags: + - Accounting + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/accountingEmbed' + responses: + '200': + description: Accounting journal + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/AccountingJournal' + aggregations: + $ref: '#/components/schemas/AccountingAggregations' + required: + - pagination + - data + requestBody: + content: + application/json: + schema: + title: Accounting journal filters + type: object + description: Accounting code filters + properties: + filters: + type: object + description: Accounting code filters + additionalProperties: false + properties: + date: + description: Filter by date of accounting entry + type: object + properties: + start: + type: string + format: date + end: + type: string + format: date + accounting_codes: + description: Filter by accounting codes + type: array + items: + type: string + currency: + description: Filter by currency + type: string + include_exported_entries: + description: Include or not, entries already exported + type: boolean + bank_accounts: + description: Filter by bank accounts. Usable only for bank journal + type: array + items: + type: integer + simplified_view_by_client: + type: boolean + description: Filter client entries. Usable only for bank journal + required: + - filters + description: '' + operationId: search-accounting-journal + security: + - oauth2: + - accounting-entry.read + /accounting-journal/{type}/metas: + parameters: + - schema: + type: string + enum: + - sells + - purchases + - bank + - cashtill + - misc + name: type + in: path + required: true + description: Type of accounting journal to fetch + get: + summary: Get meta informations for accounting journal + tags: + - Accounting + responses: + '200': + description: Context object + content: + application/json: + schema: + $ref: '#/components/schemas/AccountingMetas' + operationId: meta-accounting-journal + security: + - oauth2: + - accounting-entry.read + parameters: [] + /accounting-journal/{type}/export: + parameters: + - schema: + type: string + enum: + - sells + - purchases + - bank + - cashtill + - misc + name: type + in: path + required: true + description: Type of accounting journal to fetch + post: + summary: Export accounting journal + description: Export list of accounting journal + tags: + - Accounting + operationId: export-accounting-journal + security: + - oauth2: + - accounting-entry.read + responses: + '202': + description: Accepted + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/AccountingJournalExportParams' + - $ref: >- + #/paths/~1accounting-journal~1%7Btype%7D~1search/post/requestBody/content/application~1json/schema + /taxes: + get: + summary: Taxes list + responses: + '200': + description: Taxes list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + title: Tax with embed + allOf: + - $ref: >- + #/components/schemas/CompanyPreferences/properties/tax + - type: object + properties: + _embed: + nullable: true + allOf: + - title: Embed for Tax + type: object + description: >- + Optional objects added through the embed + parameter + x-examples: {} + additionalProperties: false + properties: + acl: + nullable: true + description: Tax acl + allOf: + - title: Tax ACL + type: object + description: '' + x-examples: {} + properties: + rate_can_be_updated: + type: boolean + nullable: false + description: Tax rate can be updated + example: true + can_be_deleted: + type: boolean + nullable: false + description: Tax can be deleted + example: true + translations: + type: array + nullable: false + description: Tax translations + items: + title: Tax Translations + type: object + description: '' + x-examples: {} + properties: + id: + type: integer + nullable: false + description: Translation id + example: 5 + lang_id: + type: integer + nullable: false + description: Lang id + example: 12 + value: + type: string + nullable: false + description: Translation value + example: The value + required: + - pagination + - data + operationId: get-taxes + tags: + - Taxes + description: Get list of taxes + security: + - oauth2: + - taxes.read + parameters: + - in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - rank + - in: query + name: embed + description: | + Additional object included in the result. + schema: + type: array + items: + type: string + enum: + - acl + - translations + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - in: query + name: include_ecotax + description: Include ecotaxes in the response + schema: + type: boolean + allowEmptyValue: true + post: + summary: Create tax + operationId: create-tax + responses: + '201': + description: Tax created + content: + application/json: + schema: + $ref: >- + #/paths/~1taxes/get/responses/200/content/application~1json/schema/properties/data/items + description: Create a tax + parameters: + - $ref: '#/paths/~1taxes/get/parameters/1' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - taxes.write + requestBody: + content: + application/json: + schema: + title: Tax + type: object + description: '' + x-examples: {} + required: + - rate + - label + properties: + rate: + type: number + description: Tax rate + example: 20 + nullable: false + label: + type: string + description: Tax label + example: TVA + nullable: false + before_sibling: + type: integer + description: > + ID of tax before which to place the tax specified in path + parameter
> if not specified, tax will be placed at + the last rank of the taxes list + nullable: true + example: 57 + tags: + - Taxes + /taxes/search: + post: + summary: Search taxes + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1taxes/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + operationId: search-taxes + tags: + - Taxes + description: Search taxes + security: + - oauth2: + - taxes.read + parameters: + - $ref: '#/paths/~1taxes/get/parameters/0' + - $ref: '#/paths/~1taxes/get/parameters/1' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TaxFilter' + /taxes/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Tax id + get: + summary: Get Tax + tags: + - Taxes + operationId: get-tax + parameters: + - $ref: '#/paths/~1taxes/get/parameters/1' + - $ref: '#/components/parameters/fields' + - $ref: '#/paths/~1taxes/get/parameters/6' + responses: + '200': + description: Tax fetched + content: + application/json: + schema: + $ref: >- + #/paths/~1taxes/get/responses/200/content/application~1json/schema/properties/data/items + description: Fetch tax informations + security: + - oauth2: + - taxes.read + put: + summary: Update tax + tags: + - Taxes + operationId: update-tax + parameters: + - $ref: '#/paths/~1taxes/get/parameters/1' + - $ref: '#/components/parameters/fields' + - $ref: '#/paths/~1taxes/get/parameters/6' + responses: + '200': + description: Tax updated + content: + application/json: + schema: + $ref: >- + #/paths/~1taxes/get/responses/200/content/application~1json/schema/properties/data/items + description: Update Tax informations + requestBody: + content: + application/json: + schema: + title: Tax + type: object + description: '' + x-examples: {} + properties: + rate: + type: number + description: Tax rate + example: 20 + nullable: false + label: + type: string + description: Tax label + example: TVA + nullable: false + before_sibling: + type: integer + description: > + ID of tax before which to place the tax specified in path + parameter
> if not specified, tax will be placed at + the last rank of the taxes list + nullable: true + example: 57 + security: + - oauth2: + - taxes.write + delete: + summary: Delete tax + tags: + - Taxes + operationId: delete-tax + responses: + '204': + description: Tax deleted + description: Remove a tax + security: + - oauth2: + - taxes.write + /taxes/accounting-codes: + get: + summary: Taxes accounting codes list + responses: + '200': + description: Taxes accounting codes list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + title: Accounting codes of taxes + type: object + properties: + id: + type: integer + readOnly: true + description: Id of tax + example: 6 + rate: + type: number + format: float + description: Rate of tax + example: 20 + label: + type: string + description: Label of tax + example: Product TVA + debit_vat: + title: Accounting code + type: object + description: accounting codes applied to debit vat + additionalProperties: false + properties: + collected_vat: + description: Accounting code for collected vat + type: object + additionalProperties: false + properties: + id: + type: integer + nullable: true + description: Accounting code id for collected vat + example: 23 + code: + type: string + nullable: true + description: Accounting code for collected vat + example: '445680' + required: + - id + - code + deductible_vat: + description: Accounting code for deductible vat + type: object + additionalProperties: false + properties: + id: + type: integer + nullable: true + description: Accounting code id for deductible vat + example: 12 + code: + type: string + nullable: true + description: Accounting code for deductible vat + example: '445680' + required: + - id + - code + required: + - collected_vat + - deductible_vat + collection_vat: + title: Accounting code + type: object + description: accounting codes applied to collection vat + additionalProperties: false + properties: + collected_vat: + description: Accounting code for collected vat + type: object + additionalProperties: false + properties: + id: + type: integer + nullable: true + description: Accounting code id for collected vat + example: 12 + code: + type: string + nullable: true + description: Accounting code for collected vat + example: '445680' + required: + - id + - code + deductible_vat: + description: Accounting code for deductible vat + type: object + additionalProperties: false + properties: + id: + type: integer + nullable: true + description: Accounting code id for deductible vat + example: 7 + code: + type: string + nullable: true + description: Accounting code for deductible vat + example: '445680' + required: + - id + - code + required: + - collected_vat + - deductible_vat + required: + - pagination + - data + operationId: get-taxes-accounting-charts + tags: + - Taxes + description: Get list of accounting codes + security: + - oauth2: + - taxes.read + parameters: + - $ref: '#/paths/~1taxes/get/parameters/0' + - $ref: '#/paths/~1taxes/get/parameters/1' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + /taxes/{id}/accounting-codes: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Tax id + get: + summary: Tax accounting codes list + responses: + '200': + description: Tax accounting codes list fetched + content: + application/json: + schema: + $ref: >- + #/paths/~1taxes~1accounting-codes/get/responses/200/content/application~1json/schema/properties/data/items + operationId: get-tax-accounting-chart + tags: + - Taxes + description: Get tax accounting codes + security: + - oauth2: + - taxes.read + parameters: + - $ref: '#/paths/~1taxes/get/parameters/0' + - $ref: '#/paths/~1taxes/get/parameters/1' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + put: + summary: Update tax accounting codes + tags: + - Taxes + operationId: update-tax-accounting-chart + parameters: + - $ref: '#/paths/~1taxes/get/parameters/1' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Tax updated + content: + application/json: + schema: + $ref: >- + #/paths/~1taxes~1accounting-codes/get/responses/200/content/application~1json/schema/properties/data/items + description: Update tax accounting codes + requestBody: + content: + application/json: + schema: + title: Accouting codes of taxes + type: object + properties: + debit_vat: + title: Accounting code + type: object + description: accounting codes applied to debit vat + additionalProperties: false + properties: + collected_vat_id: + type: integer + description: Accounting code for collected vat + example: 44568 + deductible_vat_id: + type: integer + description: Accounting code for deductible vat + example: 44568 + required: + - collected_vat_id + - deductible_vat_id + collection_vat: + title: Accounting code + type: object + description: accounting codes applied to collection vat + additionalProperties: false + properties: + collected_vat_id: + type: integer + description: Accounting code for collected vat + example: 44568 + deductible_vat_id: + type: integer + description: Accounting code for deductible vat + example: 44568 + required: + - collected_vat_id + - deductible_vat_id + security: + - oauth2: + - taxes.write + /rate-categories: + get: + summary: Rate categories list + responses: + '200': + description: Rate categories list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + title: Tax with embed + allOf: + - title: Rate category + type: object + description: '' + x-examples: {} + additionalProperties: false + properties: + id: + type: integer + readOnly: true + description: Id of rate category + example: 6657 + label: + type: string + description: Label of rate category + example: Tarif HT + includes_taxes: + type: boolean + description: Are taxes included + example: true + currency: + type: string + nullable: true + description: Currency + example: EUR + tax_id: + type: integer + nullable: true + description: Id of tax + example: 3822666 + is_default: + type: boolean + description: Is the default rate category + example: false + accounting: + title: Accounting + type: object + nullable: true + description: Accounting codes + x-examples: {} + additionalProperties: false + properties: + accounting_code_id: + type: integer + nullable: true + description: Id of accounting code + example: 1160745 + discount_accounting_code_id: + type: integer + nullable: true + description: Id of discount accounting code + example: 1160745 + default_layouts: + title: Default layouts + type: object + description: Default layouts + x-examples: {} + additionalProperties: false + properties: + estimates: + type: object + description: Estimates layout + properties: + enabled: + type: boolean + description: Indicates if estimates are enabled + example: true + id: + type: integer + nullable: true + description: Layout id + example: 157 + invoices: + type: object + description: Invoices layout + properties: + enabled: + type: boolean + description: Indicates if invoices are enabled + example: true + id: + type: integer + nullable: true + description: Layout id + example: 158 + credit_notes: + type: object + description: Credit notes layout + properties: + enabled: + type: boolean + description: Indicates if credit notes are enabled + example: true + id: + type: integer + nullable: true + description: Layout id + example: 159 + models: + type: object + description: Models layout + properties: + enabled: + type: boolean + description: Indicates if models are enabled + example: true + id: + type: integer + nullable: true + description: Layout id + example: 160 + deliveries: + type: object + description: Deliveries layout + properties: + enabled: + type: boolean + description: Indicates if deliveries are enabled + example: false + id: + type: integer + nullable: true + description: Layout id + example: 161 + orders: + type: object + description: Orders layout + properties: + enabled: + type: boolean + description: Indicates if orders are enabled + example: false + id: + type: integer + nullable: true + description: Layout id + example: 162 + proformas: + type: object + description: Proformas layout + properties: + enabled: + type: boolean + description: Indicates if proformas are enabled + example: false + id: + type: integer + nullable: true + description: Layout id + example: 163 + price: + description: Price rule + oneOf: + - title: Price type value + type: object + description: Price type value + x-examples: {} + additionalProperties: false + properties: + type: + type: string + description: Set an amount per product + enum: + - value + example: value + - title: Price type percent + type: object + description: Price type percent + x-examples: {} + additionalProperties: false + properties: + type: + type: string + description: >- + Apply a percentage to the reference + price of the product + enum: + - percent + example: percent + value: + type: string + description: Price value + example: 10.5 + - type: object + properties: + _embed: + nullable: true + allOf: + - title: Embed for Rate Category + type: object + description: >- + Optional objects added through the embed + parameter + x-examples: {} + additionalProperties: false + properties: + currency: + nullable: true + description: Rate category currency + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/currency + required: + - pagination + - data + operationId: get-rate-categories + tags: + - Rate Categories + description: Get list of rate categories + security: + - oauth2: + - rate-categories.read + parameters: + - in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - in: query + name: embed + description: | + Additional object included in the result. + schema: + type: array + items: + type: string + enum: + - currency + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + post: + summary: Create rate category + operationId: create-rate-category + responses: + '201': + description: Rate category created + content: + application/json: + schema: + $ref: >- + #/paths/~1rate-categories/get/responses/200/content/application~1json/schema/properties/data/items + '402': + description: Quotas limit reached on your current plan + description: Create a rate category + parameters: + - $ref: '#/paths/~1rate-categories/get/parameters/1' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - rate-categories.write + requestBody: + content: + application/json: + schema: + title: Rate category + type: object + description: '' + x-examples: {} + additionalProperties: false + required: + - label + properties: + label: + type: string + description: Label of rate category + example: Tarif HT + includes_taxes: + type: boolean + description: Are taxes included + example: true + default: false + currency: + type: string + nullable: true + description: Currency + example: EUR + tax_id: + type: integer + nullable: true + description: Id of tax + example: 3822666 + accounting_code_id: + type: integer + nullable: true + description: Id of accounting code + example: 1160745 + discount_accounting_code_id: + type: integer + nullable: true + description: Id of discount accounting code + example: 1160745 + default_layouts: + title: Default layouts + type: object + description: Default layouts + x-examples: {} + additionalProperties: false + properties: + estimates: + type: integer + nullable: true + description: Estimates layout id + example: 157 + invoices: + type: integer + nullable: true + description: Invoices layout id + example: 158 + credit_notes: + type: integer + nullable: true + description: Credit notes layout id + example: 159 + models: + type: integer + nullable: true + description: Models layout id + example: 157 + deliveries: + type: integer + nullable: true + description: Deliveries layout id + example: null + orders: + type: integer + nullable: true + description: Orders layout id + example: null + proformas: + type: integer + nullable: true + description: Proformas layout id + example: null + price: + description: Price rule + oneOf: + - title: Price type value + type: object + description: Price type value + x-examples: {} + additionalProperties: false + required: + - type + properties: + type: + type: string + description: Set an amount per product + enum: + - value + example: value + - title: Price type percent + type: object + description: Price type percent + x-examples: {} + additionalProperties: false + required: + - type + - value + properties: + type: + type: string + description: >- + Apply a percentage to the reference price of the + product + enum: + - percent + example: percent + value: + type: string + description: Price value + example: 10.5 + tags: + - Rate Categories + /rate-categories/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Rate category id + get: + summary: Get rate category + tags: + - Rate Categories + operationId: get-rate-category + parameters: + - $ref: '#/paths/~1rate-categories/get/parameters/1' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Rate category fetched + content: + application/json: + schema: + $ref: >- + #/paths/~1rate-categories/get/responses/200/content/application~1json/schema/properties/data/items + description: Fetch a rate category + security: + - oauth2: + - rate-categories.read + put: + summary: Update a rate category + tags: + - Rate Categories + operationId: update-rate-category + parameters: + - $ref: '#/paths/~1rate-categories/get/parameters/1' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Rate category updated + content: + application/json: + schema: + $ref: >- + #/paths/~1rate-categories/get/responses/200/content/application~1json/schema/properties/data/items + description: Update a rate category + requestBody: + content: + application/json: + schema: + title: Rate category + type: object + description: '' + x-examples: {} + additionalProperties: false + properties: + label: + type: string + description: Label of rate category + example: Tarif HT + includes_taxes: + type: boolean + description: Are taxes included + example: true + default: false + currency: + type: string + nullable: true + description: Currency + example: EUR + tax_id: + type: integer + nullable: true + description: Id of tax + example: 3822666 + accounting_code_id: + type: integer + nullable: true + description: Id of accounting code + example: 1160745 + discount_accounting_code_id: + type: integer + nullable: true + description: Id of discount accounting code + example: 1160745 + default_layouts: + $ref: >- + #/paths/~1rate-categories/post/requestBody/content/application~1json/schema/properties/default_layouts + price: + description: Price rule + oneOf: + - $ref: >- + #/paths/~1rate-categories/post/requestBody/content/application~1json/schema/properties/price/oneOf/0 + - $ref: >- + #/paths/~1rate-categories/post/requestBody/content/application~1json/schema/properties/price/oneOf/1 + security: + - oauth2: + - rate-categories.write + delete: + summary: Delete Rate category + tags: + - Rate Categories + operationId: delete-rate-category + responses: + '204': + description: Rate category deleted + description: Remove a rate category + security: + - oauth2: + - rate-categories.write + /payments/methods/{id}: + get: + parameters: + - schema: + type: string + name: id + in: path + required: true + description: Payment method id + summary: Get the payment method + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentMethod' + operationId: get-payment-method + tags: + - Payments + description: List of all payment methods + security: + - oauth2: + - payments.read + /payments/methods: + get: + summary: List of all payment methods + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/PaymentMethod' + required: + - pagination + - data + operationId: get-payment-methods + tags: + - Payments + description: List of all payment methods + security: + - oauth2: + - payments.read + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/paymentMethodOrder' + /payments/methods/search: + post: + summary: Search methods of payment + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/PaymentMethod' + required: + - pagination + - data + requestBody: + content: + application/json: + schema: + type: object + properties: + filters: + type: object + operationId: search-payment-methods + tags: + - Payments + description: Search method of payment + security: + - oauth2: + - payments.read + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/paymentMethodOrder' + /ocr/pur-invoice: + get: + summary: Ocr List - Purchase invoices + operationId: get-ocr-pur-invoice + description: Get list of OCR documents for purchase invoices + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Ocr' + security: + - oauth2: + - ocr.read + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/ocrOrder' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + tags: + - Purchase (OCR) + /ocr/pur-invoice/search: + post: + summary: Search OCR - Purchase invoices + operationId: search-ocr-pur-invoice + description: Search OCR document of purchase invoices + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Ocr' + security: + - oauth2: + - ocr.read + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/ocrOrder' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + tags: + - Purchase (OCR) + requestBody: + content: + application/json: + schema: + type: object + properties: + filters: + type: object + properties: + state: + description: Filter by ocr state + type: array + items: + type: string + enum: + - pending + - processing + - completed + - error + staff_id: + description: filters by staff ids + type: array + items: + type: integer + /ocr/pur-invoice/metas: + get: + summary: Get Metadata for purchase invoice OCR + tags: + - Purchase (OCR) + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/OcrPurInvoiceMetas' + operationId: get-ocr-pur-invoice-metas + description: Get metadata + security: + - oauth2: + - scopes.read + /contacts: + post: + summary: Create a contact + tags: + - Contacts + description: Create a contact + operationId: create-contact + parameters: + - $ref: '#/components/parameters/contactEmbed' + - $ref: '#/components/parameters/verify' + responses: + '201': + description: Contact created + content: + application/json: + schema: + $ref: '#/components/schemas/ContactItem' + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContactCreateItem' + description: '' + security: + - oauth2: + - contacts.write + get: + summary: Contacts List + tags: + - Contacts + description: Get a list of contacts + operationId: get-contacts + parameters: + - $ref: '#/components/parameters/contactOrders' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/contactEmbed' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Contacts list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ContactCollectionItem' + required: + - pagination + - data + security: + - oauth2: + - contacts.read + /contacts/search: + post: + summary: Search contacts + tags: + - Contacts + description: Search contacts + operationId: search-contacts + parameters: + - $ref: '#/components/parameters/contactOrders' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/contactEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContactFilters' + responses: + '200': + description: Contacts list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ContactCollectionItem' + required: + - pagination + - data + security: + - oauth2: + - contacts.read + /contacts/favourite-filters: + get: + summary: List contacts favourite filters + tags: + - Contacts + description: > + List favourite filters for faster access to specific contacts
> + Favourite filters can be applied directly to contact search endpoints +
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-contact-favourite-filters + parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + security: + - oauth2: + - contacts.read + /contacts/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Contact id + get: + summary: Get contact + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/contactEmbed' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Contact fetched + content: + application/json: + schema: + $ref: '#/components/schemas/ContactItem' + operationId: get-contact + description: Fetch contact informations + security: + - oauth2: + - contacts.read + put: + summary: Update contact + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/contactEmbed' + - $ref: '#/components/parameters/verify' + responses: + '200': + description: Contact updated + content: + application/json: + schema: + $ref: '#/components/schemas/ContactItem' + '204': + $ref: '#/components/schemas/Verify' + description: Update contact informations + operationId: update-contact + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContactUpdateItem' + security: + - oauth2: + - contacts.write + delete: + summary: Delete contact + tags: + - Contacts + operationId: delete-contact + responses: + '204': + description: Contact deleted + description: Remove a contact + security: + - oauth2: + - contacts.write + /contacts/{contactId}/addresses: + parameters: + - schema: + type: integer + name: contactId + in: path + required: true + description: Contact id + get: + summary: Get contact addresses + tags: + - Contacts + responses: + '200': + description: Addresses fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Address' + required: + - pagination + - data + operationId: get-contact-addresses + security: + - oauth2: + - contacts.read + post: + tags: + - Contacts + responses: + '201': + description: Address created + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + operationId: create-contact-address + summary: Create a contact address + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/AddressCreate' + security: + - oauth2: + - contacts.write + /contacts/{contactId}/addresses/{id}: + parameters: + - schema: + type: integer + name: contactId + in: path + required: true + description: Contact id + - schema: + type: integer + name: id + in: path + required: true + description: Address id + get: + tags: + - Contacts + responses: + '200': + description: Address fetched + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + operationId: get-contact-address + summary: Get a contact address + security: + - oauth2: + - contacts.read + put: + tags: + - Contacts + responses: + '200': + description: Address updated + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + operationId: update-contact-address + summary: Update a contact address + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddressUpdate' + security: + - oauth2: + - contacts.write + delete: + tags: + - Contacts + responses: + '204': + description: Address deleted + operationId: delete-contact-address + summary: Delete a contact address + security: + - oauth2: + - contacts.write + /contacts/{contactId}/custom-fields: + parameters: + - schema: + type: integer + name: contactId + in: path + required: true + description: Contact id + get: + summary: Contact custom fields List + description: Get list of custom fields for a contact + tags: + - Contacts + operationId: get-contact-custom-fields + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - custom-fields.read + - contacts.read + put: + summary: Update contact custom fields + description: Update list of custom fields for a contact + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/verify' + operationId: update-contact-custom-fields + responses: + '200': + description: Contact's custom fields updated + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/put/requestBody/content/application~1json/schema + security: + - oauth2: + - custom-fields.write + - contacts.write + /contacts/{contactId}/files: + parameters: + - name: contactId + in: path + description: Contact id + schema: + type: integer + required: true + get: + summary: List directories and files of a contact + description: >- + List directories and files attached to a contact
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-contact-files + tags: + - Contacts + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + security: + - oauth2: + - contacts.read + - files.read + post: + summary: Attach file to a contact + description: >- + Attach file to a contact
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: upload-contact-file + tags: + - Contacts + responses: + '201': + description: File uploaded + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + security: + - oauth2: + - contacts.read + - files.write + /contacts/{contactId}/smart-tags: + parameters: + - schema: + type: integer + name: contactId + in: path + required: true + description: Contact id + get: + summary: Contact smart tags List + description: Get list of smart tags for a contact + tags: + - Contacts + operationId: get-contact-smart-tags + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + security: + - oauth2: + - smart-tags.read + - contacts.read + post: + summary: Link smart tags to contact + description: Link a list of smart tag to a contact + tags: + - Contacts + operationId: link-contact-smart-tags + responses: + '200': + description: Smart tag linked + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/post/requestBody/content/application~1json/schema + security: + - oauth2: + - smart-tags.write + - contacts.write + /accounts/conformities: + get: + summary: Retrieve invoicing conformity state + tags: + - Conformities + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicingConformityState' + operationId: get-invoicing-conformity-state + description: Get invoicing conformity state + security: + - oauth2: + - accounts.read + post: + summary: Activate invoice conformity (Definitively) + tags: + - Conformities + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicingConformityState' + '403': + description: Conformity has already been activated + requestBody: + content: + application/json: + schema: + type: object + properties: + confirm_final_change: + description: Confirm definitively activate invoice conformity + type: boolean + enum: + - true + required: + - confirm_final_change + operationId: activate-invoicing-conformity + description: Definitively activate invoice conformity + security: + - oauth2: + - accounts.write + /document-layouts: + get: + summary: Get all document layouts + tags: + - Document Layouts + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/DocumentLayoutsCollection' + operationId: get-document-layouts + description: Get all document layouts + security: + - oauth2: + - document-layouts.read + /accounts/documents: + get: + summary: Get your invoices and credit notes + tags: + - Documents + parameters: + - $ref: '#/components/parameters/accountDocumentOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/AccountDocumentCollection' + operationId: get-accounts-documents + description: Get your invoices and credit notes + security: + - oauth2: + - accounts.read + /opportunities/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: ID of opportunity + get: + summary: Get Opportunity + tags: + - Opportunities + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunityItem' + operationId: get-opportunity + description: Get an opportunity + security: + - oauth2: + - opportunities.read + parameters: + - $ref: '#/components/parameters/opportunityEmbed' + - in: query + name: field + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- + `field[]=address.id`: Return the `id` field of the `address` + object
- `field[]=addresses[].id`: Return the `id` field of + the `address` objects

On endpoints that implement the + `embed` query parameter, if you specified embeds in your call, you + will need to request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ schema: + type: array + items: + type: string + pattern: ^[A-Za-z0-9\.\[\]_-]+$ + put: + summary: Update Opportunity + tags: + - Opportunities + operationId: update-opportunity + responses: + '200': + description: Opportunity updated + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunityItem' + '204': + $ref: '#/components/schemas/Verify' + description: Update Opportunity informations + security: + - oauth2: + - opportunities.write + parameters: + - $ref: '#/components/parameters/opportunityEmbed' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/verify' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunityUpdate' + description: '' + delete: + summary: Delete an Opportunity + tags: + - Opportunities + operationId: delete-opportunity + responses: + '204': + description: Opportunity deleted + description: Delete an opportunity + security: + - oauth2: + - opportunities.write + /opportunities/{id}/step-rank: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: ID of opportunity + patch: + operationId: update-opportunity-rank + description: > + Update opportunity's rank in its pipeline step or in a new step
> + To apply new rank according to the sibling, we consider to be in the + default ascending sort on opportunities rank + summary: Update opportunity's rank and/or step + tags: + - Opportunities + responses: + '204': + description: Opportunity's rank updated + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunityRankUpdate' + security: + - oauth2: + - opportunities.write + /opportunities: + post: + summary: Create an opportunity + tags: + - Opportunities + operationId: create-opportunity + parameters: + - $ref: '#/components/parameters/opportunityEmbed' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/verify' + responses: + '201': + description: Opportunity created + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunityItem' + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunityCreate' + description: '' + security: + - oauth2: + - opportunities.write + description: Create an opportunity + get: + summary: Get Opportunities + tags: + - Opportunities + operationId: get-opportunities + description: Get list of opportunities + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/opportunityEmbedWithAggregations' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/opportunityOrder' + responses: + '200': + description: Opportunities list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/OpportunityItem' + aggregations: + $ref: '#/components/schemas/OpportunitiesAggregations' + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/{opportunityId}/files: + parameters: + - name: opportunityId + in: path + description: Opportunity id + schema: + type: integer + required: true + post: + summary: Attach file to an opportunity + description: >- + Attach file to an opportunity
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: upload-opportunity-file + tags: + - Opportunities + responses: + '201': + description: File uploaded + content: + application/json: + schema: + $ref: '#/components/schemas/FileOuput' + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + security: + - oauth2: + - opportunities.read + - files.write + get: + summary: List directories and files of an opportunity + description: >- + List directories and files attached to an opportunity
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-opportunity-files + tags: + - Opportunities + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + - files.read + /opportunities/search: + post: + summary: Search Opportunities + tags: + - Opportunities + description: Search opportunities + operationId: search-opportunities + parameters: + - $ref: '#/components/parameters/opportunityOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/opportunityEmbedWithAggregations' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunityFilters' + responses: + '200': + description: Opportunities list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/OpportunityItem' + aggregations: + $ref: '#/components/schemas/OpportunitiesAggregations' + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/favourite-filters: + get: + summary: List opportunities favourite filters + tags: + - Opportunities + description: > + List favourite filters for faster access to specific opportunities
> Favourite filters can be applied directly to opportunity search + endpoints
This route is available in open beta.
Please note that its specifications are potentially subject to + significant and breaking changes in the coming weeks.
+ operationId: get-opportunity-favourite-filters + parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + security: + - oauth2: + - opportunities.read + /opportunities/sources: + get: + summary: Get Opportunity Sources + tags: + - Opportunities + operationId: get-opportunity-sources + description: Get list of opportunity sources + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/opportunitySourceOrder' + responses: + '200': + description: Opportunity sources list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/OpportunitySourceCollectionItem' + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/sources/search: + post: + summary: Search Opportunity Sources + tags: + - Opportunities + description: Search opportunity sources + operationId: search-opportunity-sources + parameters: + - $ref: '#/components/parameters/opportunitySourceOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunitySourceFilters' + responses: + '200': + description: Opportunity sources list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/OpportunitySourceCollectionItem' + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/categories/{sourceCategoryId}/sources: + parameters: + - schema: + type: integer + name: sourceCategoryId + in: path + required: true + description: ID of Opportunity Sources Category + get: + summary: Get Opportunity Category Sources + tags: + - Opportunities + operationId: get-opportunity-category-sources + description: Get list of opportunity category sources + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/opportunitySourceOrder' + responses: + '200': + description: Opportunity category sources list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/OpportunitySourceCollectionItem' + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/pipelines: + get: + summary: Get Opportunity Pipelines + tags: + - Opportunities + operationId: get-opportunity-pipelines + description: Get list of opportunity pipelines + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/opportunityPipelineOrder' + responses: + '200': + description: Opportunity pipelines list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/OpportunityPipelineCollectionItem' + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/pipelines/search: + post: + summary: Search Opportunity Pipelines + tags: + - Opportunities + description: Search opportunity pipelines + operationId: search-opportunity-pipelines + parameters: + - $ref: '#/components/parameters/opportunityPipelineOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunityPipelineFilters' + responses: + '200': + description: Opportunity pipelines list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/OpportunityPipelineCollectionItem' + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/pipelines/{pipelineId}/steps: + parameters: + - schema: + type: integer + name: pipelineId + in: path + required: true + description: Pipeline id + get: + summary: Get Opportunity Pipeline Steps + tags: + - Opportunities + operationId: get-opportunity-pipeline-steps + description: Get list of opportunity pipeline steps + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/pipelineStepOrder' + - $ref: '#/components/parameters/pipelineStepEmbed' + responses: + '200': + description: Opportunity pipeline steps list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + title: Step with embed + allOf: + - title: Step + type: object + additionalProperties: false + description: Represents an Opportunity Pipeline Step + x-examples: {} + properties: + id: + type: integer + description: Internal Opportunity Pipeline Step ID + readOnly: true + example: 1 + name: + type: string + description: Opportunity Pipeline Step name + example: New website + probability: + type: integer + description: Opportunity Pipeline Step probability + example: 75 + maximum: 100 + minimum: 0 + rank: + type: integer + description: Pipeline rank in preferences + example: 2 + minimum: 0 + - type: object + properties: + _embed: + nullable: true + allOf: + - title: Embed for Pipeline Steps + type: object + description: >- + Optional objects added through the embed + parameter + x-examples: {} + additionalProperties: false + properties: + opportunities_number: + type: integer + description: Number of opportunities on this step + example: 8 + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/pipelines/{pipelineId}/steps/search: + parameters: + - schema: + type: integer + name: pipelineId + in: path + required: true + description: Pipeline id + post: + summary: Search Opportunity Pipeline Steps + tags: + - Opportunities + description: Search opportunity pipeline steps + operationId: search-opportunity-pipeline-steps + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/pipelineStepOrder' + - $ref: '#/components/parameters/pipelineStepEmbed' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PipelineStepFilters' + responses: + '200': + description: Opportunity pipeline steps list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1opportunities~1pipelines~1%7BpipelineId%7D~1steps/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/steps/search: + post: + summary: Search All Opportunity Pipeline Steps + tags: + - Opportunities + description: Search all opportunity pipeline steps + operationId: search-all-opportunity-pipeline-steps + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/pipelineStepOrder' + - $ref: '#/components/parameters/pipelineStepEmbed' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PipelineStepFilters' + responses: + '200': + description: Opportunity steps list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1opportunities~1pipelines~1%7BpipelineId%7D~1steps/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/categories: + get: + summary: Get Opportunities Categories List + tags: + - Opportunities + operationId: get-opportunities-categories + description: Get list of opportunities categories + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/opportuntiyCategoryEmbed' + responses: + '200': + description: Opportunities Categories List + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/OpportunitiesCategoryItem' + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/categories/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Opportunities category id + - $ref: '#/components/parameters/opportuntiyCategoryEmbed' + get: + tags: + - Opportunities + summary: Get Opportunities Category + responses: + '200': + description: Opportunity category fetched + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunitiesCategoryItem' + operationId: get-opportunities-category + security: + - oauth2: + - opportunities.read + /opportunities/{id}/custom-fields: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Opportunity id + get: + summary: Opportunity custom fields List + description: Get list of custom fields for an opportunity + tags: + - Opportunities + operationId: get-opportunity-custom-fields + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - opportunities.read + - custom-fields.read + put: + summary: Update opportunity custom fields + description: Update list of custom fields for an opportunity + tags: + - Opportunities + parameters: + - $ref: '#/components/parameters/verify' + operationId: update-opportunity-custom-fields + responses: + '200': + description: Opportunity's custom fields updated + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/put/requestBody/content/application~1json/schema + security: + - oauth2: + - custom-fields.write + - opportunities.write + /opportunities/{id}/smart-tags: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Opportunity ID + get: + summary: Opportunity smart-tags list + description: Get list of smart-tags for an opportunity + tags: + - Opportunities + operationId: get-opportunity-smart-tags + responses: + '200': + description: Smart-tags list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + security: + - oauth2: + - opportunities.read + - smart-tags.read + post: + summary: Link smart tags to opportunity + description: Link a list of smart-tags to an opportunity + tags: + - Opportunities + operationId: link-opportunity-smart-tags + responses: + '200': + description: Smart-tags list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/post/requestBody/content/application~1json/schema + security: + - oauth2: + - opportunities.write + - smart-tags.write + /tasks/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Task id + get: + tags: + - Tasks + summary: Get a task + responses: + '200': + description: Task fetched + content: + application/json: + schema: + $ref: '#/components/schemas/TaskItem' + operationId: get-task + security: + - oauth2: + - tasks.read + parameters: + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/taskEmbed' + put: + tags: + - Tasks + summary: Update a task + responses: + '200': + description: Task updated + content: + application/json: + schema: + $ref: '#/components/schemas/TaskItem' + operationId: update-task + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/TaskUpdateItem' + security: + - oauth2: + - tasks.write + parameters: + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/taskEmbed' + delete: + tags: + - Tasks + operationId: delete-task + summary: Delete a task + responses: + '204': + description: Task deleted + security: + - oauth2: + - tasks.write + /tasks: + post: + tags: + - Tasks + summary: Create a task + responses: + '201': + description: Task created + content: + application/json: + schema: + $ref: '#/components/schemas/TaskItem' + operationId: create-task + parameters: + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/taskEmbed' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TaskCreateItem' + security: + - oauth2: + - tasks.write + get: + summary: Tasks List + tags: + - Tasks + description: Get a list of tasks + operationId: get-tasks + parameters: + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/taskEmbed' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Tasks list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/TaskCollectionItem' + required: + - pagination + - data + security: + - oauth2: + - tasks.read + /tasks/search: + post: + summary: Search Tasks + tags: + - Tasks + description: Search tasks + operationId: search-tasks + parameters: + - $ref: '#/components/parameters/taskOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/taskEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TaskFilter' + responses: + '200': + description: Tasks list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/TaskCollectionItem' + required: + - pagination + - data + security: + - oauth2: + - tasks.read + /tasks/labels: + get: + summary: Get tasks labels + description: Get all tasks labels available + tags: + - Tasks + operationId: get-tasks-labels + security: + - oauth2: + - tasks.read + parameters: + - $ref: '#/components/parameters/labelOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Label' + required: + - pagination + - data + /calendar-events/labels: + get: + summary: Get calendar events labels + description: Get all calendar events labels available + tags: + - Calendar + operationId: get-calendar-events-labels + security: + - oauth2: + - calendars.read + parameters: + - $ref: '#/components/parameters/labelOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Label' + required: + - pagination + - data + /staffs/{id}: + parameters: + - in: path + name: id + schema: + type: string + pattern: ^([0-9]+|me)$ + required: true + description: >- + Numerical identifier of the Staff. The logged-in Staff can also be + retrieved by using the "/me" alias + get: + summary: Get Staff + tags: + - Staffs + responses: + '200': + description: >- + Schema content depends on current user level of visibility on + staffs, a restricted version could be return + content: + application/json: + schema: + anyOf: + - title: Staff with embed + allOf: + - $ref: >- + #/components/schemas/Activity/properties/_embed/properties/author + - type: object + properties: + _embed: + nullable: true + allOf: + - title: Embed for Staff + type: object + description: >- + Optional objects added through the embed + parameter + x-examples: {} + additionalProperties: false + properties: + preferences: + description: Staff preferences + allOf: + - title: Staff preferences + type: object + properties: + timezone: + type: string + description: Staff timezone + example: Europe/Paris + format_phone_number: + readOnly: true + type: string + description: display phone number format + enum: + - international + - national + example: international + format_date: + readOnly: true + type: string + description: display date format + example: DD-MM-YYYY + enum: + - MM-DD-YYYY + - DD-MM-YYYY + format_hour: + readOnly: true + type: string + description: display hour format + example: 24 + enum: + - 12 + - 24 + currency: + readOnly: true + type: string + description: current currency for staff + example: EUR + acl: + nullable: true + description: Staff acl + allOf: + - title: Staff ACL + type: object + description: '' + x-examples: {} + properties: + view_companies: + type: boolean + nullable: false + description: Is allowed to view companies + example: true + create_companies: + type: boolean + nullable: false + description: Is allowed to create companies + example: true + update_companies: + type: boolean + nullable: false + description: Is allowed to update companies + example: true + delete_companies: + type: boolean + nullable: false + description: Is allowed to delete companies + example: true + view_individuals: + type: boolean + nullable: false + description: Is allowed to view individuals + example: true + create_individuals: + type: boolean + nullable: false + description: Is allowed to create individuals + example: true + update_individuals: + type: boolean + nullable: false + description: Is allowed to update individuals + example: true + delete_individuals: + type: boolean + nullable: false + description: Is allowed to delete individuals + example: true + view_clients: + type: boolean + nullable: false + description: Is allowed to view clients + example: true + create_clients: + type: boolean + nullable: false + description: Is allowed to create clients + example: true + update_clients: + type: boolean + nullable: false + description: Is allowed to update clients + example: true + delete_clients: + type: boolean + nullable: false + description: Is allowed to delete clients + example: true + view_prospects: + type: boolean + nullable: false + description: Is allowed to view prospects + example: true + create_prospects: + type: boolean + nullable: false + description: Is allowed to create prospects + example: true + update_prospects: + type: boolean + nullable: false + description: Is allowed to update prospects + example: true + delete_prospects: + type: boolean + nullable: false + description: Is allowed to delete prospects + example: true + view_suppliers: + type: boolean + nullable: false + description: Is allowed to view suppliers + example: true + create_suppliers: + type: boolean + nullable: false + description: Is allowed to create suppliers + example: true + update_suppliers: + type: boolean + nullable: false + description: Is allowed to update suppliers + example: true + delete_suppliers: + type: boolean + nullable: false + description: Is allowed to delete suppliers + example: true + view_contacts: + type: boolean + nullable: false + description: Is allowed to view contacts + example: true + create_contacts: + type: boolean + nullable: false + description: Is allowed to create contacts + example: true + update_contacts: + type: boolean + nullable: false + description: Is allowed to update contacts + example: true + delete_contacts: + type: boolean + nullable: false + description: Is allowed to delete contacts + example: true + view_opportunities: + type: boolean + nullable: false + description: Is allowed to view opportunities + example: true + create_opportunities: + type: boolean + nullable: false + description: Is allowed to create opportunities + example: true + update_opportunities: + type: boolean + nullable: false + description: Is allowed to update opportunities + example: true + delete_opportunities: + type: boolean + nullable: false + description: Is allowed to delete opportunities + example: true + view_estimates: + type: boolean + nullable: false + description: Is allowed to view estimates + example: true + create_estimates: + type: boolean + nullable: false + description: Is allowed to create estimates + example: true + update_estimates: + type: boolean + nullable: false + description: Is allowed to update estimates + example: true + delete_estimates: + type: boolean + nullable: false + description: Is allowed to delete estimates + example: true + view_phone_calls: + type: boolean + nullable: false + description: Is allowed to view phone calls + example: true + create_phone_calls: + type: boolean + nullable: false + description: Is allowed to create phone calls + example: true + update_phone_calls: + type: boolean + nullable: false + description: Is allowed to update phone calls + example: true + delete_phone_calls: + type: boolean + nullable: false + description: Is allowed to delete phone calls + example: true + view_document_models: + type: boolean + nullable: false + description: Is allowed to view document models + example: true + create_document_models: + type: boolean + nullable: false + description: Is allowed to create document models + example: true + update_document_models: + type: boolean + nullable: false + description: Is allowed to update document models + example: true + delete_document_models: + type: boolean + nullable: false + description: Is allowed to delete document models + example: true + view_invoices: + type: boolean + nullable: false + description: Is allowed to view invoices + example: true + create_invoices: + type: boolean + nullable: false + description: Is allowed to create invoices + example: true + update_invoices: + type: boolean + nullable: false + description: Is allowed to update invoices + example: true + delete_invoices: + type: boolean + nullable: false + description: Is allowed to delete invoices + example: true + validate_invoices: + type: boolean + nullable: false + description: Is allowed to validate invoices + view_credit_notes: + type: boolean + nullable: false + description: Is allowed to view credit notes + example: true + create_credit_notes: + type: boolean + nullable: false + description: Is allowed to create credit notes + example: true + update_credit_notes: + type: boolean + nullable: false + description: Is allowed to update credit notes + example: true + delete_credit_notes: + type: boolean + nullable: false + description: Is allowed to delete credit notes + example: true + validate_credit_notes: + type: boolean + nullable: false + description: Is allowed to validate credit notes + example: true + view_orders: + type: boolean + nullable: false + description: Is allowed to view orders + example: true + create_orders: + type: boolean + nullable: false + description: Is allowed to create orders + example: true + update_orders: + type: boolean + nullable: false + description: Is allowed to update orders + example: true + delete_orders: + type: boolean + nullable: false + description: Is allowed to delete orders + example: true + view_deliveries: + type: boolean + nullable: false + description: Is allowed to view deliveries + example: true + view_proformas: + type: boolean + nullable: false + description: Is allowed to view proformas + example: true + view_purchase_invoices: + type: boolean + nullable: false + description: Is allowed to view purchase invoices + example: true + view_purchase_credit_notes: + type: boolean + nullable: false + description: Is allowed to view purchase credit notes + example: true + view_purchase_deliveries: + type: boolean + nullable: false + description: Is allowed to view purchase deliveries + example: true + view_purchase_orders: + type: boolean + nullable: false + description: Is allowed to view purchase orders + example: true + view_items: + type: boolean + nullable: false + description: Is allowed to view items + example: true + create_items: + type: boolean + nullable: false + description: Is allowed to create items + example: true + update_items: + type: boolean + nullable: false + description: Is allowed to update items + example: true + delete_items: + type: boolean + nullable: false + description: Is allowed to delete items + example: true + view_payments: + type: boolean + description: Is allowed to view payments + example: true + create_payments: + type: boolean + description: Is allowed to create payments + example: true + update_payments: + type: boolean + description: Is allowed to update payments + example: true + delete_payments: + type: boolean + description: Is allowed to delete payments + example: true + attach_payments: + type: boolean + description: >- + Is allowed to attach existing payments + to objects + example: true + view_subscriptions: + type: boolean + description: Is allowed to view subscriptions + example: true + create_subscriptions: + type: boolean + description: Is allowed to create subscriptions + example: true + update_subscriptions: + type: boolean + description: Is allowed to update subscriptions + example: true + delete_subscriptions: + type: boolean + description: Is allowed to delete subscriptions + example: true + view_cashflow: + type: boolean + nullable: false + description: Is allowed to view cashflow + example: true + create_cashflow: + type: boolean + nullable: false + description: Is allowed to create cashflow + example: true + view_files: + type: boolean + nullable: false + description: Is allowed to view files + example: true + attach_files: + type: boolean + nullable: false + description: Is allowed to attach files + example: true + delete_files: + type: boolean + nullable: false + description: Is allowed to delete files + example: true + view_tickets: + type: boolean + nullable: false + description: Is allowed to view support tickets + example: true + licenses: + nullable: true + description: Staff licenses + type: array + items: + type: object + properties: + id: + type: string + description: License identifier + example: 9998a80a-7b75-4616-96d5-7ccff7ac08e8 + code: + type: string + description: License code + example: pack_all_included + enabled: + type: boolean + description: License is enabled + preferences_calendar: + description: Staff preferences calendar + allOf: + - title: Staff preferences calendar + type: object + description: >- + Optional objects added through the embed + parameter + x-examples: {} + additionalProperties: false + properties: + provider: + readOnly: true + type: string + description: display calendar provider + enum: + - google + - outlook + - sellsy + example: google + - type: object + properties: + profile: + type: object + title: Profile + properties: + id: + type: integer + description: Profile id + example: 6657 + name: + type: string + description: Profile name + example: Collaborator + is_administrator: + type: boolean + description: >- + Indicates if this profile grants + administrator privileges + example: true + required: + - id + - name + - is_administrator + - type: object + properties: + account: + type: object + title: Account details + properties: + id: + type: integer + description: >- + Numerical identifier referencing the + account + example: 97417 + uuid: + type: string + description: Identifier referencing the account + example: 600b851b-e5c9-44f0-a66b-9b8391eff153 + name: + type: string + description: Account's name + example: Sellsy + country_code: + type: string + description: Account's country code + example: FR + minLength: 2 + maxLength: 2 + nullable: true + created: + type: string + format: date-time + description: Created at (format at RFC3339) + example: '2020-01-01T00:00:00+01:00' + required: + - uuid + - id + - name + - created + - type: object + properties: + user: + type: object + title: User details + properties: + uuid: + type: string + description: Identifier referencing the user + example: 600b851b-e5c9-44f0-a66b-9b8391eff153 + required: + - uuid + - type: object + properties: + subscriptions: + title: Staff subscriptions + type: object + description: >- + Optional objects added through the embed + parameter + x-examples: {} + additionalProperties: false + properties: + cashflow: + type: object + nullable: true + properties: + plan: + type: string + description: Cashflow plan + enum: + - TRIAL + - STARTER + - PRO + - BUSINESS + - EXTERNAL + example: TRIAL + trial_end_date: + nullable: true + type: string + format: date-time + description: Trial end date + example: '2022-04-20T23:59:59+02:00' + marketing: + type: object + nullable: true + properties: + plan: + type: string + description: Marketing plan + enum: + - TRIAL + - STARTER + - PRO + - BUSINESS + example: TRIAL + trial_end_date: + nullable: true + type: string + format: date-time + description: Trial end date + example: '2022-04-20T23:59:59+02:00' + service_start_date: + nullable: true + type: string + format: date-time + description: Service start date + example: '2023-09-04T00:00:00+02:00' + service_end_date: + nullable: true + type: string + format: date-time + description: Service end date + example: '2024-09-03T23:59:59+02:00' + options: + type: array + description: Marketing options + items: + type: object + properties: + name: + type: string + example: pack_marketing_dedicated_ip + quantity: + type: integer + example: 4 + metadata: + nullable: true + type: object + properties: + domains: + type: array + description: Marketing domains + items: + type: object + properties: + sender_domain: + type: string + example: example.com + sub_domain: + type: string + example: email + - type: object + properties: + intercom_hash: + title: Intercom hmac + type: object + properties: + web: + type: string + description: Web HMAC + example: >- + 64a4e500f2b08a855f1bc1cf202066c0d18adddf04d23583bf4b5db91778e067 + ios: + type: string + description: iOS HMAC + example: >- + 64a4e500f2b08a855f1bc1cf202066c0d18adddf04d23583bf4b5db91778e067 + android: + type: string + description: Android HMAC + example: >- + 64a4e500f2b08a855f1bc1cf202066c0d18adddf04d23583bf4b5db91778e067 + required: + - web + - ios + - android + - type: object + properties: + features: + title: Staff features + type: object + description: >- + Optional objects added through the embed + parameter + x-examples: {} + additionalProperties: false + properties: + collaborative_sharing_suite: + type: boolean + example: false + map_listing: + type: boolean + example: false + payment_deadlines: + type: boolean + example: false + price_exceptions: + type: boolean + example: false + product_variations: + type: boolean + example: false + promotion_management: + type: boolean + example: false + sepa_export: + type: boolean + example: false + - $ref: '#/components/schemas/StaffRestrictedView' + '404': + description: Staff not found. Depending on your subscription plan + operationId: get-staff + description: Get a staff + security: + - oauth2: + - staffs.read + parameters: + - $ref: '#/paths/~1opportunities~1%7Bid%7D/get/parameters/1' + - $ref: '#/components/parameters/staffItemEmbed' + put: + summary: Update Staff + tags: + - Staffs + operationId: update-staff + description: Update staff informations + responses: + '200': + description: >- + Staff updated, schema content depends on current user level of + visibility on staffs, a restricted version could be return + content: + application/json: + schema: + anyOf: + - title: Staff with embed + allOf: + - $ref: >- + #/components/schemas/Activity/properties/_embed/properties/author + - type: object + properties: + _embed: + nullable: true + allOf: + - $ref: >- + #/paths/~1staffs~1%7Bid%7D/get/responses/200/content/application~1json/schema/anyOf/0/allOf/1/properties/_embed/allOf/0 + - $ref: '#/components/schemas/StaffRestrictedView' + security: + - oauth2: + - staffs.write + parameters: + - $ref: '#/paths/~1opportunities~1%7Bid%7D/get/parameters/1' + - $ref: '#/components/parameters/staffEmbed' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StaffUpdateItem' + /staffs: + post: + tags: + - Staffs + summary: Create a staff + responses: + '201': + description: >- + Staff created, schema content depends on current user level of + visibility on staffs, a restricted version could be return + content: + application/json: + schema: + anyOf: + - $ref: >- + #/paths/~1staffs~1%7Bid%7D/put/responses/200/content/application~1json/schema/anyOf/0 + - $ref: '#/components/schemas/StaffRestrictedView' + operationId: create-staff + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StaffCreateItem' + security: + - oauth2: + - staffs.write + get: + summary: Get Staffs + tags: + - Staffs + responses: + '200': + description: >- + Schema content depends on current user level of visibility on + staffs, a restricted version could be return + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + anyOf: + - $ref: >- + #/paths/~1staffs~1%7Bid%7D/put/responses/200/content/application~1json/schema/anyOf/0 + - $ref: '#/components/schemas/StaffRestrictedView' + required: + - pagination + - data + operationId: get-staffs + description: > + Get a list of staffs.
The response may contain only your own staff, + depending on your subscription plan. + security: + - oauth2: + - staffs.read + parameters: + - $ref: '#/paths/~1opportunities~1%7Bid%7D/get/parameters/1' + - $ref: '#/components/parameters/staffEmbed' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/staffOrder' + /staffs/search: + post: + summary: Search Staffs + tags: + - Staffs + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StaffFilters' + responses: + '200': + description: >- + Schema content depends on current user level of visibility on + staffs, a restricted version could be return + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + anyOf: + - $ref: >- + #/paths/~1staffs~1%7Bid%7D/put/responses/200/content/application~1json/schema/anyOf/0 + - $ref: '#/components/schemas/StaffRestrictedView' + required: + - pagination + - data + operationId: search-staffs + description: > + Search list of staffs.
The response may contain only your own + staff, depending on your subscription plan. + security: + - oauth2: + - staffs.read + parameters: + - $ref: '#/paths/~1opportunities~1%7Bid%7D/get/parameters/1' + - $ref: '#/components/parameters/staffEmbed' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/staffOrder' + /teams: + get: + summary: Team List + tags: + - Staffs + description: Get a list of team + operationId: get-teams + security: + - oauth2: + - staffs.read + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + responses: + '200': + description: Teams list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Team' + required: + - pagination + - data + /profiles: + get: + summary: Profiles list + tags: + - Staffs + description: Get profiles list + operationId: get-profiles + security: + - oauth2: + - staffs.read + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/profileOrder' + - $ref: '#/components/parameters/direction' + responses: + '200': + description: Profiles list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Profiles' + required: + - pagination + - data + /files/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: File identifier + delete: + summary: Delete file + operationId: delete-file + description: > + Delete a file
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Files + security: + - oauth2: + - files.write + responses: + '204': + description: File deleted + patch: + summary: Move a file to a new directory + operationId: move-file + description: > + Move a file to a new directory. The target specified could be as either + a folder or a direct entity, such as "company".
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ tags: + - Files + security: + - oauth2: + - files.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MoveFileInput' + responses: + '204': + description: File moved + '409': + description: Conflict + get: + summary: Get file + operationId: get-file + description: > + Get a file
This route is available in open beta.
Please note that its specifications are potentially subject to + significant and breaking changes in the coming weeks.
+ tags: + - Files + security: + - oauth2: + - files.read + responses: + '200': + description: File fetched + content: + application/json: + schema: + $ref: '#/components/schemas/FileOuput' + /search: + get: + summary: Search + tags: + - Listings + operationId: search + description: Search for objects + security: + - oauth2: + - search.read + parameters: + - $ref: '#/components/parameters/autocomplete' + - $ref: '#/components/parameters/searchType' + - in: query + name: limit + description: >- + The pagination limit. On a default search (without the `type` + parameter), the limit parameter is not used because the limit is + automatically calculated in relation to the relevance of the search + results. + schema: + type: integer + description: Pagination limit + default: 25 + maximum: 100 + minimum: 0 + responses: + '200': + description: Search result + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/SearchResult' + aggregations: + $ref: '#/components/schemas/SearchResultAggregations' + required: + - pagination + - data + - aggregations + /calendar-events: + post: + summary: Create a calendar event + operationId: create-calendar-event + tags: + - Calendar + security: + - oauth2: + - calendars.write + parameters: + - $ref: '#/paths/~1opportunities~1%7Bid%7D/get/parameters/1' + - $ref: '#/components/parameters/calendarEventEmbed' + responses: + '201': + description: Calendar event created + content: + application/json: + schema: + $ref: '#/components/schemas/CalendarEventItem' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CalendarEventCreateItem' + get: + summary: Calendar events List + tags: + - Calendar + description: Get a list of calendar event + operationId: get-calendar-events + parameters: + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/calendarEventEmbed' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Calendar events list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CalendarEventItem' + required: + - pagination + - data + security: + - oauth2: + - calendars.read + /calendar-events/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Calendar event id + get: + summary: Get calendar event + operationId: get-calendar-event + tags: + - Calendar + security: + - oauth2: + - calendars.read + parameters: + - $ref: '#/paths/~1opportunities~1%7Bid%7D/get/parameters/1' + - $ref: '#/components/parameters/calendarEventEmbed' + responses: + '200': + description: Calendar event fetched + content: + application/json: + schema: + $ref: '#/components/schemas/CalendarEventItem' + put: + summary: Update calendar event + operationId: update-calendar-event + tags: + - Calendar + security: + - oauth2: + - calendars.write + responses: + '200': + description: Calendar event updated + content: + application/json: + schema: + $ref: '#/components/schemas/CalendarEventItem' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CalendarEventUpdateItem' + delete: + summary: Delete calendar event + operationId: delete-calendar-event + tags: + - Calendar + security: + - oauth2: + - calendars.write + responses: + '204': + description: Calendar event deleted + /calendar-events/search: + post: + summary: Search calendar event + tags: + - Calendar + description: Search calendar events + operationId: search-calendar-events + parameters: + - $ref: '#/components/parameters/calendarEventOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/calendarEventEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CalendarEventFilters' + responses: + '200': + description: Calendar events list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CalendarEventItem' + required: + - pagination + - data + security: + - oauth2: + - calendars.read + /activities/search: + post: + summary: Search in activity + description: Search in activity + tags: + - Activities + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Activity' + required: + - pagination + - data + operationId: search-activities + security: + - oauth2: + - activities.read + parameters: + - $ref: '#/components/parameters/activityOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/activityEmbed' + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ActivityFilters' + - type: object + description: The activity filters + properties: + filters: + type: object + description: Activity filters + properties: + object_related: + type: object + description: Filter for get the activity related to an object + properties: + type: + type: string + enum: + - company + - individual + - opportunity + - contact + id: + type: integer + minimum: 1 + example: 1029 + /timeline/{type}/{id}/search: + parameters: + - in: path + name: id + description: Object identifier + schema: + type: string + required: true + - in: path + name: type + description: Object type + schema: + type: string + enum: + - individual + - company + - contact + - opportunity + required: true + post: + summary: Timeline search + description: Search in timeline activity of an object + tags: + - Activities + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Activity' + required: + - pagination + - data + operationId: search-timeline + security: + - oauth2: + - activities.read + parameters: + - $ref: '#/components/parameters/activityOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/activityEmbed' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityFilters' + /phone-calls/{id}: + parameters: + - in: path + name: id + schema: + type: integer + required: true + description: Numerical identifier of phone call + get: + summary: Get a phoneCall + tags: + - PhoneCalls + description: Get a phoneCall + operationId: get-phone-call + parameters: + - $ref: '#/components/parameters/phoneCallEmbed' + - $ref: '#/paths/~1opportunities~1%7Bid%7D/get/parameters/1' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/PhoneCallItem' + security: + - oauth2: + - phonecalls.read + put: + summary: Update a phoneCall + tags: + - PhoneCalls + description: Update a phoneCall + operationId: update-phone-call + parameters: + - $ref: '#/components/parameters/phoneCallEmbed' + - $ref: '#/paths/~1opportunities~1%7Bid%7D/get/parameters/1' + responses: + '200': + description: PhoneCall updated + content: + application/json: + schema: + $ref: '#/components/schemas/PhoneCallItem' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PhoneCallUpdateItem' + security: + - oauth2: + - phonecalls.write + delete: + summary: Delete a phoneCall + tags: + - PhoneCalls + operationId: delete-phone-call + responses: + '204': + description: PhoneCall deleted + security: + - oauth2: + - phonecalls.write + /phone-calls: + get: + summary: PhoneCalls List + tags: + - PhoneCalls + description: Get a list of phoneCalls + operationId: get-phone-calls + parameters: + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/phoneCallEmbed' + responses: + '200': + description: Phonecalls list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/PhoneCallCollectionItem' + required: + - pagination + - data + security: + - oauth2: + - phonecalls.read + post: + tags: + - PhoneCalls + summary: Create a phone call + responses: + '201': + description: PhoneCall created + content: + application/json: + schema: + $ref: '#/components/schemas/PhoneCallItem' + operationId: create-phone-call + parameters: + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/phoneCallEmbed' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PhoneCallCreateItem' + security: + - oauth2: + - phonecalls.write + /phone-calls/search: + post: + summary: Search phoneCalls + tags: + - PhoneCalls + description: Search a list of phoneCalls + operationId: search-phone-calls + parameters: + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/phoneCallEmbed' + responses: + '200': + description: Phonecalls list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/PhoneCallCollectionItem' + required: + - pagination + - data + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PhoneCallFilter' + security: + - oauth2: + - phonecalls.read + /emails/{id}: + parameters: + - in: path + name: id + schema: + type: string + required: true + description: identifier of email + get: + summary: Get Email + tags: + - Emails + description: Get an Email + operationId: get-email + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/EmailItem' + '206': + description: Partial content if the email provider is unreachable + content: + application/json: + schema: + $ref: '#/components/schemas/EmailItem' + headers: + X-Mail-Provider-Error: + schema: + $ref: '#/components/schemas/PartialEmailHeader' + security: + - oauth2: + - emails.read + /emails/threads/{id}: + parameters: + - in: path + name: id + schema: + type: string + required: true + description: Identifier of email thread + get: + summary: Get Emails Thread + tags: + - Emails + description: Get the emails list of a thread + operationId: get-email-thread + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: Identifier of email thread + emails: + type: array + items: + $ref: '#/components/schemas/EmailEngineItem' + security: + - oauth2: + - emails.read + /email/authenticate: + parameters: + - in: query + name: email + schema: + type: string + format: email + required: true + description: email whose domain should be authenticated + example: jonh.doe@email.com + get: + operationId: get-email-domain-dns-data + summary: Get email's domain DNS data + description: Get DNS data for the domain extracted from the email + tags: + - Emails + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/EmailAuthenticationItem' + security: + - oauth2: + - emails.settings + /email/domain/validate: + post: + operationId: validate-email-domain-dns + summary: Validate email's DNS + description: Validate an email DNS + tags: + - Emails + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/EmailValidationItem' + '400': + description: Bad Request + security: + - oauth2: + - emails.settings + requestBody: + content: + application/json: + schema: + type: object + description: Email domain validation's request body + properties: + domain: + type: string + description: The email DNS + example: domain.com + /webhooks: + get: + operationId: get-webhooks + summary: Get Webhooks + description: Get list of webhooks + tags: + - Webhooks + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Webhooks list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/WebhookReadItem' + required: + - pagination + - data + security: + - oauth2: + - webhooks.read + post: + operationId: create-webhook + summary: Create Webhook + description: Create a webhook + tags: + - Webhooks + parameters: + - $ref: '#/components/parameters/fields' + responses: + '201': + description: Webhook created + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookReadItem' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookCreateItem' + description: '' + security: + - oauth2: + - webhooks.write + /webhooks/search: + post: + operationId: search-webhooks + summary: Search Webhooks + description: Get list of webhooks + tags: + - Webhooks + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookFilters' + responses: + '200': + description: Webhooks list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/WebhookReadItem' + required: + - pagination + - data + security: + - oauth2: + - webhooks.read + /webhooks/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: ID of webhook + get: + operationId: get-webhook + summary: Get Webhook + description: Get a webhook + tags: + - Webhooks + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookReadItem' + security: + - oauth2: + - webhooks.read + put: + operationId: update-webhook + summary: Update Webhook + description: Update Webhook informations + tags: + - Webhooks + responses: + '200': + description: Webhook updated + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookReadItem' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookEditItem' + description: '' + security: + - oauth2: + - webhooks.write + delete: + operationId: delete-webhook + summary: Delete Webhook + description: Delete a webhook + tags: + - Webhooks + responses: + '204': + description: Webhook deleted + security: + - oauth2: + - webhooks.write + /webhooks/events: + get: + operationId: get-webhook-events + description: List all events' name available for a webhook + summary: List Webhook Events + tags: + - Webhooks + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookEventsList' + security: + - oauth2: + - webhooks.read + /units: + get: + operationId: get-units + description: Get all units of the corp + summary: Get Units + tags: + - Units + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Unit' + required: + - pagination + - data + security: + - oauth2: + - accounts.read + /currencies: + get: + operationId: get-currencies + description: Get all currencies of the corp + summary: Get currencies + tags: + - Currencies + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Currency' + required: + - pagination + - data + security: + - oauth2: + - accounts.read + /countries: + get: + operationId: get-countries + description: Get a list of countries + summary: Get countries list + tags: + - Countries + parameters: + - $ref: '#/components/parameters/language' + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + pagination: + title: pagination + type: object + description: The pagination + properties: + limit: + type: integer + example: 25 + minimum: 0 + total: + type: integer + example: 152 + minimum: 0 + count: + type: integer + example: 25 + minimum: 0 + offset: + anyOf: + - type: integer + minimum: 0 + example: 25 + - type: string + example: WzIwMTQtMDEtMDEsNTk4XQ== + required: + - limit + - total + - count + - offset + data: + type: array + items: + $ref: '#/components/schemas/Country' + required: + - pagination + - data + security: + - oauth2: + - accounts.read + /settings/subscription: + get: + summary: Get my Sellsy subscription informations + description: Retrieve the details of my Sellsy subscription + operationId: get-account-subscription + tags: + - Subscription + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Subscription' + security: + - oauth2: + - accounts.read + /items: + get: + summary: Items List + tags: + - Items + description: Get a list of items + operationId: get-items + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/itemOrder' + responses: + '200': + description: Items list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ItemReadItem' + required: + - pagination + - data + security: + - oauth2: + - items.read + post: + summary: Create an item + tags: + - Items + description: Create an item + operationId: create-item + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/ItemReadItem' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateItem' + security: + - oauth2: + - items.write + /items/search: + post: + summary: Search items + tags: + - Items + description: Search items + operationId: search-items + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/itemOrder' + requestBody: + content: + application/json: + schema: + title: Item filters + type: object + additionalProperties: false + required: + - filters + properties: + filters: + type: object + description: Item filters + properties: + type: + title: Item type + type: array + minItems: 1 + items: + type: string + enum: + - product + - service + - shipping + - packaging + description: Filter items list by item type + example: + - product + - service + favourite_filter: + $ref: >- + #/components/schemas/ContactFilters/properties/filters/properties/favourite_filter + responses: + '200': + description: Items list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ItemReadItem' + required: + - pagination + - data + security: + - oauth2: + - items.read + /items/favourite-filters: + get: + summary: List items favourite filters + tags: + - Items + description: > + List favourite filters for faster access to specific items
> + Favourite filters can be applied directly to item search endpoints
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-item-favourite-filters + parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + security: + - oauth2: + - items.read + /items/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: ID of item + get: + operationId: get-item + summary: Get an item + description: Get an item + tags: + - Items + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ItemReadItem' + security: + - oauth2: + - items.read + put: + operationId: update-item + summary: Update an item + description: Update an item + tags: + - Items + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ItemReadItem' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateItem' + security: + - oauth2: + - items.write + delete: + operationId: delete-item + description: Delete an item + summary: Delete item + tags: + - Items + responses: + '204': + description: Item deleted + security: + - oauth2: + - items.write + /items/{id}/prices: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: ID of item + get: + operationId: get-item-prices + summary: Get item prices + description: Get prices list for an item + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + tags: + - Items + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ItemPrice' + required: + - pagination + - data + security: + - oauth2: + - items.read + put: + operationId: put-item-prices + summary: Update item prices + description: Update prices list for an item + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + tags: + - Items + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ItemInputPrice' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ItemPrice' + required: + - pagination + - data + security: + - oauth2: + - items.write + /items/{id}/declinations: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: ID of item + get: + summary: Declinations List + tags: + - Items + - Declinations + description: Get the declination's list + operationId: get-item-declinations + requestBody: + content: + application/json: + schema: + title: Declinations filters + type: object + additionalProperties: false + properties: + filters: + type: object + description: Declinations filters + properties: + id: + title: Declination id + type: integer + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DeclinationRead' + security: + - oauth2: + - items.read + /staffs/{id}/licenses: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: ID of staff + put: + operationId: put-staff-licenses + summary: Put staff licenses + description: >- + Put staff licenses. Need to pass all existing licenses if you want to + keep licenses. + tags: + - Staffs + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/LicenseRead' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LicenseEdit' + security: + - oauth2: + - accounts.write + delete: + operationId: delete-staff-licenses + summary: Delete licenses + description: Delete staff licenses + tags: + - Staffs + responses: + '204': + description: licenses deleted + security: + - oauth2: + - accounts.write + /quotas: + get: + operationId: get-quotas + description: Get quotas of the corp + summary: Get Quotas + tags: + - Quotas + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Quotas' + security: + - oauth2: + - accounts.read + /batch: + post: + summary: Batch request + tags: + - Batch + description: Create a batch request + operationId: create-batch + requestBody: + content: + text/plain: + schema: + type: string + examples: + example1: + summary: PUT example + value: | + {"uri": "/comments/83", "method": "PUT"} + {"description": "description updated !"} + {"uri": "/comments/84", "method": "PUT"} + {"description": "description updated !"} + example2: + summary: GET example + value: | + {"uri": "/comments", "method": "GET", "query": {"limit": 2}} + {} + {"uri": "/companies", "method": "GET", "query": {"limit": 3}} + {} + example3: + summary: UUID usage + value: > + {"uri": "/companies", "method": "POST", "uuid": + "6e9dbe21-2967-4762-a035-f2d2effbc433"} + + {"type": "client", "name": "Company Name"} + + {"uri": + "/companies/6e9dbe21-2967-4762-a035-f2d2effbc433/addresses", + "method": "POST", "uuid": + "2ca47a9d-b41b-4f3f-b8c4-fafc54380a66"} + + {"name": "Main office", "address_line_1": "57 rue lucile", + "postal_code":"75012", "city": "Paris", "country": "France", + "country_code": "FR"} + + {"uri": + "/companies/6e9dbe21-2967-4762-a035-f2d2effbc433/addresses/2ca47a9d-b41b-4f3f-b8c4-fafc54380a66", + "method": "PUT"} + + {"name": "Main office updated"} + responses: + '207': + description: Batch response + content: + application/json: + schema: + type: object + example: + error: false + responses: + - code: 200 + response: + data: + - id: 83 + owner: + id: 21 + type: staff + related: [] + created: '2021-04-13T15:11:51+02:00' + updated: '2021-04-13T15:11:51+02:00' + description: Lorem ipsum dolor sit amet + parent_id: null + company_id: null + individual_id: null + contact_id: null + - id: 85 + owner: + id: 21 + type: staff + related: [] + created: '2021-04-13T15:39:34+02:00' + updated: '2021-04-13T15:39:34+02:00' + description: Lorem ipsum dolor sit amet + parent_id: null + company_id: null + individual_id: null + contact_id: null + pagination: + limit: 2 + count: 2 + total: 45 + offset: WyI4NSJd + - code: 200 + response: + id: 83 + owner: + id: 21 + type: staff + related: [] + created: '2021-04-13T15:11:51+02:00' + updated: '2021-04-13T15:11:51+02:00' + description: description updated ! + parent_id: null + company_id: null + individual_id: null + contact_id: null + security: + - oauth2: [] + /notifications: + get: + operationId: get-notifications + description: Get notifications related to current user + summary: Get User Notifications + tags: + - Notifications + responses: + '200': + description: Notifications list fetched + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Notification' + pagination: + $ref: '#/components/schemas/Pagination' + required: + - data + - pagination + security: + - oauth2: + - notifications.read + /notifications/search: + post: + operationId: search-notifications + description: Search notifications related to current user + summary: Search User Notifications + tags: + - Notifications + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationFilters' + responses: + '200': + description: Notifications list fetched + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Notification' + pagination: + $ref: '#/components/schemas/Pagination' + required: + - data + - pagination + security: + - oauth2: + - notifications.read + /notifications/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: ID of notification + delete: + operationId: delete-notification + description: Delete a notification + summary: Delete notification + tags: + - Notifications + responses: + '204': + description: notification deleted + security: + - oauth2: + - notifications.write + /notifications/{id}/mark-as-read: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: ID of notification + patch: + operationId: mark-notification-as-read + description: Mark a notification as read or unread + summary: Mark notification as read + tags: + - Notifications + responses: + '204': + description: notification read status updated + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationMarkAsRead' + security: + - oauth2: + - notifications.write + /notifications/mark-all-as-read: + patch: + operationId: mark-all-notifications-as-read + description: Mark all unread notifications as read + summary: Mark all unread notifications as read + tags: + - Notifications + responses: + '204': + description: notifications read status updated + security: + - oauth2: + - notifications.write + /notifications/settings: + get: + summary: Get Notifications settings + tags: + - Notifications + description: Get notifications settings + operationId: get-notifications-settings + responses: + '200': + description: Notification settings response + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationSettingsOutput' + security: + - oauth2: + - notifications.read + put: + summary: Update Notifications settings + tags: + - Notifications + description: Update notifications settings + operationId: put-notifications-settings + responses: + '200': + description: Notification settings updated response + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationSettingsOutput' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationSettingsInput' + security: + - oauth2: + - notifications.write + /invoices/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Invoice ID + - $ref: '#/components/parameters/invoiceOneEmbed' + get: + operationId: get-invoice + summary: Get invoice + description: >- + Get an invoice by ID
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Invoices + responses: + '200': + description: Invoice fetched + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceOne' + security: + - oauth2: + - invoices.read + put: + operationId: update-invoice + summary: Update invoice + description: >- + Update an invoice
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Invoices + security: + - oauth2: + - invoices.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceUpdate' + examples: {} + responses: + '200': + description: Invoice updated + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceOne' + /invoices: + get: + summary: Invoices List + tags: + - Invoices + description: >- + Get a list of invoices
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: get-invoices + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/invoiceEmbed' + - $ref: '#/components/parameters/invoiceOrder' + responses: + '200': + description: Invoices list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Invoice' + required: + - pagination + - data + security: + - oauth2: + - invoices.read + post: + tags: + - Invoices + summary: Create invoice + operationId: create-invoice + description: >- + Create an invoice
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '201': + description: Invoice created + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceOne' + security: + - oauth2: + - invoices.write + parameters: + - $ref: '#/components/parameters/invoiceOneEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceCreate' + examples: {} + description: '' + /invoices/search: + post: + summary: Search invoices + tags: + - Invoices + description: >- + Search invoices
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: search-invoices + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/invoiceEmbed' + - $ref: '#/components/parameters/invoiceOrder' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceFilters' + responses: + '200': + description: Invoices list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Invoice' + required: + - pagination + - data + security: + - oauth2: + - invoices.read + /invoices/favourite-filters: + get: + summary: List invoices favourite filters + tags: + - Invoices + description: > + List favourite filters for faster access to specific invoices
> + Favourite filters can be applied directly to invoice search endpoints +
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-invoice-favourite-filters + parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + security: + - oauth2: + - invoices.read + /invoices/compute: + post: + tags: + - Invoices + summary: Compute an invoice + operationId: compute-invoice + responses: + '200': + description: Invoice computed successfully + headers: {} + content: + application/json: + schema: + type: object + $ref: '#/components/schemas/InvoiceCompute' + description: > + Compute an invoice
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ security: + - oauth2: + - invoices.read + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceCreate' + examples: {} + description: '' + /invoices/{id}/smart-tags: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Invoice ID + get: + summary: Invoice smart-tags list + description: Get list of smart-tags for an invoice + tags: + - Invoices + operationId: get-invoice-smart-tags + responses: + '200': + description: Smart-tags list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + security: + - oauth2: + - invoices.read + - smart-tags.read + post: + summary: Link smart tags to invoice + description: Link a list of smart-tags to an invoice + tags: + - Invoices + operationId: link-invoice-smart-tags + responses: + '200': + description: Smart-tags list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/post/requestBody/content/application~1json/schema + security: + - oauth2: + - invoices.write + - smart-tags.write + /invoices/{id}/validate: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Invoice ID + post: + operationId: validate-invoice + summary: Validate Invoice + description: > + Validate an invoice, which is in draft status, into due status. + After validation, the invoice can no longer be + edited.
You could provide a date if you want to change the + invoice date.
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.

+ tags: + - Invoices + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ValidateInvoice' + responses: + '200': + description: Invoice validated + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceOne' + security: + - oauth2: + - invoices.write + /invoices/{id}/credit-notes: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Invoice id + get: + summary: Get credit notes linked to invoice + description: > + Get list of credit notes linked to an invoice
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.

+ tags: + - Invoices + operationId: get-invoice-credit-notes + responses: + '200': + description: List of credit notes linked to invoice + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CreditNote' + required: + - pagination + - data + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - credit-notes.read + - invoices.read + /invoices/{invoiceId}/credit-notes/{creditNoteId}: + parameters: + - schema: + type: integer + name: invoiceId + in: path + required: true + description: Invoice identifier + - schema: + type: integer + name: creditNoteId + in: path + required: true + description: Credit note identifier + post: + summary: Link a credit note to an invoice + description: > + Link a credit note to an invoice for a specific amount
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ tags: + - Invoices + operationId: link-credit-note-to-invoice + requestBody: + content: + application/json: + schema: + title: Metada related to the link between documents + description: Metada related to the link between documents + additionalProperties: false + type: object + properties: + amount: + type: string + description: Amount to be balanced on the document + example: '12.66' + required: + - amount + responses: + '200': + description: Credit note linked to invoice + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNote' + security: + - oauth2: + - credit-notes.read + - invoices.read + delete: + summary: Unlink a credit note from an invoice + description: > + Unlink a credit note from an invoice
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Invoices + operationId: unlink-invoices-credit-note + responses: + '204': + description: Document unlinked + security: + - oauth2: + - credit-notes.write + - invoices.write + /invoices/{id}/payments: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Invoice ID + get: + summary: Invoice payments list + description: >- + Get list of payments for an invoice
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Invoices + operationId: get-invoice-payments + responses: + '200': + description: Payments list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/InvoicingPayment' + security: + - oauth2: + - invoices.read + - payments.read + /invoices/{documentId}/payments/{paymentId}: + parameters: + - name: documentId + in: path + required: true + schema: + type: integer + description: Invoice identifier + - name: paymentId + in: path + required: true + schema: + type: integer + description: Payment identifier + post: + summary: Link payment to invoice + description: > + Link a payment to an invoice
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Invoices + operationId: link-invoice-payment + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LinkPaymentToDocument' + responses: + '201': + description: Payments list attached to the invoice + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/InvoicingPayment' + security: + - oauth2: + - invoices.write + - payments.write + delete: + summary: Unlink payment from invoice + description: > + Unlink a payment from an invoice
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Invoices + operationId: unlink-invoice-payment + responses: + '204': + description: Payment unlinked + security: + - oauth2: + - invoices.write + - payments.write + /invoices/{documentId}/files: + parameters: + - name: documentId + in: path + description: Document id + schema: + type: integer + required: true + post: + summary: Attach file to an invoice + description: >- + Attach file to an invoice
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: upload-invoice-file + tags: + - Invoices + responses: + '201': + description: File uploaded + content: + application/json: + schema: + $ref: '#/components/schemas/FileOuput' + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + security: + - oauth2: + - invoices.read + - files.write + get: + summary: List directories and files of an invoice + description: >- + List directories and files attached to an invoice
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-invoice-files + tags: + - Invoices + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + security: + - oauth2: + - invoices.read + - files.read + /invoices/{id}/custom-fields: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Invoice id + get: + summary: Invoice custom fields List + description: Get list of custom fields for an invoice + tags: + - Invoices + operationId: get-invoice-custom-fields + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - invoices.read + - custom-fields.read + put: + summary: Update Invoice custom fields + description: Update list of custom fields for an invoice + tags: + - Invoices + parameters: + - $ref: '#/components/parameters/verify' + operationId: update-invoice-custom-fields + responses: + '200': + description: Invoice's custom fields updated + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/put/requestBody/content/application~1json/schema + security: + - oauth2: + - invoices.write + - custom-fields.write + /invoices/{invoiceId}/primes/{primeId}: + parameters: + - schema: + type: integer + name: invoiceId + in: path + required: true + description: Invoice identifier + - schema: + type: integer + name: primeId + in: path + required: true + description: Prime identifier + post: + deprecated: true + operationId: link-invoice-prime + summary: Link prime to invoice + description: > + Link a prime to an invoice
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Invoices + security: + - oauth2: + - primes.read + - invoices.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesDocumentInput' + responses: + '201': + description: Prime linked + '403': + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + delete: + deprecated: true + summary: Unlink a prime from an invoice + description: > + Unlink a prime from an invoice
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Invoices + operationId: unlink-invoice-prime + responses: + '204': + description: Prime unlinked + '403': + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + '404': + description: Requested prime was not applied on the document + security: + - oauth2: + - primes.read + - invoices.write + /invoices/{invoiceId}/discount-incl-taxes/{discountId}: + parameters: + - schema: + type: integer + name: invoiceId + in: path + required: true + description: Invoice identifier + - schema: + type: integer + name: discountId + in: path + required: true + description: Discount including taxes identifier + post: + operationId: link-invoice-discount-incl-taxes + summary: Link discount including taxes to invoice + description: > + Link a discount including taxes to an invoice
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Invoices + security: + - oauth2: + - discount-incl-taxes.read + - invoices.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesDocumentInput' + responses: + '201': + description: Discount linked + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + delete: + summary: Unlink a discount including taxes from an invoice + description: > + Unlink a discount including from an invoice
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Invoices + operationId: unlink-invoice-discount-incl-taxes + responses: + '204': + description: Discount unlinked + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + '404': + description: Requested discount was not applied on the document + security: + - oauth2: + - discount-incl-taxes.read + - invoices.write + /credit-notes/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Credit Note ID + - $ref: '#/components/parameters/creditNoteOneEmbed' + get: + operationId: get-credit-note + summary: Get credit note + description: >- + Get a credit note by ID
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Credit Notes + responses: + '200': + description: Credit note fetched + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNoteOne' + security: + - oauth2: + - credit-notes.read + put: + operationId: update-credit-note + summary: Update credit note + description: > + Update a credit note
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Credit Notes + security: + - oauth2: + - credit-notes.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNoteUpdate' + examples: {} + responses: + '200': + description: Credit note updated + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNoteOne' + /credit-notes: + get: + summary: Credit notes List + tags: + - Credit Notes + description: >- + Get a list of credit notes
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: get-credit-notes + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/creditNoteEmbed' + - $ref: '#/components/parameters/creditNoteOrder' + responses: + '200': + description: Credit notes list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CreditNote' + required: + - pagination + - data + security: + - oauth2: + - credit-notes.read + post: + tags: + - Credit Notes + summary: Create credit note + operationId: create-credit-note + description: > + Create a credit note
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ parameters: + - $ref: '#/components/parameters/creditNoteOneEmbed' + - $ref: '#/components/parameters/fields' + responses: + '201': + description: Credit note created + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNoteOne' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNoteCreate' + examples: {} + description: '' + security: + - oauth2: + - credit-notes.write + /credit-notes/search: + post: + summary: Search credit notes + tags: + - Credit Notes + description: >- + Search credit notes
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: search-credit-notes + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/creditNoteEmbed' + - $ref: '#/components/parameters/creditNoteOrder' + requestBody: + content: + application/json: + schema: + type: object + description: Credit notes filters + $ref: '#/components/schemas/CreditNoteFilters' + responses: + '200': + description: Credit notes list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CreditNote' + required: + - pagination + - data + security: + - oauth2: + - credit-notes.read + /credit-notes/favourite-filters: + get: + summary: List credit-notes favourite filters + tags: + - Credit Notes + description: > + List favourite filters for faster access to specific credit-notes
> Favourite filters can be applied directly to credit-note search + endpoints
This route is available in open beta.
Please note that its specifications are potentially subject to + significant and breaking changes in the coming weeks.
+ operationId: get-credit-note-favourite-filters + parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + security: + - oauth2: + - credit-notes.read + /credit-notes/compute: + post: + tags: + - Credit Notes + summary: Compute a credit note + operationId: compute-credit-note + responses: + '200': + description: Credit note computed successfully + headers: {} + content: + application/json: + schema: + type: object + $ref: '#/components/schemas/CreditNoteCompute' + description: > + Compute a credit note
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ security: + - oauth2: + - credit-notes.read + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNoteCreate' + examples: {} + description: '' + /credit-notes/{id}/smart-tags: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Credit note ID + get: + summary: Credit note smart-tags list + description: Get list of smart-tags for a credit note + tags: + - Credit Notes + operationId: get-credit-note-smart-tags + responses: + '200': + description: Smart-tags list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + security: + - oauth2: + - credit-notes.read + - smart-tags.read + post: + summary: Link smart tags to credit note + description: Link a list of smart-tags to a credit note + tags: + - Credit Notes + operationId: link-credit-note-smart-tags + responses: + '200': + description: Smart-tags list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/post/requestBody/content/application~1json/schema + security: + - oauth2: + - credit-notes.write + - smart-tags.write + /credit-notes/{id}/validate: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Credit note ID + post: + operationId: validate-credit-note + summary: Validate credit note + description: > + Validate a credit note in status draft. Update the status to due. You + could provide a date if you want to change the credit note date.
+ Credit note can not be updated after validation.
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ tags: + - Credit Notes + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNoteValidate' + responses: + '200': + description: Credit note validated + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNoteOne' + security: + - oauth2: + - credit-notes.write + /credit-notes/{id}/custom-fields: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Credit note id + get: + summary: Credit note custom fields List + description: Get list of custom fields for a credit note + tags: + - Credit Notes + operationId: get-credit-note-custom-fields + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - credit-notes.read + - custom-fields.read + put: + summary: Update credit note custom fields + description: Update list of custom fields for a credit note + tags: + - Credit Notes + parameters: + - $ref: '#/components/parameters/verify' + operationId: update-credit-note-custom-fields + responses: + '200': + description: Credit note's custom fields updated + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/put/requestBody/content/application~1json/schema + security: + - oauth2: + - credit-notes.write + - custom-fields.write + /credit-notes/{id}/invoices: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Credit note id + get: + summary: Get invoices linked to credit note + description: > + Get list of invoices linked to a credit note
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Credit Notes + operationId: get-credit-note-invoices + responses: + '200': + description: List of invoices linked to credit note + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Invoice' + required: + - pagination + - data + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - credit-notes.read + - invoices.read + /credit-notes/{creditNoteId}/invoices/{invoiceId}: + parameters: + - schema: + type: integer + in: path + name: creditNoteId + required: true + description: Credit note identifier + - schema: + type: integer + in: path + name: invoiceId + required: true + description: Invoice identifier + post: + summary: Link an invoice to a credit note + description: > + Link an invoice to a credit note for a specific amount
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ tags: + - Credit Notes + operationId: link-invoice-to-credit-note + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1invoices~1%7BinvoiceId%7D~1credit-notes~1%7BcreditNoteId%7D/post/requestBody/content/application~1json/schema + responses: + '200': + description: Invoice linked to credit note + content: + application/json: + schema: + $ref: '#/components/schemas/Invoice' + security: + - oauth2: + - credit-notes.read + - invoices.read + delete: + summary: Unlink an invoice from a credit note + description: > + Unlink an invoice from a credit note
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Credit Notes + operationId: unlink-credit-note-invoices + responses: + '204': + description: Document unlinked + security: + - oauth2: + - credit-notes.write + - invoices.write + /credit-notes/{id}/payments: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Credit note ID + get: + summary: Credit note payments list + description: >- + Get list of payments for an credit note
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Credit Notes + operationId: get-credit-note-payments + responses: + '200': + description: Payments list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/InvoicingPayment' + security: + - oauth2: + - credit-notes.read + - payments.read + /credit-notes/{documentId}/payments/{paymentId}: + parameters: + - name: documentId + in: path + required: true + schema: + type: integer + description: Credit note identifier + - name: paymentId + in: path + required: true + schema: + type: integer + description: Payment identifier + post: + summary: Link payment to credit note + description: > + Link a payment to a credit note
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Credit Notes + operationId: link-credit-note-payment + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LinkPaymentToDocument' + responses: + '201': + description: Payments list attached to the credit note + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/InvoicingPayment' + security: + - oauth2: + - credit-notes.write + - payments.write + delete: + summary: Unlink payment from credit note + description: > + Unlink a payment from a credit note
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Credit Notes + operationId: unlink-credit-note-payment + responses: + '204': + description: Payment unlinked + security: + - oauth2: + - credit-notes.write + - payments.write + /credit-notes/{documentId}/files: + parameters: + - name: documentId + in: path + description: Document id + schema: + type: integer + required: true + post: + summary: Attach file to an credit note + description: >- + Attach file to an credit note
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: upload-credit-note-file + tags: + - Credit Notes + responses: + '201': + description: File uploaded + content: + application/json: + schema: + $ref: '#/components/schemas/FileOuput' + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + security: + - oauth2: + - credit-notes.read + - files.write + get: + summary: List directories and files of a credit note + description: >- + List directories and files attached to an credit note
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-credit-note-files + tags: + - Credit Notes + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + security: + - oauth2: + - credit-notes.read + - files.read + /credit-notes/{creditNoteId}/primes/{primeId}: + parameters: + - schema: + type: integer + name: creditNoteId + in: path + required: true + description: Credit note identifier + - schema: + type: integer + name: primeId + in: path + required: true + description: Prime identifier + post: + deprecated: true + operationId: link-credit-note-prime + summary: Link prime to credit note + description: > + Link a prime to a credit note
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Credit Notes + security: + - oauth2: + - primes.read + - credit-notes.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesDocumentInput' + responses: + '201': + description: Prime linked + '403': + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + delete: + deprecated: true + summary: Unlink a prime from a credit note + description: > + Unlink a prime from a credit note
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Credit Notes + operationId: unlink-credit-note-prime + responses: + '204': + description: Prime unlinked + '403': + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + '404': + description: Requested prime was not applied on the document + security: + - oauth2: + - primes.read + - credit-notes.write + /credit-notes/{creditNoteId}/discount-incl-taxes/{discountId}: + parameters: + - schema: + type: integer + name: creditNoteId + in: path + required: true + description: Credit note identifier + - schema: + type: integer + name: discountId + in: path + required: true + description: Discount including taxes identifier + post: + operationId: link-credit-note-discount-incl-taxes + summary: Link discount including taxes to credit note + description: > + Link a discount including taxes to a credit note
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ tags: + - Credit Notes + security: + - oauth2: + - discount-incl-taxes.read + - credit-notes.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesDocumentInput' + responses: + '201': + description: Discount linked + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + delete: + summary: Unlink a discount including taxes from a credit note + description: > + Unlink a discount including taxes from a credit note
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ tags: + - Credit Notes + operationId: unlink-credit-note-discount-incl-taxes + responses: + '204': + description: Discount unlinked + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + '404': + description: Requested discount was not applied on the document + security: + - oauth2: + - discount-incl-taxes.read + - credit-notes.write + /payments/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Payment identifier + - in: query + name: embed + description: Optional objects added through the embed parameter + schema: + type: array + items: + type: string + enum: + - acl + - company + - individual + get: + summary: Get a payment + description: > + Get a payment
This route is available + in open beta.
Please note that its specifications may be + subject to significant and breaking changes in the coming weeks.
+ tags: + - Payments + operationId: get-payment + responses: + '200': + description: Payment fetched + content: + application/json: + schema: + $ref: '#/components/schemas/Payment' + security: + - oauth2: + - payments.read + delete: + summary: Delete payment + description: > + Delete a payment that is not linked to a document
This route is available in open beta.
Please note + that its specifications may be subject to significant and breaking + changes in the coming weeks.
+ tags: + - Payments + operationId: delete-payment + responses: + '204': + description: Payment deleted + security: + - oauth2: + - payments.write + /payments: + get: + summary: Get payments + description: > + Get a list of payments
This route is available + in open beta.
Please note that its specifications may be + subject to significant and breaking changes in the coming weeks.
+ tags: + - Payments + operationId: get-payments + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/paths/~1payments~1%7Bid%7D/parameters/1' + - in: query + name: order + description: The order field + schema: + type: string + example: paid_date + enum: + - id + - paid_date + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Payment' + required: + - pagination + - data + security: + - oauth2: + - payments.read + /payments/search: + post: + summary: Search payments + description: > + Search through payments
This route is available + in open beta.
Please note that its specifications may be + subject to significant and breaking changes in the coming weeks.
+ tags: + - Payments + operationId: search-payments + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/paths/~1payments~1%7Bid%7D/parameters/1' + - $ref: '#/paths/~1payments/get/parameters/5' + requestBody: + content: + application/json: + schema: + title: Payments filters + type: object + description: Payments filters + properties: + filters: + type: object + description: Payments filters + properties: + status: + title: Status + description: Filter payments by status + example: + - pending + - confirmed + type: array + items: + type: string + enum: + - pending + - confirmed + - rejected + - failed + - refund + related_objects: + title: Related Objects + type: array + items: + type: object + properties: + type: + type: string + enum: + - company + - individual + example: company + id: + type: integer + example: 22 + required: + - filters + responses: + '200': + description: Payments list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Payment' + required: + - pagination + - data + security: + - oauth2: + - payments.read + /settings/email: + get: + summary: Get email settings + tags: + - Emails + description: Get email settings + operationId: get-email-settings + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/EmailSettings' + security: + - oauth2: + - emails.settings + put: + summary: Update email settings + tags: + - Emails + description: Update email settings + operationId: put-email-settings + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/EmailSettings' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EmailSettingsInput' + security: + - oauth2: + - emails.settings + /settings/email/tags: + get: + summary: Get available tags for email signature settings + tags: + - Emails + description: Get available tags for email signature settings + operationId: get-email-signature-tags + responses: + '200': + description: '' + content: + application/json: + schema: + title: List of email tags + description: >- + List of available email tags to insert in email signature + content + type: array + items: + type: object + properties: + key: + type: string + description: Tag identifier to insert in your email signature + example: '%{account.name}%' + description: + type: string + description: Tag's meaning + example: Current account's name + security: + - oauth2: + - emails.settings + /fiscal-years: + get: + summary: Get fiscal years + tags: + - Fiscal Year + description: Get list of fiscal years of account + operationId: get-fiscal-years + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/FiscalYear' + required: + - pagination + - data + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - accounts.read + /languages: + get: + summary: Get the account languages + tags: + - Language + description: Get the account languages + operationId: get-languages + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/LanguageCollection' + security: + - oauth2: + - accounts.read + /directories: + post: + summary: Create directory + description: >- + Create a new directory and attach it to the provided parent entity
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: create-directory + tags: + - Files + responses: + '201': + description: Directory created + content: + application/json: + schema: + title: Directory schema + type: object + description: Directory schema + properties: + id: + type: integer + description: Directory ID + readOnly: true + example: 1 + type: + type: string + description: Directory type + enum: + - directory + name: + type: string + description: Directory name + example: business-cards + minLength: 1 + maxLength: 30 + description: + type: string + nullable: true + description: Directory description + maxLength: 160 + created: + type: string + description: Creation date of directory + format: date-time + example: '1970-01-01T00:00:00+00:00' + breadcrumbs: + description: >- + Current directory location. The first element is the + direct parent of the directory + type: array + minItems: 1 + items: + $ref: >- + #/components/schemas/FileOuput/properties/breadcrumbs/items + '404': + description: Parent not found + '409': + description: Directory already exists + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateDirectory' + security: + - oauth2: + - files.write + /directories/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Id of directory + get: + summary: Get directory + description: > + Fetch directory informations
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Files + parameters: + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Directory fetched + content: + application/json: + schema: + $ref: >- + #/paths/~1directories/post/responses/201/content/application~1json/schema + operationId: get-directory + security: + - oauth2: + - files.read + put: + summary: Update directory + description: >- + Update a directory
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: update-directory + tags: + - Files + responses: + '200': + description: Directory updated + content: + application/json: + schema: + $ref: >- + #/paths/~1directories/post/responses/201/content/application~1json/schema + '403': + description: Cannot modify this directory + '409': + description: Directory already exists + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateDirectory' + security: + - oauth2: + - files.write + delete: + summary: Delete the directory and all items attached + description: > + Delete the directory and all items attached
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: delete-directory + tags: + - Files + responses: + '204': + description: Directory deleted + '403': + description: Cannot delete this directory + security: + - oauth2: + - files.write + /directories/{id}/files: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Id of directory + get: + summary: List directories and files in a directory + description: >- + List directories and files belonging to a directory
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-directory-files + tags: + - Files + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - files.read + post: + summary: Attach file to a directory + description: >- + Attach file to a directory
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: upload-directory-file + tags: + - Files + responses: + '201': + description: File uploaded + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + security: + - oauth2: + - files.write + /subscriptions: + post: + tags: + - Subscriptions + summary: Create a subscription + operationId: create-subscription + responses: + '201': + description: Subscription created + headers: {} + content: + application/json: + schema: + type: object + $ref: '#/components/schemas/SubscriptionOne' + description: > + Create a subscription
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ security: + - oauth2: + - subscriptions.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionCreate' + description: '' + get: + tags: + - Subscriptions + summary: Fetch list of subscriptions + description: > + Fetch list of subscriptions
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: get-subscriptions + responses: + '200': + description: Fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/SubscriptionOne' + required: + - pagination + - data + security: + - oauth2: + - subscriptions.read + /subscriptions/search: + post: + tags: + - Subscriptions + summary: Search subscriptions + description: > + Search subscriptions
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: search-subscriptions + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/order' + requestBody: + content: + application/json: + schema: + type: object + properties: + filters: + title: Subscription filters + type: object + description: Subscription filters + properties: + related_objects: + type: array + items: + title: Related + description: Objects linked to the subscription + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + required: + - id + - type + required: + - filters + responses: + '200': + description: Fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/SubscriptionOne' + required: + - pagination + - data + security: + - oauth2: + - subscriptions.read + /subscriptions/{id}: + parameters: + - name: id + in: path + schema: + type: integer + required: true + description: Subscription identifier + delete: + summary: Delete a subscription + operationId: delete-subscription + description: > + Delete a subscription and all future payment installments
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Subscriptions + security: + - oauth2: + - subscriptions.write + responses: + '204': + description: Subscription deleted + get: + tags: + - Subscriptions + summary: Get subscription + description: > + Get a subscription
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: get-subscription + responses: + '200': + description: Fetched + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionOne' + security: + - oauth2: + - subscriptions.read + /subscriptions/{id}/payment-installments: + parameters: + - name: id + in: path + schema: + type: integer + required: true + description: Subscription identifier + patch: + tags: + - Subscriptions + summary: Add payment installment for a subscription + operationId: patch-subscription-payment-installment + responses: + '201': + description: Payment installment added for subscription + '422': + description: >- + It is not allowed to add payment installment if the next calculated + date for the 1st payment installment is not in the future. The + subscription is considered completed. + description: > + Allows to add a certain number of payment installment to an existing + subscription. The new payment installment will take the frequency + defined on the subscription and will follow the date of the last + existing payment installment
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ security: + - oauth2: + - subscriptions.write + requestBody: + content: + application/json: + schema: + title: Add deadlines for a subscription + type: object + properties: + count: + type: integer + description: Number of deadlines to add to the subscription + example: 2 + minimum: 1 + required: + - count + description: '' + /subscriptions/payment-installments: + get: + operationId: get-subscriptions-payment-installments + summary: Get all payment installments of subscriptions + description: > + Get all payment installments of subscriptions
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ tags: + - Subscriptions + parameters: + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + title: Payment installment + type: object + properties: + id: + type: integer + description: Id of payment installment + example: 2 + status: + type: string + description: Status of payment installment + enum: + - generated + - scheduled + - in_progress + - failed + example: generated + subscription_id: + type: integer + description: Id of subscription + example: 23 + date: + type: string + format: date + description: Date of invoice generation + example: '2023-01-01' + sending: + type: object + description: Email sending configuration + properties: + mode: + description: >- + Once the invoice has been generated, from + subscription payment install, if sending mode is + automatic, email will be sent to all recipients, + otherwise, if it's manual, email should be send + manually + enum: + - automatic + - manual + example: manual + model: + type: object + description: >- + Document to use as a template for subscription + payment installment + properties: + type: + type: string + description: Template type + enum: + - model + example: model + id: + type: integer + description: Template id + example: 5 + related: + description: | + Objects linked to the subscription + type: array + minItems: 1 + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + document: + nullable: true + type: object + description: Generated document, even if it's deleted + properties: + type: + type: string + description: Type of document + enum: + - invoice + example: invoice + id: + type: integer + description: Id of document + example: 56 + required: + - pagination + - data + security: + - oauth2: + - subscriptions.read + /subscriptions/payment-installments/search: + post: + operationId: search-subscriptions-payment-installments + summary: Search payment installments of subscriptions + description: > + Search payment installments of subscriptions
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ tags: + - Subscriptions + parameters: + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + title: Payment installment filters + type: object + description: Payment installment filters + properties: + filters: + type: object + description: Payment installment filters + required: + - filters + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1subscriptions~1payment-installments/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + security: + - oauth2: + - subscriptions.read + /documents/models: + post: + summary: Create a document model + description: > + Create a document model
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: create-model + tags: + - Document Models + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateModel' + responses: + '201': + description: Document model created + content: + application/json: + schema: + $ref: '#/components/schemas/ModelOne' + security: + - oauth2: + - models.write + get: + summary: List document models + description: > + Fetch a list of document models
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-models + tags: + - Document Models + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Model' + security: + - oauth2: + - models.read + /documents/models/{id}: + parameters: + - name: id + in: path + schema: + type: integer + required: true + description: Model identifier + get: + summary: Get document model + description: > + Get a document model
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: get-model + tags: + - Document Models + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ModelOne' + security: + - oauth2: + - models.read + put: + summary: Update document model + description: > + Update a document model
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: update-model + tags: + - Document Models + requestBody: + content: + application/json: + schema: + title: Update model + type: object + additionalProperties: false + properties: + number: + type: string + description: Name of model + maxLength: 100 + example: model#1 + subject: + type: string + description: > + Subject of model

Note: Date variables, called + "tag", can be integrated in this property, they will be + replaced by the real value when converting the document + template to a document
> Refer to endpoint's description + of list available tags for document model. + example: Subject + currency: + type: string + description: Currency code of the model + example: EUR + discount: + type: object + description: Global discount applied on the model + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + type: string + description: value of discount + example: '25.20' + owner_id: + type: integer + description: Invoice's owner (staff id) + example: 145 + minimum: 1 + rows: + type: array + nullable: true + items: + $ref: '#/components/schemas/CreateModel/properties/rows/items' + responses: + '200': + description: Updated + content: + application/json: + schema: + $ref: '#/components/schemas/ModelOne' + security: + - oauth2: + - models.write + /documents/models/search: + post: + summary: Search document models + tags: + - Document Models + description: Search document models + operationId: search-models + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/ModelOrder' + requestBody: + content: + application/json: + schema: + title: Models filters + type: object + description: Models filters + properties: + filters: + type: object + description: Models filters + properties: + created: + title: Created at + type: object + description: Filter the document models list by creation date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + owners: + title: Owners + type: array + description: Filter the document models list by owner (staff id) + items: + type: integer + assigned_staff_ids: + title: Assigned staffs + type: array + description: >- + Filter the document models list by assigned staffs + (staff id) + items: + type: integer + number: + title: number + type: string + description: Filter the document models list by number (exact search) + example: FAC-0001 + currency: + title: currency + type: string + description: Currency code (exact search) + example: EUR + required: + - filters + responses: + '200': + description: Model list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Model' + required: + - pagination + - data + security: + - oauth2: + - models.read + /documents/models/{id}/convert: + parameters: + - name: id + in: path + schema: + type: integer + required: true + description: Document model identifier + post: + summary: Convert a document model into a document + description: > + Build the request body expected by document create endpoint with + prefilled properties from the document model
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: convert-model + tags: + - Document Models + requestBody: + content: + application/json: + schema: + title: Convert model + type: object + additionalProperties: false + properties: + doctype: + type: string + description: Type of document to generate + example: invoice + enum: + - estimate + - invoice + - credit-note + - order + related: + type: array + description: >- + Objects that should be linked to the document to be + generated + items: + type: object + properties: + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - opportunity + id: + type: integer + description: Related identifier + example: 7 + refresh_rows_content: + type: boolean + description: >- + Update the price of the rows product, service, shipping and + packaging + example: true + required: + - doctype + - related + - refresh_rows_content + responses: + '200': + description: ok + content: + application/json: + schema: + title: Document body + type: object + properties: + parent: + type: object + properties: + type: + type: string + description: Parent type + example: model + enum: + - model + id: + type: integer + description: Parent identifier + example: 7 + subject: + type: string + description: Subject of document + example: Subject of document + currency: + type: string + description: Currency code of the model + example: EUR + discount: + type: object + description: Global discount applied on the model + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + type: string + description: value of discount + example: '25.20' + related: + description: Objects linked to the document + type: array + minItems: 1 + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - opportunity + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + rows: + type: array + nullable: true + items: + $ref: >- + #/components/schemas/EstimateCompute/properties/rows/items + security: + - oauth2: + - models.read + /documents/models/tags: + get: + summary: Get available tags for document models + tags: + - Document Models + description: > + Get available tags that could be used on a document model, as variable, + that will be replaced when compute a concrete document.
Tag could be + used on subject and row's descriptions
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-model-tags + responses: + '200': + description: '' + content: + application/json: + schema: + title: List of document models tags + description: List of available tags to insert in document models content + type: array + items: + anyOf: + - type: object + title: Common tag + properties: + key: + type: string + description: Tag identifier to insert + example: '%{day.number}%' + description: + type: string + description: Tag's meaning + example: Current day number + - type: object + title: Customizable tag + properties: + key: + type: string + description: Tag identifier + example: '%{custom(direction.iterations.interval).format}%' + description: + type: string + description: Tag's meaning + example: Customizable date tag + meta: + description: > + We offer a customizable date tag format in the + following form: + %{custom(direction.iterations.interval).format}%.
This + tag allows for customization in the following ways: +
    +
  • Define the projected date: +
    • direction define if we want the past or the future
    • +
    • iterations define the number of times the interval is called
    • +
    • interval define the date interval to apply on date projection
  • +
  • Output format +
    • format define the output format to apply on the projected date
  • +

Using this tag format allows for the + creation of dynamic content that incorporates dates + and times.
> Example: + %{custom(plus.2.day).day.name}% to + return the name of the day in 2 days
> Example: + %{custom(minus.1.month).last_day.name}% + to return the name of the last day of the previous + month + type: object + properties: + direction: + type: array + description: Available values + items: + type: object + properties: + key: + type: string + enum: + - plus + - minus + description: + type: string + interval: + type: array + description: Available values + items: + type: object + properties: + key: + type: string + enum: + - day + - week + - month + - year + description: + type: string + tag: + type: array + description: Available values + items: + type: object + properties: + key: + type: string + enum: + - day.number + - day.name + - first_day.number + - first_day.name + - last_day.number + - last_day.name + - month.number + - month.name + - year.number + description: + type: string + security: + - oauth2: + - models.read + /primes: + get: + deprecated: true + summary: Get list of primes + description: >- + Get primes list
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: get-primes + tags: + - Discount Including Taxes + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/DiscountInclTaxesOutput' + required: + - pagination + - data + security: + - oauth2: + - primes.read + /discount-incl-taxes: + get: + summary: Get list of discounts including taxes + description: >- + Get discounts including taxes list
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: get-discounts-incl-taxes + tags: + - Discount Including Taxes + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/DiscountInclTaxesOutput' + required: + - pagination + - data + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + security: + - oauth2: + - discount-incl-taxes.read + post: + summary: Create a discount including taxes + description: >- + Create a discount including taxes
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: create-discount-incl-taxes + tags: + - Discount Including Taxes + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesInput' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesOutput' + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + security: + - oauth2: + - discount-incl-taxes.write + /discount-incl-taxes/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Discount including taxes id + get: + summary: Get a discount including taxes + description: >- + Get a discount including taxes
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: get-discount-incl-taxes + tags: + - Discount Including Taxes + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesOutput' + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + security: + - oauth2: + - discount-incl-taxes.read + put: + summary: Update a discount including taxes + description: >- + Update a discount including taxes
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: update-discount-incl-taxes + tags: + - Discount Including Taxes + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateDiscountInclTaxes' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesOutput' + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + security: + - oauth2: + - discount-incl-taxes.write + delete: + summary: Delete a discount including taxes + description: >- + Delete a discount including taxes
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: delete-discount-incl-taxes + tags: + - Discount Including Taxes + responses: + '204': + description: Discount deleted + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + security: + - oauth2: + - discount-incl-taxes.write + components: + schemas: + PredictPlan: + title: Predict + type: object + properties: + predicted_plan: + type: string + description: Plan predicted. If the pricing version is < 4, return `null` + example: essential + nullable: true + predicted_marketing_plan: + type: string + description: >- + Marketing plan predicted. If the pricing version is < 5, return + `null` + example: pack_marketing_starter + nullable: true + CreateModel: + title: Create model + type: object + additionalProperties: false + properties: + number: + type: string + description: Name of model + maxLength: 100 + example: model#1 + created: + type: string + description: Created date of model + format: date-time + example: '2018-02-21T12:00:00Z' + subject: + type: string + description: > + Subject of model

Note: Date variables, called "tag", + can be integrated in this property, they will be replaced by the + real value when converting the document template to a document
> + Refer to endpoint's description of list available tags for document + model. + example: Subject + currency: + type: string + description: Currency code of the model + example: EUR + discount: + type: object + description: Global discount applied on the model + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + type: string + description: value of discount + example: '25.20' + owner_id: + type: integer + description: Invoice's owner (staff id) + example: 145 + minimum: 1 + rows: + type: array + nullable: true + items: + type: object + oneOf: + - title: Single Row + type: object + allOf: + - type: object + properties: + type: + type: string + enum: + - single + description: + description: > + Row description

Note: Date variables, + called "tag", can be integrated in this property, they + will be replaced by the real value when converting the + document template to a document
> Refer to + endpoint's description of list available tags for + document model. + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/0/allOf/1 + - title: Shipping/Packaging Row + description: By default take value of related item + type: object + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + readOnly: true + type: + type: string + enum: + - shipping + - packaging + related: + type: object + description: Related shipping or packaging + properties: + id: + type: integer + description: item identifier + type: + type: string + description: Type of item + enum: + - shipping + - packaging + unit_amount: + description: Unit amount without tax. + type: string + example: '90.22' + tax_id: + type: integer + description: Tax identifier + example: 12 + quantity: + type: string + description: Quantity + example: '7.2' + reference: + type: string + description: Row reference - get name of shipping/packaging + example: MB880174910 + deprecated: true + description: + type: string + nullable: true + description: No row description for this type + example: Aluminium rail 4x3m + deprecated: true + discount: + type: object + nullable: true + description: Discount applied on the row + properties: + type: + type: string + description: >- + Type of the discount. Express her in percentage or + with an amount + enum: + - percent + - amount + example: amount + value: + oneOf: + - type: string + description: >- + value of discount (Expressed in amount or percent + depending choosen type) + example: '20.5' + total: + type: string + description: Total of all discount for this row + example: '400' + readOnly: true + accounting_code_id: + type: integer + description: Accouting code id of row + example: 7576 + analytic_code: + type: string + nullable: true + description: Analytic code of row + example: divers + tax_rate: + type: string + description: Tax rate + readOnly: true + example: '20.00' + tax_amount: + type: string + description: Tax amount + readOnly: true + example: '23.44' + tax_label: + type: string + description: Tax label + readOnly: true + example: tva + amount_tax_inc: + type: string + description: total amount of row tax included + readOnly: true + example: '1229.93' + amount_tax_exc: + type: string + description: total amount of row without tax + readOnly: true + example: '445.33' + is_optional: + type: boolean + description: > + If row is optional
The special feature of these lines + is that they are not taken into account in the calculation + of the document. + example: true + required: + - related + - quantity + - type + - title: Catalog Item Row + type: object + allOf: + - type: object + properties: + type: + type: string + enum: + - catalog + description: + description: > + Row description

Note: Date variables, + called "tag", can be integrated in this property, they + will be replaced by the real value when converting the + document template to a document
> Refer to + endpoint's description of list available tags for + document model. + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/2/allOf/1 + - title: Comment Row + type: object + allOf: + - type: object + properties: + type: + type: string + enum: + - comment + text: + description: > + Comment content

Note: Date variables, + called "tag", can be integrated in this property, they + will be replaced by the real value when converting the + document template to a document
> Refer to + endpoint's description of list available tags for + document model. + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/3/allOf/1 + - type: object + title: Title Row + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + readOnly: true + type: + type: string + enum: + - title + text: + type: string + required: + - type + - type: object + title: Sub Total Row + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + readOnly: true + type: + type: string + enum: + - sub-total + amount: + type: string + readOnly: true + description: Amount of the sub-total + required: + - type + - type: object + title: Break Line Row + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + readOnly: true + type: + type: string + enum: + - break-line + required: + - type + - type: object + title: Break Page Row + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + readOnly: true + type: + type: string + enum: + - break-page + required: + - type + rate_category_id: + type: integer + description: Rate Category to apply on document + example: 777 + required: + - number + - rate_category_id + Model: + title: Model + type: object + properties: + id: + type: integer + description: Identifier of model + example: 7 + number: + type: string + description: Name of model + maxLength: 100 + example: model#1 + created: + type: string + description: Created date of model + format: date-time + example: '2018-02-21T12:00:00Z' + subject: + type: string + description: > + Subject of model
> the property can include custom tags, the + list of available ones is available on response for endpoint + `get./documents/models/tags` + example: Subject + amounts: + type: object + description: Amounts of invoice, with and without taxes + readOnly: true + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging costs. + Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + currency: + type: string + description: Currency code of the model + example: EUR + taxes: + type: array + description: List of taxes used on the invoice + readOnly: true + items: + type: object + description: Tax used + properties: + id: + type: integer + label: + type: string + rate: + type: string + amount: + type: string + required: + - id + - label + - rate + - amount + discount: + type: object + description: Global discount applied on the invoice + nullable: true + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + payment_conditions_acceptance: + type: object + description: Acceptance of terms and conditions + readOnly: true + properties: + enabled: + type: boolean + description: Acceptance is required to pay or sign the document + owner: + allOf: + - type: object + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + type: + type: string + readOnly: true + description: Type of owner + example: staff + - type: object + description: Invoice's owner + readOnly: true + pdf_link: + type: string + description: >- + Link to the pdf of document. /!\ Link is regenerate after an update + of document + format: uri + nullable: true + readOnly: true + decimal_number: + type: object + description: Precision for decimal numbers + readOnly: true + properties: + unit_price: + type: integer + description: Precision of unit price + nullable: true + quantity: + type: integer + description: Precision of quantity + nullable: true + main: + type: integer + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + assigned_staff_id: + type: integer + description: The staff linked + nullable: false + readOnly: true + example: 2 + ModelOne: + allOf: + - title: Model + type: object + properties: + id: + type: integer + description: Identifier of model + example: 7 + number: + type: string + description: Name of model + maxLength: 100 + example: model#1 + created: + type: string + description: Created date of model + format: date-time + example: '2018-02-21T12:00:00Z' + subject: + type: string + description: > + Subject of model
> the property can include custom tags, + the list of available ones is available on response for endpoint + `get./documents/models/tags` + example: Subject + amounts: + type: object + description: Amounts of invoice, with and without taxes + readOnly: true + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging + costs. Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + currency: + type: string + description: Currency code of the model + example: EUR + taxes: + type: array + description: List of taxes used on the invoice + readOnly: true + items: + type: object + description: Tax used + properties: + id: + type: integer + label: + type: string + rate: + type: string + amount: + type: string + required: + - id + - label + - rate + - amount + discount: + type: object + description: Global discount applied on the invoice + nullable: true + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + payment_conditions_acceptance: + type: object + description: Acceptance of terms and conditions + readOnly: true + properties: + enabled: + type: boolean + description: Acceptance is required to pay or sign the document + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + - type: object + description: Invoice's owner + readOnly: true + pdf_link: + type: string + description: >- + Link to the pdf of document. /!\ Link is regenerate after an + update of document + format: uri + nullable: true + readOnly: true + decimal_number: + type: object + description: Precision for decimal numbers + readOnly: true + properties: + unit_price: + type: integer + description: Precision of unit price + nullable: true + quantity: + type: integer + description: Precision of quantity + nullable: true + main: + type: integer + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + assigned_staff_id: + type: integer + description: The staff linked + nullable: false + readOnly: true + example: 2 + - type: object + properties: + rows: + type: array + items: + type: object + oneOf: + - title: Single Row + type: object + allOf: + - type: object + properties: + description: + type: string + nullable: true + description: > + Row description
> the property can include + custom tags, the list of available ones is + available on response for endpoint + `get./documents/models/tags` + example: Aluminium rail 4x3m + - title: Single Row + type: object + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + readOnly: true + type: + type: string + enum: + - single + unit_id: + type: integer + description: Id of unit of measurement of quantity + purchase_amount: + type: string + description: Purchase amount + unit_amount: + description: Unit amount without tax. + type: string + example: '22.20' + tax_id: + type: integer + description: Tax identifier + example: 12 + quantity: + type: string + description: Quantity + example: '7.2' + reference: + type: string + description: Row reference + example: MB880174910 + description: + type: string + nullable: true + description: Row description + example: Aluminium rail 4x3m + discount: + type: object + nullable: true + description: Discount applied on the row + properties: + type: + type: string + description: >- + Type of the discount. Express her in + percentage or with an amount + enum: + - percent + - amount + example: amount + value: + oneOf: + - type: string + description: >- + Value of discount (Expressed in amount or + percent depending choosen type) + example: '20.5' + total: + type: string + description: Total of all discount for this row + example: '400' + readOnly: true + tax_rate: + type: string + description: Tax rate + readOnly: true + example: '20.00' + tax_amount: + type: string + description: Tax amount + readOnly: true + example: '23.44' + tax_label: + type: string + description: Tax label + readOnly: true + example: tva + amount_tax_inc: + type: string + description: Total amount of row tax included + readOnly: true + example: '1229.93' + amount_tax_exc: + type: string + description: Total amount of row without tax + readOnly: true + example: '445.33' + accounting_code_id: + type: integer + description: Accounting code id of row + example: 7576 + analytic_code: + type: string + nullable: true + description: Analytic code of row + example: divers + is_optional: + type: boolean + description: > + If row is optional
The special feature of + these lines is that they are not taken into + account in the calculation of the document. + example: true + required: + - quantity + - unit_amount + - type + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/1 + - title: Catalog Item Row + description: By default take value of related item + type: object + allOf: + - type: object + properties: + description: + type: string + nullable: true + description: > + Row description
> the property can include + custom tags, the list of available ones is + available on response for endpoint + `get./documents/models/tags` + example: Aluminium rail 4x3m + - title: Catalog Item Row + description: By default take value of related item + type: object + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + readOnly: true + type: + type: string + enum: + - catalog + related: + type: object + description: Related product or service + properties: + id: + type: integer + description: item identifier + type: + type: string + description: Type of item + enum: + - product + - service + declination_id: + type: integer + description: declination identifier + nullable: true + unit_amount: + description: Unit amount + type: string + example: '29.28' + eco_tax: + type: object + nullable: true + description: Eco tax applied on the row + properties: + type: + type: string + enum: + - inc + - excl + value: + type: string + example: '22.44' + purchase_amount: + type: string + description: Purchase amount + unit_id: + type: integer + description: Id of unit of measurement of quantity + warehouse_id: + type: integer + nullable: true + description: Warehouse identifier + sku_id: + nullable: true + type: integer + description: Bar code id + tax_id: + type: integer + description: Tax identifier + example: 12 + quantity: + type: string + description: Quantity + example: '7.2' + reference: + type: string + description: Row reference + example: MB880174910 + description: + type: string + nullable: true + description: Row description + example: Aluminium rail 4x3m + discount: + type: object + nullable: true + description: Discount applied on the row + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + oneOf: + - type: string + description: value of discount + example: '25.20' + total: + type: string + description: Total of all discount for this row + example: '400' + readOnly: true + tax_rate: + type: string + description: Tax rate + readOnly: true + example: '20.00' + tax_amount: + type: string + description: Tax amount + readOnly: true + example: '23.44' + tax_label: + type: string + description: Tax label + readOnly: true + example: tva + amount_tax_inc: + type: string + description: total amount of row tax included + readOnly: true + example: '1229.93' + amount_tax_exc: + type: string + description: total amount of row without tax + readOnly: true + example: '445.33' + accounting_code_id: + type: integer + description: Accouting code id of row + example: 7576 + analytic_code: + type: string + nullable: true + description: Analytic code of row + example: divers + is_optional: + type: boolean + description: > + If row is optional
The special feature of + these lines is that they are not taken into + account in the calculation of the document. + example: true + required: + - related + - quantity + - type + - title: Comment Row + type: object + allOf: + - type: object + properties: + text: + type: string + description: > + Comment
> the property can include custom + tags, the list of available ones is available on + response for endpoint + `get./documents/models/tags` + example: Aluminium rail 4x3m + - type: object + title: Comment Row + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + readOnly: true + type: + type: string + enum: + - comment + text: + type: string + required: + - type + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/4 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/5 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/6 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/7 + AccountDocumentCollection: + title: Account document collection + type: object + properties: + pagination: + title: pagination + type: object + description: The pagination + properties: + limit: + type: integer + example: 25 + minimum: 0 + maximum: 100 + total: + type: integer + example: 152 + minimum: 0 + count: + type: integer + example: 25 + minimum: 0 + offset: + anyOf: + - type: integer + minimum: 0 + example: 25 + - type: string + example: WzIwMTQtMDEtMDEsNTk4XQ== + required: + - limit + - total + - count + - offset + data: + type: array + items: + allOf: + - type: object + properties: + date: + description: Date of the document + type: string + format: date + status: + description: Status of the invoice and credit note + type: string + readOnly: true + example: draft + enum: + - due + - payinprogress + - paid + - late + - stored + - partialspend + - spent + - cancelled + number: + type: string + description: Document number + example: INV-20210611-0010 + amount: + type: string + description: Total amount with taxes + example: '898.97' + public_link: + description: Public link of document + type: string + nullable: true + readOnly: true + pdf_link: + type: string + format: uri + readOnly: true + description: >- + Link to the pdf of document. /!\ Link is regenerate after + an update of document + required: + - date + - status + - amount + - public_link + - pdf_link + required: + - pagination + - data + DocumentLayoutsCollection: + title: Document layouts collection + type: object + properties: + pagination: + $ref: '#/components/schemas/AccountDocumentCollection/properties/pagination' + data: + type: array + items: + allOf: + - type: object + properties: + id: + type: integer + example: 1 + label: + type: string + description: Name of the document layout + example: Document Layout no. 42 + is_default: + type: boolean + description: True if the document layout is the default one + example: true + required: + - id + - label + - is_default + required: + - pagination + - data + CommentItem: + title: CommentItem + type: object + description: Contains all properties + _embed for an Item endpoint + allOf: + - title: CommentBaseItem + type: object + description: >- + Contains all properties that are shared between an Item endpoint and + a Collection Item endpoint, except _embed property + properties: + id: + type: integer + description: Internal Comment ID + readOnly: true + example: 1 + owner: + type: object + description: Owner of the comment + properties: + id: + type: integer + example: 123 + type: + type: string + example: staff + enum: + - staff + - contact + description: + type: string + description: Comment content + updated: + type: string + description: Modification date of the comment + format: date-time + example: '1970-01-01T00:00:00+00:00' + created: + type: string + description: Creation date of the comment + format: date-time + example: '1970-01-01T00:00:00+00:00' + parent_id: + type: integer + description: Comment parent ID + nullable: true + related: + type: array + minItems: 0 + maxItems: 1 + description: Main object related to the comment (limit to 1) + items: + type: object + additionalProperties: false + description: Main object related to the comment + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - item + - estimate + - creditnote + - order + - delivery + - proforma + - invoice + - model + - purchase-order + - purchase-delivery + - purchase-invoice + - purchase-creditnote + - redactor-template + - redactor-document + - campaign + company_id: + type: integer + description: Company linked to the comment + example: 123 + nullable: true + individual_id: + type: integer + description: Individual linked to the comment + example: 123 + nullable: true + contact_id: + type: integer + description: Contact linked to the comment + example: 123 + nullable: true + timetracking: + nullable: true + allOf: + - title: Timetracking + type: object + description: Timetracking details (requires the timetracking plugin) + properties: + duration: + description: Timetracking duration in seconds + type: integer + example: 3600 + minimum: 1 + service: + description: Timetracking service ID related + type: integer + example: 6352439 + name: + description: Timetracking service name + type: string + nullable: true + example: Service name + - type: object + properties: + _embed: + allOf: + - type: object + readOnly: true + description: Objects add to response. Use embed parameter + properties: + owner: + allOf: + - $ref: >- + #/components/schemas/Activity/properties/_embed/properties/author + - type: object + title: Owner (staff) assigned to the comment + nullable: true + title: Owner (staff) assigned to the comment + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: Objects linked to the comment + items: + anyOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + title: Company + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + title: Individual + - $ref: '#/components/schemas/ContactItem/allOf/0' + title: Contact + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/1 + title: Opportunity + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/2 + title: Task + company: + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + - type: object + title: Company linked to the comment + nullable: true + individual: + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + - type: object + title: Individual linked to the comment + nullable: true + contact: + allOf: + - $ref: '#/components/schemas/ContactItem/allOf/0' + - type: object + title: Contact linked to the comment + nullable: true + acl: + allOf: + - type: object + description: Comment ACL + - $ref: >- + #/components/schemas/Activity/properties/_embed/properties/acl/oneOf/4 + CommentFilters: + title: CommentFilters + type: object + description: The Comment filters + properties: + filters: + type: object + properties: + owners: + title: Owners + type: array + items: + type: integer + example: + - 1 + - 2 + - 3 + description: Filter the comments list by owners + created: + title: Created at + type: object + description: Filter the comments list by creation date + properties: + start: + type: string + format: date-time + example: '2021-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2021-02-01T00:00:00+01:00' + updated: + title: Updated at + type: object + description: Filter the comments list by modification date + properties: + start: + type: string + format: date-time + example: '2021-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2021-02-01T00:00:00+01:00' + parent_id: + title: Parent ID + type: integer + description: Filter the comments list by parent ID + example: 123 + related_objects: + title: Related Objects + description: Filter the comments list by related objects + type: array + items: + type: object + properties: + type: + type: string + example: opportunity + id: + type: integer + example: 123 + companies: + title: Companies + type: array + description: Filter the comments list by companies + items: + type: integer + individuals: + title: Individuals + type: array + description: Filter the comments list by individuals + items: + type: integer + contacts: + title: Contacts + type: array + description: Filter the comments list by contacts + items: + type: integer + required: + - filters + CommentCreateItem: + title: Comment + type: object + description: Comment creation object + x-examples: {} + additionalProperties: false + allOf: + - title: Comment + type: object + description: Comment update object + x-examples: {} + properties: + description: + type: string + example: Lorem ipsum dolor sit amet, consectetur adipiscing elit. + description: Comment content + nullable: false + timetracking: + description: >- + if null provided, it'll delete existing timetracking entry for + existing comment + nullable: true + allOf: + - $ref: >- + #/components/schemas/CommentUpdateItem/properties/timetracking/allOf/0 + - type: object + required: + - description + - type: object + properties: + related: + type: array + minItems: 1 + maxItems: 1 + description: Main object related to the comment (limit to 1) + items: + type: object + additionalProperties: false + description: Main object related to the comment + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - item + - estimate + - creditnote + - order + - delivery + - proforma + - invoice + - model + - purchase-order + - purchase-delivery + - purchase-invoice + - purchase-creditnote + - redactor-template + - redactor-document + - campaign + parent_id: + type: integer + description: Comment parent ID + mentioned_staff_ids: + type: array + description: Ids of staffs mentioned in the comment + uniqueItems: true + nullable: true + items: + type: integer + example: 12329 + created: + description: Date of creation of the comment + type: string + format: date-time + CommentUpdateItem: + title: Comment + type: object + description: Comment update object + x-examples: {} + properties: + description: + type: string + example: Lorem ipsum dolor sit amet, consectetur adipiscing elit. + description: Comment content + nullable: false + timetracking: + description: >- + if null provided, it'll delete existing timetracking entry for + existing comment + nullable: true + allOf: + - title: Timetracking + type: object + required: + - service + - duration + description: Timetracking details (requires the timetracking plugin) + properties: + duration: + description: Timetracking duration in seconds + type: integer + example: 3600 + minimum: 1 + service: + description: Timetracking service ID related + type: integer + example: 6352439 + ContactItem: + title: Contact + allOf: + - title: Contact + type: object + description: '' + x-examples: {} + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + civility: + type: string + description: Civility of staff + example: mrs + nullable: true + enum: + - mr + - mrs + - ms + first_name: + type: string + description: Contact first name + example: John + nullable: true + maxLength: 200 + last_name: + type: string + description: Contact name + example: Doe + maxLength: 200 + nullable: true + email: + description: Contact email + type: string + format: email + example: john.doe@example-company.com + nullable: true + website: + type: string + format: url + description: Contact website + example: http://example-john-doe.com + nullable: true + phone_number: + type: string + description: Contact phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Contact mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Contact Fax number + example: '+33100000000' + nullable: true + position: + type: string + nullable: true + description: Contact job + example: Financial + birth_date: + type: string + description: Contact birth date + example: '2000-05-29' + nullable: true + avatar: + type: string + format: url + description: Contact avatar + example: http://example-john-doe.com/avatar + nullable: true + note: + type: string + description: Note on contact + example: An handed-written note describing this contact + invoicing_address_id: + description: Invoicing address unique ID + type: integer + nullable: true + minimum: 1 + example: 9987 + readOnly: true + delivery_address_id: + description: Delivery address unique ID + type: integer + nullable: true + minimum: 1 + example: 6547 + readOnly: true + social: + allOf: + - $ref: >- + #/paths/~1companies/post/requestBody/content/application~1json/schema/properties/social + sync: + type: object + properties: + mailchimp: + type: boolean + description: Activate the mailchimp synchronization + nullable: false + mailjet: + type: boolean + description: Activate the mailjet synchronization + nullable: false + simplemail: + type: boolean + description: Activate the simplemail synchronization + nullable: false + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + readOnly: true + created: + type: string + nullable: false + description: Datetime of creating contact + example: '2020-05-29T11:22:03+02:00' + updated: + type: string + nullable: false + description: Datetime of updating contact + example: '2020-05-29T11:22:03+02:00' + readOnly: true + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + marketing_campaigns_subscriptions: + type: array + items: + type: string + enum: + - sms + - phone + - email + - postal_mail + - custom + description: list of campaign type subcribed + uniqueItems: true + - type: object + properties: + _embed: + allOf: + - title: itemEmbed.yaml + allOf: + - readOnly: true + description: Objects add to response. Use embed parameter + allOf: + - type: object + properties: + invoicing_address: + nullable: true + description: Invoicing address + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + delivery_address: + nullable: true + description: Delivery address + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + opportunities: + nullable: true + type: integer + description: Count of opportunities + example: 2 + estimates: + nullable: true + type: integer + description: Count of estimates + example: 2 + invoices: + nullable: true + type: integer + description: Count of invoices + example: 2 + orders: + nullable: true + type: integer + description: Count of orders + example: 2 + deliveries: + nullable: true + type: integer + description: Count of deliveries + example: 2 + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/2 + - type: object + properties: + acl: + nullable: true + description: Contact ACL + allOf: + - $ref: >- + #/components/schemas/Activity/properties/_embed/properties/acl/oneOf/1 + ContactCollectionItem: + title: ContactCollectionItem.yaml + type: object + allOf: + - $ref: '#/components/schemas/ContactItem/allOf/0' + - type: object + properties: + _embed: + allOf: + - title: collectionItemEmbed.yaml + allOf: + - $ref: >- + #/components/schemas/ContactItem/allOf/1/properties/_embed/allOf/0/allOf/0 + ContactCreateItem: + title: contactCreateItem.yaml + allOf: + - title: Contact + allOf: + - $ref: '#/components/schemas/ContactItem/allOf/0' + - type: object + properties: + _embed: + allOf: + - $ref: >- + #/components/schemas/ContactItem/allOf/1/properties/_embed/allOf/0 + - type: object + properties: + last_name: + type: string + description: Contact name + example: Doe + maxLength: 200 + owner_id: + type: integer + nullable: true + description: Owner of the contact (Staff id expected) + example: 112 + minimum: 1 + required: + - last_name + ContactUpdateItem: + title: updateItem.yaml + allOf: + - $ref: '#/components/schemas/ContactCreateItem/allOf/0' + - type: object + properties: + last_name: + type: string + description: Contact name + example: Doe + maxLength: 200 + created: + type: string + nullable: false + description: Datetime of creating contact + example: '2020-05-29T11:22:03+02:00' + readOnly: true + owner_id: + type: integer + nullable: true + description: Owner of the contact (Staff id expected) + example: 112 + minimum: 1 + ContactFilters: + title: contactFilters + type: object + description: The contact filters + properties: + filters: + type: object + description: contact filters + properties: + companies: + title: Companies + type: array + items: + type: integer + description: Filter the contacts list by companies ID + example: + - 12 + - 22 + individuals: + title: Individuals + type: array + items: + type: integer + description: Filter the contacts list by individuals ID + example: + - 12 + - 22 + created: + title: Created at + type: object + description: Filter the contact list by creation date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + updated: + title: Updated at + type: object + description: Filter the contact list by last update date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + last_name: + title: Lastname + type: string + description: Filter the contact list by lastname (exact search) + example: John Doe + birth_date: + title: Birth date + type: object + description: Filter the contact list by birth date-time + properties: + start: + type: string + format: date + example: '2020-01-01' + end: + type: string + format: date + example: '2020-02-01' + email: + title: Email + type: string + description: Filter the contact list by email (exact search) + example: john.doe@example.com + phone_number: + title: Phone number + type: string + description: Filter the contact list by phone number (exact search) + example: '+33100000000' + mobile_number: + title: Mobile phone + type: string + description: Filter contact list by mobile number (exact search) + example: '+33100000000' + id: + title: Contacts + type: array + items: + type: integer + description: Filter the contacts list by contacts ID + example: + - 12 + - 22 + favourite_filter: + title: Favourite filters + type: integer + description: > + Id of favourite filters
(see endpoint to list favourite + filters) + example: 10 + is_linked: + title: Is linked to a company or an individual + type: boolean + description: >- + Filter contacts according to whether or not they are related to + companies and individuals + example: false + country_code: + title: Country code + description: Filter the contacts list by country code (main address only) + type: string + example: FR + postal_code: + title: Postal code + description: Filter the contacts list by postal code (main address only) + type: array + items: + type: string + example: + - '17001' + - '17002' + required: + - filters + Estimate: + title: Estimate + allOf: + - type: object + properties: + date: + description: Date of the estimate + type: string + format: date + related: + type: array + minItems: 1 + description: | + Objects linked to the estimate : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only of type `client` or `prospect` + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + items: + type: object + description: >- + Object linked to the estimate (at least a Company or an + Individual) + properties: + type: + type: string + enum: + - company + - individual + - opportunity + id: + type: integer + required: + - type + - id + contact_id: + description: Contact of company linked to the estimate + type: integer + nullable: true + assigned_staff_id: + description: Staff in charge of the estimate + type: integer + status: + description: Status of the estimate (draft if not provided at the creation) + type: string + readOnly: true + example: draft + enum: + - draft + - sent + - read + - accepted + - refused + - expired + - advanced + - partialinvoiced + - invoiced + - cancelled + number: + type: string + description: Estimate number + example: EST-20210611-0010 + amounts: + description: Amounts of estimate with and without taxe + type: object + readOnly: true + properties: + shipping: + type: string + description: Total shipping amount + example: '128.54' + packaging: + type: string + description: Total packaging amount + example: '40.24' + total_raw_excl_tax: + type: string + description: Total without tax and without global discount + example: '933.07' + total_after_discount_excl_tax: + type: string + description: Total without tax and after discount applied + example: '821.10' + total_excl_tax: + description: Total net without tax + type: string + example: '843.10' + total: + type: string + description: Total amount with taxes + example: '898.97' + total_primes_incl_tax: + type: string + description: Total of primes added on document + example: '10.00' + required: + - shipping + - packaging + - total_raw_excl_tax + - total_after_discount_excl_tax + - total_excl_tax + - total + currency: + description: Currency code of estimate + type: string + subject: + description: Subject of estimate + type: string + public_link: + description: Public link of estimate + type: string + nullable: true + readOnly: true + public_link_enabled: + type: boolean + description: Public link is enabled + payment_method_ids: + type: array + description: payments methods allowed on the estimate + nullable: true + items: + type: integer + decimal_number: + readOnly: true + type: object + description: Precision for decimal numbers + properties: + unit_price: + type: integer + nullable: true + description: Precision of unit price + quantity: + type: integer + nullable: true + description: Precision of quantity + main: + type: integer + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + pdf_link: + type: string + format: uri + readOnly: true + description: >- + Link to the pdf of estimate. /!\ Link is regenerate after an + update of estimate + expiry_date: + description: Expiry date of the estimate + type: string + format: date + payment_conditions_acceptance: + type: object + readOnly: true + description: Acceptance of terms and conditions + properties: + enabled: + type: boolean + description: Acceptance is required to pay or sign the document* + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + note: + type: string + description: Notes of the estimate + example: This estimate is very important
+ shipping_date: + type: string + format: date + description: Date of the shipping + nullable: true + example: '2024-01-31' + - type: object + properties: + id: + type: integer + readOnly: true + description: Document ID + example: 6657 + owner: + type: object + properties: + type: + type: string + id: + type: integer + required: + - type + - id + created: + type: string + description: Date of creation of document + format: date-time + discount: + description: Global discount applied on the document + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + fiscal_year_id: + type: integer + nullable: true + description: ID of the estimate's fiscal year + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + readOnly: true + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + readOnly: true + taxes: + description: List of taxes used on the estimate + type: array + items: + type: object + description: Tax used + properties: + label: + type: string + id: + type: integer + rate: + type: string + amount: + type: string + required: + - label + - id + - rate + - amount + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: End date for service + example: '2023-01-31' + shipping_date: + type: string + format: date + description: Date of the shipping + nullable: true + required: + - id + - owner + - created + - date + - related + - contact_id + - invoicing_address_id + - delivery_address_id + - assigned_staff_id + - status + - number + - amounts + - currency + - subject + - public_link + - public_link_enabled + - payment_method_ids + - fiscal_year_id + EstimateCreate: + allOf: + - $ref: '#/components/schemas/Estimate/allOf/0' + - type: object + properties: + owner_id: + type: integer + description: Owner of the estimate (staff id) + minimum: 1 + rows: + type: array + description: Document's rows + nullable: true + items: + type: object + oneOf: + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/0/allOf/1 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/1 + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/2/allOf/1 + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/3/allOf/1 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/4 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/5 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/6 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/7 + discount: + type: object + description: Global discount applied on the estimate + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + type: string + description: value of discount + example: '25.20' + parent: + nullable: true + oneOf: + - type: object + title: Model + properties: + type: + type: string + enum: + - model + id: + type: integer + description: Parent object id + rate_category_id: + type: integer + description: >- + Rate Category to apply on document (By default, the + rate_category_id will be that of company) + example: 777 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: >- + End date for service

End date must be greater + than start date + example: '2023-01-31' + required: + - related + EstimateUpdate: + allOf: + - $ref: '#/components/schemas/Estimate/allOf/0' + - type: object + properties: + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: >- + End date for service

End date must be greater + than start date + example: '2023-01-31' + rows: + type: array + nullable: true + items: + type: object + anyOf: + - type: object + title: New Single Row + allOf: + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/0/allOf/1 + - type: object + title: New Packaging/Shipping Row + allOf: + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/1 + - type: object + title: New Catalog Item Row + allOf: + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/2/allOf/1 + - type: object + title: New Comment Row + allOf: + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/3/allOf/1 + - type: object + title: New Title Row + allOf: + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/4 + - type: object + title: New Sub-Total Row + allOf: + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/5 + - type: object + title: New Break Line Row + allOf: + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/6 + - type: object + title: New Break Page Row + allOf: + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/7 + - title: Update Single Row + type: object + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + unit: + type: integer + description: Id of unit of measurement of quantity + purchase_amount: + type: string + description: Purchase amount + unit_amount: + description: Unit amount without tax. + type: string + example: '22.20' + tax_id: + type: integer + description: Tax identifier + example: 12 + tax: + deprecated: true + type: integer + description: >- + Tax identifier. This field will be removed on 1 July + 2022, use tax_id instead + example: 12 + quantity: + type: string + description: Quantity + example: 7 + reference: + type: string + description: Row reference + example: MB880174910 + description: + type: string + nullable: true + description: Row description + example: Aluminium rail 4x3m + discount: + type: object + nullable: true + description: Discount applied on the row + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + oneOf: + - type: string + description: value of discount + example: '25.20' + accounting_code: + type: integer + description: Accouting code of row + example: 7576 + analytic_code: + type: string + nullable: true + description: Analytic code of row + example: divers + is_optional: + type: boolean + description: > + If row is optional
The special feature of these + lines is that they are not taken into account in the + calculation of the document. + example: true + required: + - id + - title: Update Shipping/Packaging Row + type: object + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + unit_amount: + description: Unit amount without tax. + type: string + example: '90.22' + tax_id: + type: integer + description: Tax identifier + example: 12 + quantity: + type: string + description: Quantity + example: 7 + reference: + type: string + description: Row reference + example: MB880174910 + description: + type: string + nullable: true + description: Row description + example: Aluminium rail 4x3m + discount: + type: object + nullable: true + description: Discount applied on the row + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + oneOf: + - type: string + description: value of discount + example: '25.20' + tax_rate: + type: string + description: Tax rate + readOnly: true + example: '20.00' + tax_amount: + type: string + description: Tax amount + readOnly: true + example: '23.44' + amount_tax_inc: + type: string + description: total amount of row tax included + readOnly: true + example: '1229.93' + amount_tax_exc: + type: string + description: total amount of row without tax + readOnly: true + example: '445.33' + accounting_code_id: + type: integer + description: Accouting code id of row + example: 7576 + analytic_code: + type: string + nullable: true + description: Analytic code of row + example: divers + is_optional: + type: boolean + description: > + If row is optional
The special feature of these + lines is that they are not taken into account in the + calculation of the document. + example: true + required: + - related + - quantity + - type: object + title: Update Catalog Item Row + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + unit_amount: + description: Unit amount + type: string + example: '29.28' + eco_tax: + type: object + nullable: true + description: Eco tax applied on the row + properties: + type: + type: string + enum: + - inc + - excl + value: + type: string + example: '22.44' + purchase_amount: + type: string + description: Purchase amount + unit: + type: integer + description: Id of unit of measurement of quantity + warehouse_id: + type: integer + nullable: true + description: Warehouse identifier + sku_id: + nullable: true + type: integer + description: Bar code id + tax_id: + type: integer + description: Tax identifier + example: 12 + tax: + deprecated: true + type: integer + description: >- + Tax identifier. This field will be removed on 1 July + 2022, use tax_id instead + example: 12 + quantity: + type: string + description: Quantity + example: 7 + reference: + type: string + description: Row reference + example: MB880174910 + description: + type: string + nullable: true + description: Row description + example: Aluminium rail 4x3m + discount: + type: object + nullable: true + description: Discount applied on the row + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + oneOf: + - type: string + description: value of discount + example: '25.20' + accounting_code: + type: integer + description: Accouting code of row + example: 7576 + analytic_code: + type: string + nullable: true + description: Analytic code of row + example: divers + is_optional: + type: boolean + description: > + If row is optional
The special feature of these + lines is that they are not taken into account in the + calculation of the document. + example: true + required: + - id + - type: object + title: Update Comment Row + properties: + id: + type: integer + description: Row Identifier + text: + type: string + required: + - id + additionalProperties: false + - type: object + title: Update Title Row + properties: + id: + type: integer + description: Row Identifier + text: + type: string + required: + - id + additionalProperties: false + - type: object + title: Update Sub Total Row + properties: + id: + type: integer + description: Row Identifier + required: + - id + additionalProperties: false + - type: object + title: Update Break Line Row + properties: + id: + type: integer + description: Row Identifier + required: + - id + additionalProperties: false + - type: object + title: Update Break Page Row + properties: + id: + type: integer + description: Row Identifier + required: + - id + additionalProperties: false + EstimateStatusUpdate: + type: object + properties: + status: + description: Status of the estimate + type: string + example: sent + enum: + - draft + - sent + - read + - accepted + - refused + - expired + - partialinvoiced + - invoiced + - cancelled + EstimateCollection: + title: Estimate collection item + type: object + properties: + pagination: + $ref: '#/components/schemas/AccountDocumentCollection/properties/pagination' + data: + type: array + items: + allOf: + - $ref: '#/components/schemas/EstimateOne/allOf/0' + - title: Embed for Estimate + description: Objects add to response. Use embed parameter + x-examples: {} + type: object + properties: + _embed: + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/0 + - type: object + properties: + company: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + individual: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + contact: + $ref: '#/components/schemas/ContactItem/allOf/0' + invoicing_address: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + delivery_address: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + currency: + nullable: true + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/currency + acl: + title: EstimateAcl + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Document can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Document can be deleted + example: true + payment_method_ids: + type: array + items: + type: object + title: Payment method object + properties: + id: + type: integer + description: Payment method identifier + label: + type: string + description: Payment method label + fiscal_year: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/fiscal_year + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/2 + required: + - pagination + - data + EstimateAggregations: + title: Document aggregations + type: object + properties: + amount_sum_by_status: + type: object + description: Total amount of document by status, require `currency` filter + count_by_status: + type: object + description: Number of document by status + EstimateOne: + allOf: + - title: Estimate + allOf: + - $ref: '#/components/schemas/Estimate/allOf/0' + - type: object + properties: + id: + type: integer + readOnly: true + description: Document ID + example: 6657 + owner: + type: object + properties: + type: + type: string + id: + type: integer + required: + - type + - id + created: + type: string + description: Date of creation of document + format: date-time + discount: + description: Global discount applied on the document + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + fiscal_year_id: + type: integer + nullable: true + description: ID of the estimate's fiscal year + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + readOnly: true + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + readOnly: true + taxes: + description: List of taxes used on the estimate + type: array + items: + type: object + description: Tax used + properties: + label: + type: string + id: + type: integer + rate: + type: string + amount: + type: string + required: + - label + - id + - rate + - amount + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: End date for service + example: '2023-01-31' + shipping_date: + type: string + format: date + description: Date of the shipping + nullable: true + required: + - id + - owner + - created + - date + - related + - contact_id + - invoicing_address_id + - delivery_address_id + - assigned_staff_id + - status + - number + - amounts + - currency + - subject + - public_link + - public_link_enabled + - payment_method_ids + - fiscal_year_id + - type: object + properties: + rows: + type: array + items: + $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/rows/items + required: + - id + - owner + - created + - date + - related + - contact_id + - invoicing_address_id + - delivery_address_id + - assigned_staff_id + - status + - number + - amounts + - currency + - subject + - public_link + - public_link_enabled + - rows + EstimateCompute: + type: object + properties: + owner: + type: object + properties: + type: + type: string + id: + type: integer + required: + - type + - id + rows: + type: array + items: + type: object + anyOf: + - title: Single Row + type: object + additionalProperties: false + properties: + type: + type: string + enum: + - single + unit_id: + type: integer + description: Id of unit of measurement of quantity + purchase_amount: + type: string + description: Purchase amount + unit_amount: + description: Unit amount without tax. + type: string + example: '22.20' + tax_id: + type: integer + description: Tax identifier + example: 12 + quantity: + type: string + description: Quantity + example: '7.2' + reference: + type: string + description: Row reference + example: MB880174910 + description: + type: string + nullable: true + description: Row description + example: Aluminium rail 4x3m + discount: + type: object + nullable: true + description: Discount applied on the row + properties: + type: + type: string + description: >- + Type of the discount. Express her in percentage or + with an amount + enum: + - percent + - amount + example: amount + value: + oneOf: + - type: string + description: >- + value of discount (Expressed in amount or percent + depending choosen type) + example: '20.5' + total: + type: string + description: Total of all discount for this row + example: '400' + tax_rate: + type: string + description: Tax rate + readOnly: true + example: '20.00' + tax_amount: + type: string + description: Tax amount + readOnly: true + example: '23.44' + tax_label: + type: string + description: Tax label + readOnly: true + example: tva + amount_tax_inc: + type: string + description: total amount of row tax included + readOnly: true + example: '1229.93' + amount_tax_exc: + type: string + description: total amount of row without tax + readOnly: true + example: '445.33' + accounting_code_id: + type: integer + description: Accouting code id of row + example: 7576 + analytic_code: + type: string + nullable: true + description: Analytic code of row + example: divers + required: + - quantity + - unit_amount + - type + - title: Shipping/Packaging Row + description: By default take value of related item + type: object + additionalProperties: false + properties: + type: + type: string + enum: + - shipping + - packaging + related: + type: object + description: Related shipping or packaging + properties: + id: + type: integer + description: item identifier + type: + type: string + description: Type of item + enum: + - shipping + - packaging + unit_amount: + description: Unit amount without tax. + type: string + example: '90.22' + tax_id: + type: integer + description: Tax identifier + example: 12 + quantity: + type: string + description: Quantity + example: '7.2' + reference: + type: string + description: Row reference + example: MB880174910 + deprecated: true + description: + type: string + nullable: true + description: Row description + example: Aluminium rail 4x3m + deprecated: true + discount: + type: object + nullable: true + description: Discount applied on the row + properties: + type: + type: string + description: >- + Type of the discount. Express her in percentage or + with an amount + enum: + - percent + - amount + example: amount + value: + oneOf: + - type: string + description: >- + value of discount (Expressed in amount or percent + depending choosen type) + example: '20.5' + total: + type: string + description: Total of all discount for this row + example: '400' + accounting_code_id: + type: integer + description: Accouting code id of row + example: 7576 + analytic_code: + type: string + nullable: true + description: Analytic code of row + example: divers + tax_rate: + type: string + description: Tax rate + readOnly: true + example: '20.00' + tax_amount: + type: string + description: Tax amount + readOnly: true + example: '23.44' + tax_label: + type: string + description: Tax label + readOnly: true + example: tva + amount_tax_inc: + type: string + description: total amount of row tax included + readOnly: true + example: '1229.93' + amount_tax_exc: + type: string + description: total amount of row without tax + readOnly: true + example: '445.33' + required: + - related + - quantity + - type + - title: Catalog Item Row + description: By default take value of related item + type: object + additionalProperties: false + properties: + type: + type: string + enum: + - catalog + related: + type: object + description: Related product or service + properties: + id: + type: integer + description: item identifier + type: + type: string + description: Type of item + enum: + - product + - service + unit_amount: + description: Unit amount + type: string + example: '29.28' + eco_tax: + type: object + nullable: true + description: Eco tax applied on the row + properties: + type: + type: string + enum: + - inc + - excl + value: + type: string + example: '22.44' + purchase_amount: + type: string + description: Purchase amount + unit_id: + type: integer + description: Id of unit of measurement of quantity + warehouse_id: + type: integer + nullable: true + description: Warehouse identifier + sku_id: + nullable: true + type: integer + description: Bar code id + tax_id: + type: integer + description: Tax identifier + example: 12 + quantity: + type: string + description: Quantity + example: '7.2' + reference: + type: string + description: Row reference + example: MB880174910 + description: + type: string + nullable: true + description: Row description + example: Aluminium rail 4x3m + discount: + type: object + nullable: true + description: Discount applied on the row + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + oneOf: + - type: string + description: value of discount + example: '25.20' + total: + type: string + description: Total of all discount for this row + example: '400' + tax_rate: + type: string + description: Tax rate + readOnly: true + example: '20.00' + tax_amount: + type: string + description: Tax amount + readOnly: true + example: '23.44' + tax_label: + type: string + description: Tax label + readOnly: true + example: tva + amount_tax_inc: + type: string + description: total amount of row tax included + readOnly: true + example: '1229.93' + amount_tax_exc: + type: string + description: total amount of row without tax + readOnly: true + example: '445.33' + accounting_code_id: + type: integer + description: Accouting code id of row + example: 7576 + analytic_code: + type: string + nullable: true + description: Analytic code of row + example: divers + required: + - related + - quantity + - type + - type: object + title: Comment Row + additionalProperties: false + properties: + type: + type: string + enum: + - comment + text: + type: string + required: + - type + - type: object + title: Title Row + additionalProperties: false + properties: + type: + type: string + enum: + - title + text: + type: string + required: + - type + - type: object + title: Sub Total Row + additionalProperties: false + properties: + type: + type: string + enum: + - sub-total + amount: + type: string + readOnly: true + description: Amount of the sub-total + required: + - type + - type: object + title: Break Line Row + additionalProperties: false + properties: + type: + type: string + enum: + - break-line + required: + - type + - type: object + title: Break Page Row + additionalProperties: false + properties: + type: + type: string + enum: + - break-page + required: + - type + date: + description: Date of the estimate + type: string + format: date + related: + type: array + minItems: 1 + maxItems: 1 + description: | + Objects linked to the estimate : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only of type `client` or `prospect` + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + items: + type: object + description: Object linked to the estimate (a Company or an Individual) + properties: + type: + type: string + enum: + - company + - individual + id: + type: integer + required: + - type + - id + contact_id: + description: Contact of company linked to the estimate + type: integer + nullable: true + assigned_staff_id: + description: Staff in charge of the estimate + type: integer + status: + description: Status of the estimate (draft if not provided at the creation) + type: string + readOnly: true + example: draft + enum: + - draft + - sent + - read + - accepted + - refused + - expired + - advanced + - partialinvoiced + - invoiced + - cancelled + number: + type: string + description: Estimate number + example: EST-20210611-0010 + amounts: + description: Amounts of estimate with and without taxe + type: object + readOnly: true + properties: + shipping: + type: string + description: Total shipping amount + example: '128.54' + packaging: + type: string + description: Total packaging amount + example: '40.24' + total_raw_excl_tax: + type: string + description: Total without tax and without global discount + example: '933.07' + total_after_discount_excl_tax: + type: string + description: Total without tax and after discount applied + example: '821.10' + total_excl_tax: + description: Total net without tax + type: string + example: '843.10' + total: + type: string + description: Total amount with taxes + example: '898.97' + required: + - shipping + - packaging + - total_raw_excl_tax + - total_after_discount_excl_tax + - total_excl_tax + - total + currency: + description: Currency code of estimate + type: string + subject: + description: Subject of estimate + type: string + public_link: + description: Public link of estimate + type: string + nullable: true + readOnly: true + public_link_enabled: + type: boolean + description: Public link is enabled + payment_method_ids: + type: array + description: payments methods allowed on the estimate + nullable: true + items: + type: integer + decimal_number: + readOnly: true + type: object + description: Precision for decimal numbers + properties: + unit_price: + type: integer + nullable: true + description: Precision of unit price + quantity: + type: integer + nullable: true + description: Precision of quantity + main: + type: integer + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + pdf_link: + type: string + format: uri + readOnly: true + description: >- + Link to the pdf of estimate. /!\ Link is regenerate after an update + of estimate + expiry_date: + description: Expiry date of the estimate + type: string + format: date + nullable: true + taxes: + description: List of taxes used on the estimate + type: array + items: + type: object + description: Tax used + properties: + label: + type: string + id: + type: integer + rate: + type: string + amount: + type: string + required: + - label + - id + - rate + - amount + discount: + description: Global discount applied on the document + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + required: + - owner + - date + - related + - contact_id + - assigned_staff_id + - status + - number + - amounts + - currency + - subject + - public_link + - public_link_enabled + - payment_method_ids + EstimateFilters: + title: estimate filters + type: object + description: The estimates filters + properties: + filters: + type: object + description: estimates filters + properties: + created: + title: Created at + type: object + description: Filter the estimate list by creation date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + owners: + title: Owners + type: array + description: Filter the estimate list by owner (staff id) + items: + type: integer + date: + title: Document date + type: object + description: Filter the estimate list by date + properties: + start: + type: string + format: date + example: '2020-01-01' + end: + type: string + format: date + example: '2020-02-01' + related_objects: + title: Related Objects + type: array + items: + type: object + properties: + type: + type: string + enum: + - company + - individual + - opportunity + example: company + id: + type: integer + example: 22 + contacts: + title: Contact + type: array + description: Filter the estimate list by contact (contact id) + items: + type: integer + assigned_staff_ids: + title: Assigned staffs + type: array + description: Filter the estimate list by assigned staffs (staff id) + items: + type: integer + status: + title: Status + description: Filter the estimate list by status + example: + - draft + - sent + - read + type: array + items: + type: string + enum: + - draft + - sent + - read + - accepted + - refused + - expired + - advanced + - partialinvoiced + - invoiced + - cancelled + number: + title: number + type: string + description: Filter the estimate list by number (exact search) + example: DEVIS-0001 + currency: + title: currency + type: string + description: Currency code (exact search) + example: EUR + favourite_filter: + $ref: >- + #/components/schemas/ContactFilters/properties/filters/properties/favourite_filter + required: + - filters + SaleEmbed: + title: Embed for Estimate + description: Objects add to response. Use embed parameter + x-examples: {} + type: object + properties: + _embed: + allOf: + - type: object + properties: + payment_terms: + title: Document Payment Terms + description: Terms of payment of document + allOf: + - type: object + properties: + settings: + title: Payment terms configuration + description: >- + Description payment configuration applied to the + document + type: object + properties: + type: + description: Type of payment terms generation method + type: string + enum: + - settings + value: + type: object + description: Parameters of payment terms + properties: + id: + type: integer + description: Id of payment terms setting + label: + type: string + description: label of payment terms setting + example: Deadlines + x_days: + type: integer + description: >- + Number of days added to document date for + determine the due date + end_of_month: + type: boolean + description: >- + Does the due date have to be fixed to the + end of the month? (After the addition of + x_days) + override_date: + type: boolean + description: >- + Can the due date be overwritten in addition + to the parameters ? + required: + - id + - label + - type: object + properties: + computed_instalment_plan: + type: array + description: >- + List of deadlines computed with the payment terms + settings + items: + type: object + properties: + date: + type: string + description: due date + format: date + amount: + type: string + description: Total amount + - type: object + properties: + company: + title: Company + type: object + description: '' + x-examples: {} + properties: + id: + type: integer + description: Unique ID + example: 6657 + type: + type: string + enum: + - prospect + - client + - supplier + name: + type: string + description: Company name + example: Example company + maxLength: 250 + email: + description: Company email + type: string + format: email + example: contact@example-company.com + nullable: true + website: + type: string + format: url + description: Company website + example: http://example-company.com + nullable: true + phone_number: + type: string + description: Company phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Company mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Company Fax number + example: '+33100000000' + nullable: true + legal_france: + $ref: >- + #/paths/~1contacts~1%7Bid%7D~1companies/get/responses/200/content/application~1json/schema/properties/data/items/properties/legal_france + capital: + type: string + nullable: true + description: Company Capital + example: '4000' + reference: + type: string + description: Company reference + example: CLI-1654 + nullable: true + note: + type: string + description: Note on company + example: An handed-written note describing this company + auxiliary_code: + type: string + description: Auxiliary code + example: 0EX11C + nullable: true + social: + $ref: >- + #/paths/~1companies/post/requestBody/content/application~1json/schema/properties/social + rate_category_id: + type: integer + nullable: true + description: Company Rate category id + example: 9956 + main_contact_id: + description: Main contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + dunning_contact_id: + description: Dunning contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + invoicing_contact_id: + description: Invoicing contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + invoicing_address_id: + description: Invoicing address unique ID + type: integer + nullable: true + minimum: 1 + example: 9987 + delivery_address_id: + description: Delivery address unique ID + type: integer + nullable: true + minimum: 1 + example: 6547 + accounting_code_id: + type: integer + nullable: true + description: Company accounting code id + example: 12345 + accounting_purchase_code_id: + type: integer + nullable: true + description: Company accouting purchase code id + example: 98556 + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + created: + type: string + format: date-time + nullable: false + description: Datetime of creating company + example: '2020-05-29T11:22:03+02:00' + updated_at: + type: string + format: date-time + nullable: false + description: Datetime of the last update of the company + example: '2020-05-29T11:22:03+02:00' + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + business_segment: + type: object + description: Company business segment + nullable: true + properties: + id: + type: integer + example: 3 + label: + type: string + example: Software publisher / Digital services company + number_of_employees: + type: object + description: Number of employees of company + nullable: true + properties: + id: + type: integer + example: 1 + label: + type: string + example: From 1 to 5 + marketing_campaigns_subscriptions: + type: array + items: + type: string + enum: + - sms + - phone + - email + - postal_mail + - custom + description: list of campaign type subcribed + uniqueItems: true + individual: + title: Individual + type: object + description: '' + x-examples: {} + properties: + id: + type: integer + description: Unique ID + example: 6657 + type: + type: string + enum: + - prospect + - client + - supplier + last_name: + type: string + description: Individual contact lastname + example: Martin + maxLength: 200 + first_name: + type: string + description: Individual contact firstname + example: Jean + nullable: true + civility: + type: string + description: Civility of individual + example: mr + nullable: true + enum: + - mr + - mrs + - ms + email: + description: Individual email + type: string + format: email + example: jean.martin@personal-example.com + nullable: true + website: + type: string + format: url + description: Individual website + example: http://personal-example.com + nullable: true + phone_number: + type: string + description: Phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Fax number + example: '+33100000000' + nullable: true + reference: + type: string + description: Internal reference + example: IND-1654 + nullable: true + note: + type: string + description: Note on individual + example: An handed-written note describing this individual + auxiliary_code: + type: string + description: Auxiliary code + example: 0EX11C + nullable: true + social: + $ref: >- + #/paths/~1companies/post/requestBody/content/application~1json/schema/properties/social + rate_category_id: + type: integer + nullable: true + description: Rate category id + example: 9956 + main_contact_id: + description: Main contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + dunning_contact_id: + description: Dunning contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + invoicing_contact_id: + description: Invoicing contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + invoicing_address_id: + description: Invoicing address unique ID + type: integer + nullable: true + minimum: 1 + example: 9987 + delivery_address_id: + description: Delivery address unique ID + type: integer + nullable: true + minimum: 1 + example: 6547 + accounting_code_id: + type: integer + nullable: true + description: Accounting code id + example: 12345 + accounting_purchase_code_id: + type: integer + nullable: true + description: Accouting purchase code id + example: 98556 + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + created: + type: string + format: date-time + nullable: false + description: Datetime of creation + example: '2020-05-29T11:22:03+02:00' + updated_at: + type: string + format: date-time + nullable: false + description: Datetime of the last update of the individual + example: '2020-05-29T11:22:03+02:00' + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + marketing_campaigns_subscriptions: + type: array + items: + type: string + enum: + - sms + - phone + - email + - postal_mail + - custom + description: list of campaign type subcribed + uniqueItems: true + sync: + type: object + properties: + mailchimp: + type: boolean + description: Activate the mailchimp synchronization + nullable: false + mailjet: + type: boolean + description: Activate the mailjet synchronization + nullable: false + simplemail: + type: boolean + description: Activate the simplemail synchronization + nullable: false + contact: + $ref: '#/components/schemas/ContactItem/allOf/0' + invoicing_address: + type: object + title: Address + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + name: + type: string + description: Address name + example: Main office + minLength: 2 + address_line_1: + type: string + description: Address line one + example: 30 Commercial Road + nullable: true + address_line_2: + type: string + description: Address line two + example: Finance and Accounting + nullable: true + address_line_3: + type: string + description: Address line three + example: Lighthouse Promotions + nullable: true + address_line_4: + type: string + description: Address line four + example: PO Box 215 + nullable: true + postal_code: + type: string + nullable: true + description: Address postal code + example: '75012' + minLength: 2 + city: + type: string + description: Address city name + example: Paris + minLength: 2 + country: + type: string + description: Address country + nullable: true + example: France + minLength: 2 + country_code: + type: string + description: Address country code + example: FR + minLength: 2 + maxLength: 2 + is_invoicing_address: + readOnly: true + type: boolean + is_delivery_address: + readOnly: true + type: boolean + geocode: + type: object + properties: + lat: + type: number + nullable: true + example: 46.140862 + lng: + type: number + nullable: true + example: -1.168249 + delivery_address: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + currency: + type: object + title: Currency + properties: + id: + type: integer + description: Currency Identifier + readOnly: true + example: 13 + code: + type: string + description: Currency code (EUR, USD..) + readOnly: true + example: EUR + symbol: + type: string + description: Currency symbol (€, $) + example: € + readOnly: true + is_default: + type: boolean + description: Is default currency? + example: true + acl: + title: EstimateAcl + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Document can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Document can be deleted + example: true + payment_method_ids: + type: array + items: + type: object + title: Payment method object + properties: + id: + type: integer + description: Payment method identifier + label: + type: string + description: Payment method label + fiscal_year: + type: object + title: Fiscal year + properties: + id: + type: integer + description: Fiscal year's ID + start_at: + type: string + format: date + description: Start date of the fiscal yaer + end_at: + type: string + format: date + description: End date of the fiscal year + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - title: smart tag + type: array + items: + type: object + properties: + value: + type: string + description: value of smart tags + example: smart tag + id: + type: integer + description: id of smart tags + example: 55 + - type: object + properties: + custom_fields: + type: array + nullable: true + description: Custom-fields values requested + items: + anyOf: + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/1 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/2 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/3 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/4 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/5 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/6 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/7 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/8 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/9 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/10 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/11 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/12 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/13 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/14 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/15 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/16 + EstimateOneEmbed: + title: Embed for Estimate + description: Objects add to response. Use embed parameter + x-examples: {} + type: object + properties: + _embed: + allOf: + - $ref: '#/components/schemas/SaleEmbed/properties/_embed/allOf/0' + - type: object + properties: + discount_incl_taxes: + type: object + description: Discount including taxes of document + properties: + id: + type: integer + description: identifier of discount + readOnly: true + example: 31 + reference: + type: string + description: Reference of discount + minLength: 1 + maxLength: 250 + example: Halloween five last day + name: + type: string + description: Name of discount + minLength: 1 + maxLength: 250 + example: Halloween promotion + description: + type: string + description: Description visible on the document + minLength: 1 + maxLength: 1000 + example: For purchases made during the last five days of October + unit_id: + type: integer + description: Unit id + example: 31 + unit_amount: + type: string + description: Amount of unit + minLength: 0 + example: 31 + quantity: + type: integer + description: Quantity of discounts + example: 2 + total_amount: + type: string + description: Unit amount multiplied by quantity + example: 62 + accounting_code_id: + type: integer + description: > +
  • If the accounting code is not empty, we use + it.
  • If the accounting code is empty AND if the + account has activated dedicated accounting codes for + discounts including VAT, we use it.
  • Otherwise, + we use the default accounting code for + companies.
+ nullable: true + example: 31 + - type: object + properties: + company: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + individual: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + contact: + $ref: '#/components/schemas/ContactItem/allOf/0' + invoicing_address: {} + delivery_address: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + currency: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/currency + acl: + title: EstimateAcl + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Document can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Document can be deleted + example: true + payment_method_ids: + type: array + items: + type: object + title: Payment method object + properties: + id: + type: integer + description: Payment method identifier + label: + type: string + description: Payment method label + fiscal_year: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/fiscal_year + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + - $ref: '#/components/schemas/SaleEmbed/properties/_embed/allOf/2' + Address: + type: object + title: Address + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + name: + type: string + description: Address name + example: Main office + minLength: 2 + address_line_1: + type: string + description: Address line one + example: 30 Commercial Road + nullable: true + address_line_2: + type: string + description: Address line two + example: Finance and Accounting + nullable: true + address_line_3: + type: string + description: Address line three + example: Lighthouse Promotions + nullable: true + address_line_4: + type: string + description: Address line four + example: PO Box 215 + nullable: true + postal_code: + type: string + nullable: true + description: Address postal code + example: '75012' + minLength: 2 + city: + type: string + description: Address city name + example: Paris + minLength: 2 + country: + type: string + description: Address country + nullable: true + example: France + minLength: 2 + country_code: + type: string + description: Address country code + example: FR + minLength: 2 + maxLength: 2 + is_invoicing_address: + readOnly: true + type: boolean + is_delivery_address: + readOnly: true + type: boolean + geocode: + type: object + properties: + lat: + type: number + nullable: true + example: 46.140862 + lng: + type: number + nullable: true + example: -1.168249 + AddressCreate: + type: object + required: + - name + - address_line_1 + - postal_code + - city + - country_code + properties: + name: + type: string + description: Address name + example: Main office + minLength: 2 + nullable: false + address_line_1: + type: string + description: Address line one + example: 30 Commercial Road + nullable: false + address_line_2: + type: string + description: Address line two + example: Finance and Accounting + nullable: true + address_line_3: + type: string + description: Address line three + example: Lighthouse Promotions + nullable: true + address_line_4: + type: string + description: Address line four + example: PO Box 215 + nullable: true + postal_code: + type: string + nullable: false + description: Address postal code + example: '75012' + minLength: 2 + city: + type: string + description: Address city name + example: Paris + minLength: 2 + nullable: false + country_code: + type: string + description: Address country code + example: FR + minLength: 2 + maxLength: 2 + nullable: false + is_invoicing_address: + type: boolean + description: >- + default to true if no invoicing address is already defined, false + otherwise + is_delivery_address: + type: boolean + description: >- + default to true if no delivery address is already defined, false + otherwise + geocode: + type: object + properties: + lat: + type: number + nullable: true + example: 46.140862 + lng: + type: number + nullable: true + example: -1.168249 + AddressUpdate: + type: object + properties: + name: + type: string + description: Address name + example: Main office + minLength: 2 + nullable: false + address_line_1: + type: string + description: Address line one + example: 30 Commercial Road + nullable: false + address_line_2: + type: string + description: Address line two + example: Finance and Accounting + nullable: true + address_line_3: + type: string + description: Address line three + example: Lighthouse Promotions + nullable: true + address_line_4: + type: string + description: Address line four + example: PO Box 215 + nullable: true + postal_code: + type: string + nullable: false + description: Address postal code + example: '75012' + minLength: 2 + city: + type: string + description: Address city name + example: Paris + minLength: 2 + nullable: false + country_code: + type: string + description: Address country code + example: FR + minLength: 2 + maxLength: 2 + nullable: false + is_invoicing_address: + type: boolean + is_delivery_address: + type: boolean + geocode: + type: object + properties: + lat: + type: number + nullable: true + example: 46.140862 + lng: + type: number + nullable: true + example: -1.168249 + Staff: + title: Staff Schemas + description: Staff schemas according of current user level of visibility on staffs + allOf: + - title: Staff restricted visibility + type: object + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + lastname: + type: string + description: Staff last name + example: Smith + maxLength: 200 + nullable: true + firstname: + type: string + description: Staff first name + example: John + maxLength: 200 + nullable: true + email: + type: string + format: email + description: Staff email address + example: john@example-company.com + avatar: + type: string + nullable: true + description: Avatar url + format: uri + readOnly: true + status: + type: string + description: Staff status + enum: + - ok + - blocked + - deleted + readOnly: true + position: + type: string + description: Staff position + example: Sales manager + nullable: true + - type: object + properties: + phone_number: + type: string + description: Staff phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Staff mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Staff fax number + example: '+33500000000' + nullable: true + groups: + type: array + nullable: true + description: Staff groups + readOnly: true + items: + type: object + properties: + id: + type: integer + example: 1 + name: + type: string + example: Sales + civility: + type: string + description: Civility of staff + example: mrs + nullable: true + enum: + - mr + - mrs + - ms + created: + type: string + description: Creation date of the staff + format: date-time + example: '1970-01-01T00:00:00+00:00' + readOnly: true + profile: + type: integer + description: Staff privilège profile + example: 3443 + team: + nullable: true + type: object + properties: + id: + type: integer + example: -1 + name: + type: string + example: Commercial + description: Staff team position + job: + nullable: true + type: object + properties: + id: + type: integer + example: -1 + name: + type: string + example: Office manager + description: Staff job + timezone: + type: string + description: Staff time zone + example: Europe/Paris + language: + type: string + description: Staff language + example: fr + StaffRestrictedView: + title: Staff restricted visibility + type: object + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + lastname: + type: string + description: Staff last name + example: Smith + maxLength: 200 + nullable: true + firstname: + type: string + description: Staff first name + example: John + maxLength: 200 + nullable: true + email: + type: string + format: email + description: Staff email address + example: john@example-company.com + avatar: + type: string + nullable: true + description: Avatar url + format: uri + readOnly: true + status: + type: string + description: Staff status + enum: + - ok + - blocked + - deleted + readOnly: true + position: + type: string + description: Staff position + example: Sales manager + nullable: true + StaffUpdateItem: + title: Staff + description: Staff update request body + type: object + properties: + lastname: + type: string + description: Staff last name + example: Smith + maxLength: 200 + nullable: false + firstname: + type: string + description: Staff first name + example: John + maxLength: 200 + nullable: false + email: + type: string + format: email + description: Staff email address + example: john@example-company.com + phone_number: + type: string + description: Staff phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Staff mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Staff fax number + example: '+33500000000' + nullable: true + civility: + type: string + description: Civility of staff + example: mrs + nullable: true + enum: + - mr + - mrs + - ms + position: + type: string + description: Staff position + example: Sales manager + maxLength: 200 + nullable: true + profile: + type: integer + description: Staff privilège profile + example: 3443 + team: + type: integer + description: Staff team position + example: -1 + job: + type: integer + description: Staff job + example: -1 + timezone: + type: string + description: Staff time zone + example: Europe/Paris + language: + type: string + description: Staff language + example: fr + licenses: + title: Licenses + type: array + minItems: 0 + maxItems: 1 + items: + type: object + properties: + id: + type: string + description: License identifier + example: 9998a80a-7b75-4616-96d5-7ccff7ac08e8 + is_active: + type: boolean + description: > + Status of the staff access
If your account contains licenses, + those already attached to this collaborator will remain so, you will + have to specify the "licenses" property to free the licenses + example: true + StaffPreferences: + title: Staff preferences + type: object + properties: + timezone: + type: string + description: Staff timezone + example: Europe/Paris + format_phone_number: + readOnly: true + type: string + description: display phone number format + enum: + - international + - national + example: international + format_date: + readOnly: true + type: string + description: display date format + example: DD-MM-YYYY + enum: + - MM-DD-YYYY + - DD-MM-YYYY + format_hour: + readOnly: true + type: string + description: display hour format + example: 24 + enum: + - 12 + - 24 + currency: + readOnly: true + type: string + description: current currency for staff + example: EUR + StaffAcl: + title: Staff ACL + type: object + description: '' + x-examples: {} + properties: + view_companies: + type: boolean + nullable: false + description: Is allowed to view companies + example: true + create_companies: + type: boolean + nullable: false + description: Is allowed to create companies + example: true + update_companies: + type: boolean + nullable: false + description: Is allowed to update companies + example: true + delete_companies: + type: boolean + nullable: false + description: Is allowed to delete companies + example: true + view_individuals: + type: boolean + nullable: false + description: Is allowed to view individuals + example: true + create_individuals: + type: boolean + nullable: false + description: Is allowed to create individuals + example: true + update_individuals: + type: boolean + nullable: false + description: Is allowed to update individuals + example: true + delete_individuals: + type: boolean + nullable: false + description: Is allowed to delete individuals + example: true + view_clients: + type: boolean + nullable: false + description: Is allowed to view clients + example: true + create_clients: + type: boolean + nullable: false + description: Is allowed to create clients + example: true + update_clients: + type: boolean + nullable: false + description: Is allowed to update clients + example: true + delete_clients: + type: boolean + nullable: false + description: Is allowed to delete clients + example: true + view_prospects: + type: boolean + nullable: false + description: Is allowed to view prospects + example: true + create_prospects: + type: boolean + nullable: false + description: Is allowed to create prospects + example: true + update_prospects: + type: boolean + nullable: false + description: Is allowed to update prospects + example: true + delete_prospects: + type: boolean + nullable: false + description: Is allowed to delete prospects + example: true + view_suppliers: + type: boolean + nullable: false + description: Is allowed to view suppliers + example: true + create_suppliers: + type: boolean + nullable: false + description: Is allowed to create suppliers + example: true + update_suppliers: + type: boolean + nullable: false + description: Is allowed to update suppliers + example: true + delete_suppliers: + type: boolean + nullable: false + description: Is allowed to delete suppliers + example: true + view_contacts: + type: boolean + nullable: false + description: Is allowed to view contacts + example: true + create_contacts: + type: boolean + nullable: false + description: Is allowed to create contacts + example: true + update_contacts: + type: boolean + nullable: false + description: Is allowed to update contacts + example: true + delete_contacts: + type: boolean + nullable: false + description: Is allowed to delete contacts + example: true + view_opportunities: + type: boolean + nullable: false + description: Is allowed to view opportunities + example: true + create_opportunities: + type: boolean + nullable: false + description: Is allowed to create opportunities + example: true + update_opportunities: + type: boolean + nullable: false + description: Is allowed to update opportunities + example: true + delete_opportunities: + type: boolean + nullable: false + description: Is allowed to delete opportunities + example: true + view_estimates: + type: boolean + nullable: false + description: Is allowed to view estimates + example: true + create_estimates: + type: boolean + nullable: false + description: Is allowed to create estimates + example: true + update_estimates: + type: boolean + nullable: false + description: Is allowed to update estimates + example: true + delete_estimates: + type: boolean + nullable: false + description: Is allowed to delete estimates + example: true + view_phone_calls: + type: boolean + nullable: false + description: Is allowed to view phone calls + example: true + create_phone_calls: + type: boolean + nullable: false + description: Is allowed to create phone calls + example: true + update_phone_calls: + type: boolean + nullable: false + description: Is allowed to update phone calls + example: true + delete_phone_calls: + type: boolean + nullable: false + description: Is allowed to delete phone calls + example: true + view_document_models: + type: boolean + nullable: false + description: Is allowed to view document models + example: true + create_document_models: + type: boolean + nullable: false + description: Is allowed to create document models + example: true + update_document_models: + type: boolean + nullable: false + description: Is allowed to update document models + example: true + delete_document_models: + type: boolean + nullable: false + description: Is allowed to delete document models + example: true + view_invoices: + type: boolean + nullable: false + description: Is allowed to view invoices + example: true + create_invoices: + type: boolean + nullable: false + description: Is allowed to create invoices + example: true + update_invoices: + type: boolean + nullable: false + description: Is allowed to update invoices + example: true + delete_invoices: + type: boolean + nullable: false + description: Is allowed to delete invoices + example: true + validate_invoices: + type: boolean + nullable: false + description: Is allowed to validate invoices + view_credit_notes: + type: boolean + nullable: false + description: Is allowed to view credit notes + example: true + create_credit_notes: + type: boolean + nullable: false + description: Is allowed to create credit notes + example: true + update_credit_notes: + type: boolean + nullable: false + description: Is allowed to update credit notes + example: true + delete_credit_notes: + type: boolean + nullable: false + description: Is allowed to delete credit notes + example: true + validate_credit_notes: + type: boolean + nullable: false + description: Is allowed to validate credit notes + example: true + view_orders: + type: boolean + nullable: false + description: Is allowed to view orders + example: true + create_orders: + type: boolean + nullable: false + description: Is allowed to create orders + example: true + update_orders: + type: boolean + nullable: false + description: Is allowed to update orders + example: true + delete_orders: + type: boolean + nullable: false + description: Is allowed to delete orders + example: true + view_deliveries: + type: boolean + nullable: false + description: Is allowed to view deliveries + example: true + view_proformas: + type: boolean + nullable: false + description: Is allowed to view proformas + example: true + view_purchase_invoices: + type: boolean + nullable: false + description: Is allowed to view purchase invoices + example: true + view_purchase_credit_notes: + type: boolean + nullable: false + description: Is allowed to view purchase credit notes + example: true + view_purchase_deliveries: + type: boolean + nullable: false + description: Is allowed to view purchase deliveries + example: true + view_purchase_orders: + type: boolean + nullable: false + description: Is allowed to view purchase orders + example: true + view_items: + type: boolean + nullable: false + description: Is allowed to view items + example: true + create_items: + type: boolean + nullable: false + description: Is allowed to create items + example: true + update_items: + type: boolean + nullable: false + description: Is allowed to update items + example: true + delete_items: + type: boolean + nullable: false + description: Is allowed to delete items + example: true + view_payments: + type: boolean + description: Is allowed to view payments + example: true + create_payments: + type: boolean + description: Is allowed to create payments + example: true + update_payments: + type: boolean + description: Is allowed to update payments + example: true + delete_payments: + type: boolean + description: Is allowed to delete payments + example: true + attach_payments: + type: boolean + description: Is allowed to attach existing payments to objects + example: true + view_subscriptions: + type: boolean + description: Is allowed to view subscriptions + example: true + create_subscriptions: + type: boolean + description: Is allowed to create subscriptions + example: true + update_subscriptions: + type: boolean + description: Is allowed to update subscriptions + example: true + delete_subscriptions: + type: boolean + description: Is allowed to delete subscriptions + example: true + view_cashflow: + type: boolean + nullable: false + description: Is allowed to view cashflow + example: true + create_cashflow: + type: boolean + nullable: false + description: Is allowed to create cashflow + example: true + view_files: + type: boolean + nullable: false + description: Is allowed to view files + example: true + attach_files: + type: boolean + nullable: false + description: Is allowed to attach files + example: true + delete_files: + type: boolean + nullable: false + description: Is allowed to delete files + example: true + view_tickets: + type: boolean + nullable: false + description: Is allowed to view support tickets + example: true + StaffCreateItem: + title: Staff + description: Staff creation request body + type: object + properties: + lastname: + type: string + description: Staff last name + example: Smith + maxLength: 200 + nullable: false + firstname: + type: string + description: Staff first name + example: John + maxLength: 200 + nullable: false + email: + type: string + format: email + description: Staff email address + example: john@example-company.com + phone_number: + type: string + description: Staff phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Staff mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Staff fax number + example: '+33500000000' + nullable: true + civility: + type: string + description: Civility of staff + example: mrs + nullable: true + enum: + - mr + - mrs + - ms + position: + type: string + description: Staff position + example: Sales manager + maxLength: 200 + nullable: true + profile: + type: integer + description: Staff privilège profile + example: 3443 + team: + type: integer + description: Staff team position + example: -1 + job: + type: integer + description: Staff job + example: -1 + timezone: + type: string + description: Staff time zone + example: Europe/Paris + language: + type: string + description: Staff language + example: fr + first_connection_onboarding: + type: boolean + description: Staff onboarding on first connection + example: true + licenses: + title: Licenses + type: array + minItems: 0 + maxItems: 1 + items: + type: object + properties: + id: + type: string + description: License identifier + example: 9998a80a-7b75-4616-96d5-7ccff7ac08e8 + required: + - email + - civility + - lastname + - firstname + - profile + - team + - job + - timezone + - language + - first_connection_onboarding + StaffAutocompleteResultItem: + type: object + title: Staff search result + properties: + id: + type: string + readOnly: true + description: Unique ID + example: 6657 + object: + type: object + description: Main object + properties: + type: + type: string + default: staff + sub_type: + type: string + default: staff + nullable: true + id: + type: integer + example: 11 + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + readOnly: true + created: + type: string + format: datetime + description: Created datetime of object + example: '2020-05-29T11:22:03+02:00' + readOnly: true + updated: + type: string + format: datetime + description: updated datetime of object + example: '2020-05-29T11:22:03+02:00' + readOnly: true + is_archived: + type: boolean + description: Staff status is archived + example: false + first_name: + description: Staff first name + type: string + format: text + example: John + nullable: true + last_name: + description: Staff last name + type: string + format: text + example: Doe + nullable: true + phone_number: + type: string + description: Staff phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Staff mobile number + example: '+33100000000' + nullable: true + blocked: + description: Staff active status + type: boolean + email: + description: Staff email + type: string + format: email + example: john.doe@example-company.com + nullable: true + position: + type: string + nullable: true + description: Staff job + example: Financial + Social: + type: object + properties: + twitter: + type: string + format: url + description: Twitter account + example: https://twitter.com/example + nullable: true + facebook: + type: string + format: url + description: Facebook account + example: https://facebook.com/example + nullable: true + linkedin: + type: string + format: url + description: Linkedin account + example: https://linkedin.com/example + nullable: true + viadeo: + type: string + format: url + description: Viadeo account + example: https://viadeo.com/example + nullable: true + Owner: + type: object + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + type: + type: string + readOnly: true + description: Type of owner + example: staff + Pagination: + title: pagination + type: object + description: The pagination + properties: + limit: + type: integer + example: 25 + minimum: 0 + maximum: 100 + total: + type: integer + example: 152 + minimum: 0 + count: + type: integer + example: 25 + minimum: 0 + offset: + anyOf: + - type: integer + minimum: 0 + example: 25 + - type: string + example: WzIwMTQtMDEtMDEsNTk4XQ== + required: + - limit + - total + - count + - offset + FavouriteFilters: + title: Favourite filters + description: Favourite filters for entity + type: array + items: + type: object + properties: + type: + type: string + description: Favourite filters name + example: Created this year + id: + type: integer + description: Favourite filters id + example: 1 + Deals: + type: object + description: The deals activity + properties: + id: + type: string + description: Id of activity + example: 2wto807ysxa + event: + type: string + description: Event type + example: task.created + author: + type: object + properties: + type: + type: string + enum: + - staff + example: staff + id: + type: integer + minimum: 1 + example: 1024 + event_date: + type: string + description: Date of activity + format: date-time + due_date: + type: string + format: date-time + description: Due date of activity + event_details: + type: object + description: Details of events + additionalProperties: true + event_more: + type: object + description: Additional informations + example: + old: client + new: prospect + additionalProperties: true + object: + type: object + description: Event object of activity + required: + - type + - id + properties: + type: + type: string + example: task + id: + oneOf: + - type: string + example: 1056 + minLength: 1 + - type: integer + example: 1056 + minimum: 1 + model: + nullable: true + oneOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + - title: Opportunity + type: object + description: Describe opportunity object + properties: + id: + type: integer + description: Internal Opportunity ID + readOnly: true + example: 1 + number: + type: string + description: External Opportunity ID + example: OPP-1155 + name: + type: string + description: Opportunity name + example: New website + source: + type: object + description: Source of opportunity creation + properties: + id: + type: integer + example: 1 + name: + type: string + example: Internal + due_date: + type: string + description: Due date of the opportunity + format: date + example: '1970-01-01' + nullable: true + created: + type: string + description: Creation date of the opportunity + format: date-time + example: '1970-01-01T00:00:00+00:00' + updated_status: + type: string + description: Date of last opportunity status update + format: date-time + example: '1970-01-01T00:00:00+00:00' + nullable: true + status: + type: string + description: Opportunity status + example: won + enum: + - open + - won + - lost + - cancelled + - closed + - late + amount: + type: object + description: Potential amount of the opportunity with the currency + properties: + value: + type: string + description: Amount + example: 72000.99 + currency: + type: string + description: Currency (ISO 4217) + example: EUR + pipeline: + type: object + description: Current pipeline + properties: + id: + type: integer + example: 9763 + name: + type: string + example: Commercial North + step: + type: object + description: Current step + properties: + id: + type: integer + example: 299 + name: + type: string + example: Prospection + probability: + type: integer + description: Opportunity probability + example: 75 + maximum: 100 + minimum: 0 + note: + type: string + description: Opportunity note + owner: + type: object + description: Staff owning the opportunity + properties: + id: + type: integer + example: 12 + type: + type: string + example: staff + enum: + - staff + - thirdcontact + assigned_staff_ids: + type: array + description: Staff(s) ID assigned to the opportunity + example: + - 133 + - 299 + items: + type: integer + nullable: true + contact_ids: + type: array + description: Contact(s) ID responsible for the opportunity + example: + - 222 + - 876 + items: + type: integer + nullable: true + company_id: + type: integer + description: Company linked to the opportunity + example: 1220 + nullable: true + individual_id: + type: integer + description: Individual linked to the opportunity + example: 299 + nullable: true + main_doc_id: + type: integer + description: Internal ID of the main opportunity document + nullable: true + example: 22 + related: + $ref: >- + #/components/schemas/OpportunityUpdate/properties/related + _embed: + $ref: '#/components/schemas/OpportunityItem/properties/_embed' + - title: Task + type: object + description: Task base object + x-examples: {} + properties: + id: + type: integer + readOnly: true + description: Task ID + example: 6657 + title: + type: string + example: Meeting + description: Task title + nullable: true + description: + type: string + example: Monthly meeting with consulting team + description: Task description + nullable: true + status: + type: string + example: todo + description: Task status + readOnly: true + enum: + - todo + - done + is_private: + type: boolean + description: Task is private or public + default: false + due_date: + description: due date and time of task + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + assigned_staff_ids: + type: array + nullable: true + items: + type: integer + description: staffs assigned to the task + example: 1 + label: + $ref: '#/components/schemas/LabelBaseItem/properties/label' + updated: + description: Updated date of task (system) + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + readOnly: true + created: + description: Created date of task (system) + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + readOnly: true + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: Main object related to the task (limit to 1). + items: + type: object + additionalProperties: false + description: Main object related to the task + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - invoice + - creditnote + - estimate + - order + owner: + description: Owner of the task + type: object + properties: + type: + type: string + description: owner type + enum: + - staff + id: + type: integer + description: Owner id + example: 51 + company_id: + type: integer + description: Company linked to the task + example: 1 + readOnly: true + nullable: true + individual_id: + type: integer + description: Individual linked to the task + example: 92 + readOnly: true + nullable: true + contact_id: + type: integer + description: Contact linked to the task + example: 958 + readOnly: true + nullable: true + priority: + type: integer + description: Priority level of the task + example: 1 + minimum: 0 + maximum: 1 + - $ref: '#/components/schemas/ContactItem/allOf/0' + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + - title: Calendar Event + type: object + properties: + id: + type: integer + description: Id of calendar event + readOnly: true + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + title: + type: string + description: Title of calendar event + description: + type: string + description: Description for calendar event + is_private: + type: boolean + description: Calendar Event is private or public + all_day: + type: boolean + description: Calendar event is scheduled for the whole day + default: false + datetime_start: + type: string + format: date-time + maxLength: 29 + description: Calendar Event starting date / hour + example: '2020-01-01T00:00:00+01:00' + datetime_end: + type: string + format: date-time + maxLength: 29 + description: Calendar Event ending date / hour + example: '2020-01-01T00:00:00+01:00' + participants: + type: array + description: Participants (Staff, Contact or External Participants) + items: + type: object + description: Participant linked + properties: + id: + oneOf: + - type: integer + - type: string + description: Id of participant + type: + type: string + enum: + - staff + - contact + - external + description: Type of participant + label: + $ref: '#/components/schemas/LabelBaseItem/properties/label' + created: + type: string + format: date-time + description: Creation date / hour + example: '2020-05-29T11:22:03+02:00' + readOnly: true + updated: + type: string + format: date-time + description: Last update date / hour + example: '2020-05-29T11:22:03+02:00' + readOnly: true + provider_calendar: + type: object + nullable: true + description: Calendar + properties: + id: + type: string + name: + type: string + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: Main object related to the calendar event (limit to 1). + items: + type: object + additionalProperties: false + description: Main object related to the calendar event + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - estimate + - invoice + - creditnote + - order + company_id: + type: integer + nullable: true + description: Company linked to calendar event + individual_id: + type: integer + nullable: true + description: Individual linked to calendar event + contact_id: + type: integer + nullable: true + description: Contact linked to calendar event + priority: + type: integer + description: Priority level of the calendar event + minimum: 0 + maximum: 1 + - title: Email + allOf: + - $ref: '#/components/schemas/EmailItem/allOf/0' + - type: object + properties: + snippet: + type: string + description: Short description + related: + type: array + minItems: 0 + nullable: false + description: List all direct and indirect relations of the activity’s main object + items: + oneOf: + - type: object + title: Company or Contact + additionalProperties: false + description: Object related to the activity + properties: + id: + $ref: '#/components/schemas/Deals/properties/object/properties/id' + type: + type: string + example: client + description: related type + enum: + - prospect + - client + - supplier + - people + name: + type: string + description: related name + example: Customer + phone_number: + type: string + nullable: true + description: phone number + example: '+33100000000' + mobile_number: + type: string + nullable: true + description: mobile phone number + example: '+33600000000' + email: + type: string + nullable: true + description: email address + example: john@example-company.com + - type: object + title: Other related + additionalProperties: false + description: Object related to the activity + properties: + id: + $ref: '#/components/schemas/Deals/properties/object/properties/id' + type: + type: string + example: opportunity + description: related type + name: + type: string + example: OPP-003 + description: related name + DealsFilters: + title: dealsFilter + type: object + description: The deals filters + properties: + filters: + type: object + description: Activity filters + properties: + due_date: + type: object + description: The filter by due date + nullable: true + properties: + start: + type: string + format: date-time + end: + type: string + format: date-time + additionalProperties: false + entities: + description: The filter by entities + example: + - calendar_event + - task + - phonecall + type: array + items: + type: string + enum: + - calendar_event + - task + - phonecall + labels: + description: >- + Labels filters (will filter all activities with one of the + labels) + type: object + properties: + events: + type: array + description: The filter by event labels + minItems: 1 + nullable: true + example: + - 5 + - 15 + items: + type: integer + tasks: + type: array + description: The filter by task labels + minItems: 1 + nullable: true + example: + - 5 + - 15 + items: + type: integer + phonecalls: + type: array + description: The filter by phonecall labels + minItems: 1 + nullable: true + example: + - 5 + - 15 + items: + type: integer + additionalProperties: false + completed: + type: boolean + description: The completed filter + nullable: true + example: true + staffs: + type: array + description: The filter by staffs + minItems: 1 + nullable: true + example: + - 5 + - 15 + items: + type: integer + additionalProperties: false + required: + - filters + CrmActivity: + type: object + description: The CRM activity + properties: + id: + type: string + description: Id of activity + due_date: + type: string + format: date-time + description: Due date of activity + date: + type: string + description: Date of activity + format: date-time + related: + type: object + nullable: true + description: Related object of activity + required: + - type + - id + - name + properties: + type: + type: string + example: third + pattern: ^[a-zA-Z_-]+$ + name: + type: string + example: My companies + minLength: 1 + id: + oneOf: + - type: string + example: 1056 + minLength: 1 + - type: integer + example: 1056 + minimum: 1 + - type: array + items: + oneOf: + - type: string + example: 1056 + minLength: 1 + - type: integer + example: 1056 + minimum: 1 + companies: + type: array + description: Related companies of activity + minItems: 0 + items: + type: object + description: Company + required: + - type + - id + - name + properties: + type: + type: string + example: client + enum: + - prospect + - client + - supplier + id: + type: integer + example: 1056 + minimum: 1 + name: + type: string + example: My companies + minLength: 1 + people: + type: object + description: Related people of activity + nullable: true + required: + - id + - name + properties: + id: + type: integer + example: 1056 + minimum: 1 + name: + type: string + example: My companies + minLength: 1 + event: + type: string + enum: + - email.sent + - email.link.sent + - task.completed + - phonecall.created + - calendar_event.created + - email.scheduled.sent + description: Event type + author: + $ref: '#/components/schemas/Activity/properties/_embed/properties/author' + object: + type: object + description: Event object of activity + required: + - type + - id + properties: + type: + type: string + example: task + pattern: ^[a-zA-Z_-]+$ + id: + oneOf: + - type: string + example: 1056 + minLength: 1 + - type: integer + example: 1056 + minimum: 1 + - type: array + items: + oneOf: + - type: string + example: 1056 + minLength: 1 + - type: integer + example: 1056 + minimum: 1 + more: + type: object + description: Additional informations + example: + old: client + new: prospect + additionalProperties: true + required: + - id + - due_date + - date + - related + - people + - companies + - event + - author + - object + - more + CrmActivityFilters: + title: activityFilter + type: object + description: The activity filters + properties: + filters: + type: object + description: Activity filters + properties: + date: + type: object + description: The filter by date + nullable: true + properties: + start: + type: string + format: date-time + end: + type: string + format: date-time + additionalProperties: false + due_date: + $ref: >- + #/components/schemas/DealsFilters/properties/filters/properties/due_date + events: + type: array + description: The filter by events + minItems: 1 + nullable: true + example: + - email.sent + - annotation.created + items: + type: string + authors: + type: array + description: The filter by authors + minItems: 1 + nullable: true + example: + - 5 + - 15 + items: + type: integer + companies: + type: object + description: The filter by companies + nullable: true + minProperties: 1 + properties: + match: + type: array + nullable: true + description: > + Search activities related to one or more companies. If + empty, search activities without related companies. + example: + - 58 + - 105 + items: + type: integer + minimum: 1 + not_match: + type: array + nullable: true + description: > + Search activities not related to one or more companies. If + empty, search activities with one or more related companies + example: [] + items: + type: integer + minimum: 1 + peoples: + type: object + description: The filter by peoples + nullable: true + minProperties: 1 + properties: + match: + type: array + nullable: true + description: > + Search activities related to one or more peoples. If empty, + search activities without related peoples. + example: + - 58 + - 105 + items: + type: integer + minimum: 1 + not_match: + type: array + nullable: true + description: > + Search activities not related to one or more peoples. If + empty, search activities with one or more related peoples + example: [] + items: + type: integer + minimum: 1 + event.labels: + $ref: >- + #/components/schemas/DealsFilters/properties/filters/properties/labels/properties/events + task.labels: + $ref: >- + #/components/schemas/DealsFilters/properties/filters/properties/labels/properties/tasks + phonecall.statuses: + type: array + description: The filter by phonecall statuses + minItems: 1 + nullable: true + example: + - busy + - wrongnumber + items: + type: string + phonecall.sources: + type: array + description: The filter by phonecall sources + minItems: 1 + nullable: true + example: + - incoming + - outcoming + items: + type: string + phonecall.labels: + $ref: >- + #/components/schemas/DealsFilters/properties/filters/properties/labels/properties/phonecalls + related.types: + type: object + description: The filter by related types + nullable: true + minProperties: 1 + properties: + match: + type: array + nullable: true + description: | + Search activities related to one or more types. + example: + - document + - third + items: + type: string + enum: + - document + - third + - opportunity + - people + not_match: + type: array + nullable: true + description: | + Search activities not related to one or more types. + example: [] + items: + type: string + enum: + - document + - third + - opportunity + - people + additionalProperties: false + required: + - filters + CrmActivityAggregations: + title: activityAggregations + type: object + description: The activity aggregations + properties: + by_event: + type: object + description: Count activity by event + properties: + email.sent: + type: integer + example: 5 + minimum: 0 + email.link.sent: + type: integer + example: 5 + minimum: 0 + calendar_event.created: + type: integer + example: 1 + minimum: 0 + phonecall.created: + type: integer + example: 0 + minimum: 0 + task.completed: + type: integer + example: 6 + minimum: 0 + additionalProperties: true + by_month_and_event: + type: object + description: >- + Count activity by month and by event. Key are the first day of the + month + additionalProperties: true + example: + '2021-05-01': + event.created: 36 + email.sent: 75 + '2021-06-01': + event.created: 12 + email.sent: 25 + by_week_and_event: + type: object + description: >- + Count activity by week and by event. Key are the first day of the + week + additionalProperties: true + example: + '2021-05-24': + email.sent: 13 + task.completed: 27 + '2021-05-31': + email.sent: 8 + task.completed: 4 + by_day_and_event: + type: object + description: Count activity by day and by event. + additionalProperties: true + example: + '2021-06-29': + event.created: 2 + '2021-06-30': + email.sent: 6 + by_author_and_event: + type: object + description: Count activity by author and event. + additionalProperties: true + example: + '1': + phonecall.created: 57 + event.created: 24 + email.sent: 5 + '95': + task.completed: 1 + by_author_and_label: + type: object + description: Count activity by author and event then by label id. + additionalProperties: true + example: + '1': + event.created: + '0': 17 + '2377730': 1 + phonecall.created: [] + task.completed: + '5': 1 + '95': + task.completed: [] + CrmActivityMetas: + title: listingMeta + type: object + description: The listing meta + properties: + authors: + type: array + description: List of authors + minItems: 1 + items: + $ref: '#/components/schemas/CrmActivity/properties/author' + task: + type: object + description: The task metas + required: + - labels + properties: + labels: + type: array + description: List of event labels + minItems: 1 + items: + type: object + description: The label + required: + - id + - label + properties: + id: + type: integer + minimum: 1 + description: Label identifier + example: 156 + label: + type: string + minLength: 1 + description: Label + example: Remember + color: + type: string + example: '#f7dcf5' + description: Color of label + nullable: true + event: + type: object + description: The event metas + required: + - labels + properties: + labels: + type: array + description: List of event labels + minItems: 1 + items: + $ref: >- + #/components/schemas/CrmActivityMetas/properties/task/properties/labels/items + phonecall: + type: object + description: The phonecall metas + required: + - statuses + - labels + properties: + labels: + type: array + description: List of phonecall labels + minItems: 1 + items: + $ref: >- + #/components/schemas/CrmActivityMetas/properties/task/properties/labels/items + statuses: + type: array + description: List of statuses + minItems: 1 + items: + type: object + description: The status + required: + - id + - label + properties: + id: + type: string + description: Label identifier + example: connected + label: + type: string + minLength: 1 + description: Label + example: Remember + permissions: + type: object + description: The permissions + required: + - favorite + - export + properties: + favorite: + type: boolean + description: Can access to export + export: + type: boolean + description: Can access to favorite + working_days: + type: array + minItems: 0 + maxItems: 7 + uniqueItems: true + example: + - 1 + - 2 + - 3 + - 4 + - 5 + description: 'The working days (Sunday - Saturday : 0 - 6)' + items: + type: integer + minimum: 0 + maximum: 6 + working_hours: + type: object + description: The working hours + required: + - start_time + - end_time + properties: + start_time: + type: string + description: The start time + example: '09:00:00' + nullable: true + end_time: + type: string + description: The end time + example: '18:00:00' + nullable: true + required: + - permissions + - event + - task + - authors + - phonecall + - working_days + - working_hours + ExportParams: + title: exportParams + type: object + description: The output params + x-examples: + example-1: + output_format: csv + charset: UTF-8 + columns: + - date + - due_date + properties: + output_format: + description: Output format of file + default: pdf + enum: + - csv + - pdf + type: string + charset: + description: Output charset for export + default: UTF-8 + enum: + - UTF-8 + - ISO-8859-1 + type: string + columns: + description: List of specifics columns to export + nullable: true + type: array + items: + type: string + required: + - output_format + - charset + AccountingJournalExportParams: + title: exportParams + type: object + description: The output params + x-examples: + example-1: + output_format: csv + charset: UTF-8 + columns: + - date + - due_date + properties: + output_format: + description: Output format of file + default: csv + enum: + - csv + - fec + type: string + charset: + description: Output charset for export + default: UTF-8 + enum: + - UTF-8 + - ISO-8859-1 + type: string + columns: + description: List of specifics columns to export. + nullable: true + type: array + items: + type: string + enum: + - type + - document.public_link + - company-individual.reference + - document.service_end_date + - document.service_start_date + - document.currency + - date + - document.subject + - company-individual.name + - documents.linked + - code.label + - document.external_reference + - document.external_reference + - debit + - credit + - analytic_code + - analytic_plan + - code.value + - document.due_date + - auxiliary_code + - document.number + - label + - amount.direction + - amount.value + - accounting_type + required: + - output_format + - charset + ListingUserContext: + title: listingUserContext + type: object + description: The saved user context for listings + properties: + sorting: + nullable: true + type: object + description: The listing sorting + required: + - field + - direction + properties: + field: + type: string + direction: + type: string + enum: + - asc + - desc + pagination: + nullable: true + type: object + description: The listing pagination + required: + - current_page + - per_page + properties: + current_page: + type: integer + minimum: 1 + example: 1 + per_page: + type: integer + minimum: 1 + example: 15 + columns: + nullable: true + type: array + description: The listing selected columns + example: + - id + - name + items: + type: string + filters: + nullable: true + type: object + description: The listing filters + additionalProperties: true + example: + name: + mode: contain + value: search + columns_size: + nullable: true + type: array + description: The listing columns size + items: + type: object + required: + - name + - width + properties: + name: + type: string + minLength: 1 + example: name + width: + type: number + example: 534 + display: + nullable: true + type: object + description: The listing display + required: + - sorting + - pagination + - columns + - filters + - columns_size + - display + CustomActivity: + title: customActivity + type: object + description: Custom Activity Object + properties: + id: + type: string + readOnly: true + example: xZk348lb2 + type_id: + type: string + example: vJ340fF1 + description: Activity type identifier + action: + type: string + example: Jean-pierre has opened a new ticket on Xeno. + relation: + type: object + description: Object linked to custom activity + properties: + type: + type: string + enum: + - client + - prospect + - supplier + - opportunity + - contact + example: prospect + id: + type: integer + example: 123 + date: + type: string + default: Current datetime + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Date of activity (ISO 8601) + author: + readOnly: true + type: object + description: Author of the custom activity + properties: + type: + type: string + default: staff + enum: + - staff + id: + type: integer + example: 11 + created: + readOnly: true + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Creation date of custom activity (ISO 8601) + updated: + readOnly: true + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Updated date of custom activity (ISO 8601) + CustomActivityCreate: + $ref: '#/components/schemas/CustomActivity' + CustomActivityFilters: + title: customActivityFilters + type: object + description: Available filters for Custom Events Search + properties: + filters: + type: object + properties: + date: + type: object + properties: + start: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + end: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + type_id: + description: ID of custom activity type + type: string + example: Voluptates aspernatur + staff_id: + type: integer + example: 1 + required: + - filters + CustomActivityType: + title: customActivityType + type: object + description: Represents a type of custom activity + properties: + id: + type: string + readOnly: true + example: xZk348lb2 + minLength: 1 + description: Activity type identifier + name: + type: string + example: Xeni + minLength: 1 + description: Activity type name + created: + readOnly: true + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Creation date of custom activity type (ISO 8601) + updated: + readOnly: true + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Updated date of custom activity type (ISO 8601) + author: + readOnly: true + type: object + description: Author of the custom activity type + properties: + type: + type: string + default: staff + enum: + - staff + id: + type: integer + example: 11 + required: + - name + PersonalAccessTokenCreateItem: + title: personalAccessToken + type: object + description: The personal access token for api + x-examples: {} + properties: + name: + type: string + description: The personal access token name + example: MyToken + user_id: + description: The linked user + example: 1257 + oneOf: + - type: integer + description: The staff id + - type: string + description: The current staff + enum: + - me + scopes: + type: array + description: The allowed scopes + minItems: 1 + example: + - companies.read + - companies.write + items: + type: string + description: The scope + required: + - name + - scopes + - user_id + PersonalAccessTokenItem: + title: personalAccessTokenItem + allOf: + - title: accessTokenItem + type: object + description: The access token for API + x-examples: {} + properties: + id: + type: string + description: The access token id + example: >- + 091d4c6200421657090c8ef5e5349172e668f507050a13e6ae0e3f2ff4b743acf5092f48faa1f98d + client_id: + type: string + description: The OAuth client id + example: 670fadef-576e-47a1-9358-62784605c024 + user: + description: The linked user + type: object + properties: + id: + type: integer + description: The user id + example: 154 + type: + type: string + description: User type + enum: + - staff + required: + - id + - type + expiration: + type: string + format: date-time + description: The token expiration date + example: 2120-05-25T17:28:29+0100 + scopes: + type: array + description: The allowed scopes + minItems: 1 + example: + - companies.read + - companies.write + items: + type: string + description: The scope + required: + - id + - client_id + - user + - expiration + - scopes + - type: object + properties: + name: + type: string + description: The token name + example: My Token 7 + required: + - name + PersonalAccessTokenMetas: + title: listingMeta + type: object + description: The personal access tokens metas + properties: + staffs: + type: array + description: List of staffs + minItems: 1 + items: + $ref: '#/components/schemas/CrmActivity/properties/author' + permissions: + type: object + description: The permissions + required: + - favorite + - export + properties: + favorite: + type: boolean + description: Can access to export + export: + type: boolean + description: Can access to favorite + required: + - permissions + - staffs + Client: + title: client + type: object + description: The OAuth client for Sellsy API + x-examples: {} + allOf: + - type: object + properties: + type: + type: string + description: The OAuth client type + enum: + - public + - private + - personal + - personal_access_token + - title: OAuth2 client for Sellsy API + type: object + description: OAuth2 client for Sellsy API + x-examples: {} + properties: + id: + type: string + description: The OAuth client id + example: 670fadef-576e-47a1-9358-62784605c024 + readOnly: true + name: + type: string + description: OAuth client name + example: MyToken + redirect_uri: + type: array + description: Redirect URIs + items: + type: string + scopes: + type: array + description: Allowed scopes for OAuth client + minItems: 1 + example: + - companies.read + - companies.write + items: + type: string + description: The scope + delegated: + type: boolean + description: >- + For `personal` type only.

Indicates if the + token can impersonate other staffs using the `X-Switch-User` + header.
+ + For example, use the header `X-Switch-User: staff:1` to send API + requests on behalf of the staff with identifier = 1.

+ + Only administrators can create such accesses, and only active + staffs can be impersonated. Be careful by using this feature, as + it generates real actions for impersonated users. + default: false + nullable: true + single_login: + type: boolean + description: >- + For `public` or `private` type only.

If set + to `true`, generating an access token for this client will + revoke all previous tokens linked to this client and the current + user. + default: false + nullable: true + user: + description: The linked user + type: object + nullable: true + properties: + id: + type: integer + description: The user id + example: 154 + type: + type: string + description: User type + enum: + - staff + required: + - id + - type + readOnly: true + validated_at: + type: string + format: date-time + nullable: true + description: date the OAuth client was approved by Sellsy + readOnly: true + required: + - id + - name + - type + - user + - scopes + - redirect_uri + - validated_at + ClientWSecret: + title: API Client + allOf: + - title: client + type: object + description: The OAuth client for Sellsy API + x-examples: {} + allOf: + - type: object + properties: + type: + type: string + description: The OAuth client type + enum: + - public + - private + - personal + - personal_access_token + - $ref: '#/components/schemas/Client/allOf/1' + required: + - id + - name + - type + - user + - scopes + - redirect_uri + - validated_at + - type: object + properties: + secret: + type: string + description: > + Client secret
> This property is only exposed on + response for the create endpoint. Remember to save the + value. + example: 9f8d07fd0eb80016476c6fc283505b5d95bcbcf39f24eb4b506af256a280c272 + ClientCreate: + title: clientCreate + type: object + description: The OAuth client for API + x-examples: {} + allOf: + - type: object + properties: + type: + type: string + description: The OAuth client type + enum: + - public + - private + - personal + - personal_access_token + - title: clientUpdate + type: object + description: The OAuth client for API + x-examples: {} + allOf: + - type: object + properties: + user_id: + description: For `personal` type only, linked user id. + example: 1257 + nullable: true + oneOf: + - type: integer + description: Staff id + - type: string + description: Current staff + enum: + - me + - $ref: '#/components/schemas/Client/allOf/1' + required: + - name + - type + - redirect_uri + - user_id + - scopes + ClientUpdate: + title: clientUpdate + type: object + description: The OAuth client for API + x-examples: {} + allOf: + - type: object + properties: + user_id: + description: For `personal` type only, linked user id. + example: 1257 + nullable: true + oneOf: + - type: integer + description: Staff id + - type: string + description: Current staff + enum: + - me + - $ref: '#/components/schemas/Client/allOf/1' + AccountingCode: + type: object + properties: + id: + type: integer + readOnly: true + description: Id of accounting code + example: 6657 + code: + type: string + description: accounting code + example: 411000 + label: + type: string + description: Label of accounting code + example: Provision of services + views: + type: array + description: List of views where accounting code is usable + items: + type: string + enum: + - third + - purchase + - sell + - bank + - reconciliation + required: + - code + - label + - views + AccountingCodeCreate: + title: Accounting code + description: '' + type: object + properties: + code: + type: string + description: accounting code + example: '411000' + maxLength: 13 + label: + type: string + description: Label of accounting code + example: Provision of services + maxLength: 255 + views: + type: array + description: List of views where accounting code is usable + items: + type: string + enum: + - third + - purchase + - sell + - bank + - reconciliation + required: + - code + AccountingJournal: + type: object + title: Accounting Entry + properties: + id: + type: integer + readOnly: true + description: Id of accounting entry + example: 6657 + related: + description: Objects linked to the accounting entry + type: array + items: + type: object + properties: + type: + type: string + description: Object type + enum: + - company + - individual + - invoice + - creditnote + - purInvoice + - purCreditNote + - expense + - bankDeposit + id: + type: integer + description: Object ID + analytic_code: + type: string + description: Analytic code + nullable: true + amount: + type: object + description: Amount of the accounting entry + properties: + direction: + description: Direction of the accounting entry (debit or credit) + type: string + enum: + - debit + - credit + value: + description: Amount value of the accounting entry + type: string + example: '123.22' + code: + type: object + description: Accounting code + properties: + label: + type: string + description: Label of accounting code + example: Sales Income + value: + type: string + description: Accounting code + example: '4000' + type: + type: string + example: SALES + date: + type: string + description: Date of accounting entry + format: date + label: + type: string + description: Label of accounting entry + example: Invoice n°FACT-20210811-00362 - Acme Corporation + recorded: + type: boolean + description: Accounting entry has ben exported or not + accounting_type: + type: integer + description: Type of accounting (for Sage export) + enum: + - 1 + - 2 + analytic_plan: + type: integer + description: Analytic plan number (for Sage export) + enum: + - 1 + auxiliary_code: + type: string + nullable: true + description: Auxiliary code + example: 0EX11C + document: + deprecated: true + allOf: + - type: object + description: Document linked to the accounting entry + nullable: true + properties: + type: + type: string + example: invoice + description: Document type + enum: + - invoice + - creditnote + - purInvoice + - purCreditNote + id: + type: integer + description: Unique ID + example: 6657 + number: + description: Document number + type: string + example: INV-20210810-00331 + due_date: + type: string + example: Due date of document + format: date + subject: + type: string + description: Document Subject + example: null + public_link: + type: string + format: uri + description: Public link of document + nullable: true + service_start_date: + type: string + description: Service start date of document + format: date + nullable: true + service_end_date: + type: string + description: Service end date of document + format: date + nullable: true + currency: + type: string + description: Currency of document + example: € + external_reference: + type: string + description: External reference of document + nullable: true + example: EXT-INV-20210810-00331 + documents: + description: Documents linked to the accounting entry + nullable: true + type: array + items: + allOf: + - $ref: >- + #/components/schemas/AccountingJournal/properties/document/allOf/0 + companies: + description: Companies linked to the accounting entry + nullable: true + type: array + items: + type: object + properties: + name: + type: string + description: Name of company + example: Acme Corporation + reference: + type: string + description: Company reference + individuals: + description: Individuals linked to the accounting entry + nullable: true + type: array + items: + type: object + properties: + name: + type: string + description: Name of individual + example: Acme Corporation + reference: + type: string + description: Individual reference + TaxSettingsInput: + type: object + properties: + vat_id: + type: integer + description: Id of taxe + example: 6657 + vat_mode: + type: string + enum: + - debit + - collection + description: VAT Mode + example: debit + vat_mention: + type: string + nullable: true + description: VAT Mention + example: mention + display_tax_mention: + type: boolean + description: If true, show tax mention + example: true + rate_category_id: + type: integer + description: Rate category ID + example: 57 + discount: + type: object + description: Default discount + properties: + type: + type: string + enum: + - amount + - percent + description: Type of discount + example: percent + value: + type: string + description: Value of discount + example: 55 + by_rows: + type: boolean + description: If True, each row can have different discount + example: false + required: + - type + - value + - by_rows + use_ecotax: + type: boolean + description: If True, using ecotax + example: true + use_bonuses: + type: boolean + description: If True, using tax bonuses + example: false + required: + - vat_id + - vat_mode + - vat_mention + - display_tax_mention + - rate_category_id + - discount + - use_ecotax + - use_bonuses + TaxSettingsOutput: + type: object + properties: + vat_id: + type: integer + description: Id of taxe + example: 6657 + vat_mode: + type: string + enum: + - debit + - collection + description: VAT Mode + example: debit + vat_mention: + type: string + nullable: true + description: VAT Mention + example: mention + display_tax_mention: + type: boolean + description: If true, show tax mention + example: true + rate_category_id: + type: integer + description: Rate category ID + example: 57 + discount: + type: object + description: Default discount + properties: + type: + type: string + enum: + - amount + - percent + description: Type of discount + example: percent + value: + type: string + description: Value of discount + example: 55 + by_rows: + type: boolean + description: If True, each row can have different discount + example: false + required: + - type + - value + - by_rows + use_ecotax: + type: boolean + description: If True, using ecotax + example: true + use_bonuses: + type: boolean + description: If True, using tax bonuses + example: false + required: + - vat_id + - vat_mode + - vat_mention + - display_tax_mention + - rate_category_id + - discount + - use_ecotax + - use_bonuses + TaxFilter: + title: taxFilter + type: object + description: The tax filters + properties: + filters: + type: object + description: Tax filters + properties: + rate: + description: Filter the taxes list by rate amount + properties: + min: + type: number + example: 10 + description: Minimum tax rate amount + max: + type: number + example: 20 + description: Maximum tax rate amount + label: + type: string + description: Filter the taxes list by label + example: TVA UK + is_active: + type: boolean + example: true + description: Filter the taxes list by active state + RateCategoryMetadata: + title: Rate category Meta + type: object + description: '' + x-examples: {} + additionalProperties: false + properties: + available_layouts: + type: array + description: Available layouts for the rate categories + uniqueItems: true + items: + type: string + enum: + - estimates + - invoices + - credit_notes + - models + - deliveries + - orders + - proformas + accounting: + title: Accounting + type: object + properties: + enabled: + type: boolean + description: if the plugin accounting if enabled + example: true + accounting_codes: + type: array + description: list of sell accounting codes + items: + type: object + properties: + label: + type: string + description: label of accounting code + example: Clients + value: + type: integer + description: id of accounting code + example: 1234567 + code: + type: string + description: accounting code + example: 445000 + use_specific_code_for_discount: + type: boolean + description: if specific code are used for discount + example: false + currencies: + type: array + description: List of currencies + minItems: 1 + uniqueItems: true + items: + type: object + additionalProperties: false + properties: + label: + type: string + description: Label of currency + example: EUR + value: + type: integer + description: Id of currency + example: 12 + required: + - label + - value + document_layouts: + type: array + description: List of document layouts + minItems: 1 + uniqueItems: true + items: + type: object + additionalProperties: false + properties: + label: + type: string + description: Label of the layout + example: Apparence par défaut + value: + type: integer + description: Id of the layout + example: 42 + required: + - label + - value + required: + - available_layouts + - accounting + - currencies + - document_layouts + Ocr: + title: ocr + type: object + description: Represents an OCR document + properties: + id: + type: integer + readOnly: true + example: 1 + minimum: 1 + staff_id: + type: integer + description: ID of staff who created ocr document + readOnly: true + example: 1 + minimum: 1 + file_name: + type: string + description: File name of uploaded OCR document + example: myfile.png + minLength: 1 + linked_type: + description: Type of linked object + type: string + enum: + - purInvoice + example: purInvoice + linked_id: + type: integer + description: Id of linked object + nullable: true + example: 123 + created_at: + type: string + default: Current datetime + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Creation date of OCR document (ISO 8601) + completed_at: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Completion date of OCR process (ISO 8601) + nullable: true + state: + type: string + description: state of OCR process + enum: + - pending + - processing + - completed + - error + error_code: + type: integer + description: | + Error code + * `1` - Too many page error + * `2` - Technical error + * `3` - File error + enum: + - 1 + - 2 + - 3 + - null + nullable: true + OcrPurInvoiceMetas: + title: Metadata + type: object + properties: + user_can_validate_pur_invoice: + type: boolean + description: 'Use can validate a purchase invoice ' + required: + - user_can_validate_pur_invoice + InvoicingConformityState: + title: conformityState + type: object + description: Invoice conformity state informations + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + active: + type: boolean + description: Invoice conformity state + readOnly: true + activated_by: + allOf: + - $ref: '#/components/schemas/CrmActivity/properties/author' + readOnly: true + nullable: true + activated_at: + type: string + default: Current datetime + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Activation date (ISO 8601) + readOnly: true + nullable: true + pdf: + type: string + nullable: true + description: PDF url + format: uri + readOnly: true + OpportunityCreate: + title: Opportunity + type: object + allOf: + - title: Opportunity + type: object + description: Describe input body to update an Opportunity + properties: + name: + type: string + description: Opportunity name + example: New website + owner_id: + type: integer + description: >- + Owner of the opportunity (staff id). If not provided, the ID of + the logged-in staff will be used by default. + minimum: 1 + status: + type: string + description: Opportunity status + example: won + enum: + - open + - won + - lost + - cancelled + - closed + - late + default: open + pipeline: + type: integer + description: Pipeline + example: 9763 + step: + type: integer + description: Pipeline Step + example: 299 + amount: + type: string + description: >- + Potential Opportunity Amount (in the default currency selected + for the account) + example: '72000.99' + probability: + type: integer + description: Opportunity probability + example: 75 + maximum: 100 + minimum: 0 + source: + type: integer + description: >- + Source of opportunity creation (null will use the default + defined in account preferences) + example: 1 + due_date: + type: string + description: Due date of the opportunity + format: date + nullable: true + example: '2020-02-01' + note: + type: string + description: Opportunity note + main_doc_id: + type: integer + description: Internal ID of the main opportunity document + nullable: true + example: 22 + assigned_staff_ids: + type: array + uniqueItems: true + description: > + Staff(s) ID assigned to the opportunity
The same staff + cannot be present more than once + example: + - 133 + - 299 + items: + type: integer + nullable: true + contact_ids: + type: array + description: Contact(s) ID responsible for the opportunity + example: + - 222 + - 876 + items: + type: integer + nullable: true + related: + $ref: '#/components/schemas/OpportunityUpdate/properties/related' + - type: object + properties: + number: + type: string + description: Opportunity number + example: OPP-1155 + owner_id: + type: integer + description: >- + Owner of the opportunity (staff id). If not provided, the ID of + the logged-in staff will be used by default. + minimum: 1 + created: + description: Date of creation of the opportunity + type: string + format: date-time + required: + - name + - pipeline + - step + - related + OpportunityUpdate: + title: Opportunity + type: object + description: Describe input body to update an Opportunity + properties: + name: + type: string + description: Opportunity name + example: New website + owner_id: + type: integer + description: >- + Owner of the opportunity (staff id). If not provided, the ID of the + logged-in staff will be used by default. + minimum: 1 + status: + type: string + description: Opportunity status + example: won + enum: + - open + - won + - lost + - cancelled + - closed + - late + default: open + pipeline: + type: integer + description: Pipeline + example: 9763 + step: + type: integer + description: Pipeline Step + example: 299 + amount: + type: string + description: >- + Potential Opportunity Amount (in the default currency selected for + the account) + example: '72000.99' + probability: + type: integer + description: Opportunity probability + example: 75 + maximum: 100 + minimum: 0 + source: + type: integer + description: >- + Source of opportunity creation (null will use the default defined in + account preferences) + example: 1 + due_date: + type: string + description: Due date of the opportunity + format: date + nullable: true + example: '2020-02-01' + note: + type: string + description: Opportunity note + main_doc_id: + type: integer + description: Internal ID of the main opportunity document + nullable: true + example: 22 + assigned_staff_ids: + type: array + uniqueItems: true + description: > + Staff(s) ID assigned to the opportunity
The same staff cannot + be present more than once + example: + - 133 + - 299 + items: + type: integer + nullable: true + contact_ids: + type: array + description: Contact(s) ID responsible for the opportunity + example: + - 222 + - 876 + items: + type: integer + nullable: true + related: + title: Related + type: array + minItems: 1 + description: | + Related objects : + - There can be only one company or one individual at a time (required) + - Contact should be linked to company/individual linked + items: + type: object + additionalProperties: false + properties: + id: + type: integer + example: 1 + type: + type: string + example: company + enum: + - company + - individual + - contact + required: + - id + - type + OpportunityItem: + title: Opportunity + type: object + description: Describe opportunity object + properties: + id: + type: integer + description: Internal Opportunity ID + readOnly: true + example: 1 + number: + type: string + description: External Opportunity ID + example: OPP-1155 + name: + type: string + description: Opportunity name + example: New website + source: + type: object + description: Source of opportunity creation + properties: + id: + type: integer + example: 1 + name: + type: string + example: Internal + due_date: + type: string + description: Due date of the opportunity + format: date + example: '1970-01-01' + nullable: true + created: + type: string + description: Creation date of the opportunity + format: date-time + example: '1970-01-01T00:00:00+00:00' + updated_status: + type: string + description: Date of last opportunity status update + format: date-time + example: '1970-01-01T00:00:00+00:00' + nullable: true + status: + type: string + description: Opportunity status + example: won + enum: + - open + - won + - lost + - cancelled + - closed + - late + amount: + type: object + description: Potential amount of the opportunity with the currency + properties: + value: + type: string + description: Amount + example: 72000.99 + currency: + type: string + description: Currency (ISO 4217) + example: EUR + pipeline: + type: object + description: Current pipeline + properties: + id: + type: integer + example: 9763 + name: + type: string + example: Commercial North + step: + type: object + description: Current step + properties: + id: + type: integer + example: 299 + name: + type: string + example: Prospection + probability: + type: integer + description: Opportunity probability + example: 75 + maximum: 100 + minimum: 0 + note: + type: string + description: Opportunity note + owner: + type: object + description: Staff owning the opportunity + properties: + id: + type: integer + example: 12 + type: + type: string + example: staff + enum: + - staff + - thirdcontact + assigned_staff_ids: + type: array + description: Staff(s) ID assigned to the opportunity + example: + - 133 + - 299 + items: + type: integer + nullable: true + contact_ids: + type: array + description: Contact(s) ID responsible for the opportunity + example: + - 222 + - 876 + items: + type: integer + nullable: true + company_id: + type: integer + description: Company linked to the opportunity + example: 1220 + nullable: true + individual_id: + type: integer + description: Individual linked to the opportunity + example: 299 + nullable: true + main_doc_id: + type: integer + description: Internal ID of the main opportunity document + nullable: true + example: 22 + related: + $ref: '#/components/schemas/OpportunityUpdate/properties/related' + _embed: + title: Opportunity embed + readOnly: true + description: Opportunity embed + allOf: + - type: object + properties: + assigned_staffs: + type: array + description: Staff(s) assigned to the opportunity + items: + $ref: '#/components/schemas/CrmActivity/properties/author' + company: + nullable: true + description: Company object related to opportunity + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + contacts: + type: array + description: Contact(s) responsible for the opportunity + items: + $ref: '#/components/schemas/ContactCreateItem/allOf/0' + estimates: + type: integer + nullable: true + description: Number of linked estimates + example: 2 + individual: + nullable: true + description: Individual object related to opportunity object + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + invoices: + type: integer + nullable: true + description: Number of linked invoices + example: 1 + orders: + type: integer + nullable: true + description: Number of linked orders + example: 0 + deliveries: + type: integer + nullable: true + description: Number of linked deliveries + example: 8 + credit_notes: + type: integer + nullable: true + description: Number of linked credit notes + example: 1 + proforma: + type: integer + nullable: true + description: Number of linked proforma + example: 0 + currency: + nullable: true + description: Currency object related to opportunity + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/currency + acl: + nullable: true + description: Opportunity ACL + $ref: >- + #/components/schemas/Activity/properties/_embed/properties/acl/oneOf/5 + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + - $ref: '#/components/schemas/SaleEmbed/properties/_embed/allOf/2' + OpportunityFilters: + title: OpportunityFilters + type: object + description: The opportunity filters + properties: + filters: + type: object + description: Opportunity filters + properties: + created: + title: Created at + type: object + description: Filter the opportunity list by creation date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + updated_status: + title: Updated status + type: object + description: Filter the opportunity list by updated status date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + due_date: + title: Due Date + type: object + description: Filter the opportunity list by due date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + name: + title: Name + type: string + description: Filter the opportunity list by name + example: Website + pipeline: + title: Pipeline + type: array + items: + type: integer + description: Filter the opportunity list by pipeline ID + example: + - 12 + - 22 + step: + title: Step + type: array + items: + type: integer + description: Filter the opportunity list by step ID + example: + - 2 + - 7 + amount: + title: Amount + type: object + description: Filter the opportunity list by amount + properties: + min: + type: number + example: 10.5 + max: + type: number + example: 150 + related_objects: + description: Filter the opportunity list by an array of related objects + type: array + items: + type: object + properties: + type: + type: string + description: Type of related object + enum: + - company + - individual + id: + type: integer + description: Identifier of related object + example: 742 + assigned_staffs: + title: Assigned staffs + type: array + items: + type: integer + example: 33 + description: Filter by assigned staffs + statuses: + title: Filter the opportunity list by an array of statuses + type: array + nullable: true + minItems: 1 + items: + type: string + description: Opportunity status + example: won + enum: + - open + - won + - lost + - cancelled + - closed + - late + favourite_filter: + $ref: >- + #/components/schemas/ContactFilters/properties/filters/properties/favourite_filter + required: + - filters + OpportunitiesAggregations: + title: Opportunities aggregations + type: object + properties: + amount_sum_by_status: + type: object + description: Potential amount of opportunities by status + properties: + open: + type: object + description: Number and total amount of opportunities with status open + properties: + number: + type: integer + description: number of opportunities + amount: + type: object + description: Total amount of opportunities + properties: + value: + type: string + description: Amount + example: '38446.90' + currency: + type: string + description: Currency code + example: EUR + won: + type: object + description: Number and total amount of opportunities with status won + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + lost: + type: object + description: Number and total amount of opportunities with status lost + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + late: + type: object + description: Number and total amount of opportunities with status late + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + cancelled: + type: object + description: Number and total amount of opportunities with status cancelled + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + closed: + type: object + description: Number and total amount of opportunities with status closed + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + example: + open: + number: 123 + amount: '14400.000000000' + won: + number: 89 + amount: '12300.000000000' + lost: + number: 78 + amount: '11200.000000000' + late: + number: 67 + amount: '9400.000000000' + cancelled: + number: 56 + amount: '8600.000000000' + closed: + number: 45 + amount: '7500.000000000' + amount_sum_by_status_due_at_seven: + type: object + description: Potential amount of opportunities by status due this week + properties: + open: + type: object + description: Number and total amount of opportunities with status "open" + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + won: + type: object + description: Number and total amount of opportunities with status "won" + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + lost: + type: object + description: Number and total amount of opportunities with status "lost" + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + late: + type: object + description: Number and total amount of opportunities with status "late" + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + cancelled: + type: object + description: Number and total amount of opportunities with status "cancelled" + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + closed: + type: object + description: Number and total amount of opportunities with status "closed" + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + example: + open: + number: 123 + amount: '14400.000000000' + won: + number: 89 + amount: '12300.000000000' + lost: + number: 78 + amount: '11200.000000000' + late: + number: 67 + amount: '9400.000000000' + cancelled: + number: 56 + amount: '8600.000000000' + closed: + number: 45 + amount: '7500.000000000' + number_by_pipeline_and_step: + type: object + description: number of opportunities by pipeline and step + additionalProperties: true + example: + '7923': + '8': 12 + '24': 25 + '12344': + '7': 245 + '12': 75 + amount_sum: + type: object + description: Potential amount of opportunities + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + example: + number: 123 + amount: '14400.000000000' + OpportunitySourceCollectionItem: + title: OpportunitySourceCollectionItem + type: object + description: Represents an Opportunity Source + properties: + id: + type: integer + description: Internal Opportunity Source ID + readOnly: true + example: 1 + name: + type: string + description: Opportunity Source name + example: Showroom 2020 + is_default: + type: boolean + nullable: false + description: Is default source + example: true + is_hidden: + type: boolean + nullable: false + description: Is hidden source + example: true + category_id: + nullable: false + type: integer + description: Source category + example: 1 + minimum: 0 + rank: + type: integer + description: Source rank + example: 2 + minimum: 0 + OpportunitySourceFilters: + title: OpportunitySourceFilters + type: object + description: The opportunity sources filters + properties: + filters: + type: object + properties: + category_id: + title: Category + description: Filter the opportunity sources list by category + type: array + items: + type: integer + example: + - 10 + - 20 + required: + - filters + OpportunityPipelineCollectionItem: + title: OpportunityPipelineCollectionItem + type: object + description: Represents an Opportunity Pipeline + properties: + id: + type: integer + description: Internal Opportunity Pipeline ID + readOnly: true + example: 1 + name: + type: string + description: Opportunity Pipeline name + example: New website + is_default: + type: boolean + nullable: false + description: Is default pipeline define for account + example: true + step: + nullable: false + type: integer + description: Count of steps + example: 2 + minimum: 0 + rank: + type: integer + description: Pipeline rank in preferences + example: 2 + minimum: 0 + OpportunityPipelineFilters: + title: OpportunityPipelineFilters + type: object + description: The opportunity pipelines filters + properties: + filters: + type: object + description: Opportunity Pipelines filters + properties: + name: + title: Name + type: string + description: Filter the opportunity pipelines list by name + example: Website + is_default: + title: Is default opportunity pipeline + type: boolean + description: Filter the opportunity pipelines list by is_default + example: false + required: + - filters + OpportunitiesCategoryItem: + title: Opportunity Category + type: object + description: Opportunities Category + properties: + id: + type: integer + description: Opportunities category id + readOnly: true + example: 1 + label: + type: string + description: Opportunities category label + example: Event + color: + type: string + description: Opportunities category color + example: '#000000' + icon: + type: string + description: Opportunities category icon + example: fa-anchor + is_default: + type: boolean + description: True if this opportunity category contains the default source + example: false + _embed: + type: object + properties: + sources: + type: array + description: Sources of the category + nullable: true + items: + title: OpportunitySourceCollectionItem + type: object + description: Represents an Opportunity Source + properties: + id: + type: integer + description: Internal Opportunity Source ID + readOnly: true + example: 1 + name: + type: string + description: Opportunity Source name + example: Showroom 2020 + is_default: + type: boolean + nullable: false + description: Is default source + example: true + is_hidden: + type: boolean + nullable: false + description: Is hidden source + example: true + category_id: + nullable: false + type: integer + description: Source category + example: 1 + minimum: 0 + rank: + type: integer + description: Source rank + example: 2 + minimum: 0 + OpportunityRankUpdate: + title: Opportunity rank update + type: object + properties: + before_sibling: + type: integer + description: > + ID of opportunity before which to place the opportunity specified in + query parameters
> if not specified, opportunity will be + placed at the last rank of the step + nullable: true + example: 57 + step: + type: integer + description: Pipeline Step + example: 299 + required: + - step + PipelineStepFilters: + title: Step filters + type: object + additionalProperties: false + description: The opportunity pipeline steps filters + properties: + filters: + type: object + description: Opportunity Pipeline Steps filters + properties: + name: + title: Name + type: string + description: Filter the opportunity pipeline steps list by name + example: Website + id: + title: Id + type: array + description: Filter the opportunity pipeline steps list by id + example: + - 45 + - 47 + minItems: 1 + items: + type: integer + required: + - filters + TaskItem: + title: Task Item + allOf: + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/2 + - type: object + properties: + _embed: + allOf: + - title: TaskItemEmbed + type: object + description: Objects add to response. Use embed parameter + x-examples: {} + readOnly: true + allOf: + - title: Embed for task + type: object + description: Objects add to response. Use embed parameter + x-examples: {} + readOnly: true + properties: + owner: + $ref: >- + #/components/schemas/Activity/properties/_embed/properties/author + title: Owner of the task + assigned_staffs: + title: Staffs assigned to the task + type: array + items: + $ref: >- + #/components/schemas/Activity/properties/_embed/properties/author + nullable: true + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: Objects linked to the task + items: + anyOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + title: Company + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + title: Individual + - $ref: '#/components/schemas/ContactItem/allOf/0' + title: Contact + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/1 + title: Opportunity + - $ref: '#/components/schemas/InvoiceOne/allOf/0' + title: Invoice + - $ref: '#/components/schemas/CreditNoteOne/allOf/0' + title: Credit note + - $ref: '#/components/schemas/EstimateOne/allOf/0' + title: Estimate + company: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + title: Company linked to the task + nullable: true + individual: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + title: Individual linked to the task + nullable: true + contact: + $ref: '#/components/schemas/ContactItem/allOf/0' + title: Contact linked to the task + nullable: true + - type: object + properties: + acl: + nullable: true + description: Task ACL + allOf: + - $ref: >- + #/components/schemas/Activity/properties/_embed/properties/acl/oneOf/3 + TaskCollectionItem: + title: Task Collection Item + allOf: + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/2 + - type: object + properties: + _embed: + allOf: + - title: Embed for Task collection item + type: object + description: Objects add to response. Use embed parameter + x-examples: {} + allOf: + - $ref: >- + #/components/schemas/TaskItem/allOf/1/properties/_embed/allOf/0/allOf/0 + TaskCreateItem: + title: TaskCreateItem + allOf: + - type: object + description: Task update object + x-examples: {} + properties: + title: + type: string + example: Meeting + description: Task title + nullable: true + description: + type: string + example: Monthly meeting with consulting team + description: Task description + nullable: true + is_private: + type: boolean + description: Task is private or public + default: false + due_date: + description: due date and time of task + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + status: + type: string + example: todo + description: Task status + enum: + - todo + - done + assigned_staff_ids: + type: array + nullable: true + items: + type: integer + description: staffs assigned to the task + example: 1 + label_id: + description: Task label + type: integer + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: >- + Main object related to the task (limit to 1). If empty, the link + with the existing related object will be removed. + items: + type: object + additionalProperties: false + description: Main object related to the task + required: + - type + - id + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - estimate + - invoice + - creditnote + - order + owner_id: + description: Owner of the task (Staff id expected) + type: integer + minimum: 1 + priority: + type: integer + description: Priority level of the task + minimum: 0 + maximum: 1 + - description: Task create item + - type: object + required: + - label_id + - due_date + properties: + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: Main object related to the task (limit to 1). + items: + type: object + additionalProperties: false + description: Main object related to the task + required: + - type + - id + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - estimate + - invoice + - creditnote + - order + created: + description: Date of creation of the calendar event + type: string + format: date-time + priority: + type: integer + description: Priority level of the task + default: 0 + minimum: 0 + maximum: 1 + required: + - related + TaskUpdateItem: + type: object + description: Task update object + x-examples: {} + properties: + title: + type: string + example: Meeting + description: Task title + nullable: true + description: + type: string + example: Monthly meeting with consulting team + description: Task description + nullable: true + is_private: + type: boolean + description: Task is private or public + default: false + due_date: + description: due date and time of task + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + status: + type: string + example: todo + description: Task status + enum: + - todo + - done + assigned_staff_ids: + type: array + nullable: true + items: + type: integer + description: staffs assigned to the task + example: 1 + label_id: + description: Task label + type: integer + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: >- + Main object related to the task (limit to 1). If empty, the link + with the existing related object will be removed. + items: + type: object + additionalProperties: false + description: Main object related to the task + required: + - type + - id + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - estimate + - invoice + - creditnote + - order + owner_id: + description: Owner of the task (Staff id expected) + type: integer + minimum: 1 + priority: + type: integer + description: Priority level of the task + minimum: 0 + maximum: 1 + TaskFilter: + title: taskFilter + type: object + description: The task filters + properties: + filters: + type: object + description: task filters + properties: + created: + title: Created at + type: object + description: Filter the tasks list by creation date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + due_date: + title: Due date + type: object + description: Filter the tasks list by due date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + owners: + title: Owners + type: array + items: + type: integer + example: 77 + description: Filter the tasks list by owners + assigned_staffs: + title: Assigned staffs + type: array + items: + type: integer + example: 33 + description: Filter the tasks list by assigned staffs + statuses: + title: Statuses + type: array + items: + type: string + example: todo + enum: + - todo + - done + description: Filter the tasks list by statuses + labels: + title: Labels + type: array + items: + type: integer + example: 47 + description: Filter the tasks list by labels + related_objects: + title: Related Objects + type: array + items: + type: object + properties: + type: + type: string + example: company + id: + type: integer + example: 22 + description: Filter the tasks list by related objects + companies: + title: Companies + type: array + description: Filter the tasks list by companies + items: + type: integer + individuals: + title: Individuals + type: array + description: Filter the tasks list by individuals + items: + type: integer + contacts: + title: Contacts + type: array + description: Filter the tasks list by contacts + items: + type: integer + priority: + type: object + description: Priority level of tasks + properties: + min: + type: integer + description: Inclusive minimum priority level of tasks + example: 1 + minimum: 0 + maximum: 1 + max: + type: integer + description: Inclusive maximum priority level of tasks + example: 1 + minimum: 0 + maximum: 1 + additionalProperties: false + required: + - filters + Label: + type: object + description: Label + x-examples: {} + properties: + id: + type: integer + readOnly: true + description: Label id + example: 6657 + name: + type: string + example: Reminder + description: Label title + color: + type: string + example: '#f7dcf5' + description: Color of label + nullable: true + is_active: + type: boolean + example: true + description: If label is active + rank: + type: integer + example: 1 + description: Label rank + LabelBaseItem: + title: Task + type: object + description: Task base object + x-examples: {} + properties: + id: + type: integer + readOnly: true + description: Task ID + example: 6657 + title: + type: string + example: Meeting + description: Task title + nullable: true + description: + type: string + example: Monthly meeting with consulting team + description: Task description + nullable: true + status: + type: string + example: todo + description: Task status + readOnly: true + enum: + - todo + - done + is_private: + type: boolean + description: Task is private or public + default: false + due_date: + description: due date and time of task + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + assigned_staff_ids: + type: array + nullable: true + items: + type: integer + description: staffs assigned to the task + example: 1 + label: + type: object + description: Label + x-examples: {} + properties: + id: + type: integer + readOnly: true + description: Label id + example: 6657 + name: + type: string + example: Reminder + description: Label title + color: + type: string + example: '#f7dcf5' + description: Color of label + nullable: true + is_active: + type: boolean + example: true + description: If label is active + rank: + type: integer + example: 1 + description: Label rank + updated: + description: Updated date of task (system) + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + readOnly: true + created: + description: Created date of task (system) + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + readOnly: true + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: Main object related to the task (limit to 1). + items: + type: object + additionalProperties: false + description: Main object related to the task + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - invoice + - creditnote + - estimate + - order + owner: + description: Owner of the task + type: object + properties: + type: + type: string + description: owner type + enum: + - staff + id: + type: integer + description: Owner id + example: 51 + company_id: + type: integer + description: Company linked to the task + example: 1 + readOnly: true + nullable: true + individual_id: + type: integer + description: Individual linked to the task + example: 92 + readOnly: true + nullable: true + contact_id: + type: integer + description: Contact linked to the task + example: 958 + readOnly: true + nullable: true + priority: + type: integer + description: Priority level of the task + example: 1 + minimum: 0 + maximum: 1 + LanguageCollection: + title: Language Collection + type: object + properties: + pagination: + $ref: '#/components/schemas/AccountDocumentCollection/properties/pagination' + data: + type: array + items: + allOf: + - type: object + properties: + id: + type: integer + example: 1 + description: Custom language ID + lang: + type: string + example: Language name + description: Custom language name + flag: + type: string + example: fr + description: Custom language flag label + nullable: true + required: + - id + - lang + - flag + required: + - pagination + - data + SearchResult: + type: array + description: Search Result Object + x-examples: {} + items: + anyOf: + - type: object + title: Company search result + description: Company Search Result Object + additionalProperties: false + allOf: + - type: object + properties: + id: + type: string + readOnly: true + description: Unique ID + example: 6657 + object: + type: object + description: Main object + properties: + type: + type: string + enum: + - contact + - company + - individual + - opportunity + - purchase + - item + - declination + - document + - staff + - redactor + nullable: false + id: + type: integer + example: 11 + nullable: false + sub_type: + type: string + enum: + - contact + - opportunity + - client + - prospect + - supplier + - purInvoice + - purDelivery + - purOrder + - purCreditNote + - product + - packaging + - shipping + - service + - declination + - invoice + - estimate + - creditnote + - order + - delivery + - proforma + - staff + - document + - template + nullable: false + nullable: false + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + readOnly: true + created: + type: string + format: datetime + nullable: false + description: Created datetime of object + example: '2020-05-29T11:22:03+02:00' + readOnly: true + updated: + type: string + format: datetime + nullable: false + description: updated datetime of object + example: '2020-05-29T11:22:03+02:00' + readOnly: true + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + - type: object + properties: + name: + type: string + description: Company name + example: My company + mobile_number: + type: string + description: Company mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Company fax number + example: '+33400000000' + nullable: true + phone_number: + type: string + description: Company phone number + example: '+33500000000' + nullable: true + email: + type: string + format: email + example: contact@my-company.com + nullable: true + invoicing_address: + type: object + title: Address + additionalProperties: false + nullable: true + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + address_line_1: + type: string + description: Address line one + example: 30 Commercial Road + nullable: true + address_line_2: + type: string + description: Address line two + example: Finance and Accounting + nullable: true + address_line_3: + type: string + description: Address line three + example: Lighthouse Promotions + nullable: true + address_line_4: + type: string + description: Address line four + example: PO Box 215 + nullable: true + postal_code: + type: string + nullable: true + description: Address postal code + example: '75012' + minLength: 2 + city: + type: string + description: Address city name + example: Paris + minLength: 2 + country_code: + type: string + description: Address country code + example: FR + minLength: 2 + maxLength: 2 + delivery_address: + $ref: >- + #/components/schemas/SearchResult/items/anyOf/0/allOf/1/properties/invoicing_address + main_contact: + type: object + nullable: true + description: Company's main contact + properties: + id: + type: integer + description: contact identifier + example: 6830 + last_name: + type: string + example: Doe + description: Contact last name + first_name: + type: string + example: John + description: Contact first name + civility: + type: string + description: Civility of individual + example: mrs + enum: + - mr + - mrs + - ms + reference: + type: string + description: Company reference + example: My company reference + - type: object + title: Individual search result + additionalProperties: false + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + first_name: + type: string + description: Individual first name + example: John + nullable: true + last_name: + type: string + example: Doe + description: Individual last name + civility: + type: string + description: Civility of individual + example: mrs + enum: + - mr + - mrs + - ms + mobile_number: + type: string + description: Individual mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Individual fax number + example: '+33400000000' + nullable: true + phone_number: + type: string + description: Individual phone number + example: '+33500000000' + nullable: true + email: + type: string + format: email + example: jonh.doe@email.com + nullable: true + invoicing_address: + $ref: >- + #/components/schemas/SearchResult/items/anyOf/0/allOf/1/properties/invoicing_address + delivery_address: + $ref: >- + #/components/schemas/SearchResult/items/anyOf/0/allOf/1/properties/invoicing_address + reference: + type: string + description: Individual reference + example: The reference of individual + - type: object + title: Opportunity search result + additionalProperties: false + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + number: + type: string + description: Opportunity ident + example: OPP-001 + nullable: false + name: + type: string + description: Opportunity name + example: Opportunity number one + nullable: false + status: + type: string + description: Opportunity status + example: won + enum: + - open + - won + - lost + - cancelled + - closed + - late + amount: + type: number + description: potential amount non formatted + example: 1450.45 + related: + type: object + allOf: + - type: object + properties: + id: + type: integer + - oneOf: + - type: object + title: Company + properties: + name: + type: string + description: company name + type: + type: string + enum: + - company + - type: object + title: Individual + properties: + type: + type: string + enum: + - individual + first_name: + type: string + description: Individual first name + example: John + last_name: + type: string + example: Doe + description: Individual last name + civility: + type: string + description: Civility of linked contact + example: mrs + enum: + - mr + - mrs + - ms + - type: object + title: Contact search result + additionalProperties: false + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + first_name: + description: Contact first name + type: string + format: text + example: John + nullable: true + last_name: + description: Contact last name + type: string + format: text + example: Doe + nullable: true + civility: + type: string + description: Civility of contact + example: mrs + enum: + - mr + - mrs + - ms + email: + description: Contact email + type: string + format: email + example: john.doe@example-company.com + nullable: true + phone_number: + type: string + description: Contact phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Contact mobile number + example: '+33100000000' + nullable: true + fax_number: + type: string + description: Contact fax number + example: '+33100000000' + nullable: true + position: + type: string + nullable: true + description: Contact job + example: Financial + companies: + type: array + items: + type: object + properties: + name: + type: string + format: text + example: This company + description: Company name + nullable: false + id: + type: integer + example: 5456 + description: Company id + nullable: false + minimum: 1 + invoicing_address: + $ref: >- + #/components/schemas/SearchResult/items/anyOf/0/allOf/1/properties/invoicing_address + delivery_address: + $ref: >- + #/components/schemas/SearchResult/items/anyOf/0/allOf/1/properties/invoicing_address + - type: object + title: Purchase search result + additionalProperties: false + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + status: + description: Purchase status + type: string + example: read + enum: + - draft + - due + - payinprogress + - paid + - late + - cancelled + - sent + - read + - accepted + - expired + - partialInvoiced + - invoiced + - stored + - spent + - partialspend + number: + description: Purchase number + type: string + example: F_INV-20210303-00001 + external_number: + description: Purchase external number + type: string + example: FACT-2020W3-00001 + name: + type: string + description: Purchase subject + nullable: true + amount: + type: number + format: float + description: Total purchase amount, taxes included + example: 133.7 + currency: + type: string + description: Purchase currency + example: € + related: + type: object + allOf: + - type: object + properties: + id: + type: integer + - oneOf: + - type: object + title: Company + properties: + name: + type: string + description: company name + type: + type: string + enum: + - company + - type: object + title: Individual + properties: + type: + type: string + enum: + - individual + first_name: + type: string + description: Individual first name + example: John + last_name: + type: string + example: Doe + description: Individual last name + civility: + type: string + description: Civility of linked contact + example: mrs + enum: + - mr + - mrs + - ms + - type: object + title: Item search result + additionalProperties: false + description: Item Search Result Object + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + number: + type: string + description: Item number + example: REF_00001 + name: + type: string + description: item name + example: My product + nullable: true + description: + type: string + description: Item description + example: This is a product description + nullable: true + - type: object + title: Item declination search result + additionalProperties: false + description: Item declination search result object + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + number: + type: string + description: Item declination number + example: REF_00001_RED + name: + type: string + description: item declination name + example: My product Red + nullable: true + description: + type: string + description: Item declination description + example: This is a product description with red color + nullable: true + related: + type: object + description: Original item related to this declination + properties: + id: + type: integer + number: + type: string + name: + type: string + - type: object + title: Document search result + additionalProperties: false + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + status: + description: Document status + type: string + example: read + enum: + - draft + - due + - payinprogress + - paid + - late + - cancelled + - sent + - read + - accepted + - refused + - expired + - advanced + - partialinvoiced + - invoiced + - stored + - partialspend + - spent + number: + description: Document number + type: string + example: FACT-20210302-00001 + name: + type: string + description: Document subject + nullable: true + amount: + type: number + format: float + description: Total amount of document, taxes include + example: 942.88 + currency: + type: string + description: Document currency + example: € + related: + type: object + allOf: + - type: object + properties: + id: + type: integer + - oneOf: + - type: object + title: Company + properties: + name: + type: string + description: company name + type: + type: string + enum: + - company + - type: object + title: Individual + properties: + type: + type: string + enum: + - individual + first_name: + type: string + description: Individual first name + example: John + last_name: + type: string + example: Doe + description: Individual last name + civility: + type: string + description: Civility of linked contact + example: mrs + enum: + - mr + - mrs + - ms + - type: object + title: Staff search result + additionalProperties: false + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + first_name: + description: Staff's first name + type: string + format: text + example: John + nullable: true + last_name: + description: Staff's last name + type: string + format: text + example: Doe + nullable: true + phone_number: + type: string + description: Staff's phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Staff's mobile number + example: '+33100000000' + nullable: true + blocked: + type: boolean + description: Staff's status + email: + description: Staff's email + type: string + format: email + example: john.doe@example-company.com + nullable: true + position: + type: string + nullable: true + description: Staff's job + example: Financial + - type: object + title: Ticket search result + additionalProperties: false + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + status: + description: Ticket status + type: string + example: active + enum: + - active + - pending + - closed + - spam + subject: + description: Ticket subject + type: string + index: + description: Ticket reference + type: string + related: + type: array + items: + type: string + - type: object + title: Redactor document search result + additionalProperties: false + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + status: + description: Redactor status + type: string + example: ok + enum: + - ok + - deleted + step: + description: Redactor step + type: string + example: read + enum: + - draft + - sent + - read + - accepted + ident: + type: string + description: Redactor ident + example: REDACTOR-001 + nullable: false + related: + type: array + items: + type: string + - type: object + title: Redactor template search result + additionalProperties: false + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + name: + type: string + description: Redactor template name + related_object: + type: string + description: Redactor template related object + enum: + - none + - document + - opportunity + - item + - rent + - ticket + linked_object: + type: string + description: Redactor template linked object + enum: + - none + - client + - prospect + - supplier + - people + SearchResultBaseItem: + type: object + properties: + id: + type: string + readOnly: true + description: Unique ID + example: 6657 + object: + type: object + description: Main object + properties: + type: + type: string + enum: + - contact + - company + - individual + - opportunity + - purchase + - item + - declination + - document + - staff + - redactor + nullable: false + id: + type: integer + example: 11 + nullable: false + sub_type: + type: string + enum: + - contact + - opportunity + - client + - prospect + - supplier + - purInvoice + - purDelivery + - purOrder + - purCreditNote + - product + - packaging + - shipping + - service + - declination + - invoice + - estimate + - creditnote + - order + - delivery + - proforma + - staff + - document + - template + nullable: false + nullable: false + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + readOnly: true + created: + type: string + format: datetime + nullable: false + description: Created datetime of object + example: '2020-05-29T11:22:03+02:00' + readOnly: true + updated: + type: string + format: datetime + nullable: false + description: updated datetime of object + example: '2020-05-29T11:22:03+02:00' + readOnly: true + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + SearchResultAggregations: + type: object + description: Search Result Aggregations + x-examples: {} + properties: + count_by_type: + type: object + description: Count the number of objects by type + properties: + company: + type: array + minItems: 1 + maxItems: 2 + description: >- + The 1st value corresponds to active objects, the 2nd to achived + objects + items: + type: integer + individual: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + contact: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + opportunity: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + purchase: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + item: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + declination: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + document: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + staff: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + ticket: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + redactor: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + PhoneCallItem: + title: PhoneCall + allOf: + - title: PhoneCall + allOf: + - type: object + description: The CRM phoneCall + required: + - related + properties: + id: + type: integer + readOnly: true + source: + type: string + description: Incoming call or Outgoing call + enum: + - incoming + - outcoming + description: + type: string + description: Description of the phone call + example: >- + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed + do eiusmod tempor + nullable: true + updated: + type: string + format: date-time + description: Last update date / hour + example: '2020-01-01T00:00:00+01:00' + readOnly: true + created: + type: string + format: date-time + description: Creation date / hour + example: '2020-01-01T00:00:00+01:00' + readOnly: true + duration: + type: integer + description: Total duration of call (in seconds) + example: 12345 + date: + type: string + format: date-time + description: Date and hour of phonecall + example: '2020-01-01T00:00:00+01:00' + company_id: + type: integer + description: Company linked to the phone call + nullable: true + readOnly: true + individual_id: + type: integer + description: Individual linked to the phone call + nullable: true + readOnly: true + contact_id: + type: integer + description: Contact linked to the phone call + nullable: true + readOnly: true + related: + type: array + minItems: 1 + description: List objects related to the phone call + items: + type: object + additionalProperties: false + description: Object related to the phone call + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + priority: + type: integer + description: Priority level of the phone call + minimum: 0 + maximum: 1 + - type: object + properties: + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + description: Owner of the phone call + source: + type: string + description: Incoming call or Outgoing call + enum: + - incoming + - outcoming + topic: + type: object + description: Phone call topic + properties: + id: + type: integer + example: 2235 + name: + type: string + example: Support + result: + type: object + description: Phone call result + properties: + id: + type: string + enum: + - noanswer + - busy + - wrongnumber + - msgdirect + - msgvocal + - connected + - transfer + - interrupt + - scheduled + name: + type: string + example: No answer + - type: object + properties: + _embed: + title: Embed for PhoneCall object + type: object + readOnly: true + allOf: + - title: Embed for PhoneCall object + type: object + readOnly: true + properties: + owner: + $ref: >- + #/components/schemas/Activity/properties/_embed/properties/author + title: Owner of the phone call + related: + type: array + minItems: 1 + maxItems: 3 + nullable: false + description: Objects linked to the phone call + items: + anyOf: + - title: Company + type: object + readOnly: true + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + - type: object + properties: + _type: + nullable: false + description: type of related + type: string + enum: + - company + - title: Individual + type: object + readOnly: true + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + - type: object + properties: + _type: + nullable: false + description: type of related + type: string + enum: + - individual + - title: Contact + type: object + readOnly: true + allOf: + - $ref: '#/components/schemas/ContactItem/allOf/0' + - type: object + properties: + _type: + nullable: false + description: type of related + type: string + enum: + - contact + - title: Opportunity + type: object + readOnly: true + allOf: + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/1 + - type: object + properties: + _type: + nullable: false + description: type of related + type: string + enum: + - opportunity + company: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + title: Company linked to the phone call + nullable: true + individual: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + title: Individual linked to the phone call + nullable: true + contact: + $ref: '#/components/schemas/ContactItem/allOf/0' + title: Contact linked to the phone call + nullable: true + - type: object + properties: + acl: + title: ACL for PhoneCall object + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: false + description: PhoneCall can be updated + example: true + can_be_deleted: + type: boolean + nullable: false + description: PhoneCall can be deleted + example: true + PhoneCallCollectionItem: + title: PhoneCall + allOf: + - $ref: '#/components/schemas/PhoneCallItem/allOf/0' + - type: object + properties: + _embed: + $ref: >- + #/components/schemas/PhoneCallItem/allOf/1/properties/_embed/allOf/0 + PhoneCallCreateItem: + title: PhoneCall + allOf: + - title: PhoneCall + type: object + description: PhoneCall update request body + properties: + owner_id: + type: integer + description: Owner of the phone call (Staff id expected) + minimum: 1 + topic: + type: integer + description: Phone call topic + result: + type: string + enum: + - noanswer + - busy + - wrongnumber + - msgdirect + - msgvocal + - connected + - transfer + - interrupt + - scheduled + description: Phone call result + source: + type: string + description: Incoming call or Outgoing call + enum: + - incoming + - outcoming + description: + type: string + description: Description of the phone call + example: >- + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do + eiusmod tempor + nullable: true + duration: + type: integer + description: > + Total duration of call (in seconds) + + + *Note:* for phone calls with the "scheduled" result, this value + is forcibly set to zero. + example: 12345 + date: + type: string + format: date-time + description: Date and hour of phone call + example: '2020-01-01T00:00:00+01:00' + related: + type: array + minItems: 1 + maxItems: 3 + description: List objects related to the phone call (limit to 1 of each type) + items: + type: object + additionalProperties: false + description: Object related to the phone call + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + priority: + type: integer + description: Priority level of the phone call + minimum: 0 + maximum: 1 + - type: object + required: + - owner_id + - date + - result + - source + - related + - description: PhoneCall create item + PhoneCallUpdateItem: + title: PhoneCall + type: object + description: PhoneCall update request body + properties: + owner_id: + type: integer + description: Owner of the phone call (Staff id expected) + minimum: 1 + topic: + type: integer + description: Phone call topic + result: + type: string + enum: + - noanswer + - busy + - wrongnumber + - msgdirect + - msgvocal + - connected + - transfer + - interrupt + - scheduled + description: Phone call result + source: + type: string + description: Incoming call or Outgoing call + enum: + - incoming + - outcoming + description: + type: string + description: Description of the phone call + example: >- + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do + eiusmod tempor + nullable: true + duration: + type: integer + description: > + Total duration of call (in seconds) + + + *Note:* for phone calls with the "scheduled" result, this value is + forcibly set to zero. + example: 12345 + date: + type: string + format: date-time + description: Date and hour of phone call + example: '2020-01-01T00:00:00+01:00' + related: + type: array + minItems: 1 + maxItems: 3 + description: List objects related to the phone call (limit to 1 of each type) + items: + type: object + additionalProperties: false + description: Object related to the phone call + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + priority: + type: integer + description: Priority level of the phone call + minimum: 0 + maximum: 1 + PhoneCallFilter: + title: Phone calls filters + type: object + description: Phone calls filters + properties: + filters: + type: object + description: Phone calls filters + properties: + created: + title: Created at + type: object + description: Filter the phone calls list by creation date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + owners: + title: Owners + type: array + items: + type: integer + example: 77 + description: Filter the phone calls list by owners + related_objects: + title: Related Objects + type: array + items: + type: object + properties: + type: + type: string + example: company + id: + type: integer + example: 22 + description: Filter the phone calls list by related objects + companies: + title: Companies + type: array + description: Filter the phone calls list by companies + items: + type: integer + individuals: + title: Individuals + type: array + description: Filter the phone calls list by individuals + items: + type: integer + contacts: + title: Contacts + type: array + description: Filter the phone calls list by contacts + items: + type: integer + topic: + title: Topic + type: integer + description: Filter the phone calls list by topic + result: + title: Result + type: string + enum: + - noanswer + - busy + - wrongnumber + - msgdirect + - msgvocal + - connected + - transfer + - interrupt + - scheduled + description: Filter the phone calls list by result + source: + title: Source + description: Filter the phone calls list by source + type: string + enum: + - incoming + - outcoming + due_date: + title: Due Date + description: >- + Filter the phone calls in which the due date is in that time + frame + type: object + properties: + start: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + priority: + type: object + properties: + min: + type: integer + description: Inclusive minimum priority level of phone calls + example: 1 + minimum: 0 + maximum: 1 + max: + type: integer + description: Inclusive maximum priority level of phone calls + example: 1 + minimum: 0 + maximum: 1 + additionalProperties: false + required: + - filters + CalendarEventItem: + title: Calendar Event + type: object + allOf: + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/5 + - type: object + properties: + _embed: + allOf: + - type: object + readOnly: true + description: Objects add to response. Use embed parameter + properties: + company: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + contact: + $ref: '#/components/schemas/ContactItem/allOf/0' + individual: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + owner: + $ref: '#/components/schemas/CrmActivity/properties/author' + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: Objects linked to the event + items: + anyOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + title: Company + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + title: Individual + - $ref: '#/components/schemas/ContactItem/allOf/0' + title: Contact + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/1 + title: Opportunity + - $ref: '#/components/schemas/EstimateOne/allOf/0' + title: Estimate + - $ref: '#/components/schemas/InvoiceOne/allOf/0' + title: Invoice + - $ref: '#/components/schemas/CreditNoteOne/allOf/0' + title: Credit note + participants: + type: array + items: + oneOf: + - $ref: '#/components/schemas/ContactItem/allOf/0' + - $ref: '#/components/schemas/CrmActivity/properties/author' + acl: + $ref: >- + #/components/schemas/Activity/properties/_embed/properties/acl/oneOf/6 + CalendarEventCreateItem: + type: object + title: Calendar event + description: Body for calendar event creation + x-examples: {} + required: + - datetime_start + - datetime_end + - title + - label_id + properties: + title: + type: string + example: Meeting + description: Calendar event title + description: + type: string + example: Monthly meeting with consulting team + description: Calendar event description + nullable: true + datetime_start: + description: start date and time of calendar event + type: string + format: date-time + maxLength: 29 + example: '2020-01-01T00:00:00+01:00' + datetime_end: + description: end date and time of calendar event + type: string + format: date-time + maxLength: 29 + example: '2020-01-01T00:00:00+01:00' + is_private: + type: boolean + description: Calendar event is private or public + default: false + all_day: + type: boolean + description: Calendar event is scheduled for the whole day + default: false + label_id: + type: integer + description: Label id for event + provider_calendar: + type: string + description: Calendar id for event + example: myemail@gmail.com + participants: + type: array + description: Participants (Staff, Contact or External Participants) + items: + type: object + description: Participant linked + properties: + id: + oneOf: + - type: integer + - type: string + description: Id of participant + type: + type: string + enum: + - staff + - contact + - external + description: Type of participant + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: Main object related to the calendar event (limit to 1). + items: + type: object + additionalProperties: false + description: Main object related to the calendar event + required: + - type + - id + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - estimate + - invoice + - creditnote + - order + created: + description: Date of creation of the calendar event + type: string + format: date-time + priority: + type: integer + description: Priority level of the calendar event + minimum: 0 + maximum: 1 + default: 0 + CalendarEventUpdateItem: + type: object + description: Calendar event update object + x-examples: {} + properties: + title: + type: string + example: Meeting + description: Calendar event title + description: + type: string + example: Monthly meeting with consulting team + description: Calendar event description + nullable: true + datetime_start: + description: start date and time of calendar event + type: string + format: date-time + maxLength: 29 + example: '2020-01-01T00:00:00+01:00' + datetime_end: + description: end date and time of calendar event + type: string + format: date-time + maxLength: 29 + example: '2020-01-01T00:00:00+01:00' + is_private: + type: boolean + description: Calendar event is private or public + default: false + all_day: + type: boolean + description: Calendar event is scheduled for the whole day + default: false + label_id: + type: integer + description: Label id for event + provider_calendar: + type: string + description: Calendar id for event + example: myemail@gmail.com + participants: + type: array + description: Participants (Staff, Contact or External Participants) + items: + type: object + description: Participant linked + properties: + id: + oneOf: + - type: integer + - type: string + description: Id of participant + type: + type: string + enum: + - staff + - contact + - external + description: Type of participant + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: >- + Main object related to the calendar event (limit to 1). If empty, + the link with the existing related object will be removed. + items: + type: object + additionalProperties: false + description: Main object related to the calendar event + required: + - type + - id + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - estimate + - invoice + - creditnote + - order + priority: + type: integer + description: Priority level of the calendar event + minimum: 0 + maximum: 1 + CalendarEventFilters: + title: CalendarEventFilters + type: object + description: Calendar event filters + properties: + filters: + type: object + description: calendar event filters + additionalProperties: false + properties: + due_date: + $ref: >- + #/components/schemas/DealsFilters/properties/filters/properties/due_date + owners: + type: array + description: Owner(s) of event + items: + type: integer + participants: + type: array + description: Staff, contact or external contact of event + items: + type: object + properties: + type: + type: string + enum: + - staff + - contact + - external + id: + oneOf: + - type: integer + - type: string + labels: + type: array + description: Event labels + items: + type: integer + related_objects: + type: array + description: object(s) linked to event + items: + type: object + properties: + type: + type: string + id: + type: integer + companies: + type: array + description: Id(s) of company linked to event + items: + type: integer + individuals: + type: array + description: Id(s) of individuals linked to event + items: + type: integer + contacts: + type: array + description: Id(s) of contact linked to event + items: + type: integer + priority: + type: object + description: Priority level of events + properties: + min: + type: integer + description: Inclusive minimum priority level of events + example: 1 + minimum: 0 + maximum: 1 + max: + type: integer + description: Inclusive maximum priority level of events + example: 1 + minimum: 0 + maximum: 1 + additionalProperties: false + Related: + type: object + description: Object linked + properties: + id: + type: integer + description: Id of object + type: + type: string + description: Type of object + Activity: + type: object + description: The activity object + properties: + id: + type: string + description: Id of activity + example: 2wto807ysxa + event: + type: string + description: Event type + example: task.created + author: + type: object + properties: + type: + type: string + enum: + - staff + example: staff + id: + type: integer + minimum: 1 + example: 1024 + event_date: + type: string + description: Date of activity + format: date-time + due_date: + type: string + format: date-time + description: Due date of activity + event_details: + type: object + description: Details of events + additionalProperties: true + event_more: + type: object + description: Additional informations + example: + old: client + new: prospect + additionalProperties: true + object: + type: object + description: Event object of activity + required: + - type + - id + properties: + type: + type: string + example: task + id: + oneOf: + - type: string + example: 1056 + minLength: 1 + - type: integer + example: 1056 + minimum: 1 + model: + nullable: true + oneOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/1 + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/2 + - $ref: '#/components/schemas/ContactItem/allOf/0' + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + - $ref: '#/components/schemas/CommentItem/allOf/0' + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/5 + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/6 + related: + type: array + minItems: 0 + nullable: false + description: List all direct and indirect relations of the activity’s main object + items: + type: object + additionalProperties: false + description: Object related to the activity + properties: + id: + $ref: '#/components/schemas/Activity/properties/object/properties/id' + type: + type: string + example: opportunity + _embed: + type: object + description: Embed objects for activity logs + readOnly: true + properties: + object_related: + type: array + minItems: 0 + nullable: false + description: >- + Add the direct relation of the activity’s main object to the + response (partially described in object.model.related) + items: + anyOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + - $ref: '#/components/schemas/ContactItem/allOf/0' + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/1 + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/2 + individual: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + company: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + author: + title: Staff Schemas + description: >- + Staff schemas according of current user level of visibility on + staffs + allOf: + - $ref: '#/components/schemas/Staff/allOf/0' + - type: object + properties: + phone_number: + type: string + description: Staff phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Staff mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Staff fax number + example: '+33500000000' + nullable: true + groups: + type: array + nullable: true + description: Staff groups + readOnly: true + items: + type: object + properties: + id: + type: integer + example: 1 + name: + type: string + example: Sales + civility: + type: string + description: Civility of staff + example: mrs + nullable: true + enum: + - mr + - mrs + - ms + created: + type: string + description: Creation date of the staff + format: date-time + example: '1970-01-01T00:00:00+00:00' + readOnly: true + profile: + type: integer + description: Staff privilège profile + example: 3443 + team: + nullable: true + type: object + properties: + id: + type: integer + example: -1 + name: + type: string + example: Commercial + description: Staff team position + job: + nullable: true + type: object + properties: + id: + type: integer + example: -1 + name: + type: string + example: Office manager + description: Staff job + timezone: + type: string + description: Staff time zone + example: Europe/Paris + language: + type: string + description: Staff language + example: fr + acl: + nullable: true + description: Activity's main object's ACL + oneOf: + - title: Company ACL + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Company can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Company can be delete + example: true + view_companies_addresses: + type: boolean + nullable: true + description: Company Addresses can be listed + example: true + create_companies_addresses: + type: boolean + nullable: true + description: Company Addresses can be created + example: true + update_companies_addresses: + type: boolean + nullable: true + description: Company Addresses can be updated + example: true + delete_companies_addresses: + type: boolean + nullable: true + description: Company Addresses can be deleted + example: true + - title: ContactAcl + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Contact can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Contact can be deleted + example: true + view_contacts_addresses: + type: boolean + nullable: true + description: Contact Addresses can be listed + example: true + create_contacts_addresses: + type: boolean + nullable: true + description: Contact Addresses can be created + example: true + update_contacts_addresses: + type: boolean + nullable: true + description: Contact Addresses can be updated + example: true + delete_contacts_addresses: + type: boolean + nullable: true + description: Contact Addresses can be deleted + example: true + - title: Individual ACL + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Individual can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Individual can be delete + example: true + view_individuals_addresses: + type: boolean + nullable: true + description: Individual Addresses can be listed + example: true + create_individuals_addresses: + type: boolean + nullable: true + description: Individual Addresses can be created + example: true + update_individuals_addresses: + type: boolean + nullable: true + description: Individual Addresses can be updated + example: true + delete_individuals_addresses: + type: boolean + nullable: true + description: Individual Addresses can be deleted + example: true + - title: TaskAcl + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Task can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Task can be delete + example: true + - title: Comment acl + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + description: Comment can be updated + can_be_deleted: + type: boolean + description: Comment can be deleted + - title: Opportunity ACL + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: false + description: Opportunity can be updated + example: true + can_be_deleted: + type: boolean + nullable: false + description: Opportunity can be deleted + example: true + link_invoicing_docs: + type: boolean + nullable: false + description: Can link invoicing documents + example: true + - title: ACL for Calendar Event object + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Calendar Event can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Calendar Event can be delete + example: true + ActivityFilters: + type: object + description: The activity filters + properties: + filters: + type: object + description: Activity filters + properties: + entity: + description: Filter on a specific entity + type: object + properties: + type: + description: Entity type + type: string + enum: + - email + - calendar_event + - staff + - task + - comment + - snippettracking + - phonecall + - contact + - prospect + - opportunity + - campaign + - client + - supplier + id: + type: integer + description: Entity id to filter on + entities: + type: array + items: + $ref: >- + #/components/schemas/ActivityFilters/properties/filters/properties/entity/properties/type + due_date: + $ref: >- + #/components/schemas/DealsFilters/properties/filters/properties/due_date + activity_level: + description: >- + Filter activity by level. Get main activities/secondary + activities or both by default. + type: array + example: + - main + items: + type: string + enum: + - main + - secondary + default: + - main + - secondary + EmailItem: + title: Email + allOf: + - type: object + title: Email + description: The email object + properties: + id: + description: Email Identifier + type: string + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + description: Owner of the email + subject: + type: string + description: Subject of email + is_open: + type: boolean + description: Has been open or not + is_scheduled: + type: boolean + description: Has been scheduled or immediate send + from: + type: string + format: email + description: From email + participants: + type: array + description: Email addresses of destinators + items: + type: string + format: email + is_private: + type: boolean + description: Private email or not + created: + type: string + format: date-time + description: Creation date / hour + updated: + type: string + format: date-time + description: Last update date / hour + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: Main object related to the email (limit to 1). + items: + type: object + additionalProperties: false + description: Main object related to the email + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + company_id: + type: integer + description: Company linked to email + readOnly: true + individual_id: + type: integer + description: Individual linked to email + readOnly: true + contact_id: + type: integer + description: Contact linked to email + readOnly: true + thread_id: + description: Email thread identifier + nullable: false + oneOf: + - type: string + example: axB8kdF092 + minLength: 1 + - type: integer + example: 1056 + minimum: 1 + - type: object + properties: + content: + type: string + description: Full email content + snippet: + type: string + description: Short description + EmailEngineItem: + type: object + title: Email + description: The email object + properties: + id: + description: Email Identifier + type: string + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + subject: + type: string + description: Subject of email + content: + type: string + description: Content of email + is_open: + type: boolean + description: Has been open or not + is_scheduled: + type: boolean + description: Has been scheduled or immediate send + from: + type: object + properties: + email: + type: string + format: email + description: Recipient's email + name: + type: string + description: Recipient's name + to: + description: An array of name+email pairs the message was sent to. + type: array + items: + $ref: '#/components/schemas/EmailEngineItem/properties/from' + cc: + description: An array of name+email pairs the message was cc'd to. + type: array + items: + $ref: '#/components/schemas/EmailEngineItem/properties/from' + bcc: + description: >- + An array of name+email pairs the message was bcc'd to. For received + mail this is nearly always empty. + type: array + items: + $ref: '#/components/schemas/EmailEngineItem/properties/from' + is_private: + type: boolean + description: Private email or not + created: + type: string + format: date-time + description: Creation date / hour + updated: + type: string + format: date-time + description: Last update date / hour + related: + type: array + nullable: false + description: Main object related to the email. + items: + type: object + additionalProperties: false + description: Main object related to the email + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + message_id: + description: Email message identifier + nullable: true + type: string + example: axB8kdF092 + minLength: 1 + thread_id: + description: Email thread identifier + nullable: true + type: string + example: axB8kdF092 + minLength: 1 + linked_object: + type: string + nullable: true + description: Linked to the email object + example: client.1 + EmailSendBody: + type: object + required: + - subject + - content + - to + properties: + subject: + description: Subject + type: string + content: + description: Content + type: string + to: + description: Main recipients + type: array + items: + type: object + required: + - email + properties: + name: + description: Participant name + type: string + nullable: true + email: + description: Participant email + type: string + format: email + related: + description: Related objects + type: array + items: + type: object + required: + - id + - type + properties: + id: + description: Object id + type: integer + type: + description: Object type + type: string + enum: + - company + - contact + - client + - supplier + - prospect + - estimate + - invoice + - delivery + - order + - creditnote + - proforma + - opportunity + - staff + cc: + description: Recipients in copy + type: array + items: + $ref: '#/components/schemas/EmailSendBody/properties/to/items' + bcc: + description: Recipients in blind copy + type: array + items: + $ref: '#/components/schemas/EmailSendBody/properties/to/items' + related: + description: Related objects + type: array + items: + type: object + required: + - id + - type + properties: + id: + description: Object id + type: integer + type: + description: Object type + type: string + enum: + - estimate + - invoice + - delivery + - order + - creditnote + - proforma + - opportunity + - company + - client + - supplier + - prospect + - contact + - purInvoice + - purCreditNote + - purOrder + - purDelivery + in_reply_to_id: + description: Message ID of the email to which this email is a reply + type: string + nullable: true + PartialEmailHeader: + type: object + title: Mail provider error + description: The error + properties: + error: + description: Error detail + type: object + properties: + code: + type: integer + description: HTTP status code + message: + type: string + description: Error message + EmailAuthenticationItem: + title: DNS authentication result + type: object + properties: + valid: + type: boolean + description: Indicates if this is a valid domain + domain: + type: string + description: Domain for which the DNS information is retrieved + dns: + type: object + description: DNS records + properties: + mail_cname: + title: cname.yaml + type: object + description: The CNAME for your sending domain + properties: + valid: + type: boolean + description: Indicates if this is a valid CNAME + type: + type: string + description: The type of DNS record + host: + type: string + description: The domain that this CNAME is created for + data: + type: string + description: The CNAME record + dkim1: + title: dns.yaml + type: object + description: DNS record + properties: + valid: + type: boolean + description: Indicates if this is a valid DNS record + type: + type: string + description: The type of DNS record + host: + type: string + description: The domain that this DNS record was created for + data: + type: string + description: The DNS record + dkim2: + $ref: >- + #/components/schemas/EmailAuthenticationItem/properties/dns/properties/dkim1 + EmailValidationItem: + title: DNS validation result + type: object + properties: + valid: + type: boolean + description: Indicates if this is a valid domain + domain: + type: string + description: Domain for which the DNS information is retrieved + validation_results: + type: object + description: DNS records + properties: + mail_cname: + type: object + nullable: true + properties: + valid: + type: boolean + description: If the check passed or not + reason: + type: string + nullable: true + description: The error message + dkim1: + $ref: >- + #/components/schemas/EmailValidationItem/properties/validation_results/properties/mail_cname + dkim2: + $ref: >- + #/components/schemas/EmailValidationItem/properties/validation_results/properties/mail_cname + spf: + $ref: >- + #/components/schemas/EmailValidationItem/properties/validation_results/properties/mail_cname + EmailVerificationInput: + title: Email verification + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + email: + type: string + format: email + description: Email address to verify + example: john-doe@example.com + redirect_uri: + type: string + format: uri + nullable: true + description: Uri to be redirected to after email validation + example: https://www.sellsy.com + required: + - email + EmailVerificationValidateInput: + title: Email verification + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + email: + type: string + format: email + description: Email address to verify + example: john-doe@example.com + required: + - email + EmailVerificationValidateOutput: + title: Email verification result + type: object + properties: + verified: + type: boolean + description: Indicates if the email has already been verified + example: false + EmailRecipientSuggestionOutput: + title: Suggested recipient + type: array + items: + type: object + properties: + email: + type: string + format: email + example: john.doe@example.com + description: Suggested recipient's email + name: + type: string + example: John Doe + description: Suggested recipient's name + relatedObject: + $ref: '#/components/schemas/EmailSendBody/properties/related/items' + EmailRecipientsOutput: + title: Recipients + type: array + description: List of recipients + items: + type: object + properties: + email: + type: string + format: email + example: john.doe@example.com + description: Recipient's email + name: + type: string + example: John Doe + description: Recipient's name + WebhookFilters: + title: WebhookFilters + type: object + description: Webhooks filters list + properties: + filters: + type: object + description: Opportunity filters + properties: + type: + type: string + description: Webhook type + enum: + - http + - slack + example: slack + is_enabled: + type: boolean + description: Webhook status + example: true + endpoint: + type: string + description: >- + Webhook endpoint (either url for http type, either slack url for + slack type) + example: http://{host}/webhook + required: + - filters + WebhookReadItem: + anyOf: + - title: webhook.slack.read.item + type: object + description: Slack Webhook schema for read context + allOf: + - title: webhook.common.read.item + type: object + description: Webhook common schema for read context + allOf: + - title: webhook.common.item + type: object + description: Webhook common schema + properties: + is_enabled: + type: boolean + description: Webhook status + default: true + endpoint: + type: string + description: >- + Webhook endpoint (either url for http type, either slack + url for slack type) + example: http://{host}/webhook + - type: object + properties: + id: + type: integer + type: + type: string + description: Webhook type + enum: + - http + - slack + example: slack + created: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + updated: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + nullable: true + last_succeeded: + type: string + example: '1970-01-01T00:00:00+00:00' + format: date-time + nullable: true + last_failed: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + nullable: true + nb_failures: + type: integer + minimum: 0 + example: 0 + - type: object + properties: + default_channel: + type: string + nullable: true + example: sales_notifs + description: required for slack type webhook + configuration: + title: webhookConfigurationSlackItems + type: array + description: Describe all events to enable as a key + additionalProperties: true + items: + allOf: + - title: webhook.slack.configuration.item + type: object + description: Slack Webhook configuration item schema + additionalProperties: false + properties: + id: + type: string + description: Event id (fetch from /webhooks/events) + example: task.created + is_enabled: + type: boolean + description: Event enabled on webhook + example: true + channel: + type: string + nullable: true + description: Slack channel + - title: webhook.http.read.item + type: object + description: Http Webhook schema for read context + allOf: + - $ref: '#/components/schemas/WebhookReadItem/anyOf/0/allOf/0' + - type: object + properties: + configuration: + title: webhookConfigurationHttpItems + type: array + description: Describe all events to enable as a key + additionalProperties: true + items: + allOf: + - title: webhook.http.configuration.item + type: object + description: Http Webhook configuration item schema + additionalProperties: false + properties: + id: + type: string + description: Event id (fetch from /webhooks/events) + example: task.created + is_enabled: + type: boolean + description: Event enabled on webhook + example: true + WebhookEditItem: + anyOf: + - title: webhook.slack.edit.item + type: object + description: Slack Webhook schema for edit context + additionalProperties: false + properties: + is_enabled: + type: boolean + description: Webhook status + default: true + endpoint: + type: string + description: >- + Webhook endpoint (either url for http type, either slack url for + slack type) + example: http://{host}/webhook + default_channel: + type: string + nullable: true + example: sales_notifs + description: required for slack type webhook + configuration: + $ref: >- + #/components/schemas/WebhookReadItem/anyOf/0/allOf/1/properties/configuration + - title: webhook.http.edit.item + type: object + description: Http Webhook schema for edit context + additionalProperties: false + properties: + is_enabled: + type: boolean + description: Webhook status + default: true + endpoint: + type: string + description: >- + Webhook endpoint (either url for http type, either slack url for + slack type) + example: http://{host}/webhook + configuration: + $ref: >- + #/components/schemas/WebhookReadItem/anyOf/1/allOf/1/properties/configuration + WebhookCreateItem: + anyOf: + - title: webhook.slack.create.item + type: object + description: Slack Webhook schema for create context + additionalProperties: false + properties: + is_enabled: + type: boolean + description: Webhook status + default: true + endpoint: + type: string + description: >- + Webhook endpoint (either url for http type, either slack url for + slack type) + example: http://{host}/webhook + default_channel: + type: string + nullable: true + example: sales_notifs + description: required for slack type webhook + type: + type: string + description: Webhook type + enum: + - slack + - http + example: slack + configuration: + $ref: >- + #/components/schemas/WebhookReadItem/anyOf/0/allOf/1/properties/configuration + - title: webhook.http.create.item + type: object + description: Http Webhook schema for create context + additionalProperties: false + properties: + is_enabled: + type: boolean + description: Webhook status + default: true + endpoint: + type: string + description: >- + Webhook endpoint (either url for http type, either slack url for + slack type) + example: http://{host}/webhook + type: + type: string + description: Webhook type + enum: + - http + - slack + example: http + configuration: + $ref: >- + #/components/schemas/WebhookReadItem/anyOf/1/allOf/1/properties/configuration + WebhookEventsList: + title: webhookEvents + type: array + description: List available webhook events + items: + anyOf: + - title: webhookEventItem + type: object + description: Describe a webhook event item + properties: + id: + type: string + description: Entity + example: task + description: + type: string + description: Entity label + example: Tasks + events: + type: object + description: List available events for current entity + additionalProperties: + type: string + description: Event label + example: + created: Creation + deleted: Deletion + addressadded: Address added + - title: webhookEventItemWithParent + type: object + description: Describe a webhook event item with a parent + allOf: + - $ref: '#/components/schemas/WebhookEventsList/items/anyOf/0' + - type: object + properties: + parent: + type: string + description: Entity + example: task + nullable: true + PaymentMethod: + type: object + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + label: + type: string + readOnly: true + description: Label of payment method + example: Paypal + Payment: + type: object + properties: + id: + description: Payment id + type: integer + example: 7 + number: + description: Payment reference + type: string + nullable: true + example: reference + paid_at: + description: Payment date (ISO 8601) + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + status: + description: Payment status + type: string + enum: + - pending + - confirmed + - rejected + - failed + - refund + example: pending + payment_method_id: + description: Payment method id _(cf `get./payments/methods`)_ + type: integer + example: 7 + type: + description: Payment type + type: string + enum: + - credit + - debit + example: credit + amounts: + description: Amount informations + type: object + properties: + total: + description: Total amount of payment + type: string + example: '1007.90' + remaining: + description: Remaining amount of payment to be linked + type: string + example: '507.90' + currency: + description: Currency code + type: string + example: EUR + bank_deposit: + description: Information on banking + nullable: true + properties: + bank_account_id: + description: Depository bank id + type: integer + example: 7 + date: + description: Date of banking + type: string + format: date + example: '2022-05-30' + related: + description: Company or individual linked + type: object + properties: + id: + description: Id of object + type: integer + example: 7 + type: + description: Type of object + type: string + enum: + - company + - individual + example: company + related_objects: + description: payment-related object + type: array + minItems: 0 + nullable: false + items: + type: object + properties: + id: + description: Id of object + type: integer + example: 7 + type: + description: Type of object + type: string + enum: + - invoice + - credit-note + - order + - estimate + example: estimate + amount_linked: + description: Amount related to the object + type: string + example: '500' + linked_date: + description: Date of linking the payment to the object + type: string + format: date + example: '1970-01-01' + note: + description: Note of payment + type: string + nullable: true + example: Early payment of the invoice XXX + _embed: + title: Payment embed + readOnly: true + description: Payment embed + allOf: + - type: object + properties: + acl: + description: Payment acl + type: object + properties: + can_be_updated: + description: Can be update a payment + type: boolean + example: true + can_be_deleted: + description: Can be delete a payment + type: boolean + example: false + company: + description: Company linked to payment + nullable: true + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + individual: + description: Individual linked to payment + nullable: true + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + CreatePayment: + type: object + properties: + number: + description: Payment identifier + type: string + example: reference + paid_at: + description: Payment date (ISO 8601) + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + payment_method_id: + description: Payment method id + type: integer + example: 7 + type: + description: Payment type + type: string + enum: + - credit + - debit + example: credit + amount: + type: object + description: Amount of payment + properties: + value: + description: Amount (cannot be zero or negative) + type: string + example: '999.90' + currency: + type: string + description: Currency (ISO 4217) + pattern: ^[A-Za-z *]{2,5}$ + nullable: true + example: EUR + required: + - value + - currency + note: + description: Note of payment + type: string + nullable: true + example: Invoice XXX paid + required: + - paid_at + - payment_method_id + - amount + - type + Unit: + type: object + title: Unit object + properties: + id: + type: integer + readOnly: true + example: 9837 + label: + type: string + example: m² + Team: + type: object + properties: + id: + type: integer + readOnly: true + description: Team id + example: -1 + name: + type: string + readOnly: true + description: Team name + example: Commercial + jobs: + description: List of Jobs + type: object + properties: + id: + type: integer + description: Label ID + readOnly: true + example: -3 + name: + type: string + description: Name of label + readOnly: true + example: Office manager + Profiles: + type: object + title: Profile + properties: + id: + type: integer + description: Profile id + example: 6657 + name: + type: string + description: Profile name + example: Collaborator + is_administrator: + type: boolean + description: Indicates if this profile grants administrator privileges + example: true + required: + - id + - name + - is_administrator + Currency: + type: object + title: Currency + properties: + id: + type: integer + description: Currency Identifier + readOnly: true + example: 13 + code: + type: string + description: Currency code (EUR, USD..) + readOnly: true + example: EUR + symbol: + type: string + description: Currency symbol (€, $) + example: € + readOnly: true + is_default: + type: boolean + description: Is default currency? + example: true + Country: + type: object + title: Country + properties: + code: + type: string + description: Internal code + readOnly: true + example: IT + iso-alpha-2: + type: string + description: ISO alpha 2 + readOnly: true + example: IT + iso-alpha-3: + type: string + description: ISO alpha 3 + readOnly: true + example: ITA + name: + type: string + description: Country name + readOnly: true + example: Italie + Subscription: + title: Subscription + type: object + properties: + licenses: + type: array + items: + type: object + properties: + id: + type: string + description: License identifier + example: 9998a80a-7b75-4616-96d5-7ccff7ac08e8 + code: + type: string + description: License code + enum: + - pack_prospecting_sale + - pack_invoicing_management + - pack_all_included + available: + type: integer + description: Number of licenses available + example: 5 + total: + type: integer + description: Total of licenses + example: 10 + plugins: + type: object + additionalProperties: + type: boolean + example: + accounting: true + bankreconciliation: true + companySearch: true + invoicing: true + mailing: true + massmailing: true + phonecall: true + proposal: true + prospection: true + purchases: true + recurring: true + saleestimate: true + scheduler: true + stock: false + support: false + yousign: true + billing_contact: + type: object + properties: + last_name: + type: string + description: User's lastname + example: Doe + nullable: true + first_name: + type: string + description: User's firstname + example: John + nullable: true + email: + type: string + description: User's email + format: email + example: contact@example-company.com + nullable: true + phone_number: + type: string + description: User's phone + example: 33100000000 + nullable: true + billing_settings: + type: object + properties: + service_start_date: + type: string + description: Date of start service + format: date-time + nullable: true + service_end_date: + type: string + description: Date of end service + format: date-time + nullable: true + payment_method: + type: string + description: Payment method of subscription + enum: + - card + - transfer + - sepa + plan: + type: string + description: Plan of subscription + example: ESSENTIAL_MONTHLY + nullable: true + amounts: + type: object + properties: + monthly: + type: object + properties: + total: + type: integer + description: Total of monthly amount + example: 32500 + total_discount: + type: integer + description: Total of discount for monthly amount + example: 100 + total_discounted: + type: integer + description: Total after discount of monthly amount + example: 32400 + yearly: + type: object + properties: + total: + type: integer + description: Total of yearly amount + example: 390000 + total_discount: + type: integer + description: Total of discount for yearly amount + example: 10000 + total_discounted: + type: integer + description: Total after discount of yearly amount + example: 380000 + billing_address: + type: object + properties: + client_name: + type: string + description: Corp name + example: Sellsy + address_line_1: + type: string + description: Address line one + example: 30 Commercial Road + nullable: true + address_line_2: + type: string + description: Address line two + example: Finance and Accounting + nullable: true + postal_code: + type: string + description: Address postal code + example: 75012 + nullable: true + city: + type: string + description: Address city name + example: Paris + nullable: true + country: + type: string + description: Address country + example: France + nullable: true + country_code: + type: string + description: Address country code + example: FR + nullable: true + next_payment_date: + type: string + format: date-time + nullable: true + description: Date of the next subscription payment + renew_cart: + type: object + nullable: true + properties: + id: + type: string + description: Cart id + example: f0173ec-1fb2-43ce-80c1-f972390b237e + period_appliance_start: + type: string + description: Date of the beginning of the cart + example: '2022-02-17T00:00:00.000000Z' + features: + description: > + Set of features available only to specific subscriptions, with a + boolean indicating whether each function is accessible or blocked. +
This array may be empty if your subscription does not include + this notion. + type: object + nullable: true + example: + feature_1: true + feature_2: false + ItemReadItem: + type: object + title: Item + properties: + id: + type: integer + description: Item id + example: 6657 + type: + type: string + description: Item type + enum: + - product + - service + - shipping + - packaging + name: + type: string + description: Item name + example: lorem ipsum + nullable: true + reference: + type: string + description: Item reference + example: ref0123 + reference_price: + deprecated: true + type: string + description: >- + Item reference price
>This field is deprecated, refer to + `is_reference_price_taxes_free` to use either + `reference_price_taxes_inc` or `reference_price_taxes_exc` instead + example: '19.99' + reference_price_taxes_exc: + type: string + description: Item's reference price excluding taxes + example: '19.99' + purchase_amount: + type: string + description: Item's purchase price excluding taxes + example: '8.25' + reference_price_taxes_inc: + type: string + description: Item's reference price including taxes + example: '23.98' + is_reference_price_taxes_free: + type: boolean + description: Item is reference price has taxes free + example: true + tax_id: + type: integer + description: Tax id + example: 354 + nullable: true + unit_id: + type: integer + description: Unit id + example: 952 + nullable: true + category_id: + type: integer + description: Category id (only for product and service types) + example: 123 + price_excl_tax: + deprecated: true + type: string + example: '500.00' + description: >- + Item's price excluding taxes
>This field is deprecated, base on + `is_reference_price_taxes_free` to use either + `reference_price_taxes_inc` or `reference_price_taxes_exc` instead + currency: + type: string + description: Currency code + example: EUR + nullable: true + standard_quantity: + type: string + description: Standard quantity + example: '3' + description: + type: string + description: Description of item + example: T-shirt 90% coton + nullable: true + is_name_included_in_description: + type: boolean + description: To add the name of item in description + example: true + accounting_code_id: + nullable: true + type: integer + description: Accounting code id + example: 321 + accounting_purchase_code_id: + nullable: true + type: integer + description: Accounting purchase code id + example: 123 + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + is_declined: + type: boolean + nullable: false + description: Item declined or not + example: false + required: + - id + - type + - reference + - reference_price_taxes_exc + - reference_price_taxes_inc + - is_reference_price_taxes_free + - tax_id + - unit_id + DeclinationRead: + type: object + title: Declination + properties: + id: + type: integer + description: Declination id + example: 3 + name: + type: string + description: Item name + example: lorem ipsum + reference: + type: string + description: Declination name + example: lorem ipsum + item_id: + type: integer + description: Item ID + example: 123454 + description: + type: string + description: Declination description + example: lorem ipsum + purchase_amount: + type: string + description: Declination's purchase price excluding taxes + example: '500' + is_name_included_in_description: + type: boolean + description: Add the name to the description + example: true + currency: + type: string + description: Currency code + example: EUR + nullable: true + reference_price_taxes_exc: + type: string + description: Declination's reference price excluding taxes + example: '400' + CreateItem: + title: Create item + type: object + properties: + type: + type: string + enum: + - product + - service + name: + type: string + description: Item name + example: lorem ipsum + reference: + type: string + description: Item reference + example: ref0123 + reference_price: + type: string + description: Item reference price + example: '19.99' + purchase_amount: + type: string + description: Item's purchase price excluding taxes + example: '8.25' + is_reference_price_taxes_free: + type: boolean + description: Price expressed without tax + example: true + tax_id: + type: integer + description: Tax id + example: 354 + unit_id: + type: integer + description: Unit id + example: 952 + category_id: + type: integer + description: Category id (only for product and service types) + example: 123 + standard_quantity: + type: string + description: Standard quantity + example: '3' + description: + type: string + description: Description of item + example: T-shirt 90% coton + is_name_included_in_description: + type: boolean + description: To add the name of item in description + example: true + accounting_code_id: + type: integer + description: Accounting code id + example: 321 + accounting_purchase_code_id: + type: integer + description: Accounting purchase code id + example: 123 + accounting_analytic_code: + type: string + description: Accounting analytic code + example: divers + required: + - type + - reference + UpdateItem: + title: Update item + type: object + additionalProperties: false + properties: + name: + type: string + description: Item name + example: lorem ipsum + nullable: true + reference: + type: string + description: Item reference + example: ref0123 + reference_price: + type: string + description: Item reference price + example: '19.99' + purchase_amount: + type: string + description: Item's purchase price excluding taxes + example: '8.25' + is_reference_price_taxes_free: + type: boolean + description: Price expressed without tax + example: true + tax_id: + type: integer + description: Tax id + example: 354 + unit_id: + type: integer + description: Unit id + example: 952 + category_id: + type: integer + description: Category id (only for product and service types) + example: 123 + standard_quantity: + type: string + description: Standard quantity + example: 3 + description: + type: string + description: Description of item + example: T-shirt 90% coton + is_name_included_in_description: + type: boolean + description: To add the name of item in description + example: true + accounting_code_id: + type: integer + description: Accounting code id + example: 321 + accounting_purchase_code_id: + type: integer + description: Accounting purchase code id + example: 123 + LicenseRead: + title: License + type: array + items: + type: object + properties: + id: + type: string + description: License identifier + example: 9998a80a-7b75-4616-96d5-7ccff7ac08e8 + code: + type: string + description: License code + enum: + - pack_prospecting_sale + - pack_invoicing_management + - pack_all_included + enabled: + type: boolean + description: License enabled + LicenseEdit: + title: License + type: array + minItems: 0 + maxItems: 1 + items: + type: object + properties: + id: + type: string + description: License identifier + example: 9998a80a-7b75-4616-96d5-7ccff7ac08e8 + Quotas: + type: object + additionalProperties: false + properties: + email_marketing: + allOf: + - type: object + deprecated: true + description: Quota of email marketing plugin (legacy) + - type: object + properties: + limit: + type: integer + nullable: true + description: >- + Limit of quota that can be used (null for + unlimited quota). + example: 10 + minimum: 1 + used: + type: integer + description: Quotas used + example: 3 + minimum: 0 + firm_search: + allOf: + - type: object + description: Quota of company search plugin + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + yousign: + allOf: + - type: object + description: Quota of esign plugin + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + esker: + allOf: + - type: object + description: Quota of mailing plugin + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + sms_marketing: + allOf: + - type: object + deprecated: true + description: Quota of sms marketing plugin (legacy) + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + custom_fields: + allOf: + - type: object + description: Quota on the creation of customfields + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + custom_field_groups: + allOf: + - type: object + description: Quota on the creation of customfield groups + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + pipelines: + allOf: + - type: object + description: Quota on the creation of pipelines + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + privilege_profiles: + allOf: + - type: object + description: Quota on the creation of privilege profiles + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + api_rate_seconds: + allOf: + - type: object + description: API request quota by seconds + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + api_rate_minutes: + allOf: + - type: object + description: API request quota by minutes + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + api_rate_days: + allOf: + - type: object + description: API request quota by days + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + api_rate_months: + allOf: + - type: object + description: API request quota by months + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + estimate_dunning_plan: + allOf: + - type: object + description: Quota on the creation of dunning plans for estimate + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + invoice_dunning_plan: + allOf: + - type: object + description: Quota on the creation of dunning plans for invoice + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + proforma_dunning_plan: + allOf: + - type: object + description: Quota on the creation of dunning plans for proforma + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + activity_report: + allOf: + - type: object + description: Quota on activity reporting + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + bank_account_reconciliations: + allOf: + - type: object + description: >- + Quota on number of bank accounts synchronized with the bank + reconciliation module + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + documents: + allOf: + - type: object + description: > + Quota on number of documents created in the current month +
* Starting on the day of the anniversary month of your + subscription + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + document_invoices: + allOf: + - type: object + description: > + Quota on number of invoices created in the current month +
* Starting on the day of the anniversary month of your + subscription + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + file_storage: + allOf: + - type: object + description: Quota on disk space used for files (in bytes) + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + rate_categories: + allOf: + - type: object + description: Quota on the number of rate categories + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + recurring: + allOf: + - type: object + description: Quota on the number of active customer subscriptions + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + report_cards: + allOf: + - type: object + description: >- + Quota on the number of "Reports" tiles allowed on the Sellsy web + application dashboard + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + catalog_items: + allOf: + - type: object + description: Quota on the number of "product" or "service" items + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + marketing_emailing: + allOf: + - type: object + description: Quota of marketing plugin's email + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + marketing_transactional: + allOf: + - type: object + deprecated: true + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + marketing_sms: + allOf: + - type: object + description: Quota of marketing plugin's sms + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + write_with_ai: + allOf: + - type: object + description: Quota of "write with AI" requests + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + Verify: + description: Validated + StaffFilters: + title: Staff filters + type: object + description: Filters for search staffs endpoint + properties: + filters: + type: object + properties: + status: + type: array + description: Filters on the status of staffs + minItems: 1 + items: + type: string + enum: + - ok + - blocked + InvoicingSearch: + title: Invoicing Search + description: Invoicing Search Object + additionalProperties: false + type: object + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + number: + type: string + example: FACT-20211001-00003 + description: Document number + readOnly: true + type: + type: string + example: invoice + description: Document type + readOnly: true + enum: + - model + - estimate + - invoice + - delivery + - order + - creditnote + - proforma + ItemPrice: + title: Price + description: Price of an item + additionalProperties: false + type: object + properties: + rate_category_id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + amount_excl_tax: + type: string + example: '19.99' + description: Amount excluding taxes + readOnly: true + amount_incl_tax: + type: string + example: '24.99' + description: Amount including taxes + readOnly: true + ItemInputPrice: + title: Price + description: Price of an item + additionalProperties: false + type: object + properties: + rate_category_id: + type: integer + description: Unique ID + example: 6657 + amount: + type: string + example: '19.99' + description: > +
  • For rate category without taxes, amount must exclude them + but for rate category with taxes, it should include them
  • +
  • You can update the amount for rates categories with amount + type
  • You can't update percent rate categories
+ InvoicingSearchFilters: + title: Invoicing Search Filters + description: Invoicing Search Filters + additionalProperties: false + type: object + properties: + filters: + type: object + description: Invoicing Search Filters + properties: + id: + title: Documents + type: array + items: + type: integer + description: Filter the documents list by document ID + example: + - 12 + - 22 + AccountingMetas: + title: listingMeta + type: object + description: The listing meta + properties: + permissions: + type: object + description: The permissions + required: + - favorite + - export + properties: + favorite: + type: boolean + description: Can access to export + export: + type: boolean + description: Can access to favorite + codes: + type: array + description: List of codes + minItems: 1 + items: + type: object + required: + - label + - value + properties: + label: + type: string + description: Label of code + value: + type: string + description: Id of code + currencies: + type: array + description: List of currencies + minItems: 1 + items: + type: object + required: + - label + - value + properties: + label: + type: string + description: Label of currency + value: + type: string + description: Id of currency + required: + - permissions + - codes + - currencies + AccountingAggregations: + title: accountingAggregations + type: object + description: The accounting aggregations + properties: + credit_debit: + type: object + description: Count debit/credit + properties: + debit: + type: string + example: '123.234' + credit: + type: string + example: '123.234' + additionalProperties: true + EsignSettings: + type: object + description: The Esign Providers + required: + - provider + - available_providers + properties: + provider: + type: object + nullable: false + additionalProperties: false + required: + - id + - name + properties: + id: + type: string + nullable: false + name: + type: string + nullable: false + oauth_url: + type: string + nullable: true + is_connected: + type: boolean + nullable: false + available_providers: + type: array + nullable: false + items: + type: object + nullable: false + additionalProperties: false + required: + - id + - name + properties: + id: + type: string + nullable: false + name: + type: string + nullable: false + MarketingProviders: + type: object + description: The Marketing Providers + required: + - provider + - available_providers + properties: + provider: + type: object + nullable: true + additionalProperties: false + required: + - id + - name + properties: + id: + type: integer + nullable: false + name: + type: string + nullable: false + available_providers: + type: array + nullable: false + items: + type: object + nullable: false + additionalProperties: false + required: + - id + - name + properties: + id: + type: integer + nullable: false + name: + type: string + nullable: false + MailchimpSettings: + title: Mailchimp settings + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + apikey: + type: string + description: API key of the mailchimp account to use + example: abcdefghijklmnopqrstuv0123456789-usX + nullable: true + audiences: + type: array + items: + type: object + additionalProperties: false + properties: + id: + type: string + nullable: false + description: Audience's id + example: abcdefghijklmnopqrstuv0123456789 + name: + type: string + nullable: false + description: audience's name + example: CRM List + required: + - id + - name + marketing: + type: object + additionalProperties: false + description: Marketing settings + properties: + loaded: + type: boolean + description: Indicates if the Marketing module is loaded + example: true + nullable: false + enabled: + type: boolean + description: Indicates if Mailchimp Marketing is enabled + example: true + nullable: false + audience_id: + description: Mailchimp's audience list identifier to use + type: string + example: abcdefghijklmnopqrstuv0123456789 + nullable: true + required: + - loaded + - enabled + - audience_id + contacts_synchronization: + type: object + additionalProperties: false + description: Contact Synchronization settings + properties: + enabled: + type: boolean + description: Indicates if the synchronization of contacts is enabled + example: true + nullable: false + audience_id: + description: Mailchimp's audience list identifier to use + type: string + example: abcdefghijklmnopqrstuv0123456789 + nullable: true + merge_fields: + type: array + description: Mailchimp's audience merge fields defined + nullable: false + items: + anyOf: + - type: object + description: Text merge field + additionalProperties: false + nullable: false + properties: + merge_id: + type: integer + nullable: false + description: Merge field's Identifier + type: + type: string + nullable: false + example: text + name: + type: string + nullable: false + description: Merge field's Name + tag: + type: string + nullable: false + description: Merge field's template tag + default_value: + type: string + nullable: true + - type: object + description: Dropdown merge field + additionalProperties: false + nullable: false + properties: + merge_id: + type: integer + nullable: false + description: Merge field's Identifier + type: + type: string + nullable: false + example: dropdown + name: + type: string + nullable: false + description: Merge field's Name + tag: + type: string + nullable: false + description: Merge field's template tag + default_value: + type: string + nullable: true + choices: + type: array + nullable: false + description: Merge field's value options + items: + type: object + nullable: false + additionalProperties: false + properties: + label: + type: string + nullable: false + filter: + description: Indicates which kind of contacts to synchronize + type: string + enum: + - all + - clients + - prospects + - suppliers + default: all + nullable: true + required: + - enabled + - audience_id + - filter + required: + - apikey + - marketing + - contacts_synchronization + MailjetSettings: + title: Mailjet settings + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + api_key: + type: string + description: API key of the Mailjet account to use + example: abcdefghijklmnopqrstuv0123456789 + nullable: true + api_secret: + type: string + description: API secret of the Mailjet account to use + example: abcdefghijklmnopqrstuv0123456789 + nullable: false + contacts_lists: + type: array + items: + type: object + additionalProperties: false + properties: + id: + type: integer + minimum: 0 + exclusiveMinimum: true + nullable: false + description: contact list's id + example: 42 + name: + type: string + nullable: false + description: contact list's name + example: CRM List + required: + - id + - name + contacts_synchronization: + type: object + additionalProperties: false + description: Contact Synchronization settings + properties: + enabled: + type: boolean + description: Indicates if the synchronization of contacts is enabled + example: true + nullable: false + contacts_list_id: + description: Mailjet's contact list identifier to use + type: integer + minimum: 0 + example: 42 + nullable: true + filter: + description: Indicates which kind of contacts to synchronize + type: string + enum: + - all + - clients + - prospects + - suppliers + default: all + nullable: true + required: + - enabled + - contacts_list_id + - filter + required: + - api_key + - api_secret + - contacts_synchronization + TwoFactorAuthenticationSettings: + title: Two factor authentication settings + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + enabled: + type: boolean + description: Indicates if the two factor authentication is enabled + example: true + nullable: false + required: + - enabled + UserTwoFactorAuthenticationSettings: + title: Two factor authentication settings + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + enabled: + type: boolean + description: Indicates if the two factor authentication is enabled + example: true + nullable: false + corporation_enabled: + type: boolean + description: >- + Indicates if the two factor authentication is enabled for the + corporation + example: true + nullable: false + available_providers: + type: array + items: + type: object + additionalProperties: false + properties: + provider: + type: string + description: provider name + example: google + nullable: false + enum: + - google + required: + - provider + providers: + description: List of registered provider for the user + type: array + items: + type: object + additionalProperties: false + properties: + provider: + $ref: >- + #/components/schemas/UserTwoFactorAuthenticationSettings/properties/available_providers/items/properties/provider + primary: + type: boolean + description: is the primary provider + example: true + nullable: false + configured_at: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Configuration date time the of the provider + nullable: true + required: + - provider + - primary + - configured_at + backup_codes: + title: Two factor authentication backup codes + description: List of user's backup codes + type: array + maxItems: 10 + minItems: 0 + items: + type: object + additionalProperties: false + properties: + code: + type: string + description: Backup Code + example: EB2F5E40 + nullable: false + created_at: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Creation date of the backup code + nullable: false + used_at: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Usage date of the backup code + nullable: true + required: + - code + - created_at + - used_at + trusted_devices: + description: List of registered trusted devices for the user + type: array + items: + type: object + additionalProperties: false + properties: + id: + type: integer + device: + type: string + description: Device type + example: desktop + nullable: false + created_at: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Creation date time the of the device + nullable: false + last_login_at: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Last login date time using the device + nullable: false + os: + type: string + example: GNU/Linux + description: Operating system family of the device + nullable: true + browser: + type: string + example: Chrome + description: Browser family of the device + nullable: true + required: + - id + - device + - created_at + - last_login_at + - os + - browser + required: + - enabled + - corporation_enabled + - available_providers + - backup_codes + - providers + - trusted_devices + UserUpdateTwoFactorAuthenticationSettings: + title: Two factor authentication settings + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + providers: + description: List of registered provider for the user + type: array + items: + type: object + additionalProperties: false + properties: + provider: + $ref: >- + #/components/schemas/UserTwoFactorAuthenticationSettings/properties/available_providers/items/properties/provider + required: + - provider + required: + - providers + UserUpdateTwoFactorAuthenticationSettingsResponse: + title: Two factor authentication settings + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + enabled: + type: boolean + description: Indicates if the two factor authentication is enabled + example: true + nullable: false + providers: + description: List of registered provider for the user + type: array + items: + type: object + additionalProperties: false + properties: + provider: + $ref: >- + #/components/schemas/UserTwoFactorAuthenticationSettings/properties/available_providers/items/properties/provider + primary: + type: boolean + description: is the primary provider + example: true + nullable: false + configured_at: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Configuration date time the of the provider + nullable: true + required: + - provider + - primary + - configured_at + required: + - enabled + - providers + BackupCodes: + title: Two factor authentication backup codes + description: List of user's backup codes + type: array + maxItems: 10 + minItems: 0 + items: + type: object + additionalProperties: false + properties: + code: + type: string + description: Backup Code + example: EB2F5E40 + nullable: false + created_at: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Creation date of the backup code + nullable: false + used_at: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Usage date of the backup code + nullable: true + required: + - code + - created_at + - used_at + ScanList: + type: array + title: Search results + description: List of results + items: + type: object + properties: + name: + description: name of company + type: string + example: Sellsy + siret: + description: Siret of company + type: string + example: '82993087400013' + nullable: true + type: + type: string + description: type of company + example: SAS, société par actions simplifiée + id: + type: string + description: >- + Identifier of the company. In case of French company, it + corresponds to the SIREN Number + example: '509961074' + job_code: + type: string + description: job code of company + example: 58.29C + nullable: true + address: + type: object + properties: + country: + type: string + description: Country of company + example: France + nullable: true + city: + type: string + description: City of company + example: LA ROCHELLE, + nullable: true + postal_code: + type: string + description: Postal_code of company + example: '17000' + nullable: true + address_line_1: + type: string + description: first part of address of company + example: Avenue DU LAZARET, + nullable: true + address_line_2: + type: string + description: Second part of address of company + nullable: true + ScanFetch: + type: object + title: Search results + description: Detailed answer for a company returned via the scan route + properties: + name: + description: name of company + type: string + example: Sellsy + siret: + description: Siret of company + type: string + example: '82993087400013' + nullable: true + type: + type: string + description: type of company + example: SAS, société par actions simplifiée + id: + type: string + description: >- + Identifier of the company. In case of French company, it corresponds + to the SIREN Number + example: '509961074' + job_code: + type: string + description: job code of company + example: 58.29C + nullable: true + address: + type: object + properties: + country: + type: string + description: Country of company + example: France + nullable: true + city: + type: string + description: City of company + example: LA ROCHELLE, + nullable: true + postal_code: + type: string + description: Postal_code of company + example: '17000' + nullable: true + address_line_1: + type: string + description: first part of address of company + example: Avenue DU LAZARET, + nullable: true + address_line_2: + type: string + description: Second part of address of company + nullable: true + officers: + type: array + nullable: true + items: + type: object + properties: + lastname: + type: string + description: Lastname of officier + firstname: + type: string + description: Firstname of officier + role: + type: string + description: Role of officier + nullable: true + capital: + type: integer + description: Capital of company + nullable: true + financial_activity: + type: array + nullable: true + items: + type: object + properties: + turnover: + type: integer + description: Turnover in this year + publication_year: + type: string + description: Year of publication + publication_date: + type: string + description: Date of publication + income: + type: integer + description: Diff with last year + workforce_count: + type: integer + description: Number of emplyees + nullable: true + rcs: + type: string + description: RCS of compnay + nullable: true + vat: + type: string + description: VAT of compnay + nullable: true + company_sign: + type: string + description: Sign of company + nullable: true + Notification: + title: Notification + type: object + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + event: + type: string + description: Event name + example: mention.staff + transport: + type: string + description: Event transport + enum: + - inapp + - push + - mail + - webhook + readOnly: true + recipient: + title: Recipient + type: object + properties: + id: + type: integer + readOnly: true + description: Recipient id + example: 6657 + type: + type: string + description: Recipient type + example: staff + firstname: + type: string + description: Recipient first name + example: John + lastname: + type: string + description: Recipient last name + example: Smith + subtype: + type: string + description: Sender type + example: regular + related: + type: array + items: + title: Related + type: object + properties: + id: + type: integer + readOnly: true + description: Related object id + example: 6657 + type: + type: string + description: Related object type + example: opportunity + name: + type: string + description: Related object name + example: New website + nullable: true + sender: + title: Sender + type: object + properties: + id: + type: integer + readOnly: true + description: Sender id + example: 6657 + type: + type: string + description: Sender type + example: staff + firstname: + type: string + description: Sender first name + example: John + lastname: + type: string + description: Sender last name + example: Smith + subtype: + type: string + description: Sender type + example: regular + avatar: + type: object + nullable: true + readOnly: true + properties: + type: + type: string + enum: + - initials + - picture + - twitteruserpic + value: + type: string + description: initials or avatar url + class: + type: integer + created: + type: string + description: Creation date of event + format: date-time + example: '1970-01-01T00:00:00+00:00' + readOnly: true + read: + type: string + description: Read date of event + format: date-time + example: '1970-01-01T00:00:00+00:00' + nullable: true + readOnly: true + status: + type: string + description: Event dispatch status + enum: + - ongoing + - sent + - failed + - retry + readOnly: true + status_updated: + type: string + description: Update date of event's status + format: date-time + example: '1970-01-01T00:00:00+00:00' + readOnly: true + nullable: true + event_details: + type: object + nullable: true + description: Details of event + additionalProperties: true + targeted_staff: + title: Targeted staff + type: object + properties: + id: + type: integer + readOnly: true + description: Targeted staff id + example: 6657 + firstname: + type: string + description: Targeted staff first name + example: John + lastname: + type: string + description: Targeted staff last name + example: Smith + NotificationFilters: + title: NotificationFilters + type: object + description: Notification filters + properties: + filters: + type: object + description: Notification filters + properties: + is_read: + title: Is read + type: boolean + description: Filter on read/unread notifications + example: false + required: + - filters + NotificationMarkAsRead: + title: Mark as read + type: object + description: Mark as read + properties: + read: + title: Is read + type: boolean + description: The notification has been read + example: true + required: + - read + NotificationSettingsOutput: + title: Notifications Settings Output + type: object + properties: + subscriptions: + title: Notifications subscription + type: array + description: >- + array of notifications to subscribe, with enabled transports by + notification + items: + type: object + additionalProperties: false + properties: + name: + type: string + description: notification name + example: mention.staff + transports: + type: array + description: list of transports to enable for notification + items: + type: string + enum: + - inapp + - push + - mail + - webhook + uniqueItems: true + required: + - name + - transports + do_not_disturb: + title: Notification do-not-disturb setting + type: object + properties: + enabled: + description: Do not disturb mode is enabled + type: boolean + required: + - enabled + NotificationSettingsInput: + title: Notifications Settings Input + type: object + properties: + subscriptions: + title: Notifications subscription + type: array + description: >- + array of notifications to subscribe, with enabled transports by + notification + minItems: 1 + maxItems: 100 + items: + type: object + additionalProperties: false + properties: + name: + type: string + description: notification name + example: mention.staff + transports: + type: array + description: list of transports to enable for notification + items: + type: string + enum: + - inapp + - push + - mail + - webhook + uniqueItems: true + required: + - name + - transports + do_not_disturb: + title: Notification do-not-disturb setting + type: object + properties: + enabled: + description: Do not disturb mode is enabled + type: boolean + required: + - enabled + NotificationMetadata: + title: Notifications Metadata Object + type: object + properties: + events: + type: array + items: + title: Notification events metadata + type: object + properties: + name: + type: string + description: notification name + example: mention.staff + transports: + type: array + description: list of transports available for notification + minItems: 1 + items: + type: string + enum: + - inapp + - push + - mail + - webhook + required: + - events + corporationStaffAggregation: + title: Count licenses Aggregations + type: object + x-examples: {} + properties: + count_licenses: + type: array + items: + title: Count licenses + type: object + properties: + count: + readOnly: true + type: integer + description: Number of licenses + example: 10 + product_id: + readOnly: true + type: string + description: Product id + example: e6acc4c7-4b7d-4b64-bda0-6e53eb1a00fb + product_code: + readOnly: true + type: string + description: Product code + example: pack_all_included + CorporationSubscription: + title: Subscription + type: object + properties: + licenses: + type: array + items: + type: object + properties: + id: + type: string + description: License identifier + example: 9998a80a-7b75-4616-96d5-7ccff7ac08e8 + code: + type: string + description: License code + enum: + - pack_prospecting_sale + - pack_invoicing_management + - pack_all_included + available: + type: integer + description: Number of licenses available + example: 5 + total: + type: integer + description: Total of licenses + example: 10 + plugins: + type: object + additionalProperties: + type: boolean + example: + accounting: true + bankreconciliation: true + companySearch: true + invoicing: true + mailing: true + massmailing: true + phonecall: true + proposal: true + prospection: true + purchases: true + recurring: true + saleestimate: true + scheduler: true + stock: false + support: false + yousign: true + billing_settings: + type: object + properties: + service_start_date: + type: string + description: Date of start service + format: date-time + nullable: true + service_end_date: + type: string + description: Date of end service + format: date-time + nullable: true + payment_method: + type: string + description: Payment method of subscription + enum: + - card + - transfer + - sepa + pricing_version: + type: integer + description: Pricing version + example: 5 + pricing_revision: + type: string + description: Pricing revision + example: 20231016 + plan_id: + type: string + description: Plan id + example: 5_20231016_elite + interval: + type: string + enum: + - monthly + - yearly + description: Billing interval + example: yearly + amounts: + type: object + properties: + monthly: + type: object + properties: + total: + type: integer + description: Total of monthly amount + example: 32500 + total_discount: + type: integer + description: Total of discount for monthly amount + example: 100 + total_discounted: + type: integer + description: Total after discount of monthly amount + example: 32400 + yearly: + type: object + properties: + total: + type: integer + description: Total of yearly amount + example: 390000 + total_discount: + type: integer + description: Total of discount for yearly amount + example: 10000 + total_discounted: + type: integer + description: Total after discount of yearly amount + example: 380000 + nb_available_staff: + type: integer + description: Number of available staffs + example: 8 + nullable: true + products: + type: array + description: List of products + example: + - pack_support + - pack_cashflow_pro + items: + type: string + Report: + title: Report + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + name: + type: string + description: The report name + example: Business report + nullable: false + type: + type: string + enum: + - cumulio + - legacy + default: legacy + description: The report provider + nullable: false + dashboard_id: + type: string + description: Dashboard id + example: b5e2cf01-8bb6-4fcd-ad88-0efb611195da + nullable: true + path: + type: string + description: The path of the report + example: /report/business + nullable: true + updated: + type: string + nullable: true + description: Datetime of updating the report + example: '2020-05-29T11:22:03+02:00' + readOnly: true + required: + - name + - type + - dashboard_id + - path + - updated + ReportAggregation: + title: Reports aggregations + type: object + properties: + cumulio: + type: object + description: cumulio token + properties: + key: + type: string + description: Cumulio key + token: + type: string + description: Cumulio token + example: + key: some_key + token: some_token + Invoice: + title: Invoice + type: object + properties: + id: + type: integer + readOnly: true + description: Invoice ID + example: 3875 + number: + type: string + description: Invoice number + example: INV-2022-01-02-002 + status: + type: string + readOnly: true + description: Status of the invoice + example: paid + enum: + - draft + - due + - payinprogress + - paid + - late + - cancelled + date: + type: string + format: date + description: Date of the invoice + example: '2022-01-02' + due_date: + type: string + format: date + description: due date of the invoice + example: '2022-02-02' + created: + description: Created date of invoice + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + subject: + type: string + description: Subject of the invoice + amounts: + type: object + readOnly: true + description: Amounts of invoice, with and without taxes + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging costs. + Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + total_remaining_due_incl_tax: + type: string + description: Remaining amount to be paid + example: '50.00' + total_primes_incl_tax: + type: string + description: Total of primes added on document + example: '10.00' + currency: + type: string + description: Currency code of the invoice + example: EUR + taxes: + description: List of taxes used on the invoice + type: array + readOnly: true + items: + type: object + description: Tax used + properties: + label: + type: string + id: + type: integer + rate: + type: string + amount: + type: string + required: + - label + - id + - rate + - amount + discount: + description: Global discount applied on the invoice + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + related: + description: | + Objects linked to the invoice : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only `client` type + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + - If you provide one or more contacts, they must belong to the company or individual + type: array + minItems: 1 + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - contact + - opportunity + public_link: + description: Public link of the invoice + type: object + properties: + enabled: + type: boolean + description: Public link is enabled + url: + readOnly: true + type: string + description: Url to public link + payment_conditions_acceptance: + type: object + readOnly: true + description: Acceptance of terms and conditions + properties: + enabled: + type: boolean + description: Acceptance is required to pay or sign the document + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + - type: object + description: Invoice's owner + readOnly: true + fiscal_year_id: + type: integer + nullable: true + description: ID of the invoice's fiscal year + readOnly: true + pdf_link: + type: string + format: uri + readOnly: true + description: >- + Link to the pdf of document. /!\ Link is regenerate after an update + of document + nullable: true + decimal_number: + readOnly: true + type: object + description: Precision for decimal numbers + properties: + unit_price: + type: integer + nullable: true + description: Precision of unit price + quantity: + type: integer + nullable: true + description: Precision of quantity + main: + type: integer + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + assigned_staff_id: + type: integer + nullable: false + readOnly: true + description: The staff linked + example: 2 + contact_id: + description: Contact of company linked to the invoice + type: integer + nullable: true + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + readOnly: true + example: 777 + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + readOnly: true + example: 777 + parent: + type: object + nullable: true + description: Parent object of the document + properties: + id: + type: integer + description: Parent object id + type: + type: string + description: Parent object type + enum: + - estimate + - order + order_reference: + type: string + description: Reference of the order + readOnly: true + is_deposit: + type: boolean + description: Invoice is deposit + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: End date for service + example: '2023-01-31' + note: + type: string + description: Notes of the invoice + example: This invoice is very important
+ subscription_id: + type: integer + description: Subscription id, if invoice is linked to one + readOnly: true + is_sent_to_accounting: + type: boolean + description: If the invoice is sent to accounting + example: true + _embed: + allOf: + - title: Invoice Embed + allOf: + - type: object + properties: + related: + type: array + items: + anyOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + title: Company + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + title: Individual + - $ref: '#/components/schemas/ContactItem/allOf/0' + title: Contact + contact: + $ref: '#/components/schemas/ContactItem/allOf/0' + title: Contact + nullable: true + individual: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + title: Individual + nullable: true + company: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + title: Company + nullable: true + - $ref: '#/components/schemas/SaleEmbed/properties/_embed/allOf/2' + - type: object + properties: + acl: + title: Invoice ACL + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Invoice can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Invoice can be deleted + example: true + can_be_validated: + type: boolean + nullable: true + description: Invoice can be validated + example: true + owner: + $ref: '#/components/schemas/CrmActivity/properties/author' + fiscal_year: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/fiscal_year + currency: {} + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + - type: object + readOnly: true + shipping_date: + type: string + format: date + description: Date of the shipping + nullable: true + example: '2024-01-31' + InvoiceOne: + allOf: + - title: Invoice + type: object + properties: + id: + type: integer + readOnly: true + description: Invoice ID + example: 3875 + number: + type: string + description: Invoice number + example: INV-2022-01-02-002 + status: + type: string + readOnly: true + description: Status of the invoice + example: paid + enum: + - draft + - due + - payinprogress + - paid + - late + - cancelled + date: + type: string + format: date + description: Date of the invoice + example: '2022-01-02' + due_date: + type: string + format: date + description: due date of the invoice + example: '2022-02-02' + created: + description: Created date of invoice + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + subject: + type: string + description: Subject of the invoice + amounts: + type: object + readOnly: true + description: Amounts of invoice, with and without taxes + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging + costs. Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + total_remaining_due_incl_tax: + type: string + description: Remaining amount to be paid + example: '50.00' + total_primes_incl_tax: + type: string + description: Total of primes added on document + example: '10.00' + currency: + type: string + description: Currency code of the invoice + example: EUR + taxes: + description: List of taxes used on the invoice + type: array + readOnly: true + items: + type: object + description: Tax used + properties: + label: + type: string + id: + type: integer + rate: + type: string + amount: + type: string + required: + - label + - id + - rate + - amount + discount: + description: Global discount applied on the invoice + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + related: + description: | + Objects linked to the invoice : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only `client` type + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + - If you provide one or more contacts, they must belong to the company or individual + type: array + minItems: 1 + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - contact + - opportunity + public_link: + description: Public link of the invoice + type: object + properties: + enabled: + type: boolean + description: Public link is enabled + url: + readOnly: true + type: string + description: Url to public link + payment_conditions_acceptance: + type: object + readOnly: true + description: Acceptance of terms and conditions + properties: + enabled: + type: boolean + description: Acceptance is required to pay or sign the document + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + - type: object + description: Invoice's owner + readOnly: true + fiscal_year_id: + type: integer + nullable: true + description: ID of the invoice's fiscal year + readOnly: true + pdf_link: + type: string + format: uri + readOnly: true + description: >- + Link to the pdf of document. /!\ Link is regenerate after an + update of document + nullable: true + decimal_number: + readOnly: true + type: object + description: Precision for decimal numbers + properties: + unit_price: + type: integer + nullable: true + description: Precision of unit price + quantity: + type: integer + nullable: true + description: Precision of quantity + main: + type: integer + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + assigned_staff_id: + type: integer + nullable: false + readOnly: true + description: The staff linked + example: 2 + contact_id: + description: Contact of company linked to the invoice + type: integer + nullable: true + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + readOnly: true + example: 777 + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + readOnly: true + example: 777 + parent: + type: object + nullable: true + description: Parent object of the document + properties: + id: + type: integer + description: Parent object id + type: + type: string + description: Parent object type + enum: + - estimate + - order + order_reference: + type: string + description: Reference of the order + readOnly: true + is_deposit: + type: boolean + description: Invoice is deposit + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: End date for service + example: '2023-01-31' + note: + type: string + description: Notes of the invoice + example: This invoice is very important
+ subscription_id: + type: integer + description: Subscription id, if invoice is linked to one + readOnly: true + is_sent_to_accounting: + type: boolean + description: If the invoice is sent to accounting + example: true + _embed: + allOf: + - $ref: '#/components/schemas/Invoice/properties/_embed/allOf/0' + - type: object + readOnly: true + shipping_date: + type: string + format: date + description: Date of the shipping + nullable: true + example: '2024-01-31' + - type: object + properties: + rows: + type: array + items: + $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/rows/items + _embed: + allOf: + - $ref: '#/components/schemas/Invoice/properties/_embed/allOf/0' + - type: object + properties: + payment_terms: + title: Document Payment Terms + description: Terms of payment of document + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/0/properties/payment_terms/allOf/0 + - type: object + properties: + computed_instalment_plan: + type: array + description: >- + List of deadlines computed with the payment + terms settings + items: + type: object + properties: + date: + type: string + description: due date + format: date + amount: + type: string + description: Total amount + due_amount: + type: string + description: Remaining due amount + status: + description: Status of deadline + type: string + enum: + - due + - payinprogress + - paid + late: + description: Is the deadline late? + type: boolean + - $ref: >- + #/components/schemas/EstimateOneEmbed/properties/_embed/allOf/1 + - type: object + properties: + automatic_dunning: + type: object + title: Automatic Dunning + properties: + is_enabled: + type: boolean + description: Automatic dunning is enabled on document + example: true + is_valid: + type: boolean + description: >- + Automatic dunning configuration is valid for + document + example: true + sent: + type: array + description: >- + List of the last 10 dunning notices sent on this + invoice + items: + description: Sent dunning object + type: object + properties: + reminder_name: + type: string + example: Dunning D+1 + sent_at: + type: string + description: Dunning email date of sent + format: date-time + example: '1970-01-01T00:00:00+00:00' + sender: + type: object + properties: + type: + type: string + description: Sender's type + enum: + - company + - individual + - contact + - staff + id: + type: integer + description: Sender's id + email: + type: string + description: Sender's email + format: email + example: contact@example-company.com + recipient: + type: object + properties: + type: + type: string + description: Recipient's type + enum: + - company + - individual + - contact + - staff + id: + type: integer + description: Recipient's id + email: + type: string + description: Recipient's email + format: email + example: contact@example-company.com + deadline_id: + type: integer + nullable: true + description: Related payment deadline id + required: + - id + - reminder_name + - sent_at + - due_at + - sender + - recipient + - deadline_id + upcoming: + type: array + description: >- + List of the next 10 dunning notices to come on this + invoice + items: + description: Upcoming dunning object + type: object + properties: + reminder_name: + type: string + example: Dunning D+1 + due_at: + type: string + description: Dunning email estimated date of sent + format: date-time + example: '1970-01-01T00:00:00+00:00' + sender: + type: object + properties: + type: + type: string + description: Sender's type + enum: + - company + - individual + - contact + - staff + nullable: true + id: + type: integer + description: Sender's id + nullable: true + email: + type: string + description: Sender's email + format: email + example: contact@example-company.com + nullable: true + recipient: + type: object + nullable: true + properties: + type: + type: string + description: Recipient's type + enum: + - company + - individual + - contact + - staff + nullable: true + id: + type: integer + description: Recipient's id + nullable: true + email: + type: string + description: Recipient's email + format: email + example: contact@example-company.com + nullable: true + deadline_id: + type: integer + nullable: true + description: Related payment deadline id + required: + - id + - reminder_name + - sent_at + - due_at + - sender + - recipient + - deadline_id + InvoiceCompute: + type: object + properties: + status: + type: string + readOnly: true + description: Status of the invoice + example: paid + enum: + - draft + - due + - payinprogress + - paid + - late + - cancelled + date: + type: string + format: date + description: date of the invoice + example: '2022-01-02' + subject: + nullable: true + type: string + description: Subject of the invoice + amounts: + type: object + readOnly: true + description: Amounts of invoice, with and without taxes + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging costs. + Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + currency: + type: string + description: Currency code of the invoice + example: EUR + taxes: + description: List of taxes used on the invoice + type: array + readOnly: true + items: + type: object + description: Tax used + properties: + label: + type: string + id: + type: integer + rate: + type: string + amount: + type: string + required: + - label + - id + - rate + - amount + order_reference: + type: string + description: Reference of the order + readOnly: true + discount: + readOnly: true + description: Global discount applied on the invoice + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + related: + description: | + Objects linked to the invoice : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only `client` type + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + - If you provide one or more contacts, they must belong to the company or individual + type: array + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - contact + - opportunity + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + - type: object + description: Invoice's owner + readOnly: true + rows: + type: array + items: + $ref: '#/components/schemas/EstimateCompute/properties/rows/items' + InvoiceFilters: + title: Invoices filters + type: object + description: Invoices filters + properties: + filters: + type: object + description: Invoices filters + properties: + created: + title: Created at + type: object + description: Filter the invoice list by creation date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + owners: + title: Owners + type: array + description: Filter the invoice list by owner (staff id) + items: + type: integer + date: + title: Document date + type: object + description: Filter the invoice list by date + properties: + start: + type: string + format: date + example: '2020-01-01' + end: + type: string + format: date + example: '2020-02-01' + related_objects: + title: Related Objects + type: array + items: + type: object + properties: + type: + type: string + enum: + - company + - individual + - opportunity + example: company + id: + type: integer + example: 22 + contacts: + title: Contact + type: array + description: Filter the invoice list by contact (contact id) + items: + type: integer + assigned_staff_ids: + title: Assigned staffs + type: array + description: Filter the invoice list by assigned staffs (staff id) + items: + type: integer + status: + title: Status + description: Filter the invoice list by status + example: + - draft + - due + - payinprogress + type: array + items: + type: string + enum: + - draft + - due + - payinprogress + - paid + - late + - cancelled + number: + title: number + type: string + description: Filter the invoice list by number (exact search) + example: FAC-0001 + currency: + title: currency + type: string + description: Currency code (exact search) + example: EUR + is_deposit: + title: Is deposit + description: Filter the invoices if is deposit or not + type: boolean + example: true + credit_note_id: + title: Credit note + type: integer + description: Filter the invoice list by linked credit note + example: 424242 + favourite_filter: + $ref: >- + #/components/schemas/ContactFilters/properties/filters/properties/favourite_filter + required: + - filters + InvoiceCreate: + allOf: + - title: Invoice + type: object + properties: + number: + type: string + description: >- + Invoice number (shouldn't be provided if draft numbering is + enabled) + example: INV-2022-01-02-002 + date: + type: string + format: date + description: Date of the invoice + example: '2022-01-02' + due_date: + type: string + format: date + description: Due date of the invoice + example: '2022-02-02' + created: + description: Created date of invoice + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + subject: + type: string + description: Subject of the invoice + currency: + type: string + description: Currency code of the invoice + example: EUR + discount: + type: object + description: Global discount applied on the invoice + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + type: string + description: value of discount + example: '25.20' + related: + description: | + Objects linked to the invoice : + - There can be only one company or one individual at a time (required) + - For Company & Individual, only `client` type is allowed + - Contact is the contact of company linked to the invoice. There may be no or one contact. + - Opportunity is the opportunity linked to the invoice. There may be zero or more opportunities linked to invoice + type: array + minItems: 1 + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - opportunity + - contact + public_link: + deprecated: true + description: > + Deprecated field: use "public_link_enabled"
Public link of + the invoice + type: object + properties: + enabled: + deprecated: true + type: boolean + description: Public link is enabled + public_link_enabled: + type: boolean + description: Public link of the invoice + example: true + owner_id: + type: integer + description: Invoice's owner (staff id) + minimum: 1 + order_reference: + type: string + description: Reference of the order + maxLength: 100 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: >- + End date for service

End date must be greater + than start date + example: '2023-01-31' + invoicing_address_id: + type: integer + description: >- + Invoicing address, by default take invoicing address of + company/individual. + minimum: 1 + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + minimum: 1 + note: + type: string + description: Notes of the invoice + example: This invoice is very important
+ shipping_date: + type: string + format: date + description: Date of the shipping + nullable: true + - type: object + properties: + parent: + nullable: true + oneOf: + - type: object + title: Estimate + properties: + type: + type: string + description: > + Estimate must be in the statuses: draft, sent, read, + accepted, refused, expired, partialinvoiced, cancelled + enum: + - estimate + id: + type: integer + description: Parent object id + - type: object + title: Order + properties: + type: + type: string + description: > + Order must be in the statuses: draft, sent, read, + accepted, refused, expired, partialinvoiced, cancelled + enum: + - order + id: + type: integer + description: Parent object id + - $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/parent/oneOf/0 + rate_category_id: + type: integer + description: >- + Rate Category to apply on document (By default, the + rate_category_id will be that of company) + example: 777 + rows: + type: array + nullable: true + items: + $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/rows/items + required: + - related + InvoiceUpdate: + allOf: + - $ref: '#/components/schemas/InvoiceCreate/allOf/0' + - type: object + properties: + rows: + type: array + nullable: true + items: + $ref: >- + #/components/schemas/EstimateUpdate/allOf/1/properties/rows/items + ValidateInvoice: + type: object + properties: + date: + type: string + format: date + example: '2022-01-01' + description: > + Date of document.
> Depending on your conformity settings, the + date may not be greater than the current date. + CreditNote: + title: Credit Note + type: object + properties: + id: + type: integer + readOnly: true + description: Credit Note ID + example: 3875 + number: + type: string + description: Credit Note number + example: CRED-2022-01-02-002 + status: + type: string + description: Status of the credit note + example: spent + enum: + - draft + - stored + - partialspend + - spent + - cancelled + date: + type: string + format: date + description: Date of the credit note + example: '2022-01-02' + created: + description: Created date of credit note + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + amounts: + type: object + description: Amounts of credit note, with and without taxes + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging costs. + Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + total_remaining_due_incl_tax: + type: string + description: Remaining amount to be paid + example: '50.00' + total_primes_incl_tax: + type: string + description: Total of primes added on document + example: '10.00' + currency: + type: string + description: Currency code of the credit note + example: EUR + taxes: + description: List of taxes used on the credit note + type: array + items: + type: object + description: Tax used + properties: + label: + type: string + description: Tax label + example: TTC + id: + type: integer + description: Tax id + example: 954 + rate: + type: string + description: Tax rate + example: '19.6' + amount: + type: string + description: Tax amount + example: '12.54' + discount: + description: Global discount applied on the credit note + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + related: + description: | + Objects linked to the credit note : + - There can be only one company or one individual at a time + - Contact is the contact of company linked to the credit note. There may be no or one contact. + type: array + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - contact + - opportunity + public_link: + description: Public link of the credit note + type: object + properties: + enabled: + type: boolean + description: Public link is enabled + url: + type: string + description: Url to public link + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + fiscal_year_id: + type: integer + nullable: true + description: ID of the credit note's fiscal year + pdf_link: + type: string + format: uri + readOnly: true + description: >- + Link to the pdf of document. /!\ Link is regenerate after an update + of document + nullable: true + subject: + type: string + description: Subject of the credit note + example: Credit note on the invoice INV-2022-01-02-002 + is_deposit: + type: boolean + description: Credit note is deposit + example: true + decimal_number: + readOnly: true + type: object + description: Precision for decimal numbers + properties: + unit_price: + type: integer + nullable: true + description: Precision of unit price + quantity: + type: integer + nullable: true + description: Precision of quantity + main: + type: integer + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + assigned_staff_id: + type: integer + nullable: false + description: The staff linked + example: 2 + contact_id: + description: Contact of company linked to the credit note + type: integer + nullable: true + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: End date for service + example: '2023-01-31' + note: + type: string + description: Notes of the credit note + example: This credit note is very important
+ is_sent_to_accounting: + type: boolean + description: If the credit note is sent to accounting + example: true + _embed: + title: Credit Note Embed + allOf: + - $ref: '#/components/schemas/Invoice/properties/_embed/allOf/0/allOf/0' + - $ref: '#/components/schemas/SaleEmbed/properties/_embed/allOf/2' + - type: object + properties: + fiscal_year: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/fiscal_year + currency: + $ref: >- + #/components/schemas/Invoice/properties/_embed/allOf/0/allOf/2/properties/currency + owner: + $ref: '#/components/schemas/CrmActivity/properties/author' + acl: + title: Credit Note ACL + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Credit note can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Credit note can be deleted + example: true + can_be_validated: + type: boolean + nullable: true + description: Credit note can be validated + example: true + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + CreditNoteOne: + allOf: + - title: Credit Note + type: object + properties: + id: + type: integer + readOnly: true + description: Credit Note ID + example: 3875 + number: + type: string + description: Credit Note number + example: CRED-2022-01-02-002 + status: + type: string + description: Status of the credit note + example: spent + enum: + - draft + - stored + - partialspend + - spent + - cancelled + date: + type: string + format: date + description: Date of the credit note + example: '2022-01-02' + created: + description: Created date of credit note + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + amounts: + type: object + description: Amounts of credit note, with and without taxes + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging + costs. Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + total_remaining_due_incl_tax: + type: string + description: Remaining amount to be paid + example: '50.00' + total_primes_incl_tax: + type: string + description: Total of primes added on document + example: '10.00' + currency: + type: string + description: Currency code of the credit note + example: EUR + taxes: + description: List of taxes used on the credit note + type: array + items: + type: object + description: Tax used + properties: + label: + type: string + description: Tax label + example: TTC + id: + type: integer + description: Tax id + example: 954 + rate: + type: string + description: Tax rate + example: '19.6' + amount: + type: string + description: Tax amount + example: '12.54' + discount: + description: Global discount applied on the credit note + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + related: + description: | + Objects linked to the credit note : + - There can be only one company or one individual at a time + - Contact is the contact of company linked to the credit note. There may be no or one contact. + type: array + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - contact + - opportunity + public_link: + description: Public link of the credit note + type: object + properties: + enabled: + type: boolean + description: Public link is enabled + url: + type: string + description: Url to public link + owner: + description: Credit note's owner + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + fiscal_year_id: + type: integer + nullable: true + description: ID of the credit note's fiscal year + pdf_link: + type: string + format: uri + readOnly: true + description: >- + Link to the pdf of document. /!\ Link is regenerate after an + update of document + nullable: true + subject: + type: string + description: Subject of the credit note + example: Credit note on the invoice INV-2022-01-02-002 + is_deposit: + type: boolean + description: Credit note is deposit + example: true + decimal_number: + readOnly: true + type: object + description: Precision for decimal numbers + properties: + unit_price: + type: integer + nullable: true + description: Precision of unit price + quantity: + type: integer + nullable: true + description: Precision of quantity + main: + type: integer + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + assigned_staff_id: + type: integer + nullable: false + description: The staff linked + example: 2 + contact_id: + description: Contact of company linked to the credit note + type: integer + nullable: true + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: End date for service + example: '2023-01-31' + note: + type: string + description: Notes of the credit note + example: This credit note is very important
+ is_sent_to_accounting: + type: boolean + description: If the credit note is sent to accounting + example: true + _embed: + $ref: '#/components/schemas/CreditNote/properties/_embed' + - type: object + properties: + rows: + type: array + items: + $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/rows/items + _embed: + allOf: + - $ref: '#/components/schemas/CreditNote/properties/_embed' + - $ref: >- + #/components/schemas/EstimateOneEmbed/properties/_embed/allOf/1 + CreditNoteCreate: + allOf: + - title: Credit Note + type: object + properties: + number: + type: string + description: >- + Credit note number (shouldn't be provided if draft numbering is + enabled) + example: CRE-2022-01-02-002 + date: + type: string + format: date + description: Date of the credit note + example: '2022-01-02' + due_date: + type: string + format: date + description: Due date of the credit note + example: '2022-02-02' + created: + description: Created date of credit note + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + subject: + type: string + description: Subject of the credit note + currency: + type: string + description: Currency code of the credit note + example: EUR + discount: + type: object + description: Global discount applied on the credit note + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + type: string + description: value of discount + example: '25.20' + related: + description: | + Objects linked to the credit note : + - There can be only one company or one individual at a time (required) + - For Company & Individual, only `client`, `prospect` type are allowed + - Contact is the contact of company linked to the credit note. There may be no or one contact. + - Opportunity is the opportunity linked to the credit note. There may be zero or more opportunities linked to credit note + type: array + minItems: 1 + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - opportunity + - contact + public_link_enabled: + type: boolean + description: Public link of the credit note + example: true + owner_id: + type: integer + description: Credit note's owner (staff id) + minimum: 1 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: >- + End date for service

End date must be greater + than start date + example: '2023-01-31' + note: + type: string + description: Notes of the credit note + example: This credit note is very important
+ - type: object + properties: + rows: + type: array + nullable: true + items: + $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/rows/items + parent: + nullable: true + oneOf: + - $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/parent/oneOf/0 + rate_category_id: + type: integer + description: >- + Rate Category to apply on document (By default, the + rate_category_id will be that of company) + example: 777 + required: + - related + CreditNoteUpdate: + allOf: + - $ref: '#/components/schemas/CreditNoteCreate/allOf/0' + - type: object + properties: + rows: + type: array + nullable: true + items: + $ref: >- + #/components/schemas/EstimateUpdate/allOf/1/properties/rows/items + CreditNoteValidate: + type: object + properties: + date: + type: string + format: date + example: '2022-01-01' + description: > + Date of document.
> Depending on your conformity settings, the + date may not be greater than the current date. + CreditNoteCompute: + title: Credit Note + type: object + properties: + status: + type: string + description: Status of the credit note + example: spent + enum: + - draft + - stored + - partialspend + - spent + - cancelled + date: + type: string + format: date + description: Date of the credit note + example: '2022-01-02' + subject: + type: string + description: Subject of the credit note + example: Credit note on the invoice INV-2022-01-02-002 + nullable: true + amounts: + type: object + description: Amounts of credit note, with and without taxes + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging costs. + Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + currency: + type: string + description: Currency code of the credit note + example: EUR + taxes: + description: List of taxes used on the credit note + type: array + items: + type: object + description: Tax used + properties: + label: + type: string + description: Tax label + example: TTC + id: + type: integer + description: Tax id + example: 954 + rate: + type: string + description: Tax rate + example: '19.6' + amount: + type: string + description: Tax amount + example: '12.54' + discount: + description: Global discount applied on the credit note + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + related: + description: | + Objects linked to the credit note : + - There can be only one company or one individual at a time + - Contact is the contact of company linked to the credit note. There may be no or one contact. + type: array + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - contact + - opportunity + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + rows: + type: array + items: + $ref: '#/components/schemas/EstimateCompute/properties/rows/items' + CreditNoteFilters: + title: Credit notes filters + type: object + description: Filters on credit notes + properties: + filters: + type: object + description: Filters on credit notes + properties: + status: + title: Status + description: Filter credit notes list by status + example: + - draft + - stored + - partialspend + type: array + items: + type: string + enum: + - draft + - stored + - partialspend + - spent + - cancelled + related_objects: + title: Related Objects + type: array + items: + type: object + properties: + type: + type: string + enum: + - company + - individual + - opportunity + example: company + id: + type: integer + example: 22 + is_deposit: + title: Is deposit + description: Filter the credit note if is deposit or not + type: boolean + example: true + favourite_filter: + $ref: >- + #/components/schemas/ContactFilters/properties/filters/properties/favourite_filter + required: + - filters + OrderCreate: + allOf: + - title: Order + type: object + properties: + number: + type: string + description: Order number + example: ORD-00192 + date: + type: string + format: date + description: Date of the order + example: '2022-01-01' + due_date: + type: string + format: date + description: Due date for signing the order + example: '2022-03-01' + created: + description: Creation date of order + type: string + format: date-time + example: '2022-01-01T00:00:00+00:00' + subject: + type: string + description: Subject of the order + example: Order subject + currency: + type: string + description: Currency code of the order + example: USD + discount: + description: Global discount applied on the order + type: object + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + type: string + description: Value of discount + example: '25.20' + related: + description: | + Objects linked to the order : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only `client` type + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + - If you provide one or more contacts, they must belong to the company or individual + type: array + minItems: 1 + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 90 + type: + type: string + description: Type of related + enum: + - company + - individual + - contact + - opportunity + example: company + public_link_enabled: + type: boolean + description: Public link of the order + example: true + owner_id: + type: integer + description: Order's owner (staff id) + example: 50 + minimum: 1 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: >- + End date for service

End date must be greater + than start date + example: '2023-01-31' + invoicing_address_id: + type: integer + description: >- + Invoicing address, by default take invoicing address of + company/individual. + minimum: 1 + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + minimum: 1 + note: + type: string + description: Notes of the order + example: This order is very important
+ shipping_date: + type: string + format: date + nullable: true + description: Date of the shipping + - type: object + properties: + rows: + type: array + nullable: true + items: + $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/rows/items + parent: + nullable: true + oneOf: + - $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/parent/oneOf/0 + rate_category_id: + type: integer + description: >- + Rate Category to apply on document (By default, the + rate_category_id will be that of company) + example: 777 + required: + - related + OrderUpdate: + allOf: + - $ref: '#/components/schemas/OrderCreate/allOf/0' + - type: object + properties: + rows: + type: array + nullable: true + items: + $ref: >- + #/components/schemas/EstimateUpdate/allOf/1/properties/rows/items + Order: + title: Order + type: object + properties: + id: + type: integer + readOnly: true + description: Order ID + example: 3875 + number: + type: string + description: Order number + example: ORD-2022-01-02-002 + status: + type: string + readOnly: true + description: Status of the order + example: paid + enum: + - draft + - sent + - read + - accepted + - expired + - advanced + - invoiced + - partialinvoiced + - cancelled + order_status: + type: string + readOnly: true + description: Status of the order state + example: wait + enum: + - none + - wait + - picking + - sent + - partialsent + date: + type: string + format: date + description: Date of the order + example: '2022-01-02' + due_date: + type: string + format: date + description: Due date for signing the order + example: '2022-02-02' + created: + description: Created date of order + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + subject: + type: string + description: Subject of the order + amounts: + type: object + readOnly: true + description: Amounts of order, with and without taxes + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging costs. + Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + currency: + type: string + description: Currency code of the order + example: EUR + taxes: + description: List of taxes used on the order + type: array + readOnly: true + items: + type: object + description: Tax used + properties: + label: + type: string + example: Tax label + id: + type: integer + example: 7 + rate: + type: string + example: '20.000000000' + amount: + type: string + example: '150.99' + required: + - label + - id + - rate + - amount + discount: + description: Global discount applied on the order + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + related: + description: | + Objects linked to the order : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only `client` type + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + - If you provide one or more contacts, they must belong to the company or individual + type: array + minItems: 1 + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - contact + - opportunity + public_link: + description: Public link of the order + type: object + properties: + enabled: + type: boolean + description: Public link is enabled + url: + readOnly: true + type: string + description: Url to public link + payment_conditions_acceptance: + type: object + readOnly: true + description: Acceptance of terms and conditions + properties: + enabled: + type: boolean + description: Acceptance is required to pay or sign the document + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + - type: object + description: Order's owner + readOnly: true + fiscal_year_id: + type: integer + nullable: true + description: ID of the order's fiscal year + readOnly: true + pdf_link: + type: string + format: uri + readOnly: true + description: >- + Link to the pdf of document. /!\ Link is regenerate after an update + of document + nullable: true + decimal_number: + readOnly: true + type: object + description: Precision for decimal numbers + properties: + unit_price: + type: integer + nullable: true + description: Precision of unit price + quantity: + type: integer + nullable: true + description: Precision of quantity + main: + type: integer + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + assigned_staff_id: + type: integer + nullable: false + readOnly: true + description: The staff linked + example: 2 + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + readOnly: true + example: 777 + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + readOnly: true + example: 777 + contact_id: + description: Contact of company linked to the order + type: integer + nullable: true + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: End date for service + example: '2023-01-31' + note: + type: string + description: Notes of the order + example: This order is very important
+ _embed: + allOf: + - title: Order Embed + allOf: + - $ref: >- + #/components/schemas/Invoice/properties/_embed/allOf/0/allOf/0 + - $ref: '#/components/schemas/SaleEmbed/properties/_embed/allOf/2' + - type: object + properties: + acl: + title: Order ACL + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Order can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Order can be deleted + example: true + owner: + $ref: '#/components/schemas/CrmActivity/properties/author' + fiscal_year: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/fiscal_year + currency: + $ref: >- + #/components/schemas/Invoice/properties/_embed/allOf/0/allOf/2/properties/currency + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + - type: object + readOnly: true + shipping_date: + type: string + format: date + description: Date of the shipping + nullable: true + example: '2024-01-31' + OrderOne: + allOf: + - title: Order + type: object + properties: + id: + type: integer + readOnly: true + description: Order ID + example: 3875 + number: + type: string + description: Order number + example: ORD-2022-01-02-002 + status: + type: string + readOnly: true + description: Status of the order + example: paid + enum: + - draft + - sent + - read + - accepted + - expired + - advanced + - invoiced + - partialinvoiced + - cancelled + order_status: + type: string + readOnly: true + description: Status of the order state + example: wait + enum: + - none + - wait + - picking + - sent + - partialsent + date: + type: string + format: date + description: Date of the order + example: '2022-01-02' + due_date: + type: string + format: date + description: Due date for signing the order + example: '2022-02-02' + created: + description: Created date of order + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + subject: + type: string + description: Subject of the order + amounts: + type: object + readOnly: true + description: Amounts of order, with and without taxes + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging + costs. Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + currency: + type: string + description: Currency code of the order + example: EUR + taxes: + description: List of taxes used on the order + type: array + readOnly: true + items: + type: object + description: Tax used + properties: + label: + type: string + example: Tax label + id: + type: integer + example: 7 + rate: + type: string + example: '20.000000000' + amount: + type: string + example: '150.99' + required: + - label + - id + - rate + - amount + discount: + description: Global discount applied on the order + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + related: + description: | + Objects linked to the order : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only `client` type + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + - If you provide one or more contacts, they must belong to the company or individual + type: array + minItems: 1 + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - contact + - opportunity + public_link: + description: Public link of the order + type: object + properties: + enabled: + type: boolean + description: Public link is enabled + url: + readOnly: true + type: string + description: Url to public link + payment_conditions_acceptance: + type: object + readOnly: true + description: Acceptance of terms and conditions + properties: + enabled: + type: boolean + description: Acceptance is required to pay or sign the document + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + - type: object + description: Order's owner + readOnly: true + fiscal_year_id: + type: integer + nullable: true + description: ID of the order's fiscal year + readOnly: true + pdf_link: + type: string + format: uri + readOnly: true + description: >- + Link to the pdf of document. /!\ Link is regenerate after an + update of document + nullable: true + decimal_number: + readOnly: true + type: object + description: Precision for decimal numbers + properties: + unit_price: + type: integer + nullable: true + description: Precision of unit price + quantity: + type: integer + nullable: true + description: Precision of quantity + main: + type: integer + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + assigned_staff_id: + type: integer + nullable: false + readOnly: true + description: The staff linked + example: 2 + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + readOnly: true + example: 777 + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + readOnly: true + example: 777 + contact_id: + description: Contact of company linked to the order + type: integer + nullable: true + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: End date for service + example: '2023-01-31' + note: + type: string + description: Notes of the order + example: This order is very important
+ _embed: + allOf: + - $ref: '#/components/schemas/Order/properties/_embed/allOf/0' + - type: object + readOnly: true + shipping_date: + type: string + format: date + description: Date of the shipping + nullable: true + example: '2024-01-31' + - type: object + properties: + rows: + type: array + items: + $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/rows/items + _embed: + title: Order Embed + allOf: + - $ref: >- + #/components/schemas/Invoice/properties/_embed/allOf/0/allOf/0 + - $ref: '#/components/schemas/SaleEmbed/properties/_embed/allOf/2' + - type: object + properties: + payment_terms: + title: Document Payment Terms + description: Terms of payment of document + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/0/properties/payment_terms/allOf/0 + - type: object + properties: + computed_instalment_plan: + type: array + description: >- + List of deadlines computed with the payment + terms settings + items: + type: object + properties: + date: + type: string + description: due date + format: date + amount: + type: string + description: Total amount + - $ref: >- + #/components/schemas/EstimateOneEmbed/properties/_embed/allOf/1 + - type: object + properties: + acl: + title: Order ACL + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Order can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Order can be deleted + example: true + owner: + $ref: '#/components/schemas/CrmActivity/properties/author' + fiscal_year: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/fiscal_year + currency: + $ref: >- + #/components/schemas/Invoice/properties/_embed/allOf/0/allOf/2/properties/currency + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + OrderFilters: + title: Order filters + type: object + description: Order filters + properties: + filters: + type: object + description: Order filters + properties: + status: + title: Status + description: Filter the order list by status + example: + - draft + - sent + - read + type: array + items: + type: string + enum: + - draft + - sent + - read + - accepted + - expired + - advanced + - invoiced + - partialinvoiced + - cancelled + related_objects: + title: Related Objects + type: array + items: + type: object + properties: + type: + type: string + enum: + - company + - individual + - opportunity + example: company + id: + type: integer + example: 22 + order_status: + title: Status of the order state + description: Filter the order by order state + example: + - none + - wait + - picking + type: array + items: + type: string + enum: + - none + - wait + - picking + - sent + - partialsent + favourite_filter: + $ref: >- + #/components/schemas/ContactFilters/properties/filters/properties/favourite_filter + required: + - filters + OrderCompute: + title: Order + type: object + properties: + status: + type: string + readOnly: true + description: Status of the order + example: sent + enum: + - draft + - sent + - read + - accepted + - expired + - advanced + - invoiced + - partialinvoiced + - cancelled + order_status: + type: string + readOnly: true + description: Status of the order state + example: wait + enum: + - none + - wait + - picking + - sent + - partialsent + date: + type: string + format: date + description: Date of the order + example: '2022-01-02' + subject: + type: string + description: Subject of the order + amounts: + type: object + readOnly: true + description: Amounts of order, with and without taxes + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging costs. + Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + currency: + type: string + description: Currency code of the order + example: EUR + taxes: + description: List of taxes used on the order + type: array + readOnly: true + items: + type: object + description: Tax used + properties: + label: + type: string + example: Tax label + id: + type: integer + example: 7 + rate: + type: string + example: '20.000000000' + amount: + type: string + example: '150.99' + required: + - label + - id + - rate + - amount + discount: + description: Global discount applied on the order + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + related: + description: | + Objects linked to the order : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only `client` type + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + - If you provide one or more contacts, they must belong to the company or individual + type: array + minItems: 1 + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - contact + - opportunity + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + - type: object + description: Order's owner + readOnly: true + rows: + type: array + items: + $ref: '#/components/schemas/EstimateCompute/properties/rows/items' + EmailSettings: + title: Email Settings + type: object + properties: + signature: + title: Email Signature + description: The email signature object + type: object + properties: + mode: + description: Email signature mode + type: string + enum: + - auto + - manual + html_content: + nullable: true + description: HTML manual signature content + type: string + minLength: 0 + maxLength: 65535 + computed: + nullable: false + description: >- + Parsed HTML manual signature content. "contact" tags will not be + replaced + type: string + minLength: 0 + maxLength: 65535 + required: + - mode + - html_content + connection: + title: Email Connection + description: The email connection object + type: object + properties: + email: + description: Email connection + type: string + type: + description: Email type + type: string + enum: + - transfer + - synchronization + status: + description: Email status + type: string + emails_sent_from_corp: + description: Return true if emails are send by corporation + type: boolean + onboarding_setup: + description: Return true if email onboarding finished + type: boolean + required: + - email + - type + - status + - emails_sent_from_corp + - onboarding_setup + EmailSettingsInput: + title: Email Settings + type: object + properties: + signature: + oneOf: + - type: object + title: Signature in auto mode + properties: + mode: + description: Email signature mode + type: string + enum: + - auto + required: + - mode + - type: object + title: Signature in manual mode + properties: + mode: + description: Email signature mode + type: string + enum: + - manual + html_content: + nullable: true + description: HTML manual signature content (required when mode is manual) + type: string + minLength: 0 + maxLength: 65535 + required: + - mode + - html_content + required: + - signature + FiscalYear: + type: object + title: Fiscal year + properties: + id: + type: integer + description: Id of the fiscal year + name: + type: string + description: >- + Name of the fiscal year. Naming follow the current scheme: N for + the current fiscal year, N-1 for the last fiscal year, N-2, ... + start_at: + type: string + format: date + description: Start date of the fiscal year + end_at: + type: string + format: date + description: End date of the fiscal year + UploadFileInput: + title: File upload + description: Upload file schema + type: object + properties: + file: + type: string + format: binary + description: > +
  • max file size : 15Mb
  • allowed media types : +
    application/rtf,
    text/rtf,
    text/plain,
    image/jpeg,
    image/pjpeg,
    image/jpeg,
    image/pjpeg,
    image/png,
    application/pdf,
    application/acrobat,
    application/nappdf,
    application/x-pdf,
    image/pdf,
    application/xml,
    text/xml,
    application/xml,
    application/xslt+xml,
    text/csv,
    text/x-comma-separated-values,
    text/x-csv,
    application/csv,
    application/vnd.ms-excel,
    application/msexcel,
    application/x-msexcel,
    zz-application/zz-winassoc-xls,
    application/zip,
    application/x-zip,
    application/x-zip-compressed,
    application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,
    application/msword,
    application/vnd.ms-word,
    application/x-msword,
    zz-application/zz-winassoc-doc,
    application/vnd.openxmlformats-officedocument.wordprocessingml.document,
    application/vnd.ms-powerpoint,
    application/mspowerpoint,
    application/powerpoint,
    application/x-mspowerpoint,
    application/vnd.openxmlformats-officedocument.presentationml.presentation,
    application/json,
    image/vnd.dxf,
    image/vnd.dwg,
    image/svg+xml,
    image/svg,
    application/photoshop,
    application/x-photoshop,
    image/photoshop,
    image/psd,
    image/vnd.adobe.photoshop,
    image/x-photoshop,
    image/x-psd,
    application/illustrator,
    application/postscript,
    application/vnd.adobe.illustrator,
    application/postscript,
    image/x-eps,
    application/vnd.google-apps.document,
    video/avi,
    video/divx,
    video/msvideo,
    video/vnd.divx,
    video/x-avi,
    video/x-msvideo,
    audio/mpeg,
    audio/mp3,
    audio/x-mp3,
    audio/x-mpeg,
    audio/x-mpg,
    audio/mp4,
    audio/m4a,
    audio/x-m4a,
    video/mp4,
    video/mp4v-es,
    video/x-m4v,
    video/quicktime,
    application/x-rar-compressed,
    application/vnd.rar,
    application/x-rar,
    image/gif,
    application/vnd.google-apps.spreadsheet,
    application/vnd.google-apps.presentation,
    application/vnd.oasis.opendocument.spreadsheet,
    application/vnd.oasis.opendocument.text,
    application/vnd.oasis.opendocument.presentation,
    application/vnd.oasis.opendocument.graphics,
    application/vnd.oasis.opendocument.formula,
    audio/wav,
    audio/vnd.wave,
    audio/wave,
    audio/x-wav,
    audio/x-ms-wmv,
    video/x-ms-wmv,
    application/vnd.ms-excel.sheet.macroenabled.12,
    application/vnd.ms-pki.stl,
    model/stl,
    model/x.stl-ascii,
    model/x.stl-binary,
    application/x-compressed-tar,
    application/vnd.google-earth.kmz,
    application/vnd.google-earth.kml+xml,
    application/vnd.openxmlformats-officedocument.presentationml.slideshow,
    image/tiff,
    image/tiff,
    audio/amr,
    audio/amr-encrypted,
    text/x-vcard,
    text/directory,
    text/vcard,
    application/cdr,
    application/coreldraw,
    application/vnd.corel-draw,
    application/x-cdr,
    application/x-coreldraw,
    image/cdr,
    image/x-cdr,
    zz-application/zz-winassoc-cdr,
    message/rfc822,
    application/vnd.ms-outlook,
    application/vnd.koan,
    application/ics,
    text/calendar,
    text/x-vcalendar,
    application/ms-tnef,
    application/vnd.ms-tnef,
    image/webp
+ required: + - file + ListFilesOutput: + oneOf: + - title: Directory schema + type: object + description: Directory schema + properties: + id: + type: integer + description: Directory ID + readOnly: true + example: 1 + type: + type: string + description: Directory type + enum: + - directory + name: + type: string + description: Directory name + example: business-cards + minLength: 1 + maxLength: 30 + description: + type: string + nullable: true + description: Directory description + maxLength: 160 + created: + type: string + description: Creation date of directory + format: date-time + example: '1970-01-01T00:00:00+00:00' + breadcrumbs: + description: >- + Current directory location. The first element is the direct + parent of the directory + type: array + minItems: 1 + items: + $ref: '#/components/schemas/FileOuput/properties/breadcrumbs/items' + - title: File schema + type: object + description: File schema + properties: + id: + type: integer + description: File ID + readOnly: true + example: 1 + type: + type: string + description: File type + enum: + - file + name: + type: string + description: File name + example: business-card + created: + type: string + description: Creation date of file + format: date-time + example: '1970-01-01T00:00:00+00:00' + size: + type: integer + description: File size in octet + readOnly: true + example: 512 + extension: + type: string + description: File extension + example: jpg + enum: + - rtf + - txt + - jpg + - jpeg + - png + - pdf + - xml + - xsl + - csv + - xls + - zip + - xlsx + - doc + - docx + - ppt + - pptx + - json + - dxf + - dwg + - svg + - psd + - ai + - eps + - indd + - gdoc + - avi + - mp3 + - m4a + - mp4 + - rar + - gif + - gplf + - gform + - gsheet + - gslides + - gdraw + - ods + - odt + - odp + - odg + - odf + - sat + - wav + - wave + - wmv + - xlsm + - stl + - ped + - tgz + - kmz + - kml + - ppsx + - tiff + - tif + - amr + - vcf + - cdr + - ar3 + - eml + - mmap + - msg + - skp + - ics + - tnef + - webp + public_link: + type: string + format: uri + readOnly: true + description: URL to file + related: + description: Objects linked to the file + type: array + minItems: 0 + maxItems: 1 + items: + type: object + properties: + type: + type: string + description: Object type + enum: + - company + - individual + - contact + - opportunity + - estimate + - invoice + - credit-note + - order + id: + type: integer + description: Object ID + breadcrumbs: + description: >- + Current file location. The first element is the direct parent of + the file + type: array + minItems: 1 + items: + $ref: '#/components/schemas/FileOuput/properties/breadcrumbs/items' + AdyenSettings: + title: Adyen settings + type: object + additionalProperties: true + description: '' + x-examples: {} + properties: + api_key: + type: string + description: API key of the Adyen account to use + example: abcdefghijklmnopqrstuv0123456789 + nullable: true + merchant_account: + type: string + description: Merchant account + example: Sellsy + nullable: false + test_env: + type: boolean + description: If api key is to use on test environment + example: true + nullable: false + notification_hmac_key: + type: string + description: Notification key hmac + example: 04D37574774B86C7B1B6E629941311A4ADD693E117BB17849C93132293DE7F4C + theme_id: + type: string + description: Theme id for Adyen + example: 6652399b-be09-406c-88df-e2106f282996 + nullable: true + payment_method_id: + type: integer + description: Default payment method to use adyen on + example: 7 + nullable: true + live_url_prefix: + type: string + description: >- + The unique merchant-specific hostname to communicate with Adyen's + APIs + example: 1797a841fbb37ca7-AdyenDemo + nullable: true + required: + - api_key + - merchant_account + - test_env + FileOuput: + title: File schema + type: object + description: File schema + properties: + id: + type: integer + description: File ID + readOnly: true + example: 1 + type: + type: string + description: File type + enum: + - file + name: + type: string + description: File name + example: business-card + created: + type: string + description: Creation date of file + format: date-time + example: '1970-01-01T00:00:00+00:00' + size: + type: integer + description: File size in octet + readOnly: true + example: 512 + extension: + type: string + description: File extension + example: jpg + enum: + - rtf + - txt + - jpg + - jpeg + - png + - pdf + - xml + - xsl + - csv + - xls + - zip + - xlsx + - doc + - docx + - ppt + - pptx + - json + - dxf + - dwg + - svg + - psd + - ai + - eps + - indd + - gdoc + - avi + - mp3 + - m4a + - mp4 + - rar + - gif + - gplf + - gform + - gsheet + - gslides + - gdraw + - ods + - odt + - odp + - odg + - odf + - sat + - wav + - wave + - wmv + - xlsm + - stl + - ped + - tgz + - kmz + - kml + - ppsx + - tiff + - tif + - amr + - vcf + - cdr + - ar3 + - eml + - mmap + - msg + - skp + - ics + - tnef + - webp + public_link: + type: string + format: uri + readOnly: true + description: URL to file + related: + description: Objects linked to the file + type: array + minItems: 0 + maxItems: 1 + items: + type: object + properties: + type: + type: string + description: Object type + enum: + - company + - individual + - contact + - opportunity + - estimate + - invoice + - credit-note + - order + id: + type: integer + description: Object ID + breadcrumbs: + description: >- + Current file location. The first element is the direct parent of the + file + type: array + minItems: 1 + items: + type: object + properties: + type: + type: string + description: Parent type + enum: + - directory + id: + type: integer + description: Parent ID + name: + type: string + description: Parent name + example: thirds + MoveFileInput: + title: Move file schema + description: Move file schema + type: object + properties: + type: + type: string + description: New target type + example: opportunity + enum: + - company + - individual + - contact + - opportunity + - estimate + - invoice + - credit-note + - order + - directory + id: + type: integer + description: New target id + example: 1 + required: + - type + - id + CreateDirectory: + title: Directory create schema + description: Directory create schema + allOf: + - title: Directory schema + type: object + description: Directory schema + properties: + name: + type: string + description: Name of the directory + minLength: 1 + maxLength: 30 + description: + type: string + nullable: true + description: An optional description for the directory + maxLength: 160 + - type: object + properties: + parent: + type: object + description: Parent object which will receive the new directory + required: + - type + - id + properties: + type: + type: string + example: company + enum: + - company + - individual + - contact + - opportunity + - estimate + - invoice + - credit-note + - order + - directory + id: + description: Parent object id + type: integer + required: + - parent + - name + UpdateDirectory: + title: Directory schema + type: object + description: Directory schema + properties: + name: + type: string + description: Name of the directory + minLength: 1 + maxLength: 30 + description: + type: string + nullable: true + description: An optional description for the directory + maxLength: 160 + LinkCompanyContact: + type: object + properties: + roles: + type: array + description: >- + Roles given to contact.

Note that custom roles will be + ignored if company has no contact yet, the first contact will get + all roles by default. + items: + type: string + enum: + - main + - invoicing + - dunning + nullable: true + example: + - main + - dunning + uniqueItems: true + UpdateLinkCompanyContact: + type: object + properties: + roles: + type: array + description: Roles given to contact. + items: + type: string + enum: + - main + - invoicing + - dunning + nullable: false + example: + - main + - dunning + uniqueItems: true + ImportToken: + title: Token + type: object + description: '' + x-examples: {} + properties: + token: + type: string + description: Import token + example: >- + eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.dyt0CoTl4WoVjAHI9Q_CwSKhl6d_9rhM3NrXuJttkao + ImportPrepareInput: + title: Import batch preparation + type: object + description: '' + x-examples: {} + properties: + batch_id: + type: string + format: uuid + description: Batch id + example: 123e4567-e89b-12d3-a456-426614174000 + metadata: + title: Import metadata + type: object + description: Import options + x-examples: {} + properties: + insert_new_records: + type: boolean + description: If true, insert new records + example: true + update_existing_records: + type: boolean + description: If true, update existing records + example: true + update_empty_fields: + type: boolean + description: >- + If true, empty values will be persisted and overwrite actual + values + example: true + overwrite_tags: + type: boolean + description: If true, replace the smart tags instead of adding them + example: true + dismiss_required_custom_fields: + type: boolean + description: If true, import rows dismissing mandatory custom fields + example: true + insert_new_custom_fields_enum_values: + type: boolean + description: If true, new values are added to list type custom fields + example: true + use_default_values_for_empty_custom_fields: + type: boolean + description: If true, use existing default values for empty custom fields + example: true + columns: + type: array + description: List of imported columns + example: + - id + - reference + - name + - description + - reference_price + minItems: 1 + items: + type: string + identifiers: + description: Import identifiers + oneOf: + - title: Product identifier + type: object + description: '' + x-examples: {} + properties: + product: + type: array + description: List of identifiers + minItems: 1 + maxItems: 1 + items: + type: string + enum: + - id + - reference + required: + - product + - title: Product variation identifiers + type: object + description: '' + x-examples: {} + properties: + product: + type: array + description: List of identifiers + minItems: 1 + maxItems: 1 + items: + type: string + enum: + - product_id + - product_reference + product_variation: + type: array + description: List of identifiers + minItems: 1 + maxItems: 1 + items: + type: string + enum: + - variation_id + - variation_reference + required: + - product + - product_variation + - title: Company identifiers + type: object + description: '' + x-examples: {} + properties: + company: + type: array + description: List of identifiers + minItems: 1 + items: + type: string + enum: + - company_id + - company_name + - company_reference + - company_email + - company_legal_france_siret + - company_legal_france_siren + address: + type: array + description: List of identifiers + minItems: 1 + items: + type: string + enum: + - address_id + - address_name + contact: + type: array + description: List of identifiers + minItems: 1 + items: + type: string + enum: + - contact_id + - contact_last_name + - contact_first_name + - contact_email + required: + - company + - address + - contact + - title: Service identifier + type: object + description: '' + x-examples: {} + properties: + service: + type: array + description: List of identifiers + minItems: 1 + maxItems: 1 + items: + type: string + enum: + - id + - reference + required: + - service + - service-price + - $ref: >- + #/components/schemas/ImportPrepareInput/properties/metadata/properties/identifiers/oneOf/1 + required: + - insert_new_records + - update_existing_records + - update_empty_fields + - overwrite_tags + - dismiss_required_custom_fields + - insert_new_custom_fields_enum_values + - use_default_values_for_empty_custom_fields + - columns + - identifiers + data: + description: Rows to prepare + minItems: 1 + oneOf: + - type: array + description: Rows to prepare + minItems: 1 + maxItems: 100 + items: + oneOf: + - title: Product + type: object + description: '' + x-examples: {} + properties: + row_id: + type: integer + description: Row id + example: 1 + id: + type: integer + description: Item id + example: 6657 + nullable: true + reference: + type: string + description: Item reference + example: ref0123 + name: + type: string + description: Item name + example: lorem ipsum + nullable: true + description: + type: string + description: Description of item + example: T-shirt 90% coton + nullable: true + unit: + type: string + description: Unit + example: m3 + nullable: true + standard_quantity: + type: string + description: Standard quantity + example: 3 + nullable: true + category: + type: string + description: Item category + example: null + nullable: true + smart_tags: + type: array + description: Smart tags list + nullable: true + example: + - foo + - bar + items: + type: string + description: The tag + owner: + type: string + description: Owner name of the product import + example: John Snow + nullable: true + reference_price: + type: string + description: Reference price + example: 19.99 + nullable: true + tax_rate: + type: string + description: Tax rate + example: 19.6 + nullable: true + purchase_price: + type: string + description: Purchase price + example: 15.5 + nullable: true + accounting_code: + type: string + description: Accounting code + example: null + nullable: true + accounting_purchase_code: + type: string + description: Accounting purchase code + example: null + nullable: true + is_archived: + type: boolean + description: Status archived or not + example: false + required: + - reference + - title: Product variation + type: object + description: '' + x-examples: {} + properties: + row_id: + type: integer + description: Row id + example: 1 + product_id: + type: integer + description: Product id + example: 6657 + nullable: true + product_reference: + type: string + description: Product reference + example: ref0123 + nullable: true + variation_id: + type: integer + description: Variation id + example: 6678 + nullable: true + variation_reference: + type: string + description: Variation reference + example: ref0123-5 + nullable: true + trade_name: + type: string + description: Trade name of the product variation + example: T-shirt Red S + nullable: true + description: + type: string + description: Description of product variation + example: T-shirt 90% coton + nullable: true + variation_code_1: + type: string + description: Code of the first variation criteria + example: color + nullable: false + variation_code_value_1: + type: string + description: Code of the value of the first variation criteria + example: red + nullable: false + variation_code_2: + type: string + description: Code of the second variation criteria + example: size + nullable: true + variation_code_value_2: + type: string + description: Code of the value of the second variation criteria + example: small + nullable: true + variation_code_3: + type: string + description: Code of the third variation criteria + example: material + nullable: true + variation_code_value_3: + type: string + description: Code of the value of the third variation criteria + example: cotton + nullable: true + sales_price_excl_tax: + type: string + description: Sales price excluding tax of the variation + example: 105.56 + nullable: true + purchase_price_excl_tax: + type: string + description: Purchase amount excluding tax of the variation + example: 68.22 + nullable: true + required: + - variation_code_1 + - variation_code_value_1 + - title: Company + type: object + description: '' + x-examples: {} + properties: + row_id: + type: integer + description: Row id + example: 1 + company_id: + type: integer + description: Company id + example: 6657 + nullable: true + company_type: + type: string + description: Company type + example: client + enum: + - prospect + - client + - supplier + company_name: + type: string + description: Company name + minLength: 1 + maxLength: 250 + example: Example company + company_reference: + type: string + description: Company reference + minLength: 1 + maxLength: 100 + nullable: true + example: CLI-1654 + company_legal_france_company_type: + description: Company type + type: string + minLength: 2 + maxLength: 100 + nullable: true + example: SAS + company_price_category: + description: Company price category + type: string + maxLength: 255 + nullable: true + example: Some category + company_email: + description: Company email + type: string + format: email + example: contact@example-company.com + nullable: true + company_phone_number: + type: string + description: Company phone number + example: '+33100000000' + nullable: true + company_mobile_number: + type: string + description: Company mobile number + example: '+33600000000' + nullable: true + company_fax_number: + type: string + description: Company Fax number + example: '+33100000000' + nullable: true + company_website: + type: string + format: url + description: Company website + example: http://example-company.com + nullable: true + company_legal_france_vat: + description: VAT number + type: string + minLength: 1 + maxLength: 100 + nullable: true + example: FR99999999999 + company_legal_france_ape_naf_code: + description: APE/NAF Code + type: string + minLength: 2 + maxLength: 50 + nullable: true + example: 4711C + company_capital: + description: Company Capital + type: string + maxLength: 20 + nullable: true + example: '4000' + company_legal_france_rcs_immatriculation: + description: RCS immatriculation code + type: string + minLength: 2 + maxLength: 200 + nullable: true + example: RCS xxxxx + company_legal_france_siret: + description: Company Siret + type: string + minLength: 2 + maxLength: 100 + nullable: true + example: '73282932000074' + company_legal_france_siren: + description: Company Siren + type: string + minLength: 2 + maxLength: 100 + nullable: true + example: '732829320' + company_note: + type: string + description: Note on company + example: An handed-written note describing this company + company_smart_tags: + type: array + description: Company's smart tags list + nullable: true + example: + - foo + - bar + items: + type: string + description: The tag + company_owner: + type: string + description: Owner name of the company import + example: John Snow + nullable: true + company_accounting_code: + type: string + description: Company accounting code + example: null + nullable: true + company_auxiliary_code: + type: string + description: Auxiliary code + maxLength: 50 + example: 0EX11C + nullable: true + company_marketing_campaigns_email: + type: boolean + description: Company subscribed to email campaigns + example: false + company_marketing_campaigns_sms: + type: boolean + description: Company subscribed to SMS campaigns + example: false + company_marketing_campaigns_phone: + type: boolean + description: Company subscribed to phone campaigns + example: false + company_marketing_campaigns_postal_mail: + type: boolean + description: Company subscribed to postal mail campaigns + example: false + company_marketing_campaigns_custom: + type: boolean + description: Company subscribed to custom campaigns + example: false + company_is_archived: + type: boolean + description: Company' status archived or not + example: false + address_id: + type: integer + description: Unique ID + example: 6657 + address_name: + type: string + description: Address name + example: Main office + minLength: 2 + address_address_line_1: + type: string + description: Address line one + example: 30 Commercial Road + nullable: true + address_address_line_2: + type: string + description: Address line two + example: Finance and Accounting + nullable: true + address_address_line_3: + type: string + description: Address line three + example: Lighthouse Promotions + nullable: true + address_address_line_4: + type: string + description: Address line four + example: PO Box 215 + nullable: true + address_postal_code: + type: string + nullable: true + description: Address postal code + example: '75012' + minLength: 2 + address_city: + type: string + description: Address city name + example: Paris + minLength: 2 + address_state: + type: string + description: Address state + example: null + address_country_code: + type: string + description: Address country code + example: FR + minLength: 2 + maxLength: 2 + contact_id: + type: integer + description: Unique ID + example: 6657 + contact_civility: + type: string + description: contact civility + example: mrs + nullable: true + enum: + - mr + - mrs + - ms + contact_type_main: + type: boolean + description: Defines whether the company has main contact type + example: false + nullable: true + contact_type_invoicing: + type: boolean + description: Defines whether the company has invoicing contact type + example: false + nullable: true + contact_type_dunning: + type: boolean + description: Defines whether the company has dunning contact type + example: false + nullable: true + contact_last_name: + type: string + description: Contact name + example: Doe + maxLength: 200 + nullable: true + contact_first_name: + type: string + description: Contact first name + example: John + nullable: true + maxLength: 200 + contact_email: + description: Contact email + type: string + format: email + example: john.doe@example-company.com + nullable: true + contact_phone_number: + type: string + description: Contact phone number + example: '+33100000000' + nullable: true + contact_mobile_number: + type: string + description: Contact mobile number + example: '+33600000000' + nullable: true + contact_fax_number: + type: string + description: Contact Fax number + example: '+33100000000' + nullable: true + contact_website: + type: string + format: url + description: Contact website + example: http://example-john-doe.com + nullable: true + contact_position: + type: string + nullable: true + description: Contact job + example: Financial + contact_smart_tags: + type: array + description: Contact's smart tags list + nullable: true + example: + - foo + - bar + items: + type: string + description: The tag + contact_note: + type: string + description: Note on contact + example: An handed-written note describing this contact + contact_marketing_campaigns_email: + type: boolean + description: Contact subscribed to email campaigns + example: false + contact_marketing_campaigns_sms: + type: boolean + description: Contact subscribed to SMS campaigns + example: false + contact_marketing_campaigns_phone: + type: boolean + description: Contact subscribed to phone campaigns + example: false + contact_marketing_campaigns_postal_mail: + type: boolean + description: Contact subscribed to postal mail campaigns + example: false + contact_marketing_campaigns_custom: + type: boolean + description: Contact subscribed to custom campaigns + example: false + contact_is_archived: + type: boolean + nullable: false + description: Contact' status archived or not + example: false + required: + - row_id + - company_type + - company_name + - title: Service + type: object + description: '' + x-examples: {} + properties: + row_id: + type: integer + description: Row id + example: 1 + id: + type: integer + description: Service id + example: 6657 + nullable: true + reference: + type: string + description: Service reference + example: ref0123 + name: + type: string + description: Service name + example: lorem ipsum + nullable: true + description: + type: string + description: Description of service + example: Repair and maintenance + nullable: true + unit: + type: string + description: Unit + example: hour + nullable: true + standard_quantity: + type: string + description: Standard quantity + example: 3 + nullable: true + category: + type: string + description: Service category + example: null + nullable: true + smart_tags: + type: array + description: Smart tags list + nullable: true + example: + - foo + - bar + items: + type: string + description: The tag + owner: + type: string + description: Owner name of the product import + example: John Snow + nullable: true + is_timetracking: + type: boolean + description: Service is usable for timetracking + example: false + reference_price: + type: string + description: Reference price + example: 19.99 + nullable: true + tax_rate: + type: string + description: Tax rate + example: 19.6 + nullable: true + purchase_price: + type: string + description: Purchase price + example: 15.5 + nullable: true + accounting_code: + type: string + description: Accounting code + example: null + nullable: true + accounting_purchase_code: + type: string + description: Accounting purchase code + example: null + nullable: true + is_archived: + type: boolean + description: Status archived or not + example: false + required: + - reference + - title: Service price + type: object + description: '' + x-examples: {} + properties: + row_id: + type: integer + description: Row id + example: 1 + id: + type: integer + description: Service id + example: 6657 + nullable: true + reference: + type: string + description: Service reference + example: ref0123 + prices: + type: array + description: Rate category ids and corresponding prices + minItems: 1 + maxItems: 100 + items: + title: Rate category + type: object + description: '' + x-examples: {} + properties: + category: + type: string + description: Rate category name + example: Tax rate 20 + price: + type: number + description: Price for corresponding category + example: 23.11 + required: + - reference + required: + - reference + - title: Product price + type: object + description: '' + x-examples: {} + properties: + row_id: + type: integer + description: Row id + example: 1 + id: + type: integer + description: Product id + example: 6657 + nullable: true + reference: + type: string + description: Product reference + example: ref0123 + nullable: true + variation_id: + type: integer + description: Product variation id + example: 100 + nullable: true + variation_reference: + type: string + description: Product variation reference + example: ref11 + nullable: true + prices: + type: array + description: Rate category ids and corresponding prices + minItems: 1 + maxItems: 100 + items: + $ref: >- + #/components/schemas/ImportPrepareInput/properties/data/oneOf/0/items/oneOf/4/properties/prices/items + required: + - reference + required: + - batch_id + - metadata + - data + ImportValidateInput: + title: Import batch validation + type: object + description: '' + x-examples: {} + properties: + batch_id: + type: string + format: uuid + description: Batch id + example: 123e4567-e89b-12d3-a456-426614174000 + metadata: + $ref: '#/components/schemas/ImportPrepareInput/properties/metadata' + data: + description: Rows to validate + minItems: 1 + oneOf: + - type: array + description: Rows to validate + minItems: 1 + maxItems: 100 + items: + oneOf: + - $ref: >- + #/components/schemas/ImportPrepareInput/properties/data/oneOf/0/items/oneOf/0 + - $ref: >- + #/components/schemas/ImportPrepareInput/properties/data/oneOf/0/items/oneOf/1 + - $ref: >- + #/components/schemas/ImportPrepareInput/properties/data/oneOf/0/items/oneOf/2 + - $ref: >- + #/components/schemas/ImportPrepareInput/properties/data/oneOf/0/items/oneOf/3 + - $ref: >- + #/components/schemas/ImportPrepareInput/properties/data/oneOf/0/items/oneOf/4 + - $ref: >- + #/components/schemas/ImportPrepareInput/properties/data/oneOf/0/items/oneOf/5 + required: + - batch_id + - metadata + - data + ImportStartInput: + title: Import + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + batch_id: + type: string + description: Batch id + format: uuid + example: 123e4567-e89b-12d3-a456-426614174000 + required: + - batch_id + CompanyPreferences: + title: Company's preferences + type: object + additionalProperties: false + properties: + currency: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/currency + carrier: + type: object + description: Company preferred carrier. + nullable: true + properties: + id: + type: integer + description: id of carrier + example: 1234 + label: + type: string + description: label of carrier + example: DHL + tax: + title: Tax + type: object + description: '' + x-examples: {} + properties: + id: + type: integer + readOnly: true + description: Id of tax + example: 6657 + rate: + type: number + format: float + description: Rate of tax + example: 20 + label: + type: string + description: Label of tax + example: Product TVA + is_active: + type: boolean + description: Is the tax enabled or not + example: true + is_ecotax: + type: boolean + description: Is the tax an ecotax + example: true + payment_term: + type: object + description: Company preferred pay date. + nullable: true + properties: + id: + type: integer + description: id of pay date + example: 1234 + label: + type: string + description: label of pay date + example: from 30 days + x_days: + type: integer + nullable: true + description: Number of days for pay deadlines. + end_of_month: + type: boolean + nullable: true + description: Is pay deadlines at end of the month. + discount: + type: object + description: Company's preferred discount. + properties: + amount: + type: string + description: numeric string. Can be float, double or integer + type: + type: string + enum: + - amount + - percent + bank_account: + type: object + description: Company's preferred bank account. + nullable: true + properties: + id: + type: integer + description: id of bank account + example: 1234 + label: + type: string + description: label of bank account + example: My bank + iban: + type: string + description: iban of bank account + example: FRxxxxxxxxxxxxxx + discount_by_row: + type: boolean + description: Rows for this Company can have its own discount. + dunnings: + type: object + description: Company's preferred dunning plan for each doctype. + nullable: true + properties: + estimate: + type: object + nullable: true + properties: + value: + type: string + description: Dunning type select for estimate documents. + enum: + - disabled + - default + - id + id: + type: integer + description: Dunning id selected for estimate documents if value is "id". + label: + type: string + description: >- + Label of dunning selected for estimate documents if value + is "id". + invoice: + type: object + nullable: true + properties: + value: + type: string + description: Dunning type select for invoice documents. + enum: + - disabled + - default + - id + id: + type: integer + description: Dunning id select for invoice documents if value is "id". + label: + type: string + description: >- + Label of dunning selected for invoice documents if value is + "id". + proforma: + type: object + nullable: true + properties: + value: + type: string + description: Dunning type select for proforma documents. + enum: + - disabled + - default + - id + id: + type: integer + description: Dunning id select for proforma documents if value is "id". + label: + type: string + description: >- + Label of dunning selected for proforma documents if value + is "id". + rate_category: + type: object + description: Company's preferred rate category. + nullable: true + properties: + id: + type: integer + description: id of rate category + example: 123456 + label: + type: string + description: label of rate category + example: HT + pay_mediums: + type: array + description: Company's preferred pay mediums. + nullable: true + items: + type: object + properties: + id: + type: integer + description: id of pay medium + example: 1234 + label: + type: string + description: label of pay medium + example: credit card + UpdateCompanyPreferences: + title: Company preferences + type: object + additionalProperties: false + properties: + currency_id: + type: integer + description: Id of the selected currency. + carrier_id: + type: integer + description: Id of the carrier selected. + tax_id: + type: integer + description: Id of the tax selected. + payment_terms: + type: object + description: Id of the payment term selected. + properties: + id: + type: integer + x_days: + type: integer + nullable: true + description: Number of days for pay deadlines. + end_of_month: + type: boolean + nullable: true + description: Is pay deadlines at end of the month. + required: + - id + discount: + type: object + description: Default company's global discount applied. + properties: + amount: + type: string + description: numeric string. Can be float, double or integer + type: + type: string + enum: + - amount + - percent + required: + - amount + - type + bank_account_id: + type: integer + nullable: true + description: Id of Bank account selected. + discount_by_row: + type: boolean + description: Rows for this Company can have its own discount. + dunning: + type: object + description: Dunning selected for each doctype. + properties: + estimate: + oneOf: + - title: disabled + type: object + additionalProperties: false + description: Disabled dunning for this doctype. + properties: + value: + type: string + enum: + - disabled + required: + - value + - title: default dunning + type: object + additionalProperties: false + description: Default dunning for this doctype. + properties: + value: + type: string + enum: + - default + required: + - value + - title: dunning id + type: object + additionalProperties: false + description: Specified dunning for this doctype. + properties: + value: + type: string + enum: + - id + id: + type: integer + required: + - value + - id + invoice: + oneOf: + - $ref: >- + #/components/schemas/UpdateCompanyPreferences/properties/dunning/properties/estimate/oneOf/0 + - $ref: >- + #/components/schemas/UpdateCompanyPreferences/properties/dunning/properties/estimate/oneOf/1 + - $ref: >- + #/components/schemas/UpdateCompanyPreferences/properties/dunning/properties/estimate/oneOf/2 + proforma: + oneOf: + - $ref: >- + #/components/schemas/UpdateCompanyPreferences/properties/dunning/properties/estimate/oneOf/0 + - $ref: >- + #/components/schemas/UpdateCompanyPreferences/properties/dunning/properties/estimate/oneOf/1 + - $ref: >- + #/components/schemas/UpdateCompanyPreferences/properties/dunning/properties/estimate/oneOf/2 + rate_category_id: + type: integer + description: Id of the rate category selected. + pay_medium_ids: + type: array + description: Ids of Company's pay medium displayed. + items: + type: integer + required: + - currency_id + - carrier_id + - tax_id + - payment_terms + - discount + - bank_account_id + - discount_by_row + - pay_medium_ids + IndividualPreferences: + title: Individual's preferences + type: object + additionalProperties: false + properties: + currency: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/currency + carrier: + type: object + description: Individual preferred carrier. + nullable: true + properties: + id: + type: integer + description: id of carrier + example: 1234 + label: + type: string + description: label of carrier + example: DHL + tax: + $ref: '#/components/schemas/CompanyPreferences/properties/tax' + payment_term: + type: object + description: Individual preferred pay date. + nullable: true + properties: + id: + type: integer + description: id of pay date + example: 1234 + label: + type: string + description: label of pay date + example: from 30 days + x_days: + type: integer + nullable: true + description: Number of days for pay deadlines. + end_of_month: + type: boolean + nullable: true + description: Is pay deadlines at end of the month. + discount: + type: object + description: Individual's preferred discount. + properties: + amount: + type: string + description: numeric string. Can be float, double or integer + type: + type: string + enum: + - amount + - percent + bank_account: + type: object + description: Individual's preferred bank account. + nullable: true + properties: + id: + type: integer + description: id of bank account + example: 1234 + label: + type: string + description: label of bank account + example: My bank + iban: + type: string + description: iban of bank account + example: FRxxxxxxxxxxxxxx + discount_by_row: + type: boolean + description: Rows for this Individual can have its own discount. + dunning: + type: object + description: Individual's preferred dunning plan for each doctype. + nullable: true + properties: + estimate: + type: object + nullable: true + properties: + value: + type: string + description: Dunning type select for estimate documents. + enum: + - disabled + - default + - id + id: + type: integer + description: Dunning id selected for estimate documents if value is "id". + label: + type: string + description: >- + Label of dunning selected for estimate documents if value + is "id". + invoice: + type: object + nullable: true + properties: + value: + type: string + description: Dunning type select for invoice documents. + enum: + - disabled + - default + - id + id: + type: integer + description: Dunning id select for invoice documents if value is "id". + label: + type: string + description: >- + Label of dunning selected for invoice documents if value is + "id". + proforma: + type: object + nullable: true + properties: + value: + type: string + description: Dunning type select for proforma documents. + enum: + - disabled + - default + - id + id: + type: integer + description: Dunning id select for proforma documents if value is "id". + label: + type: string + description: >- + Label of dunning selected for proforma documents if value + is "id". + rate_category: + type: object + description: Individual's preferred rate category. + nullable: true + properties: + id: + type: integer + description: id of rate category + example: 123456 + label: + type: string + description: label of rate category + example: HT + pay_medium: + type: array + description: Individual's preferred pay medium. + nullable: true + items: + type: object + properties: + id: + type: integer + description: id of pay medium + example: 1234 + label: + type: string + description: label of pay medium + example: credit card + UpdateIndividualPreferences: + title: Individual preferences + type: object + additionalProperties: false + properties: + currency_id: + type: integer + description: Id of the selected currency. + carrier_id: + type: integer + description: Id of the carrier selected. + tax_id: + type: integer + description: Id of the tax selected. + payment_terms: + type: object + description: Id of the payment term selected. + properties: + id: + type: integer + x_days: + type: integer + nullable: true + description: Number of days for pay deadlines. + end_of_month: + type: boolean + nullable: true + description: Is pay deadlines at end of the month. + required: + - id + discount: + type: object + description: Default individual's global discount applied. + properties: + amount: + type: string + description: numeric string. Can be float, double or integer + type: + type: string + enum: + - amount + - percent + required: + - amount + - type + bank_account_id: + type: integer + nullable: true + description: Id of Bank account selected. + discount_by_row: + type: boolean + description: Rows for this individual can have its own discount. + dunning: + type: object + description: Dunning selected for each doctype. + properties: + estimate: + oneOf: + - title: dunning id + type: object + additionalProperties: false + description: Disabled dunning for this doctype. + properties: + value: + type: string + enum: + - disabled + required: + - value + - title: default dunning + type: object + additionalProperties: false + description: Default dunning for this doctype. + properties: + value: + type: string + enum: + - default + required: + - value + - title: dunning id + type: object + additionalProperties: false + description: Specified dunning for this doctype. + properties: + value: + type: string + enum: + - id + id: + type: integer + required: + - value + - id + invoice: + oneOf: + - $ref: >- + #/components/schemas/UpdateIndividualPreferences/properties/dunning/properties/estimate/oneOf/0 + - $ref: >- + #/components/schemas/UpdateIndividualPreferences/properties/dunning/properties/estimate/oneOf/1 + - $ref: >- + #/components/schemas/UpdateIndividualPreferences/properties/dunning/properties/estimate/oneOf/2 + proforma: + oneOf: + - $ref: >- + #/components/schemas/UpdateIndividualPreferences/properties/dunning/properties/estimate/oneOf/0 + - $ref: >- + #/components/schemas/UpdateIndividualPreferences/properties/dunning/properties/estimate/oneOf/1 + - $ref: >- + #/components/schemas/UpdateIndividualPreferences/properties/dunning/properties/estimate/oneOf/2 + rate_category_id: + type: integer + description: Id of the rate category selected. + pay_medium_ids: + type: array + description: Ids of individual's pay medium displayed. + items: + type: integer + required: + - currency_id + - carrier_id + - tax_id + - payment_terms + - discount + - bank_account_id + - discount_by_row + - pay_medium_ids + ImportModel: + title: Import model + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + columns: + type: array + description: The model columns + minItems: 1 + example: + - name: Column name + mandatory: true + custom_field: false + items: + title: Column + type: object + description: Column properties + x-examples: {} + properties: + name: + type: string + description: Column name + example: Reference + mandatory: + type: boolean + description: Is it a mandatory column + example: true + custom_field: + type: boolean + description: Is it a column used as custom field + example: true + required: + - name + title: + type: string + description: Title of template + nullable: true + example: Modèle Produit + SubscriptionOne: + title: Subscription + type: object + properties: + id: + description: Id of subscription + type: integer + example: 2 + created: + description: Created date + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + model: + description: Document to use as a template for subscription payment installments + type: object + properties: + type: + type: string + enum: + - model + id: + type: integer + related: + description: | + Objects linked to the subscription : + - A required company or individual + - An optional contact linked to the provided company. + type: array + minItems: 1 + maxItems: 2 + items: + title: Related + description: Objects linked to the subscription + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - contact + required: + - id + - type + sending: + title: Sending + type: object + additionalProperties: false + description: Email sending configuration + properties: + mode: + type: string + description: >- + Once the invoice has been generated, from subscription deadline, + if sending mode is automatic, email will be sent to all + recipients, otherwise, if it's manual, email should be send + manually + enum: + - automatic + - manual + example: automatic + recipients: + type: array + minItems: 0 + description: Email recipients + items: + anyOf: + - type: object + properties: + id: + type: integer + description: Id of recipient + example: 345 + type: + type: string + description: Type of recipient + enum: + - company + - individual + - contact + - staff + - type: object + properties: + email: + type: string + description: Email of recipient + example: contact@sellsy.com + email_template: + type: integer + description: >- + Id of email template. If not specified, the default email layout + will be used + example: 12 + nullable: true + required: + - mode + preferences_source: + description: Source of payment preferences + type: string + enum: + - model + - related + owner: + description: Subscription owner + type: object + properties: + type: + type: string + enum: + - staff + id: + type: integer + conditions: + type: object + description: Conditions to generate subscription payment installment + properties: + interval: + type: object + description: Interval for subscription payment installments + oneOf: + - title: Weekly interval + additionalProperties: false + description: Weekly interval + properties: + type: + type: string + enum: + - weekly + value: + type: string + enum: + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + required: + - value + - type + - title: Monthly interval + type: object + additionalProperties: false + description: Monthly interval + properties: + type: + type: string + enum: + - monthly + - bimonthly + - quarterly + - biannual + - annual + value: + type: string + enum: + - first_monday + - first_tuesday + - first_wednesday + - first_thursday + - first_friday + - first_saturday + - first_sunday + - '1' + - '2' + - '3' + - '4' + - '5' + - '6' + - '7' + - '8' + - '9' + - '10' + - '11' + - '12' + - '13' + - '14' + - '15' + - '16' + - '17' + - '18' + - '19' + - '20' + - '21' + - '22' + - '23' + - '24' + - '25' + - '26' + - '27' + - '28' + - '29' + - '30' + - '31' + - last_monday + - last_tuesday + - last_wednesday + - last_thursday + - last_friday + - last_saturday + - last_sunday + required: + - value + - type + - title: Every days interval + type: object + additionalProperties: false + description: Every days interval + properties: + type: + type: string + enum: + - every_days + value: + type: integer + minimum: 0 + required: + - value + - type + billing_address: + description: Id of billing address + type: integer + nullable: true + example: 69 + shipping_address: + description: Id of shipping address + type: integer + nullable: true + example: 67 + order_reference: + description: Order reference + type: string + nullable: true + maxLength: 100 + example: reference + has_updated_catalog_prices: + description: Update prices according to the products or services in the catalog + type: boolean + default: false + has_catalog_promotions: + description: Take into account catalog promotions + type: boolean + default: false + has_display_of_next_deadline: + description: Display the next recurrence date on the invoice + type: boolean + default: false + has_service_dates: + description: Display service dates on the invoice + type: boolean + default: false + service_dates: + description: > + Service dates on the invoice

- Prerequisite: + `has_service_dates` should be true
+ type: object + nullable: true + properties: + start: + description: Start date for service + type: string + format: date + example: '2023-01-01' + end: + description: > + End date for service

End date must be greater than + start date + type: string + format: date + example: '2023-01-31' + has_impact_on_stock: + description: > + Enable stock impact on new invoices generated by subscription +

- Prerequisite: The Stock module must be enabled and + configured on your account to use this option + type: boolean + default: false + example: true + warehouse_id: + description: > + Specify the warehouse stock to be impacted once the invoice is + generated

- Prerequisite: `has_impact_on_stock` should be + true
- Prerequisite: The Stock module must be enabled and + configured on your account to use this option

If specified + to null, the default warehouse defined in the Stock module + preferences will be used + type: integer + nullable: true + payment_settings: + description: > + Enable automatic payment by direct debit on new invoices generated + by subscription

- Prerequisite: The Gocardless or Stripe + module _(according to the one enabled on the document model used)_ + must be enabled and configured on your account to use this option + type: object + nullable: true + properties: + direct_debit: + description: Activate direct debit + type: boolean + example: true + mandate: + description: >- + Required if the direct debit module on document model is + GoCardless + type: integer + nullable: true + example: 6 + payment_installment_invoice: + description: Payment installment invoice + type: string + enum: + - invoice_due_date + - invoice_generation_date + example: invoice_generation_date + currency: + type: string + description: Currency code of the invoice + example: EUR + first_payment_installment_date: + description: First payment date. + type: object + nullable: true + properties: + date: + type: string + format: date + id: + type: integer + next_payment_installment_date: + description: Next payment date. If the value is `null`, the subscription is end. + type: object + nullable: true + properties: + date: + type: string + format: date + id: + type: integer + amounts: + description: Amounts of subscription + type: object + properties: + total_excl_tax: + type: string + total_incl_tax: + type: string + invoices_total_count: + description: Total number of invoices + type: integer + example: 12 + invoices_generated_count: + description: Number of invoices generated + type: integer + example: 2 + invoices_remaining_count: + description: Number of remaining invoices + type: integer + example: 10 + SubscriptionCreate: + title: Create subscription + type: object + properties: + model: + title: Model + type: object + additionalProperties: false + description: Document to use as a template for subscription payment installments + properties: + type: + type: string + description: Template type + enum: + - model + example: model + id: + type: integer + description: Template id + example: 123 + required: + - id + - type + related: + type: array + minItems: 1 + maxItems: 2 + description: | + Objects linked to the subscription : + - A required company or individual, only "client" type. + - An optional contact can be added, it must be linked to the provided company. + items: + $ref: '#/components/schemas/SubscriptionOne/properties/related/items' + sending: + $ref: '#/components/schemas/SubscriptionOne/properties/sending' + preferences_source: + type: string + description: Source of payment preferences + enum: + - model + - related + conditions: + title: Condition + type: object + description: Conditions to generate subscription deadline + properties: + start_date: + type: string + format: date + description: Date to start subscription, must be greater than today + example: '2022-01-02' + interval: + type: object + description: Interval for subscription deadlines + oneOf: + - $ref: >- + #/components/schemas/SubscriptionOne/properties/conditions/properties/interval/oneOf/0 + - $ref: >- + #/components/schemas/SubscriptionOne/properties/conditions/properties/interval/oneOf/1 + - $ref: >- + #/components/schemas/SubscriptionOne/properties/conditions/properties/interval/oneOf/2 + required: + - start_date + - interval + payment_installments: + type: array + minItems: 1 + maxItems: 500 + description: Subscription payment installments to be generated + items: + title: Payment installments + description: Subscription payment installments to be generated + type: object + properties: + date: + type: string + format: date + description: > + Date of the payment installments. The date must not be over + 2038-01-19. + example: '2022-01-02' + sending_mode: + type: string + description: > + By default, the general preference "sending.mode" is applied + to each payment installments, but it is possible to override + the sending mode on each + enum: + - automatic + - manual + required: + - date + billing_address: + type: integer + nullable: true + description: Id of billing address + example: 69 + shipping_address: + type: integer + nullable: true + description: Id of shipping address + example: 67 + order_reference: + type: string + description: Order reference + example: reference + maxLength: 100 + nullable: true + has_updated_catalog_prices: + type: boolean + description: Update prices according to the products or services in the catalog + default: false + has_catalog_promotions: + type: boolean + description: Take into account catalog promotions + default: false + has_display_of_next_deadline: + type: boolean + description: Display the next recurrence date on the invoice + default: false + has_service_dates: + type: boolean + description: Display service dates on the invoice + default: false + service_dates: + type: object + description: > + Service dates on the invoice

- Prerequisite: + `has_service_dates` should be true
+ nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: > + End date for service

End date must be greater than + start date + example: '2023-01-31' + has_impact_on_stock: + type: boolean + description: > + Enable stock impact on new invoices generated by subscription +

- Prerequisite: The Stock module must be enabled and + configured on your account to use this option + default: false + example: true + warehouse_id: + type: integer + nullable: true + description: > + Specify the warehouse stock to be impacted once the invoice is + generated

- Prerequisite: `has_impact_on_stock` should be + true
- Prerequisite: The Stock module must be enabled and + configured on your account to use this option

If specified + to null, the default warehouse defined in the Stock module + preferences will be used + payment_settings: + type: object + description: > + Enable automatic payment by direct debit on new invoices generated + by subscription

- Prerequisite: The Gocardless or Stripe + module _(according to the one enabled on the document model used)_ + must be enabled and configured on your account to use this option + nullable: true + properties: + direct_debit: + type: boolean + description: Activate direct debit + example: true + mandate: + type: integer + nullable: true + description: >- + Required if the direct debit module on document model is + GoCardless + example: 6 + payment_installment_invoice: + type: string + description: Payment installment invoice + enum: + - invoice_due_date + - invoice_generation_date + example: invoice_generation_date + required: + - model + - related + - sending + - preferences_source + - conditions + - payment_installments + LinkPaymentToDocument: + additionalProperties: false + type: object + required: + - amount + properties: + amount: + type: number + description: >- + Amount to link from payment to document.
Must be greater than + zero, and less than amount left to solve on payment and on document. + example: 123.45 + InvoicingPayment: + type: object + properties: + id: + type: integer + description: Payment id + number: + type: string + nullable: true + description: Payment identifier + example: reference + paid_at: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Payment date (ISO 8601) + status: + type: string + enum: + - pending + - confirmed + - rejected + - failed + - refund + description: Payment status + payment_method_id: + type: integer + description: Payment method id + type: + type: string + enum: + - credit + - debit + description: Payment type + amount: + type: object + properties: + value: + type: string + description: Amount + nullable: true + example: '15.26' + currency: + type: string + description: Currency (ISO 4217) + pattern: ^[A-Za-z *]{2,5}$ + nullable: true + example: EUR + related: + type: array + description: Payment related entities + minItems: 1 + maxItems: 1 + items: + type: object + description: Object linked + properties: + id: + type: integer + description: Id of object + type: + type: string + description: Type of object + example: invoice + enum: + - invoice + - creditnote + - estimate + - order + ObjectiveCollectionOutput: + title: Collection of objectives + type: object + properties: + pagination: + $ref: '#/components/schemas/AccountDocumentCollection/properties/pagination' + data: + type: array + items: + allOf: + - oneOf: + - title: Turnover objective + type: object + properties: + id: + type: integer + description: Objective id + name: + type: string + description: Objective name + example: My Objective + category: + $ref: >- + #/components/schemas/ObjectiveOutput/oneOf/0/properties/category + turnover: + $ref: >- + #/components/schemas/ObjectiveOutput/oneOf/0/properties/turnover + period: + $ref: >- + #/components/schemas/ObjectiveTurnoverInput/properties/period + item: + type: object + nullable: true + properties: + id: + type: integer + description: linked Item id + name: + type: string + description: linked Item name + required: + - id + - name + item_category: + $ref: >- + #/components/schemas/ObjectiveOutput/oneOf/0/properties/item_category + refinements: + type: array + description: Refinements of the objective + items: + type: object + properties: + period: + $ref: >- + #/components/schemas/ObjectiveTurnoverInput/properties/period + turnover: + $ref: >- + #/components/schemas/ObjectiveOutput/oneOf/0/properties/turnover + assignee: + $ref: >- + #/components/schemas/ObjectiveOutput/oneOf/0/properties/assignee + links: + $ref: >- + #/components/schemas/ObjectiveCollectionOutput/properties/links + required: + - id + - name + - category + - turnover + - period + - item + - item_category + - refinements + - assignee + - links + - title: Objective Embed + type: object + properties: + _embed: + nullable: true + additionalProperties: false + properties: + created_by: + $ref: >- + #/components/schemas/Activity/properties/_embed/properties/author + modified_by: + $ref: >- + #/components/schemas/Activity/properties/_embed/properties/author + links: + type: array + items: + type: object + title: link + properties: + rel: + type: string + href: + type: string + required: + - rel + - href + required: + - pagination + - data + - links + ObjectiveTurnoverInput: + title: 'Turnover objective ' + type: object + properties: + name: + type: string + description: Objective name + example: My Objective + category: + type: string + description: Code of an existing objective category + example: turnover + enum: + - turnover + turnover: + title: money + type: object + x-examples: {} + properties: + amount: + type: string + example: '124.33' + description: Amount of turnover expected + currency: + type: string + description: Currency code + example: EUR + required: + - amount + - currency + period: + title: Period + type: object + description: period of the objective + x-examples: {} + properties: + duration: + type: string + enum: + - year + - quarter + - month + description: The duration of the period + date_start: + type: string + format: date + description: The start date + date_end: + type: string + format: date + description: The end date + required: + - duration + - date_start + - date_end + item_id: + type: integer + nullable: true + description: Linked item id + item_category_id: + type: integer + nullable: true + description: Linked item category id + refinements: + type: array + description: Refinements of the objective + items: + type: object + properties: + period: + $ref: '#/components/schemas/ObjectiveTurnoverInput/properties/period' + turnover: + $ref: >- + #/components/schemas/ObjectiveTurnoverInput/properties/turnover + assignee: + title: Assignee + type: object + description: Assignee of the objective + x-examples: {} + properties: + type: + type: string + enum: + - corp + - group + - staff + description: Type of assignee + id: + type: integer + description: 'Id of Assignee: corp id, group id or staff id' + required: + - type + required: + - name + - category + - turnover + - period + - item_id + - item_category_id + - refinements + - assignee + ObjectiveSearchInput: + title: objective filters + type: object + description: The objective filters + properties: + filters: + type: object + properties: + name: + type: object + description: name of the Objective + properties: + mode: + type: string + value: + type: string + example: + mode: contain + value: search + required: + - mode + assignee: + type: array + description: List of Assignees + items: + title: Assignee Filter + type: object + description: Filter Assignee of the objective + x-examples: {} + properties: + type: + type: string + enum: + - corp + - group + - staff + description: Type of assignee + id: + type: integer + description: 'Id of Assignee: corp id, group id or staff id' + required: + - type + ObjectiveOutput: + oneOf: + - title: Turnover objective + type: object + properties: + id: + type: integer + description: Objective id + name: + type: string + description: Objective name + example: My Objective + category: + type: object + description: Objective category + properties: + code: + type: string + description: Code of an existing objective category + example: turnover + label: + type: string + description: Label of an existing objective category + example: Turnover + required: + - code + - label + turnover: + title: Turnover + type: object + description: Turnover + x-examples: {} + properties: + expected: + $ref: >- + #/components/schemas/ObjectiveTurnoverInput/properties/turnover + actual: + $ref: >- + #/components/schemas/ObjectiveTurnoverInput/properties/turnover + progression: + type: number + description: Progression of the objective + computed_at: + type: string + format: date-time + description: Date of last turnover calculation + days_left: + type: number + description: Days remaining between now and the end of the period + required: + - expected + - actual + - progression + - computed_at + - days_left + period: + $ref: '#/components/schemas/ObjectiveTurnoverInput/properties/period' + item: + type: object + nullable: true + properties: + id: + type: integer + description: linked Item id + name: + type: string + description: linked Item name + required: + - id + - name + item_category: + type: object + nullable: true + properties: + id: + type: integer + nullable: true + description: Linked item category id + name: + type: string + description: Linked item category name + required: + - id + - name + refinements: + type: array + description: Refinements of the objective + items: + type: object + properties: + period: + $ref: >- + #/components/schemas/ObjectiveTurnoverInput/properties/period + turnover: + $ref: >- + #/components/schemas/ObjectiveOutput/oneOf/0/properties/turnover + assignee: + title: Assignee + type: object + description: Assignee of the objective + x-examples: {} + properties: + type: + type: string + enum: + - corp + - group + - staff + description: Type of assignee + id: + type: integer + description: 'Assignee id: corp id, group id or staff id' + name: + type: string + description: 'Assignee name: corp name, group name or staff name' + required: + - type + links: + $ref: '#/components/schemas/ObjectiveCollectionOutput/properties/links' + required: + - id + - name + - category + - turnover + - period + - item + - item_category + - refinements + - assignee + - links + ObjectiveMetadata: + title: objective metadatas + type: object + properties: + turnover: + type: object + properties: + data: + type: object + properties: + category: + $ref: >- + #/components/schemas/ObjectiveOutput/oneOf/0/properties/category + currency: + type: string + example: EUR + assignees_types: + type: array + items: + type: object + properties: + value: + type: string + label: + type: string + order: + type: integer + assignees: + type: array + items: + type: object + properties: + groups: + $ref: >- + #/components/schemas/ObjectiveMetadata/properties/turnover/properties/data/properties/assignees_types + staffs: + $ref: >- + #/components/schemas/ObjectiveMetadata/properties/turnover/properties/data/properties/assignees_types + item_categories: + allOf: + - $ref: >- + #/components/schemas/ObjectiveMetadata/properties/turnover/properties/data/properties/assignees_types + - type: array + items: + type: object + properties: + parent: + type: integer + nullable: true + logo: + type: string + nullable: true + durations: + $ref: >- + #/components/schemas/ObjectiveMetadata/properties/turnover/properties/data/properties/assignees_types + required: + - category + - currency + - assignees_types + - assignees + - item_categories + - durations + metadata: + type: object + properties: + choose_product: + type: boolean + create_new_staff: + type: boolean + create_new_group: + type: boolean + _links: + $ref: '#/components/schemas/ObjectiveCollectionOutput/properties/links' + required: + - objectives + - links + ObjectiveComputeTurnoverInput: + type: object + properties: + currency: + description: Currency used to compute the turnover + type: string + example: EUR + period: + description: Period used to compute the turnover + allOf: + - $ref: '#/components/schemas/ObjectiveTurnoverInput/properties/period' + item_id: + description: linked item id used to compute the turnover + type: integer + nullable: true + item_category_id: + description: Linked item category id used to compute the turnover + type: integer + nullable: true + assignee: + description: Assignee used to compute the turnover + allOf: + - $ref: '#/components/schemas/ObjectiveTurnoverInput/properties/assignee' + required: + - currency + - period + - item_id + - item_category_id + - assignee + ObjectiveComputeTurnoverOutput: + type: array + items: + type: object + properties: + period: + description: Period used to compute the turnover + allOf: + - $ref: '#/components/schemas/ObjectiveTurnoverInput/properties/period' + turnover: + description: The computed turnover + allOf: + - $ref: >- + #/components/schemas/ObjectiveTurnoverInput/properties/turnover + required: + - period + - turnover + OnboardingScreenOutput: + title: Onboarding Screen output + type: object + additionalProperties: false + properties: + code: + description: Screen code + type: string + example: 'Screen #1' + persona: + description: Screen target user + example: owner + type: string + id: + description: Screen id + type: integer + example: 3 + columns: + description: Screen columns + type: array + items: + type: object + additionalProperties: false + properties: + order: + description: Screen column order + type: integer + label: + description: Screen column label + type: string + cards: + description: Screen column cards + type: array + items: + description: Onboarding Screen card + type: object + additionalProperties: false + properties: + id: + description: Screen card id + type: integer + url: + description: Screen card target url + type: string + label: + description: Screen card label + type: string + code: + description: Screen card code + type: string + icon: + description: Screen card icon identifier + type: string + example: icon-code + order: + description: Screen card order in column + type: integer + state: + description: Screen card completion state + type: string + enum: + - completed + - to_complete + - completing + required: + - id + - url + - label + - code + - icon + - order + - state + required: + - order + - label + - cards + required: + - code + - role + - id + - columns + DiscountInclTaxesOutput: + type: object + description: Discount including taxes + properties: + id: + type: integer + description: identifier of discount + readOnly: true + example: 31 + reference: + type: string + description: Reference of discount + minLength: 1 + maxLength: 250 + example: Halloween five last day + name: + type: string + description: Name of discount + minLength: 1 + maxLength: 250 + example: Halloween promotion + description: + type: string + description: Description visible on the document + minLength: 1 + maxLength: 1000 + example: For purchases made during the last five days of October + unit_id: + type: integer + description: Unit id + example: 31 + amount: + type: string + description: Amount of unit + minLength: 0 + example: 31 + accounting_code_id: + type: integer + description: > +
  • If the accounting code is not empty, we use it.
  • If + the accounting code is empty AND if the account has activated + dedicated accounting codes for discounts including VAT, we use + it.
  • Otherwise, we use the default accounting code for + companies.
+ nullable: true + example: 31 + DiscountInclTaxesInput: + type: object + description: Discount including taxes + properties: + reference: + type: string + description: Reference of discount + minLength: 1 + maxLength: 250 + example: Halloween five last day + name: + type: string + description: Name of discount + minLength: 1 + maxLength: 250 + example: Halloween promotion + description: + type: string + description: Description visible on the document + minLength: 1 + maxLength: 1000 + example: For purchases made during the last five days of October + unit_id: + type: integer + description: Unit id + example: 31 + amount: + type: string + description: Amount of unit + minLength: 0 + example: 31 + accounting_code_id: + type: integer + description: > +
    If `null` :
  • Uses company default
  • Or the customer's + if he has one
+ nullable: true + example: 31 + required: + - reference + - name + - description + - unit_id + - amount + UpdateDiscountInclTaxes: + type: object + description: Update discount including taxes + properties: + reference: + type: string + description: Reference of discount + minLength: 1 + maxLength: 250 + example: Halloween five last day + name: + type: string + description: Name of discount + minLength: 1 + maxLength: 250 + example: Halloween promotion + description: + type: string + description: Description visible on the document + minLength: 1 + maxLength: 1000 + example: For purchases made during the last five days of October + unit_id: + type: integer + description: Unit id + example: 31 + amount: + type: string + description: Amount of unit + minLength: 0 + example: 31 + accounting_code_id: + type: integer + description: > +
    If `null` :
  • Uses company default
  • Or the customer's + if he has one
+ nullable: true + example: 31 + MarketingAttributeOutput: + title: List Attributes Output + type: object + additionalProperties: false + properties: + attributes: + type: array + description: List of attributes + items: + title: Marketing Attribute + type: object + additionalProperties: false + properties: + id: + type: integer + description: Attribute id + label: + type: string + description: Attribute display label + code: + type: string + description: Attribute identifier code + default: + type: boolean + description: Is the Attribute active by default + synchronized: + type: boolean + description: Has the Attribute been synchronized + category: + type: object + nullable: true + description: Attribute category + additionalProperties: false + properties: + code: + type: string + description: Attribute category code + label: + type: string + description: Attributes category label + required: + - code + - label + sub_category: + type: object + nullable: true + description: Attribute sub-category + additionalProperties: false + properties: + code: + type: string + description: Attribute sub-category code + label: + type: string + description: Attributes sub-category label + required: + - code + - label + required: + - id + - label + - code + - default + - synchronized + - category + - sub_category + links: + type: array + description: List of related routes available + items: + type: object + title: link + properties: + rel: + type: string + href: + type: string + required: + - rel + - href + required: + - attributes + - links + MarketingAttributeInput: + title: Marketing Attribute revision + type: array + example: + - 56 + - 123 + - 345 + items: + type: integer + description: Marketing Attribute id + MarketingAttributeDiffOutput: + title: Marketing attribute revision diff + type: object + additionalProperties: false + properties: + create: + type: array + description: List of new Marketing Attributes to create + items: + $ref: >- + #/components/schemas/MarketingAttributeOutput/properties/attributes/items + delete: + type: array + description: List of previous Marketing Attributes to delete + items: + $ref: >- + #/components/schemas/MarketingAttributeOutput/properties/attributes/items + void: + type: array + description: List of Marketing Attributes unchanged + items: + $ref: >- + #/components/schemas/MarketingAttributeOutput/properties/attributes/items + links: + $ref: '#/components/schemas/MarketingAttributeOutput/properties/links' + required: + - create + - delete + - void + - links + DiscountInclTaxesDocumentInput: + type: object + title: Discount including taxes + properties: + quantity: + type: integer + minimum: 1 + description: Discount including taxes quantity + example: 12 + amount: + type: string + description: Discount including taxes amount + minimum: 0 + example: '12.34' + required: + - quantity + ConsentSettingsOuput: + type: object + description: The consent settings + required: + - settings + - _links + properties: + settings: + type: object + description: The consent settings + required: + - default_consent + - double_optin + properties: + default_consent: + type: boolean + double_optin: + type: object + required: + - enable + - confirm_email + properties: + enable: + type: boolean + confirm_email: + type: object + required: + - subject + - body + - sender + - button + properties: + subject: + type: string + body: + type: string + sender: + type: object + required: + - email + - name + properties: + email: + type: string + name: + type: string + button: + type: object + required: + - label + properties: + label: + type: string + _links: + type: array + items: + type: object + title: link + properties: + rel: + type: string + href: + type: string + required: + - rel + - href + ConsentSettingsInput: + $ref: '#/components/schemas/ConsentSettingsOuput/properties/settings' + ConsentMarketingSettingsInput: + type: object + description: The marketing consent settings + required: + - marketing + properties: + marketing: + type: object + required: + - email + - sms + - phone + - postal_mail + - custom + properties: + email: + type: boolean + sms: + type: boolean + phone: + type: boolean + postal_mail: + type: boolean + custom: + type: boolean + parameters: + ModelOrder: + in: query + name: order + description: Order field + schema: + type: string + example: id + enum: + - id + - number + - created + commentOrder: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - updated + - created + commentItemEmbed: + in: query + name: embed + description: > + Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + company: `companies.read`
- individual: `individuals.read`
- + owner: `staffs.read`
- contact: `contacts.read`
- related: + by object type. Check the entire documentation to verify the usual + scopes requested for the types returned + schema: + type: array + items: + type: string + enum: + - owner + - related + - company + - individual + - contact + - acl + contactEmbed: + in: query + name: embed + description: > + Example : `embed[]=delivery_address&embed[]=cf.1542&embed[]=acl`
+ Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + opportunities: `opportunities.read`
- + estimates,invoices,orders,deliveries: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is limited + to the 20 first results sorted in alphabetical order.
+ schema: + type: array + items: + oneOf: + - type: string + title: standards + description: The standards embeds + enum: + - invoicing_address + - delivery_address + - opportunities + - estimates + - invoices + - orders + - deliveries + - acl + - smart_tags + - type: string + title: custom-fields + description: >- + Each custom field value could be requested as an embed object by + specifiying it identifier in the query, prefixed by "cf." + string. _(example: `embed[]=cf.123` for the value of the custom + field of identifier `123`)
`custom-fields.read` oauth2 scope + is required_ + pattern: ^cf.[\d]+$ + crmActivityOrder: + in: query + name: order + description: The order field + schema: + type: string + example: date + enum: + - date + - due_date + - event + - author + - more.label + dealsActivityOrder: + in: query + name: order + description: The order field + schema: + type: string + example: due_date + enum: + - due_date + - event + - label + accountDocumentOrder: + in: query + name: order + description: The order field + schema: + type: string + example: date + enum: + - date + crmActivityEmbed: + in: query + name: embed + description: >- + Additional object included in the result.
Aggregations by + date only works with due_date filter :
- For + aggregations.by_day_and_event, maximum interval of due_date is 90 days +
- For aggregations.by_month_and_event, maximum interval of + due_date is 365 days + schema: + type: array + items: + type: string + enum: + - aggregations + - aggregations.by_event + - aggregations.by_month_and_event + - aggregations.by_day_and_event + - aggregations.by_week_and_event + - aggregations.by_author_and_event + - aggregations.by_author_and_label + opportunityEmbed: + in: query + name: embed + description: > + Example : `embed[]=assigned_staffs&embed[]=cf.1542&embed[]=acl`
+ Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + company: `companies.read`
- individual: `individuals.read`
- + assigned_staffs: `staffs.read`
- contacts: `contacts.read`
- + estimates, invoices, orders, deliveries, proformas, creditnotes: + `invoicing.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags + embed is limited to the 20 first results sorted in alphabetical order. +
+ schema: + type: array + items: + oneOf: + - type: string + title: standards + description: The standards embeds + enum: + - estimates + - individual + - invoices + - orders + - deliveries + - proformas + - creditnotes + - assigned_staffs + - company + - contacts + - acl + - currency + - smart_tags + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + opportunityEmbedWithAggregations: + in: query + name: embed + description: > + Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + company: `companies.read`
- individual: `individuals.read`
- + assigned_staffs: `staffs.read`
- contacts: `contacts.read`
- + estimates, invoices, orders, deliveries, proformas, creditnotes: + `invoicing.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags + embed is limited to the 20 first results sorted in alphabetical order. +
+ schema: + type: array + items: + oneOf: + - type: string + title: standards + description: The standards embeds + enum: + - estimates + - individual + - invoices + - orders + - deliveries + - proformas + - creditnotes + - assigned_staffs + - company + - contacts + - acl + - currency + - aggregations + - aggregations.amount_sum + - aggregations.amount_sum_by_status + - aggregations.amount_sum_by_status_due_at_seven + - aggregations.number_by_pipeline_and_step + - smart_tags + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + opportunityOrder: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - created + - step_rank + - due_date + staffEmbed: + in: query + name: embed + description: > + Additional object included in the result.

If current user + visibility on staffs is restricted, embed will not be available.

Each embed object may require different oauth2 scopes than the + main endpoint:
- licenses: `accounts.read` + schema: + type: array + items: + type: string + enum: + - preferences + - acl + - licenses + - preferences_calendar + staffItemEmbed: + in: query + name: embed + description: > + Additional object included in the result.

If current user + visibility on staffs is restricted, embed will not be available.

Each embed object may require different oauth2 scopes than the + main endpoint:
- licenses: `accounts.read`
- profile: + `staffs.read`
- account: `staffs.read`
- user: + `staffs.read`
- subscriptions: `accounts.read`
- features: + `accounts.read` + schema: + type: array + items: + type: string + enum: + - preferences + - acl + - licenses + - preferences_calendar + - intercom_hash + - profile + - account + - user + - subscriptions + - features + opportunitySourceOrder: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - rank + default: rank + opportunityPipelineOrder: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - rank + default: rank + pipelineStepOrder: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - rank + - probability + default: rank + pipelineStepEmbed: + in: query + name: embed + description: > + Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + opportunities_number: `opportunities.read` + schema: + type: array + items: + type: string + enum: + - opportunities_number + fields: + in: query + name: field + description: > + Filters the fields returned in the response

Example:
+ - `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- `field[]=_embed`: + Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` embed
+ - `field[]=_embed.company.name`: Return the `name` field from the + `company` embed
+ schema: + type: array + items: + type: string + pattern: ^[A-Za-z0-9\.\[\]_-]+$ + favouriteFiltersOrder: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - name + - id + SaleEmbed: + in: query + name: embed + description: > + Example : `embed[]=payment_method_ids&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
+ - payment_method_ids: `payments.read`
- company: + `companies.read`
- individual: `individuals.read`
- contact: + `contacts.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags + embed is limited to the 20 first results sorted in alphabetical order. +
- related: by object type. Check the entire documentation to + verify the usual scopes requested for the types returned

+ Aggregations on amounts only works in addition with the currency + filter + schema: + type: array + items: + oneOf: + - type: string + title: standards + description: The standards embeds + enum: + - company + - individual + - contact + - invoicing_address + - delivery_address + - currency + - acl + - payment_method_ids + - aggregations + - aggregations.amount_sum_by_status + - aggregations.count_by_status + - fiscal_year + - smart_tags + - payment_terms + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + EstimateOneEmbed: + in: query + name: embed + description: > + Example : `embed[]=payment_method_ids&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
+ - payment_method_ids: `payments.read`
- company: + `companies.read`
- individual: `individuals.read`
- contact: + `contacts.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
- discount_incl_taxes: + `discount-incl-taxes.read`
Additionnally, the smart_tags embed is + limited to the 20 first results sorted in alphabetical order.
- + related: by object type. Check the entire documentation to verify the + usual scopes requested for the types returned

+ Aggregations on amounts only works in addition with the currency + filter + schema: + type: array + items: + oneOf: + - type: string + title: standards + description: The standards embeds + enum: + - company + - individual + - contact + - invoicing_address + - delivery_address + - currency + - acl + - payment_method_ids + - aggregations + - aggregations.amount_sum_by_status + - aggregations.count_by_status + - fiscal_year + - smart_tags + - payment_terms + - discount_incl_taxes + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + SaleOrder: + in: query + name: order + description: >- + The order field + + > Value `numero` is deprecated and will be deleted on the July 1st 2022. + Use `number` instead. + schema: + type: string + example: id + enum: + - id + - numero + - created + - date + - expiry_date + - number + - amount + taskEmbed: + in: query + name: embed + description: > + Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + company: `companies.read`
- individual: `individuals.read`
- + owner, assigned_staffs: `staffs.read`
- contact: + `contacts.read`
- related: by object type. Check the entire + documentation to verify the usual scopes requested for the types + returned + schema: + type: array + items: + type: string + enum: + - owner + - assigned_staffs + - related + - company + - individual + - contact + - acl + taskOrder: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - due_date + labelOrder: + in: query + name: order + description: The order field + schema: + type: string + example: rank + enum: + - rank + - id + autocomplete: + in: query + name: q + description: The search field + schema: + type: string + example: John + required: true + searchType: + in: query + name: type + explode: true + description: | + Filter search by object type or subtype. + - `ex with types: type[]=contact&type[]=company` + - `ex with subtypes: type[]=company.client&type[]=item.product` + - `ex with both: type[]=company&type[]=item.product` + schema: + type: array + items: + type: string + enum: + - company + - company.client + - company.prospect + - company.supplier + - individual + - individual.client + - individual.prospect + - individual.supplier + - contact + - opportunity + - purchase + - purchase.purInvoice + - purchase.purDelivery + - purchase.purOrder + - purchase.purCreditNote + - item + - item.product + - item.packaging + - item.shipping + - item.service + - declination + - declination.product + - declination.declination + - document + - document.estimate + - document.invoice + - document.delivery + - document.order + - document.proforma + - document.creditnote + - staff + - ticket + - redactor + - redactor.document + - redactor.template + activityOrder: + in: query + name: order + description: The order field + schema: + type: string + example: due_date + enum: + - due_date + activityEmbed: + in: query + name: embed + description: > + Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + company: `companies.read`
- individual: `individuals.read`
- + author: `staffs.read`
- object_related: by object type. Check the + entire documentation to verify the usual scopes requested for the types + returned + schema: + type: array + items: + type: string + enum: + - object_related + - author + - individual + - company + - acl + phoneCallEmbed: + in: query + name: embed + description: > + Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + company: `companies.read`
- individual: `individuals.read`
- + owner: `staffs.read`
- contact: `contacts.read`
- related: + by object type. Check the entire documentation to verify the usual + scopes requested for the types returned + schema: + type: array + items: + type: string + enum: + - company + - individual + - contact + - related + - owner + - acl + reportEmbed: + in: query + name: embed + description: Additional object included in the result. + schema: + type: array + items: + type: string + enum: + - aggregations + - aggregations.cumulio + contactOrders: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - name + - created_at + direction: + in: query + name: direction + description: The order direction + schema: + type: string + enum: + - asc + - desc + default: asc + order: + in: query + name: order + description: The order field + schema: + type: string + example: id + limit: + in: query + name: limit + description: The pagination limit + schema: + type: integer + description: Pagination limit + default: 25 + maximum: 100 + minimum: 0 + offset: + in: query + name: offset + description: The pagination offset + schema: + oneOf: + - type: integer + minimum: 0 + example: 25 + - type: string + example: WzIwMTQtMDEtMDEsNTk4XQ== + language: + in: query + name: language + description: translation of the country name + schema: + type: string + enum: + - fr + - en + default: fr + description: language code + customActivityOrder: + in: query + name: order + description: The order field + schema: + type: string + example: date + enum: + - date + ocrOrder: + in: query + name: order + description: The order field + schema: + type: string + example: completed_at + enum: + - created_at + - completed_at + paymentMethodOrder: + in: query + name: order + description: The order field + schema: + type: string + example: rank + enum: + - id + - rank + accountingOrder: + in: query + name: order + description: The order field + schema: + type: string + example: code + enum: + - code + calendarEventEmbed: + in: query + name: embed + description: > + Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + company: `companies.read`
- individual: `individuals.read`
- + owner: `staffs.read`
- contact: `contacts.read`
- related, + participants: by object type. Check the entire documentation to verify + the usual scopes requested for the types returned + schema: + type: array + items: + type: string + enum: + - company + - contact + - individual + - owner + - related + - participants + - acl + calendarEventOrder: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - due_date + profileOrder: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - name + - id + staffOrder: + in: query + name: order + description: Field on which to sort the data + schema: + type: string + example: id + enum: + - id + - name + verify: + in: query + name: verify + description: >- + Flag to trigger validation only (set to true to validate payload without + persisting data) + schema: + type: boolean + accountingEmbed: + in: query + name: embed + description: >- + Additional object included in the result.
Aggregations by + date only works with due_date filter :
- For + aggregations.by_day_and_event, maximum interval of due_date is 90 days +
- For aggregations.by_month_and_event, maximum interval of + due_date is 365 days + schema: + type: array + items: + type: string + enum: + - aggregations + - aggregations.credit_debit + opportuntiyCategoryEmbed: + in: query + name: embed + description: Additional object included in the result + schema: + type: array + items: + type: string + enum: + - sources + corporationStaffEmbed: + in: query + name: embed + description: Additional object included in the result + schema: + type: array + items: + type: string + enum: + - predicted_licenses + - aggregations.count_licenses + invoiceEmbed: + in: query + name: embed + description: Additional object included in the result + schema: + type: array + items: + oneOf: + - type: string + enum: + - acl + - owner + - related + - contact + - individual + - company + - fiscal_year + - currency + - smart_tags + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + invoiceOneEmbed: + in: query + name: embed + description: Additional object included in the result + schema: + type: array + items: + oneOf: + - type: string + title: standards + description: The standards embeds + enum: + - acl + - payment_terms + - owner + - related + - contact + - individual + - company + - fiscal_year + - currency + - automatic_dunning + - smart_tags + - discount_incl_taxes + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + invoiceOrder: + in: query + name: order + description: Order field + schema: + type: string + example: id + enum: + - id + - number + - created + - date + - amount + - due_date + creditNoteEmbed: + in: query + name: embed + description: Additional object included in the result + schema: + type: array + items: + oneOf: + - type: string + enum: + - fiscal_year + - related + - contact + - company + - individual + - currency + - owner + - acl + - smart_tags + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + creditNoteOneEmbed: + in: query + name: embed + description: Additional object included in the result + schema: + type: array + items: + oneOf: + - type: string + title: standards + description: The standards embeds + enum: + - fiscal_year + - related + - contact + - company + - individual + - currency + - owner + - acl + - smart_tags + - discount_incl_taxes + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + creditNoteOrder: + in: query + name: order + description: Order field + schema: + type: string + example: id + enum: + - id + - number + - created + - date + - amount + itemOrder: + in: query + name: order + description: Order field + schema: + type: string + example: id + enum: + - id + - created_at + importType: + in: path + name: type + required: true + description: Type of import + schema: + type: string + enum: + - product + - product-variation + - company + - service + - service-price + - product-price + orderEmbed: + in: query + name: embed + description: Additional object included in the result + schema: + type: array + items: + oneOf: + - type: string + enum: + - acl + - related + - contact + - individual + - company + - fiscal_year + - currency + - smart_tags + - owner + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + orderEmbedOne: + in: query + name: embed + description: Additional object included in the result + schema: + type: array + items: + oneOf: + - type: string + enum: + - acl + - related + - contact + - individual + - company + - fiscal_year + - currency + - smart_tags + - owner + - payment_terms + - discount_incl_taxes + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + orderOrder: + in: query + name: order + description: Order field + schema: + type: string + example: id + enum: + - id + - number + - created + - date + - amount + - due_date + - order_status + objectiveOrder: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - name + - date_start + - date_end + - created_at + - updated_at + - progress + - expected_amount + - period + - duration + - assignee + - item + objectiveEmbed: + in: query + name: embed + description: > + Example : `embed[]=created_by&embed[]=modified_by`
Additional + object included in the result.

Each embed object may require + different oauth2 scopes than the main endpoint:
- created_by: + `staffs.read`
- modified_by: `staffs.read`
+ schema: + type: array + items: + type: string + title: Embed + description: The embeds + enum: + - created_by + - modified_by + - objective_results + objectiveCategory: + in: query + name: category + description: filter specific objective categories + schema: + type: array + items: + type: string + title: Category + description: The category + enum: + - turnover + securitySchemes: + oauth2: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: https://login.sellsy.com/oauth2/authorization + tokenUrl: https://login.sellsy.com/oauth2/access-tokens + refreshUrl: https://login.sellsy.com/oauth2/access-tokens + scopes: + comments.read: Grand read access to comments + comments.write: Grand write access to comments + contacts.read: Grants read access to contacts + contacts.write: Grants read access to contacts + individuals.read: Grants read access to individuals + companies.read: Grants read access to companies + companies.write: Grants write access to companies + estimates.read: Grants read access to estimates + estimates.write: Grants write access to estimates + activities.write: Grants write access to activities + activities.read: Grants read access to activities + listings.read: Grants read access to listings + listings.write: Grants write access to listings + custom-fields.read: Grand read access to custom fields + custom-fields.write: Grand write access to custom fields + smart-tags.read: Grand read access to smart tags + smart-tags.write: Grand write access to smart tags + custom-activities.read: Grand read access to custom activities + custom-activities.write: Grand write access to custom activities + scopes.read: Grants read access to scopes + access-tokens.read: Grants read access to access tokens + access-tokens.write: Grants write access to access tokens + clients.read: Grants read access to OAuth clients + clients.write: Grants write access to OAuth clients + accounting-codes.read: Grant read access to accounting codes + accounting-codes.write: Grant write access to accounting codes + taxes.read: Grant read access to taxes + taxes.write: Grant write access to taxes + ocr.read: Grant read access to ocr + individuals.write: Grants write access to individuals + accounts.read: Grant read access to accounts + accounts.write: Grant write access to accounts + opportunities.read: Grand read access to opportunities + opportunities.write: Grant write access to opportunities + orders.read: Grand read access to orders + orders.write: Grand write access to orders + tasks.read: Grant read access to tasks + tasks.write: Grant write access to tasks + staffs.read: Grand read access to staffs + staffs.write: Grant write access to staffs + search.read: Grant access to search + phonecalls.read: Grand read access to phonecall + phonecalls.write: Grand write access to phonecall + calendars.read: Grant read access to calendar + calendars.write: Grant write access to calendar + emails.read: Grant read access to email + emails.write: Grant write access to email + emails.settings: Grant access to email settings + webhooks.read: Grants read access to webhooks + webhooks.write: Grants write access to webhooks + payments.read: Grand read access to payments + payments.write: Grand write access to payments + items.read: Grand read acces to items + items.write: Grand write acces to items + invoicing.read: Grant read access to invoicing + notifications.read: Grant read access to notifications + notifications.write: Grant write access to notifications + accounting-entry.read: Grant read access to accounting entries + accounting-entry.write: Grant write access to accounting entries + invoices.read: Grant read access to invoices + invoices.write: Grant write access to invoices + api-v1: >- + Grant full access to API v1 with API v2 access tokens. Caution, + this scope gives access to all sellsy functionality + credit-notes.read: Grant read access to credit-notes + credit-notes.write: Grant write access to credit-notes + document-layouts.read: Grant read access to document layouts + rate-categories.read: Grant read access to rate categories + rate-categories.write: Grant write access to rate categories + files.write: Grants write access to files + files.read: Grants read access to files + adyen.read: Grant read access to adyen + adyen.write: Grant write access to adyen + subscriptions.write: Grant write access to subscription + subscriptions.read: Grant read access to subscription + models.write: Grant write access to models + models.read: Grant read access to models + objectives.read: Grant read access to objectives + objectives.write: Grant write access to objectives + primes.read: Grant read access to primes + discount-incl-taxes.read: Grant read access to discount including taxes + discount-incl-taxes.write: Grant write access to discount including taxes + clientCredentials: + tokenUrl: https://login.sellsy.com/oauth2/access-tokens + scopes: {} + description: "### Client OAuth\nYou can generate a new OAuth 2 client for the V2 API, from the developer page of your Sellsy account (https://www.sellsy.fr/developer/api-v2).\n\nSeveral types of clients are available:\n\n- **Private:** API access limited to staffs of your SELLSY account.\n A flow by authorization code will be required\n- **Personal**: API access linked to an staff.\n The use of client credentials flow is possible.\n- **Public**: API access to connect to all SELLSY accounts.\n A validation of SELLSY and a flow by authorization code will be required.\n\n### Authorization Code Flow\nSee https://www.oauth.com/oauth2-servers/server-side-apps/authorization-code/\n\n**PKCE** is required when using the authorization code flow. https://www.oauth.com/oauth2-servers/pkce/\n\n- **Authorization URL:** https://login.sellsy.com/oauth2/authorization\n- **Token URL:** https://login.sellsy.com/oauth2/access-tokens\n- **Refresh URL:** https://login.sellsy.com/oauth2/access-tokens\n\n\n#### Example:\nCall `https://login.sellsy.com/oauth2/authorization?response_type=code&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&code_challenge=YOUR_PKCE_CODE_CHALENGE&code_challenge_method=S256`\n\nAfter authentication, a redirection will be performed on the redirection uri. The authaurization code will be retrieved in the query parameter `code` .\n\nThis code can now be exchanged for an access token:\n```bash\ncurl -X POST \\\n https://login.sellsy.com/oauth2/access-tokens \\\n -d '{\n\t\"grant_type\": \"authorization_code\",\n\t\"client_id\": \"YOUR_CLIENT_ID\",\n\t\"redirect_uri\": \"YOUR_REDIRECT_URI\",\n\t\"code_verifier\": \"YOUR_PKCE_CODE_VERIFIER\",\n\t\"code\": \"THE_CODE\"\n}'\n# Response\n{\n \"token_type\": \"Bearer\",\n \"expires_in\": 3600,\n \"access_token\": \"YOUR_ACCESS_TOKEN\",\n \"refresh_token\": \"YOUR_REFRESH_TOKEN\"\n}\n# Use API\ncurl -X GET \\\n 'https://api.sellsy.com/v2/teams' \\\n --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'\n```\n\nYou can request a new access token, from the refresh token previously retrieved:\n```bash\ncurl -X POST \\\n https://login.sellsy.com/oauth2/access-tokens \\\n -d '{\n\t\"grant_type\": \"refresh_token\",\n\t\"client_id\": \"YOUR_CLIENT_ID\",\n\t\"client_secret\": \"YOUR_CLIENT_SECRET\"\n\t\"refresh_token\": \"YOUR_REFRESH_TOKEN\"\n}'\n# Response\n{\n \"token_type\": \"Bearer\",\n \"expires_in\": 3600,\n \"access_token\": \"YOUR_NEW_ACCESS_TOKEN\",\n \"refresh_token\": \"YOUR_NEW_REFRESH_TOKEN\"\n}\n```\n\n### Client Credential Flow\nSee https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/\n\nOnly personal clients can use this authentication flow.\n\n**Token URL:** https://login.sellsy.com/oauth2/access-tokens\n\n#### Example:\n```bash\ncurl -X POST \\\n https://login.sellsy.com/oauth2/access-tokens \\\n -d '{\n\t\"grant_type\": \"client_credentials\",\n\t\"client_id\": \"YOUR_CLIENT_ID\",\n\t\"client_secret\": \"YOUR_CLIENT_SECRET\"\n}'\n# Response\n{\n \"token_type\": \"Bearer\",\n \"expires_in\": 3600,\n \"access_token\": \"YOUR_ACCESS_TOKEN\"\n}\n# Use API\ncurl -X GET \\\n 'https://api.sellsy.com/v2/teams' \\\n --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'\n```\n### Tokens expiration\n- **Authorization Code:** 10 min\n- **Access Token:** 24 hours\n- **Refresh Token:** 60 days" +konfigCliVersion: 1.38.34 diff --git a/sdks/db/fixed-specs/relysia-fixed-spec.yaml b/sdks/db/fixed-specs/relysia-fixed-spec.yaml new file mode 100644 index 000000000..10758d723 --- /dev/null +++ b/sdks/db/fixed-specs/relysia-fixed-spec.yaml @@ -0,0 +1,14146 @@ +openapi: 3.0.3 +info: + title: Relysia Blockchain API + description: Relysia makes blockchain adoption frictionless and easy. + version: 2.4.8 +servers: + - url: https://api.relysia.com +tags: + - name: admin + - description: Blockchain transaction related APIs. + name: Transactions + externalDocs: + description: Our Documentation + url: https://docs.relysia.com/payments/transactions + - description: Useful blockchain tools. + name: Utility + externalDocs: + description: Our documentation + url: https://docs.relysia.com/utility + - description: Blockchain wallet management related APIs. + name: Wallets + externalDocs: + description: 'Our Documentation:' + url: https://docs.relysia.com/wallets + - description: BSV alias related APIs + name: paymail + - description: Token and Smart Contract related APIs. + name: Smart Contracts + externalDocs: + description: Our documentation + url: https://docs.relysia.com/token + - description: User Authentication and Registration. + name: Authentication + externalDocs: + description: find more info about auth Api + url: https://docs.relysia.com/getting-started/setup + - description: 'Danger Zone: Delete Entries from the DB.' + name: Delete + - name: quota + - description: Push Notifications. + name: Notifications + - description: User identity related APIs. + name: Identity + externalDocs: + description: find more info about user Api. + url: https://docs.relysia.com/getting-started/setup +paths: + /: + get: + tags: + - Utility + operationId: Utility_getData + responses: + '200': + description: Default Response + /v1/issue: + post: + tags: + - Smart Contracts + summary: Mint a Token. + operationId: SmartContracts_mintToken + security: + - authToken: [] + - serviceID: [] + description: >- + Mint a token with given specifications (can be both token or NFT). More + on docs.relysia.com. + parameters: + - schema: + type: string + default: STAS + in: header + name: protocol + required: false + - schema: + type: boolean + default: 'false' + in: header + name: reminting + required: false + - schema: + type: string + in: header + name: walletID + required: false + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SmartContractsMintTokenRequest' + examples: + example1: + value: + description: A supermarket bonus point. + name: Store Bonus Points + protocolId: STAS + symbol: SBP + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + tokenSupply: 3 + decimals: 0 + satsPerToken: 1 + properties: + legal: + terms: >- + STAS, Inc. retains all rights to the token script. Use + is subject to terms at https://stastoken.com/license. + licenceId: stastoken.com + issuer: + organisation: Vaionex Corp. + legalForm: Limited + governingLaw: US + issuerCountry: US + jurisdiction: US + email: info@vaionex.com + meta: + schemaId: STAS1.0 + website: vaionex.com + legal: + terms: Your token terms and description. + media: + - URI: string + type: string + altURI: string + splitable: true + data: {} + example2: + value: + description: A supermarket bonus point. + name: Store Bonus Points + protocolId: STAS-20 + symbol: SBP + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + tokenSupply: 3 + decimals: 0 + satsPerToken: 1 + properties: + legal: + terms: >- + STAS, Inc. retains all rights to the token script. Use + is subject to terms at https://stastoken.com/license. + licenceId: stastoken.com + issuer: + organisation: Vaionex Corp. + legalForm: Limited + governingLaw: US + issuerCountry: US + jurisdiction: US + email: info@vaionex.com + meta: + schemaId: STAS1.0 + website: vaionex.com + legal: + terms: Your token terms and description. + media: + - URI: string + type: string + altURI: string + splitable: true + data: + data1: + - data1 + - data2 + data2: + - data1 + - data2 + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/SmartContractsMintTokenResponse' + example: + statusCode: 200 + data: + status: success + msg: Token created successfully. + tokenId: cb75d56ad85630475ca4af078dcbf37828970d8d-HELLO12344 + tokenObj: + description: A supermarket bonus point. + userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + symbol: HELLO12344 + name: Store Bonus Points + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + totalSupply: 3 + satsPerToken: 1 + decimals: 0 + properties: + legal: + terms: >- + STAS, Inc. retains all rights to the token script. + Use is subject to terms at + https://stastoken.com/license. + licenceId: stastoken.com + issuer: + organisation: Vaionex Corp. + legalForm: Limited + governingLaw: US + issuerCountry: US + jurisdiction: US + email: info@vaionex.com + meta: + schemaId: STAS1.0 + website: vaionex.com + legal: + terms: Your token terms and description. + media: + - URI: string + type: string + altURI: string + splittable: true + protocolId: STAS + contractTxid: >- + ec376960b7cf25ae846338253e403082fe5f4bc76d06ad547bf03403ee4403b5 + issueTxid: >- + e3dcb8dfee84a7a510b1b073d7b1b773ac61749370e51a6dbe38d8171213d36f + contractAddress: 1KYoLAjrtNGULBHvPy1fT6T5xwqtcFQ4yA + contractPublickey: >- + 02e8f852e5015f8f12c228992a84b3b70c6789630b9ebef70529b802061db7a42f + splitable: true + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/SmartContractsMintToken400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/token/{id}: + get: + tags: + - Smart Contracts + summary: Get STAS token details. + operationId: SmartContracts_getTokenDetails + description: Insert your STAS tokenId to receive information about it. + parameters: + - schema: + type: string + in: path + name: id + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/SmartContractsGetTokenDetailsResponse' + example: + statusCode: 200 + data: + description: A supermarket bonus point. + status: success + msg: Token details fetched successfully + token_id: 8a9e7ec666f0610ff3f0540ed55f07162e9dd7a8 + symbol: SBPgdsfgdfsgds + name: Store Bonus Points + schema_id: STAS1.0 + protocol: STAS-789 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + total_supply: 3 + sats_per_token: 1 + splitable: false + properties: + legal: + terms: >- + STAS, Inc. retains all rights to the token script. Use + is subject to terms at https://stastoken.com/license. + licenceId: stastoken.com + issuer: + organisation: Vaionex Corp. + legal_form: Limited + governing_law: US + issuer_country: US + jurisdiction: US + email: info@vaionex.com + meta: + legal: '{"terms":"Your token terms and description."}' + media: '[{"URI":"string","type":"string","altURI":"string"}]' + schemaId: STAS1.0 + website: vaionex.com + contract_txs: + - >- + d1f376ffb62f30efdd1336ec379eb462ab1068dd67a55789ab1c445cf35c540d + issuance_txs: + - >- + 7f06cdece4c08192e8872be802f120b85f0610e6f8e448b85c301e89ccc5bfe1 + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/SmartContractsGetTokenDetails400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/URI: + get: + tags: + - Utility + summary: Resolve address and paymail alias information. + operationId: Utility_resolveAddressInfo + description: >- + The URI endpoint helps developers to resolve addresses, paymails and + invoices and puts them into a standardized response format. + parameters: + - schema: + type: string + in: header + name: uri + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/UtilityResolveAddressInfoResponse' + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + data: + uri: payto:91@dev.relysia.com?amount=1 + type: paymail + mainProtocol: paymail + outputs: + - script: 76a9141a608132952ba364d19d6ef0c09e074fb3fcfedf88ac + satoshis: 1 + inputs: [] + memo: Send to 91@dev.relysia.com + isBSV: true + peer: >- + https://dev.relysia.com/api/bsvalias/receive-transaction/91@dev.relysia.com + peerData: >- + eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJ2ZXJzaW9uIjoxLCJkZXJpdmF0aW9uUm9vdFBhdGgiOiJtLzUiLCJkZXJpdmF0aW9uUm9vdEluZGV4IjozOTE1LCJjb3VudCI6MX0.vgN6mSoxuVzSmdwXA_hJtvS_s6xyFdRVedsFAx4mt5K2fsI0Ps2pw4OCXWy6msUbAKYGOEeAqs9BoyJCOlgyng + peerProtocol: paymail + example2: + value: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + data: + uri: >- + bitcoin:13ofTSnVngWV8VgvqpYZE4YuaWuARBkBp3?amount=0.00000001 + type: bip21 + mainProtocol: bip21 + outputs: + - script: 76a9141ec37cb9f5ab9ae49be75e8d45c02d1f2fd1c5a288ac + satoshis: 1 + inputs: [] + memo: Payment to Address + isBSV: false + peer: null + peerData: null + peerProtocol: null + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/UtilityResolveAddressInfo400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/signUp: + post: + tags: + - Authentication + summary: User Registration. + operationId: Authentication_createUserToken + security: + - serviceID: [] + description: >- + Creates a new user and returns the auth token required for API + interactions. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticationCreateUserTokenRequest' + examples: + example1: + value: + email: satoshiasdsa@gmail.com + password: 4m4z1ngT3ch + example2: + value: + email: satoshiasdsa@gmail.com + password: 4m4z1ngT3ch + photo: Base64 encoded image + example3: + value: + email: satoshiasdsa@gmail.com + password: 4m4z1ngT3ch + displayName: Satoshi Nakamoto + example4: + value: + email: satoshiasdsa@gmail.com + password: 4m4z1ngT3ch + photo: Base64 encoded image + displayName: Satoshi Nakamoto + required: true + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticationCreateUserTokenResponse' + example: + statusCode: 200 + data: + status: success + msg: User created successfully. + token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 + userId: 5f1b0b3b1c9d440000f3e9b0 + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticationCreateUserToken400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/auth: + post: + tags: + - Authentication + summary: Login Endpoint. + operationId: Authentication_userLogin + security: + - serviceID: [] + description: Login with an existing user account. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticationUserLoginRequest' + example: + email: satoshiasdsa@gmail.com + password: 4m4z1ngT3ch + required: true + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticationUserLoginResponse' + example: + statusCode: 200 + data: + status: success + msg: Login successful + token: >- + eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZXJ2aWNlSWQiOiIxMjM0NTY3ODkwIiwiaWF0IjoxNTE2M + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticationUserLogin400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/password/change: + post: + tags: + - Authentication + summary: Change password Endpoint + operationId: Authentication_changeUserPassword + security: + - authToken: [] + - serviceID: [] + description: Change password endpoint for existing users to change their password. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticationChangeUserPasswordRequest' + example: + newPassword: 4m4z1ngT3ch + required: true + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticationChangeUserPasswordResponse' + example: + statusCode: 200 + data: + status: success + msg: Password changed successfully. + token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 + userId: 5e8b2c9b0f1c1a1b1c1d1e1f + '400': + description: Bad request + content: + application/json: + schema: + $ref: >- + #/components/schemas/AuthenticationChangeUserPassword400Response + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/user: + get: + tags: + - Identity + summary: Profile details. + operationId: Identity_getProfileDetails + security: + - authToken: [] + - serviceID: [] + description: Call the /User endpoint to receive all account specific information. + parameters: + - schema: + type: string + in: header + name: oauth + required: false + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/IdentityGetProfileDetailsResponse' + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: User details fetched successfully + userDetails: + userId: 5f7f1b9b9b9b9b9b9b9b9b9b + passwordHash: $2b$1 + passwordUpdatedAt: 1602222222 + validSince: '2020-10-10T10:10:10.000Z' + lastLoginAt: '2020-10-10T10:10:10.000Z' + createdAt: '2020-10-10T10:10:10.000Z' + lastRefreshAt: '2020-10-10T10:10:10.000Z' + photo: https://example.com/photo.jpg + displayName: John Doe + phoneNumber: +1-202-555-0104 + example2: + value: + statusCode: 200 + data: + status: success + msg: User details fetched successfully + userDetails: + userId: 5f7f1b9b9b9b9b9b9b9b9b9b + passwordHash: $2b$1 + passwordUpdatedAt: 1602222222 + validSince: '2020-10-10T10:10:10.000Z' + lastLoginAt: '2020-10-10T10:10:10.000Z' + createdAt: '2020-10-10T10:10:10.000Z' + lastRefreshAt: '2020-10-10T10:10:10.000Z' + photo: null + displayName: null + phoneNumber: null + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/IdentityGetProfileDetails400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + delete: + tags: + - Delete + summary: delete user account + operationId: Delete_userAccount + security: + - authToken: [] + - serviceID: [] + description: >- + you can delete user related whole data like wallets, paymail, account + etc. + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteUserAccountResponse' + example: + statusCode: 200 + data: + status: success + msg: account deleted successfully ! + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteUserAccount400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/send: + post: + tags: + - Transactions + summary: Transfer coins to an address. + operationId: Transactions_createTransactionToAddress + security: + - authToken: [] + - serviceID: [] + description: >- + Use the /send endpoint to create transactions to peers. The /send + endpoint is agnostic to sending either Tokens or BSV. + parameters: + - schema: + type: string + in: header + name: walletID + required: false + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsCreateTransactionToAddressRequest + examples: + example1: + value: + dataArray: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 0.000005 + example2: + value: + dataArray: + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + example3: + value: + dataArray: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 0.000005 + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 0.000005 + notes: test + example4: + value: + dataArray: + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 5 + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 3 + notes: test + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 3 + notes: test + data: + - test1 + - test2 + example5: + value: + bundle: false + dataArray: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 1.e-7 + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 1.e-7 + required: true + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsCreateTransactionToAddressResponse + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + errors: [] + example2: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + - >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + errors: [] + example3: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 18d3c8cef40ba055e8151c9377d4c5f144dd1fe44f83f07079e2d0046dc79bc9 + errors: [] + '400': + description: Bad request + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsCreateTransactionToAddress400Response + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/rawtx: + post: + tags: + - Transactions + summary: Build and return a rawTx + operationId: Transactions_createRawTx + security: + - authToken: [] + - serviceID: [] + description: >- + Use the /rawTx endpoint containing a single input and output. + Transactions can be held and the utxo that is used will be blocked from + the user access. + parameters: + - schema: + type: string + in: header + name: walletID + required: false + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsCreateRawTxRequest' + examples: + example1: + value: + dataArray: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 0.000005 + example2: + value: + dataArray: + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + example3: + value: + dataArray: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 0.000005 + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 0.000005 + notes: test + data: + - test1 + - test2 + example4: + value: + dataArray: + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 5 + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 3 + notes: test + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 3 + notes: test + data: + - test1 + - test2 + required: true + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsCreateRawTxResponse' + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + rawTxs: + - >- + 0100000002e36d2003986bc84d1dec875ed686960e3794334c2e53bd8ee0d7897e4bf3f521000000006a4730440220063953703f06f9557691dba7b0424b9a1ca6dba2ec35bae7dd41e7b15fd38f1d0220439c01459709def5c824ded74102f4170ab3cee9ba7ab9f3b92dc80d7fcecf74412103c63be73d975c3f6274539704e27b2cb811bcc80dc11e95157cef3df8a5b3ac36ffffffffe36d2003986bc84d1dec875ed686960e3794334c2e53bd8ee0d7897e4bf3f521010000006b483045022100e5e0b6e4a61b7bad5c69a5b83032d6a48bb5976d582d52c881db2910ad79bb58022040a10e7dd9cde95c3756c63f33d6b5c119f35dcb4cedd29cc4424bf01e3548ed4121020824bb65d1cc92de2a37410e4279211a0d53788140a528b17f7ada7f4ad8a9a9ffffffff0101000000000000001976a91447431db9649fd75c28834cb152f17cc8ea7fa11f88ac00000000 + example2: + value: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + rawTxs: + - rawtx: >- + 010000000227e26846dea42dd3aec67b801205b500cfbef214e630ea3ecbc7f2d24ce362e800000000fdc5075114fa6e04492aa0ce9eaa5aea00f1e6ac76ea8b5eba54148d30f8237c83b899e51f41a27e1317a735749f6d002002a733b75ebe47ee5600f38034e5a3019935405751ebc63db24c5d9fde623cec004d0907010000004f278468deaeedfb0010da3278cbbb88c2c496bbfffab8749d1fd85c039ff4c7752adad0a7b9ceca853768aebb6965eca126a62965f698a0c1bc43d83db632ad27e26846dea42dd3aec67b801205b500cfbef214e630ea3ecbc7f2d24ce362e800000000fd6a0676a9148da5aaef86362ed2487f5a01380886480617487c88ac6976aa607f5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7c5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01007e818b21414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff007d976e7c5296a06394677768827601249301307c7e23022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798027e7c7e7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01417e21038ff83d8cf12121491609c4939dc11c4aa35503508fe432dc5a5c1905608b9218ad547f7701207f01207f7701247f517f7801007e8102fd00a063546752687f7801007e817f727e7b01177f777b557a766471567a577a786354807e7e676d68aa880067765158a569765187645294567a5379587a7e7e78637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6867567a6876aa587a7d54807e577a597a5a7a786354807e6f7e7eaa727c7e676d6e7eaa7c687b7eaa587a7d877663516752687c72879b69537a647500687c7b547f77517f7853a0916901247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77788c6301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f777852946301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77686877517f7c52797d8b9f7c53a09b91697c76638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6876638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6863587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f7768587f517f7801007e817602fc00a06302fd00a063546752687f7801007e81727e7b7b687f75537f7c0376a9148801147f775379645579887567726881766968789263556753687a76026c057f7701147f8263517f7c766301007e817f7c6775006877686b537992635379528763547a6b547a6b677c6b567a6b537a7c717c71716868547a587f7c81547a557964936755795187637c686b687c547f7701207f75748c7a7669765880748c7a76567a876457790376a9147e7c7e557967041976a9147c7e0288ac687e7e5579636c766976748c7a9d58807e6c0376a9147e748c7a7e6c7e7e676c766b8263828c007c80517e846864745aa0637c748c7a76697d937b7b58807e56790376a9147e748c7a7e55797e7e6868686c567a5187637500678263828c007c80517e846868647459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e687459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e68687c537a9d547963557958807e041976a91455797e0288ac7e7e68aa87726d77776a1400b91626e0a4b97f624bc1f0d8fa3a3ef35ac6640100064b30513447384cc87c20565354207c2062343836613566623363386239616437366161363137393830306539666265373339313562363839383761636664383432326136326663346265616134356263207c2068747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f392f39352f546573745f696d6167652e6a7067207c2037207c2031207c205465737420546f6b656e202d2047656e657261746564206175746f6d61746963616c6c7920666f726d207465737473207c2030207c0100000000000000ffffffff01770f392bdddc76123f01a331b066d69d51ec56592574c1b7a8041999ea65be0000000041000000473044022026db83cccbd78b22d4c93080f916a00a5901eac67f675d553d5036869632d63e02205736dbc31e972c84bbc2e391db430022158f7e3b263d9c479589ce9e347edcd54121031a574b129d4dd0c9e0eae917bf06711d22219a2281debcc6c9bb5a6e87bb7c3fffffffff02a733b75ebe47ee5600f38034e5a3019935405751ebc63db24c5d9fde623cec000000006b483045022100bb0e41f70df285e205a8285dcb718ce7fd9539c93414e9a149ac6c427a043abb0220012213d0ba9e8905d2f39886b24b8457b5e06c2bc2c37dad0dd806c4107af7be4121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff020100000000000000fd6a0676a914fa6e04492aa0ce9eaa5aea00f1e6ac76ea8b5eba88ac6976aa607f5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7c5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01007e818b21414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff007d976e7c5296a06394677768827601249301307c7e23022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798027e7c7e7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01417e21038ff83d8cf12121491609c4939dc11c4aa35503508fe432dc5a5c1905608b9218ad547f7701207f01207f7701247f517f7801007e8102fd00a063546752687f7801007e817f727e7b01177f777b557a766471567a577a786354807e7e676d68aa880067765158a569765187645294567a5379587a7e7e78637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6867567a6876aa587a7d54807e577a597a5a7a786354807e6f7e7eaa727c7e676d6e7eaa7c687b7eaa587a7d877663516752687c72879b69537a647500687c7b547f77517f7853a0916901247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77788c6301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f777852946301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77686877517f7c52797d8b9f7c53a09b91697c76638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6876638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6863587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f7768587f517f7801007e817602fc00a06302fd00a063546752687f7801007e81727e7b7b687f75537f7c0376a9148801147f775379645579887567726881766968789263556753687a76026c057f7701147f8263517f7c766301007e817f7c6775006877686b537992635379528763547a6b547a6b677c6b567a6b537a7c717c71716868547a587f7c81547a557964936755795187637c686b687c547f7701207f75748c7a7669765880748c7a76567a876457790376a9147e7c7e557967041976a9147c7e0288ac687e7e5579636c766976748c7a9d58807e6c0376a9147e748c7a7e6c7e7e676c766b8263828c007c80517e846864745aa0637c748c7a76697d937b7b58807e56790376a9147e748c7a7e55797e7e6868686c567a5187637500678263828c007c80517e846868647459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e687459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e68687c537a9d547963557958807e041976a91455797e0288ac7e7e68aa87726d77776a1400b91626e0a4b97f624bc1f0d8fa3a3ef35ac6640100064b30513447384cc87c20565354207c2062343836613566623363386239616437366161363137393830306539666265373339313562363839383761636664383432326136326663346265616134356263207c2068747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f392f39352f546573745f696d6167652e6a7067207c2037207c2031207c205465737420546f6b656e202d2047656e657261746564206175746f6d61746963616c6c7920666f726d207465737473207c2030207c04000000000000001976a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac00000000 + example3: + value: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + rawTxs: + - >- + 0100000002e36d2003986bc84d1dec875ed686960e3794334c2e53bd8ee0d7897e4bf3f521000000006a4730440220063953703f06f9557691dba7b0424b9a1ca6dba2ec35bae7dd41e7b15fd38f1d0220439c01459709def5c824ded74102f4170ab3cee9ba7ab9f3b92dc80d7fcecf74412103c63be73d975c3f6274539704e27b2cb811bcc80dc11e95157cef3df8a5b3ac36ffffffffe36d2003986bc84d1dec875ed686960e3794334c2e53bd8ee0d7897e4bf3f521010000006b483045022100e5e0b6e4a61b7bad5c69a5b83032d6a48bb5976d582d52c881db2910ad79bb58022040a10e7dd9cde95c3756c63f33d6b5c119f35dcb4cedd29cc4424bf01e3548ed4121020824bb65d1cc92de2a37410e4279211a0d53788140a528b17f7ada7f4ad8a9a9ffffffff0101000000000000001976a91447431db9649fd75c28834cb152f17cc8ea7fa11f88ac00000000 + - >- + 0100000002050495956b562d31679124288101008e85f844787d9e5e62cc738f3b7ab4893a000000006a47304402201f8d1cb5d28d446cee5aad22f606a5fe743d69ecc9a4e1f692550e5ac0a8edf002202aa6e86a8c4cffad21b3af615a88467b0246ab9664350035885e7c0715c0d991412103c63be73d975c3f6274539704e27b2cb811bcc80dc11e95157cef3df8a5b3ac36ffffffff050495956b562d31679124288101008e85f844787d9e5e62cc738f3b7ab4893a010000006b483045022100a3b373d96ce85974d4f75dc160fbf1a2d8e08861a167e22a171c7a2de4f534a4022063ba605fff149e350b5b3806e6c5ed025d29e6d93f4fade7744b447f7fa3eea64121020824bb65d1cc92de2a37410e4279211a0d53788140a528b17f7ada7f4ad8a9a9ffffffff0101000000000000001976a91477cb578d9fab608a794871e6c994c6ff2e55a70788ac00000000 + example4: + value: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + rawTxs: + - rawtx: >- + 010000000227e26846dea42dd3aec67b801205b500cfbef214e630ea3ecbc7f2d24ce362e800000000fdc5075114fa6e04492aa0ce9eaa5aea00f1e6ac76ea8b5eba54148d30f8237c83b899e51f41a27e1317a735749f6d002002a733b75ebe47ee5600f38034e5a3019935405751ebc63db24c5d9fde623cec004d0907010000004f278468deaeedfb0010da3278cbbb88c2c496bbfffab8749d1fd85c039ff4c7752adad0a7b9ceca853768aebb6965eca126a62965f698a0c1bc43d83db632ad27e26846dea42dd3aec67b801205b500cfbef214e630ea3ecbc7f2d24ce362e800000000fd6a0676a9148da5aaef86362ed2487f5a01380886480617487c88ac6976aa607f5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7c5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01007e818b21414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff007d976e7c5296a06394677768827601249301307c7e23022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798027e7c7e7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01417e21038ff83d8cf12121491609c4939dc11c4aa35503508fe432dc5a5c1905608b9218ad547f7701207f01207f7701247f517f7801007e8102fd00a063546752687f7801007e817f727e7b01177f777b557a766471567a577a786354807e7e676d68aa880067765158a569765187645294567a5379587a7e7e78637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6867567a6876aa587a7d54807e577a597a5a7a786354807e6f7e7eaa727c7e676d6e7eaa7c687b7eaa587a7d877663516752687c72879b69537a647500687c7b547f77517f7853a0916901247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77788c6301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f777852946301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77686877517f7c52797d8b9f7c53a09b91697c76638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6876638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6863587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f7768587f517f7801007e817602fc00a06302fd00a063546752687f7801007e81727e7b7b687f75537f7c0376a9148801147f775379645579887567726881766968789263556753687a76026c057f7701147f8263517f7c766301007e817f7c6775006877686b537992635379528763547a6b547a6b677c6b567a6b537a7c717c71716868547a587f7c81547a557964936755795187637c686b687c547f7701207f75748c7a7669765880748c7a76567a876457790376a9147e7c7e557967041976a9147c7e0288ac687e7e5579636c766976748c7a9d58807e6c0376a9147e748c7a7e6c7e7e676c766b8263828c007c80517e846864745aa0637c748c7a76697d937b7b58807e56790376a9147e748c7a7e55797e7e6868686c567a5187637500678263828c007c80517e846868647459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e687459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e68687c537a9d547963557958807e041976a91455797e0288ac7e7e68aa87726d77776a1400b91626e0a4b97f624bc1f0d8fa3a3ef35ac6640100064b30513447384cc87c20565354207c2062343836613566623363386239616437366161363137393830306539666265373339313562363839383761636664383432326136326663346265616134356263207c2068747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f392f39352f546573745f696d6167652e6a7067207c2037207c2031207c205465737420546f6b656e202d2047656e657261746564206175746f6d61746963616c6c7920666f726d207465737473207c2030207c0100000000000000ffffffff01770f392bdddc76123f01a331b066d69d51ec56592574c1b7a8041999ea65be0000000041000000473044022026db83cccbd78b22d4c93080f916a00a5901eac67f675d553d5036869632d63e02205736dbc31e972c84bbc2e391db430022158f7e3b263d9c479589ce9e347edcd54121031a574b129d4dd0c9e0eae917bf06711d22219a2281debcc6c9bb5a6e87bb7c3fffffffff02a733b75ebe47ee5600f38034e5a3019935405751ebc63db24c5d9fde623cec000000006b483045022100bb0e41f70df285e205a8285dcb718ce7fd9539c93414e9a149ac6c427a043abb0220012213d0ba9e8905d2f39886b24b8457b5e06c2bc2c37dad0dd806c4107af7be4121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff020100000000000000fd6a0676a914fa6e04492aa0ce9eaa5aea00f1e6ac76ea8b5eba88ac6976aa607f5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7c5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01007e818b21414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff007d976e7c5296a06394677768827601249301307c7e23022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798027e7c7e7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01417e21038ff83d8cf12121491609c4939dc11c4aa35503508fe432dc5a5c1905608b9218ad547f7701207f01207f7701247f517f7801007e8102fd00a063546752687f7801007e817f727e7b01177f777b557a766471567a577a786354807e7e676d68aa880067765158a569765187645294567a5379587a7e7e78637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6867567a6876aa587a7d54807e577a597a5a7a786354807e6f7e7eaa727c7e676d6e7eaa7c687b7eaa587a7d877663516752687c72879b69537a647500687c7b547f77517f7853a0916901247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77788c6301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f777852946301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77686877517f7c52797d8b9f7c53a09b91697c76638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6876638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6863587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f7768587f517f7801007e817602fc00a06302fd00a063546752687f7801007e81727e7b7b687f75537f7c0376a9148801147f775379645579887567726881766968789263556753687a76026c057f7701147f8263517f7c766301007e817f7c6775006877686b537992635379528763547a6b547a6b677c6b567a6b537a7c717c71716868547a587f7c81547a557964936755795187637c686b687c547f7701207f75748c7a7669765880748c7a76567a876457790376a9147e7c7e557967041976a9147c7e0288ac687e7e5579636c766976748c7a9d58807e6c0376a9147e748c7a7e6c7e7e676c766b8263828c007c80517e846864745aa0637c748c7a76697d937b7b58807e56790376a9147e748c7a7e55797e7e6868686c567a5187637500678263828c007c80517e846868647459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e687459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e68687c537a9d547963557958807e041976a91455797e0288ac7e7e68aa87726d77776a1400b91626e0a4b97f624bc1f0d8fa3a3ef35ac6640100064b30513447384cc87c20565354207c2062343836613566623363386239616437366161363137393830306539666265373339313562363839383761636664383432326136326663346265616134356263207c2068747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f392f39352f546573745f696d6167652e6a7067207c2037207c2031207c205465737420546f6b656e202d2047656e657261746564206175746f6d61746963616c6c7920666f726d207465737473207c2030207c04000000000000001976a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac00000000 + - rawtx: >- + 010000000227e26846dea42dd3aec67b801205b500cfbef214e630ea3ecbc7f2d24ce362e800000000fdc5075114fa6e04492aa0ce9eaa5aea00f1e6ac76ea8b5eba54148d30f8237c83b899e51f41a27e1317a735749f6d002002a733b75ebe47ee5600f38034e5a3019935405751ebc63db24c5d9fde623cec004d0907010000004f278468deaeedfb0010da3278cbbb88c2c496bbfffab8749d1fd85c039ff4c7752adad0a7b9ceca853768aebb6965eca126a62965f698a0c1bc43d83db632ad27e26846dea42dd3aec67b801205b500cfbef214e630ea3ecbc7f2d24ce362e800000000fd6a0676a9148da5aaef86362ed2487f5a01380886480617487c88ac6976aa607f5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7c5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01007e818b21414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff007d976e7c5296a06394677768827601249301307c7e23022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798027e7c7e7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01417e21038ff83d8cf12121491609c4939dc11c4aa35503508fe432dc5a5c1905608b9218ad547f7701207f01207f7701247f517f7801007e8102fd00a063546752687f7801007e817f727e7b01177f777b557a766471567a577a786354807e7e676d68aa880067765158a569765187645294567a5379587a7e7e78637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6867567a6876aa587a7d54807e577a597a5a7a786354807e6f7e7eaa727c7e676d6e7eaa7c687b7eaa587a7d877663516752687c72879b69537a647500687c7b547f77517f7853a0916901247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77788c6301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f777852946301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77686877517f7c52797d8b9f7c53a09b91697c76638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6876638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6863587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f7768587f517f7801007e817602fc00a06302fd00a063546752687f7801007e81727e7b7b687f75537f7c0376a9148801147f775379645579887567726881766968789263556753687a76026c057f7701147f8263517f7c766301007e817f7c6775006877686b537992635379528763547a6b547a6b677c6b567a6b537a7c717c71716868547a587f7c81547a557964936755795187637c686b687c547f7701207f75748c7a7669765880748c7a76567a876457790376a9147e7c7e557967041976a9147c7e0288ac687e7e5579636c766976748c7a9d58807e6c0376a9147e748c7a7e6c7e7e676c766b8263828c007c80517e846864745aa0637c748c7a76697d937b7b58807e56790376a9147e748c7a7e55797e7e6868686c567a5187637500678263828c007c80517e846868647459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e687459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e68687c537a9d547963557958807e041976a91455797e0288ac7e7e68aa87726d77776a1400b91626e0a4b97f624bc1f0d8fa3a3ef35ac6640100064b30513447384cc87c20565354207c2062343836613566623363386239616437366161363137393830306539666265373339313562363839383761636664383432326136326663346265616134356263207c2068747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f392f39352f546573745f696d6167652e6a7067207c2037207c2031207c205465737420546f6b656e202d2047656e657261746564206175746f6d61746963616c6c7920666f726d207465737473207c2030207c0100000000000000ffffffff01770f392bdddc76123f01a331b066d69d51ec56592574c1b7a8041999ea65be0000000041000000473044022026db83cccbd78b22d4c93080f916a00a5901eac67f675d553d5036869632d63e02205736dbc31e972c84bbc2e391db430022158f7e3b263d9c479589ce9e347edcd54121031a574b129d4dd0c9e0eae917bf06711d22219a2281debcc6c9bb5a6e87bb7c3fffffffff02a733b75ebe47ee5600f38034e5a3019935405751ebc63db24c5d9fde623cec000000006b483045022100bb0e41f70df285e205a8285dcb718ce7fd9539c93414e9a149ac6c427a043abb0220012213d0ba9e8905d2f39886b24b8457b5e06c2bc2c37dad0dd806c4107af7be4121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff020100000000000000fd6a0676a914fa6e04492aa0ce9eaa5aea00f1e6ac76ea8b5eba88ac6976aa607f5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7c5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01007e818b21414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff007d976e7c5296a06394677768827601249301307c7e23022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798027e7c7e7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01417e21038ff83d8cf12121491609c4939dc11c4aa35503508fe432dc5a5c1905608b9218ad547f7701207f01207f7701247f517f7801007e8102fd00a063546752687f7801007e817f727e7b01177f777b557a766471567a577a786354807e7e676d68aa880067765158a569765187645294567a5379587a7e7e78637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6867567a6876aa587a7d54807e577a597a5a7a786354807e6f7e7eaa727c7e676d6e7eaa7c687b7eaa587a7d877663516752687c72879b69537a647500687c7b547f77517f7853a0916901247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77788c6301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f777852946301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77686877517f7c52797d8b9f7c53a09b91697c76638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6876638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6863587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f7768587f517f7801007e817602fc00a06302fd00a063546752687f7801007e81727e7b7b687f75537f7c0376a9148801147f775379645579887567726881766968789263556753687a76026c057f7701147f8263517f7c766301007e817f7c6775006877686b537992635379528763547a6b547a6b677c6b567a6b537a7c717c71716868547a587f7c81547a557964936755795187637c686b687c547f7701207f75748c7a7669765880748c7a76567a876457790376a9147e7c7e557967041976a9147c7e0288ac687e7e5579636c766976748c7a9d58807e6c0376a9147e748c7a7e6c7e7e676c766b8263828c007c80517e846864745aa0637c748c7a76697d937b7b58807e56790376a9147e748c7a7e55797e7e6868686c567a5187637500678263828c007c80517e846868647459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e687459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e68687c537a9d547963557958807e041976a91455797e0288ac7e7e68aa87726d77776a1400b91626e0a4b97f624bc1f0d8fa3a3ef35ac6640100064b30513447384cc87c20565354207c2062343836613566623363386239616437366161363137393830306539666265373339313562363839383761636664383432326136326663346265616134356263207c2068747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f392f39352f546573745f696d6167652e6a7067207c2037207c2031207c205465737420546f6b656e202d2047656e657261746564206175746f6d61746963616c6c7920666f726d207465737473207c2030207c04000000000000001976a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac00000000 + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsCreateRawTx400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/migrateToken: + post: + tags: + - admin + summary: Migrate token + operationId: Admin_migrateTokenRequest + security: + - authToken: [] + - serviceID: [] + parameters: + - schema: + type: string + in: header + name: walletID + required: false + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/AdminMigrateTokenRequestResponse' + example: + statusCode: 200 + data: + status: success + msg: migration started successfully + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/AdminMigrateTokenRequest400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + deprecated: true + /v1/tokenMetrics: + get: + tags: + - Utility + summary: sync token from blockchain + operationId: Utility_syncTokenFromBlockchain + security: + - authToken: [] + - serviceID: [] + parameters: + - schema: + type: string + in: header + name: walletID + required: false + - schema: + type: boolean + default: false + in: header + name: force + required: false + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/UtilitySyncTokenFromBlockchainResponse' + example: + statusCode: 200 + data: + status: success + msg: migration started successfully + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/UtilitySyncTokenFromBlockchain400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/drop: + post: + tags: + - Transactions + summary: Withdraws coins from PrivateKeys. + operationId: Transactions_withdrawFromPrivateKey + security: + - serviceID: [] + description: >- + The drop endpoints allows users to transfer coins (BSV or Token) from a + PrivateKey. + parameters: + - schema: + type: string + in: header + name: secretKey + required: false + - schema: + type: string + in: header + name: privateKey + required: false + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsWithdrawFromPrivateKeyRequest' + examples: + example1: + value: + dataArray: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 0.000005 + example2: + value: + dataArray: + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + example3: + value: + dataArray: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 0.000005 + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 0.000005 + notes: test + data: + - test1 + - test2 + example4: + value: + dataArray: + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 5 + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 3 + notes: test + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 3 + notes: test + data: + - test1 + - test2 + required: true + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsWithdrawFromPrivateKeyResponse + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + errors: [] + example2: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + - >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + errors: [] + example3: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 18d3c8cef40ba055e8151c9377d4c5f144dd1fe44f83f07079e2d0046dc79bc9 + errors: [] + '400': + description: Bad request + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsWithdrawFromPrivateKey400Response + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/sweep: + post: + tags: + - Transactions + summary: Transfers all assets from PrivateKey to the User. + operationId: Transactions_transferAssetsFromPrivateKey + security: + - authToken: [] + - serviceID: [] + description: >- + The sweep endpoints allows users to transfer all coins (BSV and Tokens) + from a PrivateKey. + parameters: + - schema: + type: string + in: header + name: walletID + required: false + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsTransferAssetsFromPrivateKeyRequest + example: + privateKey: string + required: true + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsTransferAssetsFromPrivateKeyResponse + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + errors: [] + example2: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + - >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + errors: [] + example3: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 18d3c8cef40ba055e8151c9377d4c5f144dd1fe44f83f07079e2d0046dc79bc9 + errors: [] + '400': + description: Bad request + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsTransferAssetsFromPrivateKey400Response + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/offer: + post: + tags: + - Transactions + summary: Create an Atomic Swap + operationId: Transactions_createAtomicSwap + security: + - authToken: [] + - serviceID: [] + description: >- + This endpoint allows user to create a swap offer. For token to BSV swap + use tokenId, amount(number of tokens) and sn(optional serial number if + NFT) and wantedAmount in BSV value (decimal). For token to token swap + use wantedAmount(wanted number of tokens), wantedTokenId and + wantedSn(optional serial number if NFT), can also instead use + wantedScript using a token script hex value instead of wantedTokenId and + wantedSn + parameters: + - schema: + type: string + in: header + name: walletID + required: false + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsCreateAtomicSwapRequest' + examples: + example1: + value: + dataArray: + - tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + amount: 1 + wantedAmount: 1 + wantedTokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + example2: + value: + dataArray: + - tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + sn: 85 + amount: 1 + wantedAmount: 1 + wantedTokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + wantedSn: 45 + example3: + value: + dataArray: + - tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + amount: 1 + wantedAmount: 2.5e-7 + example4: + value: + dataArray: + - tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + sn: 85 + amount: 1 + wantedAmount: 2.5e-7 + example5: + value: + dataArray: + - amount: 2.5e-7 + wantedAmount: 1 + wantedTokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + example6: + value: + dataArray: + - amount: 2.5e-7 + wantedAmount: 1 + wantedTokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + wantedSn: 60 + example7: + value: + dataArray: + - amount: 2.5e-7 + wantedAmount: 1 + wantedTokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + - tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + amount: 1 + wantedAmount: 2.5e-7 + - tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + amount: 1 + wantedAmount: 1 + wantedTokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + example8: + value: + dataArray: + - amount: 2.5e-7 + wantedAmount: 1 + wantedTokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + wantedSn: 60 + - tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + sn: 85 + amount: 1 + wantedAmount: 2.5e-7 + - tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + sn: 85 + amount: 1 + wantedAmount: 1 + wantedTokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + wantedSn: 45 + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsCreateAtomicSwapResponse' + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Offer created successfully + contents: + - >- + 010000000184c5740d26e45e7d3574f51bc57346bdec86478669c4a4c90252acaa7a69353d000000006b483045022100876446ffa4fb4dbe362f00adca8d13c5010e5ef5dbfc3f261849fe267352bb2202201b367635c117cd1ce002033a12e115a56be5fa8f59cdaa2ed15f8ed683d23f6dc3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + example2: + value: + statusCode: 200 + data: + status: success + msg: Offer created successfully + contents: + - >- + 0100000001c5a3b200dce3761303df00166b7f424987ba7bce0ca2806ccfd6c0492fd43b98000000006a47304402201a289a73ca3c3e3dd183193c9c52fd1cbd1607d31769879b56da5eadd00071810220296232d51d8591406848eb4a7ee7dd246403de69237afbab687f0bc84e6354cbc3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + - >- + 0100000001b0619eea04bf5f1f765097cbbe2fad314dc6cedebedfe45e97bd30e261008820000000006a473044022075b1b3d916dc32bd7b4dd13e1681e5cb68944331a515ea5d169eb665f032617b022050d287f19c63d0b99a78af62ba580c4574b43373db134b9fc9cb157b9156d882c3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsCreateAtomicSwap400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/swap: + post: + tags: + - Transactions + summary: Accepting atomic swap offers. + operationId: Transactions_acceptSwapOffer + security: + - authToken: [] + - serviceID: [] + description: >- + This endpoint allows users to accept swap offers by passing respective + hex value values. + parameters: + - schema: + type: string + in: header + name: walletID + required: false + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsAcceptSwapOfferRequest' + examples: + example1: + value: + dataArray: + - swapHex: >- + 010000000184c5740d26e45e7d3574f51bc57346bdec86478669c4a4c90252acaa7a69353d000000006b483045022100876446ffa4fb4dbe362f00adca8d13c5010e5ef5dbfc3f261849fe267352bb2202201b367635c117cd1ce002033a12e115a56be5fa8f59cdaa2ed15f8ed683d23f6dc3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + example2: + value: + dataArray: + - swapHex: >- + 0100000001c5a3b200dce3761303df00166b7f424987ba7bce0ca2806ccfd6c0492fd43b98000000006a47304402201a289a73ca3c3e3dd183193c9c52fd1cbd1607d31769879b56da5eadd00071810220296232d51d8591406848eb4a7ee7dd246403de69237afbab687f0bc84e6354cbc3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + - swapHex: >- + 0100000001b0619eea04bf5f1f765097cbbe2fad314dc6cedebedfe45e97bd30e261008820000000006a473044022075b1b3d916dc32bd7b4dd13e1681e5cb68944331a515ea5d169eb665f032617b022050d287f19c63d0b99a78af62ba580c4574b43373db134b9fc9cb157b9156d882c3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsAcceptSwapOfferResponse' + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Swap offer accepted successfully. + txIds: + - >- + 2e74b8df67efebbd64e90994417f2c42b4eddd1c58327bb0d548453b2409bbe0 + errors: [] + example2: + value: + statusCode: 200 + data: + status: success + msg: Swap offer accepted successfully. + txIds: + - >- + 0d1fa874f233e1a46ad3a74217e5eb656eed8f2c2dafe889e1566851e7deae3c + - >- + 81ab5a4ac721ab9eb4539cf173e248d5bb6e9226263d8361a175d38a983587ba + errors: [] + example3: + value: + statusCode: 200 + data: + status: success + msg: Swap offer accepted successfully. + txIds: + - >- + 2e74b8df67efebbd64e90994417f2c42b4eddd1c58327bb0d548453b2409bbe0 + errors: + - 'Tx Number 1 : unsupported script type' + - 'Tx Number 2 : unsupported token type' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsAcceptSwapOffer400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/exchangeOffer: + post: + tags: + - Transactions + summary: Creates swap offer for exchange - returns swap ID + operationId: Transactions_createSwapOffer + security: + - authToken: [] + - serviceID: [] + description: >- + This endpoint allows user to create a swap offer object that can be used + for the exchange endpoint. The amount value is the value in satoshis + wanted in exchange for the token. Payment field is to add in extra + outputs if requested with amount in satoshis and to for address string. + NOTE : maximum of 2 extra outputs allowed + parameters: + - schema: + type: string + in: header + name: walletID + required: false + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsCreateSwapOfferRequest' + examples: + example1: + value: + dataArray: + - tokenId: >- + 900d39ffb5cd0728a59c76c79ab6939af19c3c0d-sToken51br5a656s5126j + amount: 1.e-8 + type: BSV + example2: + value: + dataArray: + - tokenId: >- + 900d39ffb5cd0728a59c76c79ab6939af19c3c0d-sToken51br5a656s5126j + sn: 5 + amount: 1.e-8 + type: BSV + payment: + - to: 1CZRgtb2G7ykqyfBqFXf9AutRaWKY2fN4x + amount: 1.e-8 + - to: 1CZRgtb2G7ykqyfBqFXf9AutRaWKY2we4x + amount: 1.e-8 + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsCreateSwapOfferResponse' + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Swap offer created successfully + contents: + - swapId: 0be1541d-c44d-4209-a5d0-f197ec587e7b + swapOfferHex: >- + 0100000001e7440cf4384e060ae765557c9889a2df9547bb89c9e319c687d0845ed653e4d4000000006b48304502210086cee5783fe831dcd647ff9d2b516562573afcc80df0d3c7004f0978916a9139022058a0e27ac520e207f289cdfbd342083651b6ef77b0fcf7b8c6109386fbd6544fc3210209d882c772f19ef511c81fb161abaf98c561767b29c92f424b0b2fa16e147eb4ffffffff0100e1f505000000001976a9140bb9eb13c821d10af1f5fbf01c04577305c24d3788ac00000000 + tokenSatoshis: 1 + tokenContractTxid: >- + 4d68e9178f7eb1fc8bd4a0ac9a9f034e8f4c61010eaa286ba6344827e0b5d1cd + payment: null + prevTxid: >- + d4e453d65e84d087c619e3c989bb4795dfa289987c5565e70a064e38f40c44e7 + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-IR_MAN + tokenOwnerAddress: 12519wQZvqjuqxggUco872zKs66L9x438C + totalOutputSatoshis: 100000000 + makerPublicKeyHash: 0bb9eb13c821d10af1f5fbf01c04577305c24d37 + example2: + value: + statusCode: 200 + data: + status: success + msg: Swap offer created successfully + contents: + - swapId: 7ef4c018-1ba8-493d-9738-649994e24a86 + swapOfferHex: >- + 0100000001e7440cf4384e060ae765557c9889a2df9547bb89c9e319c687d0845ed653e4d4000000006b48304502210086cee5783fe831dcd647ff9d2b516562573afcc80df0d3c7004f0978916a9139022058a0e27ac520e207f289cdfbd342083651b6ef77b0fcf7b8c6109386fbd6544fc3210209d882c772f19ef511c81fb161abaf98c561767b29c92f424b0b2fa16e147eb4ffffffff0100e1f505000000001976a9140bb9eb13c821d10af1f5fbf01c04577305c24d3788ac00000000 + tokenSatoshis: 1 + tokenContractTxid: >- + 4d68e9178f7eb1fc8bd4a0ac9a9f034e8f4c61010eaa286ba6344827e0b5d1cd + payment: null + prevTxid: >- + d4e453d65e84d087c619e3c989bb4795dfa289987c5565e70a064e38f40c44e7 + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-IR_MAN + tokenOwnerAddress: 12519wQZvqjuqxggUco872zKs66L9x438C + totalOutputSatoshis: 100000000 + makerPublicKeyHash: 0bb9eb13c821d10af1f5fbf01c04577305c24d37 + - swapId: 45c108dc-28da-4544-b938-fa966ff8151b + swapOfferHex: >- + 0100000001e7440cf4384e060ae765557c9889a2df9547bb89c9e319c687d0845ed653e4d4000000006b483045022100ccd4f2025ec90b337fcb66c03ebae80d9057d8da36c554df3db93be3068430b90220710d6eda3911c94c36652fcb82085d7511354df3ad8f0dda3e9ac023deee9a29c3210209d882c772f19ef511c81fb161abaf98c561767b29c92f424b0b2fa16e147eb4ffffffff0100a3e111000000001976a9140bb9eb13c821d10af1f5fbf01c04577305c24d3788ac00000000 + tokenSatoshis: 1 + tokenContractTxid: >- + 4d68e9178f7eb1fc8bd4a0ac9a9f034e8f4c61010eaa286ba6344827e0b5d1cd + payment: null + prevTxid: >- + d4e453d65e84d087c619e3c989bb4795dfa289987c5565e70a064e38f40c44e7 + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-IR_MAN + tokenOwnerAddress: 12519wQZvqjuqxggUco872zKs66L9x438C + totalOutputSatoshis: 300000000 + makerPublicKeyHash: 0bb9eb13c821d10af1f5fbf01c04577305c24d37 + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsCreateSwapOffer400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/exchangeSwap: + post: + tags: + - Transactions + summary: Atomic Swap + operationId: Transactions_acceptSwapOffer + security: + - authToken: [] + - serviceID: [] + description: This endpoint allows users to accept a swap offers via swap ID + parameters: + - schema: + type: string + in: header + name: walletID + required: false + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsAcceptSwapOfferRequest1' + examples: + example1: + value: + dataArray: + - swapId: 0a82d337-28ad-43d6-b16d-6cc60c3018f0 + example2: + value: + dataArray: + - swapId: 57d28adb-5c6b-4b3e-8572-87daa794f265 + - swapId: 43daaaf6-878c-46c0-a3fc-b34709e96c48 + - swapId: 2631b389-4231-4e35-a7c8-ee5f6c3c1c36 + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsAcceptSwapOffer200Response' + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Swap offer accepted successfully + txIds: + - >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + example2: + value: + statusCode: 200 + data: + status: success + msg: Swap offer accepted successfully + txIds: + - >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + - >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsAcceptSwapOffer400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/inspect: + post: + tags: + - Transactions + summary: Inspect an atomic swap offer. + operationId: Transactions_inspectAtomicSwapOffer + security: + - authToken: [] + - serviceID: [] + description: >- + This endpoint allows users to inspect an atomic swap hex to verify the + validity of the offer. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsInspectAtomicSwapOfferRequest' + examples: + example1: + value: + dataArray: + - swapHex: >- + 010000000184c5740d26e45e7d3574f51bc57346bdec86478669c4a4c90252acaa7a69353d000000006b483045022100876446ffa4fb4dbe362f00adca8d13c5010e5ef5dbfc3f261849fe267352bb2202201b367635c117cd1ce002033a12e115a56be5fa8f59cdaa2ed15f8ed683d23f6dc3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + example2: + value: + dataArray: + - swapHex: >- + 0100000001c5a3b200dce3761303df00166b7f424987ba7bce0ca2806ccfd6c0492fd43b98000000006a47304402201a289a73ca3c3e3dd183193c9c52fd1cbd1607d31769879b56da5eadd00071810220296232d51d8591406848eb4a7ee7dd246403de69237afbab687f0bc84e6354cbc3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + - swapHex: >- + 0100000001b0619eea04bf5f1f765097cbbe2fad314dc6cedebedfe45e97bd30e261008820000000006a473044022075b1b3d916dc32bd7b4dd13e1681e5cb68944331a515ea5d169eb665f032617b022050d287f19c63d0b99a78af62ba580c4574b43373db134b9fc9cb157b9156d882c3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsInspectAtomicSwapOfferResponse + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Offer details fetched successfully + offerDetails: + - tokenOwnerAddress: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + tokenCreatorAddress: 1BuEAp4mjJdeDGcpw6XdvtA9fWmHNF2mMX + tokenSatoshis: 1 + wantedSatoshis: 25 + tokenImage: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + serialNumber: 85 + splittbale: false + contractTxid: >- + e24cd3c552d71c2dd8513cdeac81a6d2ca48a055f73cbc58d118a33f037c9ca1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2 + symbol: WDG + tokenSupply: 123 + verified: true + tokenName: White Dragon + tokenDescription: White Dragon + example2: + value: + statusCode: 200 + data: + status: success + msg: Offer details fetched successfully + offerDetails: + - tokenOwnerAddress: 12fKJzMbsMW6HxAsCMsrL4jrxC2p8umDGf + tokenCreatorAddress: 1BuEAp4mjJdeDGcpw6XdvtA9fWmHNF2mMX + tokenSatoshis: 1 + wantedSatoshis: 100000000 + tokenImage: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + serialNumber: 0 + splittbale: true + contractTxid: >- + a29f4948fd8c17d2e9be8e21f7312dcbcafe2f65b0eb4f0bf4d261a3e3a13c8c + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2 + symbol: SBPTEST12345 + tokenSupply: 5 + verified: true + tokenName: Store Bonus Points + tokenDescription: Store Bonus Points + - tokenOwnerAddress: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + tokenCreatorAddress: 1BuEAp4mjJdeDGcpw6XdvtA9fWmHNF2mMX + tokenSatoshis: 1 + wantedSatoshis: 25 + tokenImage: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + serialNumber: 85 + splittbale: false + contractTxid: >- + e24cd3c552d71c2dd8513cdeac81a6d2ca48a055f73cbc58d118a33f037c9ca1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2 + symbol: WDG + tokenSupply: 123 + verified: true + tokenName: White Dragon + tokenDescription: White Dragon + '400': + description: Bad request + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsInspectAtomicSwapOffer400Response + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/redeem: + post: + tags: + - Smart Contracts + summary: Smart contract Redemption. + operationId: SmartContracts_redeemTokens + security: + - authToken: [] + - serviceID: [] + description: >- + This endpoint lets user redeem tokens and thus dissolving the smart + contract for satoshis. + parameters: + - schema: + type: string + in: header + name: walletID + required: false + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SmartContractsRedeemTokensRequest' + examples: + example1: + value: + dataArray: + - amount: 1 + tokenId: 8a9e7ec666f0610ff3f0540ed55f07162e9dd7a8-SBP + sn: 0 + example2: + value: + dataArray: + - amount: 1 + tokenId: 8a9e7ec666f0610ff3f0540ed55f07162e9dd7a8-SBP + sn: 0 + - amount: 1 + tokenId: 8a9e7ec666f0610ff3f0540ed55f07162e9dd7a8-SBP_TEST + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/SmartContractsRedeemTokensResponse' + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Redemption successful. + txIds: + - >- + 7f06cdece4c08192e8872be802f120b85f0610e6f8e448b85c301e89ccc5bfe1 + errors: [] + example2: + value: + statusCode: 200 + data: + status: success + msg: Redemption successful. + txIds: + - >- + 7f06cdece4c08192e8872be802f120b85f0610e6f8e448b85c301e89ccc5bfe1 + - >- + d1f376ffb62f30efdd1336ec379eb462ab1068dd67a55789ab1c445cf35c540d + errors: [] + example3: + value: + statusCode: 200 + data: + status: success + msg: Redemption successful. + txIds: + - >- + d1f376ffb62f30efdd1336ec379eb462ab1068dd67a55789ab1c445cf35c540d + errors: + - Error message 1 + - Error message 2 + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/SmartContractsRedeemTokens400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/createWallet: + get: + tags: + - Wallets + summary: Create a wallet. + operationId: Wallets_createHDWalletOfChoice + security: + - authToken: [] + - serviceID: [] + description: >- + Create a HD wallet of choice in your user account. You can select + between standard, secure, escrow and shared wallets (see + docs.relysia.com). + parameters: + - schema: + type: string + in: header + name: walletTitle + required: true + - schema: + type: string + in: header + name: mnemonicPhrase + required: false + - schema: + type: string + in: header + name: paymail + required: false + - schema: + type: boolean + in: header + name: paymailActivate + required: false + - schema: + type: string + in: header + name: type + required: false + - schema: + type: string + nullable: true + in: header + name: walletLogo + required: false + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/WalletsCreateHdWalletOfChoiceResponse' + example: + statusCode: 200 + data: + status: success + msg: Wallet created successfully. + walletID: 5f7b1b1b-5f7b-1b1b-5f7b-1b1b5f7b1b1b + paymail: 14735@dev.relysia.com + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/WalletsCreateHdWalletOfChoice400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/metrics: + get: + tags: + - Utility + summary: Get the latest wallet UTXO state. + operationId: Utility_getLatestUtxoState + security: + - authToken: [] + - serviceID: [] + description: >- + UTXOs are the base unit of transactions in the Bitcoin network. The + metrics endpoint first updates the last UTXO state, and then shows a + detailled output of each UTXO in the wallet. + parameters: + - schema: + type: string + in: header + name: walletID + required: false + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/UtilityGetLatestUtxoStateResponse' + example: + statusCode: 200 + data: + status: success + msg: UTXO state updated successfully + data: + balance: 6078 + userUtxos: + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914ee31f7eae549febdffc53a995bdee8ff0ba2300688ac + tx_pos: 0 + address: 1NiTgXKyS4oS3fyzHp6PryeBvc6FMJDW12 + path: m/44'/0'/0'/0/0 + tx_hash: >- + 43f7f41c0ff873f3b576894fc3c7626a187258cd838f36062f54bc3b14fe3620 + value: 25 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914ee31f7eae549febdffc53a995bdee8ff0ba2300688ac + tx_pos: 1 + address: 1NiTgXKyS4oS3fyzHp6PryeBvc6FMJDW12 + path: m/44'/0'/0'/0/0 + tx_hash: >- + 43f7f41c0ff873f3b576894fc3c7626a187258cd838f36062f54bc3b14fe3620 + value: 481 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914d703dafb29efd43caad53e9f1bcb924e6546694e88ac + tx_pos: 1 + address: 1Lbtu82Jm9poEdgKB3HsTDWS9YSC91Hpny + path: m/44'/0'/0'/0/1 + tx_hash: >- + 76d79ad05cfeb4068535377cdff0113a084b084e936b7751c39895587be41d3d + value: 4933 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a91498de3990604e4fe330f65e6b0125243eb909d1dd88ac + tx_pos: 0 + address: 1EwHvcWDjWcBGBXJLae8k4dsaVo8QKsqCP + path: m/44'/0'/0'/0/4 + tx_hash: >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + value: 1 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a91447431db9649fd75c28834cb152f17cc8ea7fa11f88ac + tx_pos: 1 + address: 17VoNvtJjD19ctL5Ue3GJzzskbtXeNL4Nt + path: m/44'/0'/0'/0/8 + tx_hash: >- + 8a7e73066f07eacab9cbe9edd45d1857f589ef0c8bd725e5010962cfb9198e4e + value: 404 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a91477cb578d9fab608a794871e6c994c6ff2e55a70788ac + tx_pos: 1 + address: 1BvR1H8Bu1rRYwDWEVLoZJa37R3z19qzrK + path: m/44'/0'/0'/0/10 + tx_hash: >- + 0849c24ecb4a30c60c1bb1ec5f557d60642bb6c6d2eeb5a30ee7c9f92c88572f + value: 174 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a91477cb578d9fab608a794871e6c994c6ff2e55a70788ac + tx_pos: 1 + address: 1BvR1H8Bu1rRYwDWEVLoZJa37R3z19qzrK + path: m/44'/0'/0'/0/10 + tx_hash: >- + cf9b899bfba8d6f8a4302e747a78635cc1328a76826ac7d7d31347bb39ba486d + value: 49 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914aff862161039bc97895c6f515e629c6ece4943b188ac + tx_pos: 0 + address: 1H3SoXyeKv4mNNForRaPV8Fkzwdu55yx2b + path: m/44'/0'/0'/0/14 + tx_hash: >- + 4ee029b35a30bafbcab3a08661dc286d3c5ce9f98a1734d1163c86aabe68c7d8 + value: 1 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914aff862161039bc97895c6f515e629c6ece4943b188ac + tx_pos: 0 + address: 1H3SoXyeKv4mNNForRaPV8Fkzwdu55yx2b + path: m/44'/0'/0'/0/14 + tx_hash: >- + f123456b9d6ee63c93b2a5afa264298efc6f0bb8cd400d5aa03d037eb1c9ae56 + value: 2 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914aff862161039bc97895c6f515e629c6ece4943b188ac + tx_pos: 1 + address: 1H3SoXyeKv4mNNForRaPV8Fkzwdu55yx2b + path: m/44'/0'/0'/0/14 + tx_hash: >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + value: 1 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914e54a77f2eaffb502d4af119436e9b7982707f07288ac + tx_pos: 1 + address: 1MuNx6Vm2oE4oU9iDRLr7ebAiv196DQBzh + path: m/44'/0'/0'/0/17 + tx_hash: >- + 9ecbb4771c9e91e1f6a162d5dd3e808e57e43eedebb499f1096cb8d6813951b5 + value: 4 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914e54a77f2eaffb502d4af119436e9b7982707f07288ac + tx_pos: 1 + address: 1MuNx6Vm2oE4oU9iDRLr7ebAiv196DQBzh + path: m/44'/0'/0'/0/17 + tx_hash: >- + fb6c046fa87d963b2e35beb06e1c21b443cbf7b7f684fd4f733fa68f6ecde672 + value: 3 + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/UtilityGetLatestUtxoState400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/address: + get: + tags: + - Wallets + summary: Get your wallet address and paymail. + operationId: Wallets_getAddressAndPaymail + security: + - authToken: [] + - serviceID: [] + description: >- + Receive a single address and the paymail alias to receive Coins or + Token. + parameters: + - schema: + type: string + in: header + name: walletID + required: false + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/WalletsGetAddressAndPaymailResponse' + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Wallet address and paymail fetched successfully. + address: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + paymail: 91@relysia.com + example2: + value: + statusCode: 200 + data: + status: success + msg: Wallet address and paymail fetched successfully. + address: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + paymail: null + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/WalletsGetAddressAndPaymail400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/allAddresses: + get: + tags: + - Wallets + summary: Get all wallet addresses. + operationId: Wallets_getAllAddresses + security: + - authToken: [] + - serviceID: [] + description: >- + Get a list of all wallet addresses that are currently available in your + wallet. + parameters: + - schema: + type: string + in: header + name: walletID + required: false + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/WalletsGetAllAddressesResponse' + example: + statusCode: 200 + data: + status: success + msg: Wallet addresses fetched successfully. + addressess: + - 1PLXza2i1JXyg6CuA5FW5RzkUiocpDFNV8 + - 1EcxwhQ4Y9ffda9zXvQfHaM8u7PafbvZLg + - 1LNbg5RocpuM7e7fschE6r8miwXh5jCjkA + - 1BfzNso8KAALAVKPrANrKudM6ZWzHShpZh + - 1PwzERwgengSyzBNBKEU6V2xB1jgTryovr + - 132jVsneQ8vWBaGkKbKaQLkyiigCPDhawk + - 13tGhavRUTn2vvz2tQgAGwG1oe9FdAxoNE + - 115A1j8KQmQX7HC3MNwsnwJvc6ZF6c4wYc + - 1LFNbbFP7VwSf2ajt1rytcE2yvHainoHy3 + - 1MxntVMUmbkuFiZXd8ecYSbvMWyw2awKmq + - 1HZy99hEouZuY9Z3dUznvmtacWzhrJguGd + - 1E9g8uaWq7GUvMbGkHn26ejVsZAWAEFvC1 + - 176TzKDhqk3NMx14tiDr8jWGRvMWLttptg + - 13GApJKQdzpfjMV5FWpDwGEbc1vGAD6rri + - 1K94K5FcBDDrgxEpKTckDycSW315PQUr6a + - 1KLHk7od5A9sQEVoaMtyUujyERnzZWt4sy + - 1NSRLTGcueGWjAg1Y32QjPjG9hXp5Qwhwu + - 12QLLJKe4R9FaxnzrVBdQ5a2vPmheqHsbh + - 1Gek19BzGF4urFD2sfdmPWKDGpdMSGicsS + - 1D4gnUXis2s5WH4atopeXRyFjoie4Gxirn + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/WalletsGetAllAddresses400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/balance: + get: + tags: + - Wallets + summary: Get your wallet balance. + operationId: Wallets_getBalance + security: + - authToken: [] + - serviceID: [] + description: Returns both coin and token balances. + parameters: + - schema: + type: string + in: header + name: walletID + required: false + - schema: + type: string + in: header + name: type + required: false + - schema: + type: string + in: header + name: currency + required: false + - schema: + type: string + in: header + name: nextPageToken + required: false + - schema: + type: string + in: header + name: compact + required: false + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/WalletsGetBalanceResponse' + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Operation Completed Successfully + totalBalance: + currency: USD + balance: 0.00003367160796545307 + coins: + - protocol: BSV + balance: 0 + - Id: 6441fe87c0dc6dd1babbe28f + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 103 + - Id: 6441fe87c0dc6dd1babbe290 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 102 + - Id: 6441fe87c0dc6dd1babbe291 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 101 + - Id: 6441fe87c0dc6dd1babbe292 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 100 + - Id: 6441fe87c0dc6dd1babbe293 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 99 + - Id: 6441fe87c0dc6dd1babbe294 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 98 + - Id: 6441fe87c0dc6dd1babbe295 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 97 + - Id: 6441fe87c0dc6dd1babbe296 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 96 + - Id: 6441fe87c0dc6dd1babbe297 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 95 + - Id: 6441fe87c0dc6dd1babbe298 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 94 + - Id: 6441fe87c0dc6dd1babbe299 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 93 + - Id: 6441fe87c0dc6dd1babbe29a + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 92 + - Id: 6441fe87c0dc6dd1babbe29b + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 91 + - Id: 6441fe87c0dc6dd1babbe29c + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 90 + - Id: 6441fe87c0dc6dd1babbe29d + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 89 + - Id: 6441fe87c0dc6dd1babbe29e + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 88 + - Id: 6441fe87c0dc6dd1babbe29f + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 87 + - Id: 6441fe87c0dc6dd1babbe2a0 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 86 + - Id: 6441fe87c0dc6dd1babbe2a1 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 85 + meta: + nextPageToken: 19 + example2: + value: + statusCode: 200 + data: + status: success + msg: Operation Completed Successfully + totalBalance: + currency: USD + balance: 0.000033666372935816003 + coins: + - protocol: BSV + balance: 0 + - Id: 6441fe87c0dc6dd1babbe28f + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 103 + supply: 123 + decimals: 0 + sn: + - 38 + - 7 + - Id: 6441fe87c0dc6dd1babbe27a + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + splittable: false + splitable: false + verified: true + name: Yujiro + address: 12519wQZvqjuqxggUco872zKs66L9x438C + satsPerToken: 1 + symbol: YJO + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://static.wikia.nocookie.net/baki/images/a/a6/Yujiro_profile.png/revision/latest/scale-to-width-down/280?cb=20220726223446 + amount: 2 + supply: 5 + decimals: 0 + sn: + - 2 + - 1 + - Id: 6441fe87c0dc6dd1babbe27b + protocol: STAS + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-IR_MAN + splittable: false + splitable: false + verified: true + name: Ironman + address: 12519wQZvqjuqxggUco872zKs66L9x438C + satsPerToken: 1 + symbol: IR_MAN + redeemAddr: 8226da9a724b0581928ee508df0174ed7b233a81 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 2 + supply: 3 + decimals: 0 + sn: + - 2 + - 1 + - Id: 6441fe87c0dc6dd1babbe27c + protocol: STAS + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-W_WOMAN + splittable: false + splitable: false + verified: true + name: Store Bonus Points + address: 12T7men1z1FU9sruoFgFx2D7JCJRgZtxrA + satsPerToken: 1 + symbol: W_WOMAN + redeemAddr: 8226da9a724b0581928ee508df0174ed7b233a81 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 5 + decimals: 0 + sn: + - 5 + - Id: 6441fe87c0dc6dd1babbe27d + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-nba-new-123 + splittable: false + splitable: false + verified: true + name: Store Bonus Points + address: 12T7men1z1FU9sruoFgFx2D7JCJRgZtxrA + satsPerToken: 1 + symbol: nba-new-123 + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 10 + supply: 3 + decimals: 0 + sn: + - 3 + - 1 + - 2 + - Id: 6441fe87c0dc6dd1babbe280 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + splittable: false + splitable: false + verified: true + name: Store Bonus Points + address: 12T7men1z1FU9sruoFgFx2D7JCJRgZtxrA + satsPerToken: 1 + symbol: Mordor-bulk + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 6 + supply: 2000 + decimals: 0 + sn: + - 1832 + - 719 + - 327 + - 1465 + - 536 + - 1590 + - Id: 6441fe87c0dc6dd1babbe282 + protocol: STAS + tokenId: >- + 7791e1839f705e2813ec744a15fd10d355ff99b2-SBPTEST12345 + splittable: true + splitable: true + verified: true + name: Store Bonus Points + address: 12fKJzMbsMW6HxAsCMsrL4jrxC2p8umDGf + satsPerToken: 1 + symbol: SBPTEST12345 + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 2 + supply: 5 + decimals: 0 + sn: + - 0 + - Id: 6441fe87c0dc6dd1babbe287 + protocol: STAS + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-BT_MAN + splittable: false + splitable: false + verified: true + name: Batman + address: 16Jg2sYouH8jGFRyUyEnoNZ1gyj9mKECMd + satsPerToken: 1 + symbol: BT_MAN + redeemAddr: 8226da9a724b0581928ee508df0174ed7b233a81 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 5 + decimals: 0 + sn: + - 5 + - Id: 6441fe87c0dc6dd1babbe289 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-KEN + splittable: false + splitable: false + verified: true + name: Kensen + address: 1892sYWjiHzkn6sD12q9Xn7s4ZHjZCmxEh + satsPerToken: 1 + symbol: KEN + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 10 + decimals: 0 + sn: + - 1 + - Id: 6441fe87c0dc6dd1babbe28a + protocol: STAS + tokenId: >- + 7791e1839f705e2813ec744a15fd10d355ff99b2-Party-Monster + splittable: false + splitable: false + verified: true + name: Party plans + address: 1AF5yUb1kCmGhCwLUsaTweGJKmkTB6fFTx + satsPerToken: 1 + symbol: Party-Monster + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://images.unsplash.com/photo-1663668566893-7a4887f9a41d?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxlZGl0b3JpYWwtZmVlZHw0MHx8fGVufDB8fHx8&auto=format&fit=crop&w=500&q=60 + amount: 3 + supply: 3 + decimals: 0 + sn: + - 3 + - 2 + - 1 + - Id: 6441fe87c0dc6dd1babbe28b + protocol: STAS + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-THE_AVGRS + splittable: true + splitable: true + verified: true + name: The Avengers + address: 1E4We5K6zFh7msq6r2ZrNuyK56X2gqTzGp + satsPerToken: 1 + symbol: THE_AVGRS + redeemAddr: 8226da9a724b0581928ee508df0174ed7b233a81 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 10 + decimals: 0 + sn: + - 0 + - Id: 6441fe87c0dc6dd1babbe28e + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-nbc-new-123 + splittable: false + splitable: false + verified: true + name: Store Bonus Points + address: 1LS54Yo1xLGkyCgcGZo6RLj5QgkqEchvUr + satsPerToken: 1 + symbol: nbc-new-123 + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 6 + supply: 3 + decimals: 0 + sn: + - 3 + - 1 + - 2 + - Id: 6441fe87c0dc6dd1babbe2e3 + protocol: STAS + tokenId: >- + 7791e1839f705e2813ec744a15fd10d355ff99b2-fight-new-123 + splittable: false + splitable: false + verified: true + name: Store Bonus Points + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: fight-new-123 + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 5 + supply: 3 + decimals: 0 + sn: + - 1 + - 3 + - 2 + - Id: 6441fe87c0dc6dd1babbe2e4 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-fightfight + splittable: true + splitable: true + verified: true + name: Fight Club + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: fightfight + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://images.unsplash.com/photo-1552072092-7f9b8d63efcb?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxzZWFyY2h8Mnx8ZmlnaHR8ZW58MHx8MHx8&auto=format&fit=crop&w=500&q=60 + amount: 4 + supply: 10 + decimals: 0 + sn: + - 0 + - Id: 6441fe87c0dc6dd1babbe2e5 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-RGT + splittable: false + splitable: false + verified: true + name: Right + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: RGT + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 9 + supply: 5 + decimals: 0 + sn: + - 5 + - 2 + - 3 + - 1 + - 4 + - Id: 6441fe87c0dc6dd1babbe2e8 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-SBP + splittable: true + splitable: true + verified: true + name: Store Bonus Points + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: SBP + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 3 + supply: 3 + decimals: 0 + sn: + - 0 + - Id: 6441fe87c0dc6dd1babbe2e9 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-fightfight2 + splittable: false + splitable: false + verified: true + name: Fight Club + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: fightfight2 + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://images.unsplash.com/photo-1552072092-7f9b8d63efcb?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxzZWFyY2h8Mnx8ZmlnaHR8ZW58MHx8MHx8&auto=format&fit=crop&w=500&q=60 + amount: 5 + supply: 5 + decimals: 0 + sn: + - 8 + - 5 + - 6 + - 7 + - 4 + - Id: 6441fe87c0dc6dd1babbe2ee + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-fightfight1 + splittable: true + splitable: true + verified: true + name: Fight Club + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: fightfight1 + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://images.unsplash.com/photo-1552072092-7f9b8d63efcb?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxzZWFyY2h8Mnx8ZmlnaHR8ZW58MHx8MHx8&auto=format&fit=crop&w=500&q=60 + amount: 5 + supply: 5 + decimals: 0 + sn: + - 0 + - Id: 6441fe87c0dc6dd1babbe2ef + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-BAA + splittable: true + splitable: true + verified: true + name: Black Adam + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: BAA + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 6 + supply: 7 + decimals: 0 + sn: + - 0 + meta: + nextPageToken: 19 + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/WalletsGetBalance400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + deprecated: true + /v1/leaderboard: + get: + tags: + - Wallets + summary: Get token ownership details + operationId: Wallets_getTokenOwnershipDetails + security: + - authToken: [] + - serviceID: [] + description: Returns all user data who have this particular token. + parameters: + - schema: + type: number + in: query + name: nextPageToken + required: false + - schema: + type: string + in: header + name: tokenId + required: true + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/WalletsGetTokenOwnershipDetailsResponse' + example: + statusCode: 200 + data: + status: success + msg: Leaderboard fetched successfully. + leaderboard: + - paymail: 91@relysia.com + totalAmount: 100 + uid: 5f7b1b1b1b1b1b1b1b1b1b1b + rank: 1 + displayName: John Doe + - paymail: 92@relysia.com + totalAmount: 50 + uid: 5f7b1b1b1b1b1b1b1b1b1b1b + rank: 2 + - totalAmount: 25 + uid: 5f7b1b1b1b1b1b1b1b1b1b1b + rank: 3 + nextPageToken: 2 + '400': + description: Bad request + content: + application/json: + schema: + $ref: >- + #/components/schemas/WalletsGetTokenOwnershipDetails400Response + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/history: + get: + tags: + - Wallets + summary: Get your transaction history. + operationId: Wallets_getTransactionHistory + security: + - authToken: [] + - serviceID: [] + description: >- + The transaction history endpoint returns all past transactions, both BSV + and Tokens. + parameters: + - schema: + type: string + in: query + name: nextPageToken + required: false + - schema: + type: string + in: query + name: tokenId + required: false + - schema: + type: string + in: header + name: walletID + required: false + - schema: + type: string + in: header + name: type + required: false + - schema: + type: string + enum: + - 1.0.0 + - 1.1.0 + default: 1.0.0 + in: header + name: version + required: false + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/WalletsGetTransactionHistoryResponse' + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Transaction history fetched successfully. + histories: + - to: 1BfzNso8KAALAVKPrANrKudM6ZWzHShpZh + txId: >- + c48287508391ff0b57ec528cb12ae87762af94f6c242cb4acdeed63382e5515e + from: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + timestamp: '2023-04-26 03:18:37' + balance_change: 3 + docId: >- + 0efca5f5dadcdacd0ff3a418a92c27efc6f8387b29e8647bb9ac7eea9284b13c + type: debit + protocol: STAS-789 + - to: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + txId: >- + c48287508391ff0b57ec528cb12ae87762af94f6c242cb4acdeed63382e5515d + from: 1BfzNso8KAALAVKPrANrKudM6ZWzHShpZh + timestamp: '2023-04-26 03:18:37' + balance_change: 1 + docId: >- + 0efca5f5dadcdacd0ff3a418a92c27efc6f8387b29e8647bb9ac7eea9284b13c + notes: test + type: debit + protocol: STAS-789 + nextPageTokenId: '1' + example2: + value: + statusCode: 200 + data: + status: success + msg: Transaction history fetched successfully. + histories: + - to: + - amount: 1 + image: https://www.gstatic.com/webp/gallery/1.jpg + protocol: STAS-789 + tokenId: >- + 0efca5f5dadcdacd0ff3a418a92c27efc6f8387b29e8647bb9ac7eea9284b13d + sn: 1 + to: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + name: test + decimals: 2 + txId: >- + c48287508391ff0b57ec528cb12ae87762af94f6c242cb4acdeed63382e5515d + from: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + timestamp: '2023-04-24 04:12:20' + totalAmount: 1 + type: debit + - to: + - amount: 1 + image: https://www.gstatic.com/webp/gallery/1.jpg + protocol: STAS-789 + tokenId: >- + 0efca5f5dadcdacd0ff3a418a92c27efc6f8387b29e8647bb9ac7eea9284b13c + sn: 1 + to: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + name: test + decimals: 2 + - amount: 1 + image: https://www.gstatic.com/webp/gallery/1.jpg + protocol: STAS-789 + tokenId: >- + 0efca5f5dadcdacd0ff3a418a92c27efc6f8387b29e8647bb9ac7eea9284b13c + sn: 2 + to: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + name: test + decimals: 2 + txId: >- + c48287508391ff0b57ec528cb12ae87762af94f6c242cb4acdeed63382e5515e + from: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + timestamp: '2023-04-26 03:18:37' + totalAmount: 2 + notes: test + type: credit + meta: + nextPageToken: '1' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/WalletsGetTransactionHistory400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + deprecated: true + /v1/wallets: + get: + tags: + - Wallets + summary: List of available user wallets. + operationId: Wallets_listAvailableUserWallets + security: + - authToken: [] + - serviceID: [] + description: >- + The endpoint provides the user with a list of all active wallets on + their account. Depending on your service requirements, you might have + one or multiple wallets. + parameters: + - schema: + type: string + in: header + name: oauth + required: false + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/WalletsListAvailableUserWalletsResponse' + example: + statusCode: 200 + data: + status: success + msg: Wallets fetched successfully. + wallets: + - walletID: f1a4b3c2-1a2b-3a4b-5a6b-7a8b9c0d1e2f + walletTitle: My first wallet + walletLogo: https://www.example.com/wallet-logo.png + - walletID: f1a4b3c2-1a2b-3a4b-5a6b-7a8b9c0d1e2f + walletTitle: My second wallet + walletLogo: null + '400': + description: Bad request + content: + application/json: + schema: + $ref: >- + #/components/schemas/WalletsListAvailableUserWallets400Response + example: + statusCode: 400 + data: + status: error + msg: Err msg + delete: + tags: + - Delete + summary: to delete all wallet, this api will delete all wallets at once + operationId: Delete_allWallets + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteAllWalletsResponse' + example: + statusCode: 200 + data: + status: success + msg: all wallets deleted successfully ! + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteAllWallets400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/mnemonic: + get: + tags: + - Wallets + summary: Get your mnemonic phrase. + operationId: Wallets_getMnemonicPhrase + security: + - authToken: [] + - serviceID: [] + description: >- + The mnemonic phrase secures your wallet keys. Each mnemonic acts as seed + of a HDPrivatekey that itself contains hundrets of PrivateKeys. + parameters: + - schema: + type: string + in: header + name: walletID + required: false + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/WalletsGetMnemonicPhraseResponse' + example: + statusCode: 200 + data: + status: success + msg: Mnemonic phrase fetched successfully. + mnemonic: >- + abandon abandon abandon abandon abandon abandon abandon + abandon abandon abandon abandon about + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/WalletsGetMnemonicPhrase400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/pay: + post: + tags: + - Transactions + summary: Pay an invoice request. + operationId: Transactions_resolveInvoiceRequest + security: + - authToken: [] + - serviceID: [] + description: >- + The endpoint enables users to pay their invoices that were earlier + resolved and put into a standardized format by the /URI endpoint. + parameters: + - schema: + type: string + in: header + name: walletID + required: false + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsResolveInvoiceRequestRequest' + examples: + example1: + value: + uri: payto:91@dev.relysia.com?amount=1 + type: paymail + mainProtocol: paymail + outputs: + - script: 76a9141a608132952ba364d19d6ef0c09e074fb3fcfedf88ac + satoshis: 1 + inputs: [] + memo: Send to 91@dev.relysia.com + isBSV: true + peer: >- + https://dev.relysia.com/api/bsvalias/receive-transaction/91@dev.relysia.com + peerData: >- + eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJ2ZXJzaW9uIjoxLCJkZXJpdmF0aW9uUm9vdFBhdGgiOiJtLzUiLCJkZXJpdmF0aW9uUm9vdEluZGV4IjozOTE1LCJjb3VudCI6MX0.vgN6mSoxuVzSmdwXA_hJtvS_s6xyFdRVedsFAx4mt5K2fsI0Ps2pw4OCXWy6msUbAKYGOEeAqs9BoyJCOlgyng + peerProtocol: paymail + example2: + value: + uri: bitcoin:13ofTSnVngWV8VgvqpYZE4YuaWuARBkBp3?amount=0.00000001 + type: bip21 + mainProtocol: bip21 + outputs: + - script: 76a9141ec37cb9f5ab9ae49be75e8d45c02d1f2fd1c5a288ac + satoshis: 1 + inputs: [] + memo: Payment to Address + isBSV: false + peer: null + peerData: null + peerProtocol: null + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsResolveInvoiceRequestResponse' + example: + statusCode: 200 + data: + status: success + msg: Transaction sent successfully + txid: >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + '400': + description: Bad request + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsResolveInvoiceRequest400Response + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/initBeta: + get: + tags: + - admin + summary: Setup your Fee Manager. + operationId: Admin_setupFeeManager + security: + - authToken: [] + - serviceID: [] + description: >- + Creates a new Fee Manager that can cover the transaction fees of your + users. + parameters: + - schema: + type: string + in: header + name: mnemonic + required: false + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/AdminSetupFeeManagerResponse' + example: + statusCode: 200 + data: + status: success + msg: Fee manager init successfully + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/AdminSetupFeeManager400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/feeMetricsBeta: + get: + tags: + - admin + summary: Get all feeManager UTXOs. + operationId: Admin_getUtxoSet + security: + - authToken: [] + - serviceID: [] + description: The endpoint returns all UTXOs and refreshes the UTXO set. + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/AdminGetUtxoSetResponse' + example: + statusCode: 200 + data: + status: success + msg: Operation successful + totalBalance: + balance: 720682757 + dustBalance: 6310 + availableUtxos: + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 2 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + f7f1718aac0dee0a91c33de796b0c940784309960c0a74c8ada51ee6951a0a26 + value: 61184 + createdAt: 1686904968568 + state: available + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 3 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + d655d5c1bb914ab161e5239b46686c78707e2af29afae4e5d465fe4dd4b6374a + value: 68558 + createdAt: 1686904968568 + state: available + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 1 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + 8248be407c10660e28be50cdf9072caf51f6b6d6ec3783a4c089588e13647a4e + value: 51509 + createdAt: 1686904968568 + state: available + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 2 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + 53b03f45905f4dd6167712de289d2f309399a3887c33257442c0d986a1d49874 + value: 55094 + createdAt: 1686904968568 + state: available + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/AdminGetUtxoSet400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/feeAddressBeta: + get: + tags: + - admin + summary: Get all Fee Manager addresses. + operationId: Admin_getFeeManagerAddresses + security: + - authToken: [] + - serviceID: [] + description: >- + Returns a list of feeManager addresses. The feeManager is used to fund + transactions. + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/AdminGetFeeManagerAddressesResponse' + example: + statusCode: 200 + data: + status: success + msg: Operation Completed successfully + addresses: + - 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/AdminGetFeeManagerAddresses400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/feeUtxoState: + get: + tags: + - admin + summary: Get current state of fee manager UTXOs + operationId: Admin_getFeeUtxoState + security: + - authToken: [] + - serviceID: [] + description: The endpoint returns all UTXOs that are stored in Redis DB + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/AdminGetFeeUtxoStateResponse' + example: + statusCode: 200 + data: + status: success + msg: Operation Completed successfully + totalBalance: + availableBalance: 720682457 + dustBalance: 0 + failedBalance: 0 + allUtxos: + availableUtxos: + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 1 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + 84fc7aef9b03283615d570dfc3a3177593048187ceecf993e37272e589b0b9f9 + value: 23419 + createdAt: 1687007038684 + state: available + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 1 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + d7209a4a36db9e058af7df3ea93d5857a122de71111f2896515d2274589b0d99 + value: 88292 + createdAt: 1687007038684 + state: available + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 1 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + 0eca2699cfc73c0d53bc805c36d0cba7fc0860d1282541eeceb95afc817170aa + value: 157810 + createdAt: 1687007038684 + state: available + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 2 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + 20043ea66d4196ba094d4a64c53cfe3391ca0534800c03c23718a46daaaa4787 + value: 61163 + createdAt: 1687007038684 + state: available + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 2 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + 0ebde418ce82554dc0602d8f388f7cc48dda76e86b92fbac5ac5958a8c35d2b5 + value: 68537 + createdAt: 1687007038684 + state: available + dustUtxos: + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 2 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + 09e9c0cc768635104a0bbf0d9acfc0647b0406b961bc700f4afba87a41948fcf + value: 68760 + createdAt: 1687007038684 + state: dust + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 2 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + b2e1855268712f03af5d312bea6622d7c9dbfd00acec1108d7bf7087dec0ca65 + value: 77536 + createdAt: 1687007038684 + state: dust + failedUtxos: + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 1 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + a73e37b74bdc1d632914a21d507adaf84bd3076e3a9edea8b096fe34418bb6fa + value: 66015 + createdAt: 1687007038684 + state: failed + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/AdminGetFeeUtxoState400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/currencyConversion: + get: + tags: + - Utility + summary: Converts BSV satoshis to fiat currency. + operationId: Utility_convertSatoshiToFiat + description: >- + Add a satoshi amount and fiat pair of your choice, e.g. USD, EUR, INR to + receive information of the equivalent value. + parameters: + - schema: + type: string + in: header + name: satoshis + required: true + - schema: + type: string + in: header + name: currency + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/UtilityConvertSatoshiToFiatResponse' + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Operation Completed Successfully + currency: USD + balance: 0.000011362378798928755 + example2: + value: + statusCode: 200 + data: + status: success + msg: Operation Completed Successfully + currency: CAD + balance: 0.02301136 + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/UtilityConvertSatoshiToFiat400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/notificationToken/{userId}: + put: + tags: + - Notifications + summary: Update notification token. + operationId: Notifications_updateToken + security: + - authToken: [] + - serviceID: [] + parameters: + - schema: + type: string + in: path + name: userId + required: true + - schema: + type: string + in: header + name: walletID + required: false + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationsUpdateTokenRequest' + example: + expoNotificationToken: ExponentPushToken[kfs4DxE5jRt3FsBCbzH61P] + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationsUpdateTokenResponse' + example: + statusCode: 200 + data: + status: success + msg: Notification token updated successfully. + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationsUpdateToken400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + delete: + tags: + - Delete + summary: Remove a notification token. + operationId: Delete_notificationToken + security: + - authToken: [] + - serviceID: [] + parameters: + - schema: + type: string + in: path + name: userId + required: true + - schema: + type: string + in: header + name: walletID + required: false + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteNotificationTokenResponse' + example: + statusCode: 200 + data: + status: success + msg: successfully ExpoToken Removed from this account ! + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteNotificationToken400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/sendNotification: + post: + tags: + - Notifications + summary: Send a Notification + operationId: Notifications_sendNotification + security: + - authToken: [] + - serviceID: [] + parameters: + - schema: + type: string + in: header + name: walletID + required: false + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationsSendNotificationRequest' + examples: + example1: + value: + type: to + userAddress: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + amount: 0.0001 + transactionType: BSV + example2: + value: + type: from + userAddress: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + amount: 0.0001 + transactionType: BSV + example3: + value: + type: to + userAddress: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + amount: 5 + example4: + value: + type: from + userAddress: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + amount: 2 + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationsSendNotificationResponse' + example: + statusCode: 200 + data: + status: success + msg: Notification Sended Successfully ! + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationsSendNotification400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/invoice: + post: + tags: + - Transactions + summary: Create an invoice. + operationId: Transactions_createInvoiceRequest + security: + - authToken: [] + - serviceID: [] + description: Create an invoice to receive payments for a merchant product. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsCreateInvoiceRequestRequest' + examples: + example1: + value: + description: paying 1$ for testing + type: USD + amount: 1 + address: 12519wQZvqjuqxggUco872zKs66L9x438C + expirationTimeInMinuts: 1 + memo: paying for testing + merchantData: a3621ebf-97a4-476f-a028-a7a9c55b27e8 + paymentOptions: + - transactions: + - native: + amount: 1 + to: 12519wQZvqjuqxggUco872zKs66L9x438C + beneficiary: + name: vaionex test + email: test@vaionex.com + address: 19702 Newark, Delaware, USA + example2: + value: + description: paying 1$ for testing + type: USD + amount: 1 + address: 12519wQZvqjuqxggUco872zKs66L9x438C + expirationTimeInMinuts: 1 + memo: paying for testing + merchantData: a3621ebf-97a4-476f-a028-a7a9c55b27e8 + paymentOptions: + - transactions: + - stas: + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-IR_MAN + tokenAmount: 1 + tokenRecipient: 12519wQZvqjuqxggUco872zKs66L9x438C + beneficiary: + name: vaionex test + email: test@vaionex.com + address: 19702 Newark, Delaware, USA + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsCreateInvoiceRequestResponse' + example: + statusCode: 200 + data: + msg: Invoice created successfully. + reqUrl: >- + https://api.relysia.com/v1/paymentRequest/f3a7f350-2e2e-4e8b-af0d-58eb5eb3728a + '400': + description: Bad request + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsCreateInvoiceRequest400Response + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/paymentRequest/{invoiceId}: + get: + tags: + - Transactions + summary: Create an Invoice + operationId: Transactions_createInvoiceRequest + description: >- + Invoices allow merchants to specify the amount of BSV or Tokens they + require to complete a value exchange, such as selling a Product. + parameters: + - schema: + type: string + in: path + name: invoiceId + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsCreateInvoiceRequest200Response + examples: + example1: + value: + version: 2.0.0 + statusCode: 200 + status: success + msg: Operation Completed Successfully + mainProtocol: bip272 + merchantData: a3621ebf-97a4-476f-a028-a7a9c55b27e8 + expirationTimestamp: 1686560853 + memo: paying for testing + outputs: + - description: paying 1$ for testing + script: 76a9140bb9eb13c821d10af1f5fbf01c04577305c24d3788ac + satoshis: 3971132 + uri: >- + pay:?r=https://api.relysia.com/v1/paymentRequest/f3a7f350-2e2e-4e8b-af0d-58eb5eb3728a + creationTimestamp: 1686560793 + type: bip272 + network: mainnet + paymentUrl: >- + https://api.relysia.com/v1/paymentRequest/pay/f3a7f350-2e2e-4e8b-af0d-58eb5eb3728a + example2: + value: + version: 2.0.0 + statusCode: 200 + status: success + msg: Operation Completed Successfully + network: mainnet + uri: >- + pay:?r=https://api.relysia.com/v1/paymentRequest/8f9f4c27-3782-46e2-b76f-1ef956f52c61 + memo: paying for testing + type: bip272 + paymentUrl: >- + https://api.relysia.com/v1/paymentRequest/pay/8f9f4c27-3782-46e2-b76f-1ef956f52c61 + mainProtocol: bip272 + creationTimestamp: 1686814941 + modes: + ef63d9775da5: + PaymentOption_0: + transactions: + - outputs: + stas: + - tokenId: >- + 00b91626e0a4b97f624bc1f0d8fa3a3ef35ac664-TIGLdA + tokenAmount: 1 + tokenRecipient: 1HQKnJ5FfCjcgvr6AAqNPYhY7NKuZXByMF + policies: + fees: + standard: + bytes: 1000 + satoshis: 50 + data: + bytes: 1000 + satoshis: 50 + beneficiary: + name: vaionex test + email: test@vaionex.com + paymentReference: 8f9f4c27-3782-46e2-b76f-1ef956f52c61 + address: 19702 Newark, Delaware, USA + expirationTimestamp: 1686816741 + '400': + description: Bad request + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsCreateInvoiceRequest400Response + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/paymentRequest/pay/{invoiceId}: + post: + tags: + - Transactions + summary: Settle an invoice request. + operationId: Transactions_settleInvoiceRequest + description: The API takes invoice and settles it. + parameters: + - schema: + type: string + in: path + name: invoiceId + required: true + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsSettleInvoiceRequestRequest' + examples: + example1: + value: + merchantData: bc3d8da0-f930-49e3-9acc-56725ab14a0a + transaction: >- + 01000000020d76e23c0d6f6acd2e9a7d4c9b6916aa9333111fac62003a75d13a10353ee563000000006a4730440220714ffb0eff55abb4840a470760f418442a3ebf7a9bb133dfdc25808f0b05f4fd0220024b562567802e7639ccff2f1e361e178d34102a9fbdbc3aa5843ef5e1dc73fe41210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0d76e23c0d6f6acd2e9a7d4c9b6916aa9333111fac62003a75d13a10353ee563010000006a47304402205ad45fd9d02b659f987cc8321f4874bfa2729425913738cbc4444ed20e453ee4022020467301d8e50bc58e37b92cc03962acc8cfd5ac70bf704de2c4dee8c8beebc84121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff010a000000000000001976a91477bff20c60e522dfaa3350c39b030a5d004e839a88ac00000000 + example2: + value: + merchantData: ab05c66d-0397-419f-8311-9b5dfbccd6ed + transaction: >- + 01000000023a149de2c3a74c191727d17496171c0e97efbaff5735271ead9f883e214e9bd5000000006a473044022045fc063571fb291ea114facfcb2f38bf60f0e8797140e3e6f1380dcd66dffb940220178d4c79bb39f566c3b53c76293f0a38e5fbf0dac4f460783f0cc84ffb259bc341210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff3a149de2c3a74c191727d17496171c0e97efbaff5735271ead9f883e214e9bd5010000006a4730440220160354a13e8f0f72577a0aa393a981b922af9819ae5d04786d5ae226bb867db90220304c4a5eeb2fbc348c336b4a0a45de5bba6e271b32f3884bdf1c5fd1a48671604121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff010a000000000000001976a91477bff20c60e522dfaa3350c39b030a5d004e839a88ac00000000 + refundTo: 147Pha46z8xhMHjq6Wcy9ZWgUV9okUgUeu + example3: + value: + merchantData: ab05c66d-0397-419f-8311-9b5dfbccd6ed + transaction: >- + 01000000023a149de2c3a74c191727d17496171c0e97efbaff5735271ead9f883e214e9bd5000000006a473044022045fc063571fb291ea114facfcb2f38bf60f0e8797140e3e6f1380dcd66dffb940220178d4c79bb39f566c3b53c76293f0a38e5fbf0dac4f460783f0cc84ffb259bc341210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff3a149de2c3a74c191727d17496171c0e97efbaff5735271ead9f883e214e9bd5010000006a4730440220160354a13e8f0f72577a0aa393a981b922af9819ae5d04786d5ae226bb867db90220304c4a5eeb2fbc348c336b4a0a45de5bba6e271b32f3884bdf1c5fd1a48671604121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff010a000000000000001976a91477bff20c60e522dfaa3350c39b030a5d004e839a88ac00000000 + memo: paying 1$ for testing + example4: + value: + merchantData: a3621ebf-97a4-476f-a028-a7a9c55b27e8 + transaction: >- + 0100000002398e8fe2829b523f7337559393d97e70173d05f56d80d0dd0b90a5a35aa9d140000000006b483045022100ac04d62f743fdefd224c5f84c0c6562a15c93e6e45cc84d259ad074a1d42a8a402205ca8b3a296f8b7268e3d092a010785580dd18c8794f5911692e16e6c3c7c996a41210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff398e8fe2829b523f7337559393d97e70173d05f56d80d0dd0b90a5a35aa9d140010000006b483045022100cef2deea13b5ef5e012d225e10f1445c6421570613a2c02e87e8b6fe27b75fe602201e6c5b85dcc0062235581885a49b194777e9230b8314a18052a97e8b146ed24f4121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff01f4010000000000001976a91477bff20c60e522dfaa3350c39b030a5d004e839a88ac00000000 + refundTo: 147Pha46z8xhMHjq6Wcy9ZWgUV9okUgUeu + memo: paying for testing + application/bitcoinsv-payment: + schema: + $ref: '#/components/schemas/TransactionsSettleInvoiceRequestRequest1' + examples: + example1: + value: + merchantData: bc3d8da0-f930-49e3-9acc-56725ab14a0a + transaction: >- + 01000000020d76e23c0d6f6acd2e9a7d4c9b6916aa9333111fac62003a75d13a10353ee563000000006a4730440220714ffb0eff55abb4840a470760f418442a3ebf7a9bb133dfdc25808f0b05f4fd0220024b562567802e7639ccff2f1e361e178d34102a9fbdbc3aa5843ef5e1dc73fe41210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0d76e23c0d6f6acd2e9a7d4c9b6916aa9333111fac62003a75d13a10353ee563010000006a47304402205ad45fd9d02b659f987cc8321f4874bfa2729425913738cbc4444ed20e453ee4022020467301d8e50bc58e37b92cc03962acc8cfd5ac70bf704de2c4dee8c8beebc84121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff010a000000000000001976a91477bff20c60e522dfaa3350c39b030a5d004e839a88ac00000000 + example2: + value: + merchantData: ab05c66d-0397-419f-8311-9b5dfbccd6ed + transaction: >- + 01000000023a149de2c3a74c191727d17496171c0e97efbaff5735271ead9f883e214e9bd5000000006a473044022045fc063571fb291ea114facfcb2f38bf60f0e8797140e3e6f1380dcd66dffb940220178d4c79bb39f566c3b53c76293f0a38e5fbf0dac4f460783f0cc84ffb259bc341210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff3a149de2c3a74c191727d17496171c0e97efbaff5735271ead9f883e214e9bd5010000006a4730440220160354a13e8f0f72577a0aa393a981b922af9819ae5d04786d5ae226bb867db90220304c4a5eeb2fbc348c336b4a0a45de5bba6e271b32f3884bdf1c5fd1a48671604121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff010a000000000000001976a91477bff20c60e522dfaa3350c39b030a5d004e839a88ac00000000 + refundTo: 147Pha46z8xhMHjq6Wcy9ZWgUV9okUgUeu + example3: + value: + merchantData: ab05c66d-0397-419f-8311-9b5dfbccd6ed + transaction: >- + 01000000023a149de2c3a74c191727d17496171c0e97efbaff5735271ead9f883e214e9bd5000000006a473044022045fc063571fb291ea114facfcb2f38bf60f0e8797140e3e6f1380dcd66dffb940220178d4c79bb39f566c3b53c76293f0a38e5fbf0dac4f460783f0cc84ffb259bc341210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff3a149de2c3a74c191727d17496171c0e97efbaff5735271ead9f883e214e9bd5010000006a4730440220160354a13e8f0f72577a0aa393a981b922af9819ae5d04786d5ae226bb867db90220304c4a5eeb2fbc348c336b4a0a45de5bba6e271b32f3884bdf1c5fd1a48671604121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff010a000000000000001976a91477bff20c60e522dfaa3350c39b030a5d004e839a88ac00000000 + memo: paying 1$ for testing + example4: + value: + merchantData: a3621ebf-97a4-476f-a028-a7a9c55b27e8 + transaction: >- + 0100000002398e8fe2829b523f7337559393d97e70173d05f56d80d0dd0b90a5a35aa9d140000000006b483045022100ac04d62f743fdefd224c5f84c0c6562a15c93e6e45cc84d259ad074a1d42a8a402205ca8b3a296f8b7268e3d092a010785580dd18c8794f5911692e16e6c3c7c996a41210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff398e8fe2829b523f7337559393d97e70173d05f56d80d0dd0b90a5a35aa9d140010000006b483045022100cef2deea13b5ef5e012d225e10f1445c6421570613a2c02e87e8b6fe27b75fe602201e6c5b85dcc0062235581885a49b194777e9230b8314a18052a97e8b146ed24f4121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff01f4010000000000001976a91477bff20c60e522dfaa3350c39b030a5d004e839a88ac00000000 + refundTo: 147Pha46z8xhMHjq6Wcy9ZWgUV9okUgUeu + memo: paying for testing + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsSettleInvoiceRequestResponse' + example: + statusCode: 200 + data: + status: success + msg: Operation completed successfully. + statusCode: 200 + data: + status: success + msg: Payment Completed Successfully + txId: >- + ef8bdedd64477adcf1d297cf7fbb92c743251634841418e43f6e74db921770a3 + '400': + description: Bad request + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsSettleInvoiceRequest400Response + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/domain/generateToken: + post: + tags: + - admin + summary: Generates a domain verification token + operationId: Admin_verifyDomainOwnership + security: + - authToken: [] + description: >- + We authenticate domains to verify whether infrastructure users are + actually owning the specific domain. + parameters: + - schema: + type: string + in: header + name: userID + required: false + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AdminVerifyDomainOwnershipRequest' + example: + domain: example.com + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/AdminVerifyDomainOwnershipResponse' + example: + statusCode: 200 + data: + status: success + msg: Domain verification token generated successfully + verificationCode: relysia-verification=kwlZ7D7RgL6dY7ksTgH1UWnunDP68u + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/AdminVerifyDomainOwnership400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/domain/{userId}/verifyToken: + post: + tags: + - admin + summary: verify domain ownership + operationId: Admin_verifyDomainOwnership + security: + - authToken: [] + parameters: + - schema: + type: string + in: path + name: userId + required: true + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AdminVerifyDomainOwnershipRequest1' + example: + domain: example.com + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/AdminVerifyDomainOwnership200Response' + example: + statusCode: 200 + data: + status: success + msg: Domain verified successfully + statusCode: 200 + domain: example.com + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/AdminVerifyDomainOwnership400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/paymail/{paymailId}: + get: + tags: + - paymail + operationId: Paymail_getAddressInfo + security: + - authToken: [] + - serviceID: [] + parameters: + - schema: + type: string + in: path + name: paymailId + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaymailGetAddressInfoResponse' + example: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + paymailDetails: + walletID: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + paymailId: 91@dev.relysia.com + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/PaymailGetAddressInfo400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/paymail: + put: + tags: + - paymail + operationId: Paymail_updateAddressInfo + security: + - authToken: [] + - serviceID: [] + parameters: + - schema: + type: string + in: header + name: walletID + required: false + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PaymailUpdateAddressInfoRequest' + example: + newPaymailId: 91@dev.relysia.com + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaymailUpdateAddressInfoResponse' + example: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + paymail: alpha200@dev.relysia.com + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/PaymailUpdateAddressInfo400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/wallet: + delete: + tags: + - Delete + summary: >- + to delete a wallet, this api will delete your wallet and related data of + that walletId + operationId: Delete_walletData + security: + - authToken: [] + - serviceID: [] + parameters: + - schema: + type: string + in: header + name: walletID + required: false + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteWalletDataResponse' + example: + statusCode: 200 + data: + status: success + msg: wallet deleted successfully ! + walletId: ec4ae905-c5ef-41bd-adfb-4db361093245 + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteWalletData400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/paymail/activate: + post: + tags: + - paymail + summary: to activate and deActivate paymail + operationId: Paymail_activateDeactivate + security: + - authToken: [] + - serviceID: [] + parameters: + - schema: + type: string + in: header + name: walletID + required: false + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PaymailActivateDeactivateRequest' + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/PaymailActivateDeactivateResponse' + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: paymail activated now + example2: + value: + statusCode: 200 + data: + status: success + msg: paymail deactivated now + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/PaymailActivateDeactivate400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/reset/password: + post: + tags: + - Authentication + summary: Password Reset. + operationId: Authentication_resetUserPasswordConfirmation + security: + - serviceID: [] + description: Reset your password and send a confirmation to the registered mail. + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/AuthenticationResetUserPasswordConfirmationRequest + example: + email: satoshin@gmx.com + required: true + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: >- + #/components/schemas/AuthenticationResetUserPasswordConfirmationResponse + example: + statusCode: 200 + data: + status: success + msg: Password reset link sent successfully. + email: satoshin@gmx.com + '400': + description: Bad request + content: + application/json: + schema: + $ref: >- + #/components/schemas/AuthenticationResetUserPasswordConfirmation400Response + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/transpile: + post: + tags: + - Utility + summary: transpile solidity code to sCrypt. + operationId: Utility_transpileSolidityCodeToScrypt + description: Takes base64 string of solidity code and converts it to sCrypt. + parameters: + - schema: + type: boolean + default: 'false' + in: header + name: force + required: false + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UtilityTranspileSolidityCodeToScryptRequest' + example: + sourceCode: >- + Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVApwcmFnbWEgc29saWRpdHkgXjAuOC4xMDsKCmNvbnRyYWN0IEVSQzcyMSB7CiAgICB1aW50MjU2IHByaXZhdGUgY29uc3RhbnQgX19Mb29wQ291bnRfXzAgPSAxOwogICAgc3RyaW5nIHByaXZhdGUgY29uc3RhbnQgdG9rZW5OYW1lID0gIk15IEVSQzcyMSBUb2tlbiI7CiAgICBzdHJpbmcgcHJpdmF0ZSBjb25zdGFudCB0b2tlblN5bWJvbCA9ICJNRVQiOwogICAgdWludDI1NiBwcml2YXRlIGNvbnN0YW50IHRvdGFsVG9rZW5zID0gMTAwMDAwMDsKICAgIG1hcHBpbmcoYWRkcmVzcyA9PiB1aW50MjU2KSBwcml2YXRlIGJhbGFuY2VzOwogICAgbWFwcGluZyh1aW50MjU2ID0+IGFkZHJlc3MpIHByaXZhdGUgdG9rZW5Pd25lcnM7CiAgICBtYXBwaW5nKHVpbnQyNTYgPT4gYm9vbCkgcHJpdmF0ZSB0b2tlbkV4aXN0czsKICAgIG1hcHBpbmcoYWRkcmVzcyA9PiBtYXBwaW5nKGFkZHJlc3MgPT4gdWludDI1NikpIHByaXZhdGUgYWxsb3dlZDsKICAgIG1hcHBpbmcoYWRkcmVzcyA9PiBtYXBwaW5nKHVpbnQyNTYgPT4gdWludDI1NikpIHByaXZhdGUgb3duZXJUb2tlbnM7CgogICAgbWFwcGluZyh1aW50MjU2ID0+IHN0cmluZykgdG9rZW5MaW5rczsKCiAgICBmdW5jdGlvbiBuYW1lKCkgZXh0ZXJuYWwgcmV0dXJucyAoc3RyaW5nIG1lbW9yeSkgewogICAgICAgIHJldHVybiB0b2tlbk5hbWU7CiAgICB9CgogICAgZnVuY3Rpb24gc3ltYm9sKCkgZXh0ZXJuYWwgcmV0dXJucyAoc3RyaW5nIG1lbW9yeSkgewogICAgICAgIHJldHVybiB0b2tlblN5bWJvbDsKICAgIH0KCiAgICBmdW5jdGlvbiB0b3RhbFN1cHBseSgpIGV4dGVybmFsIHJldHVybnMgKHVpbnQyNTYpIHsKICAgICAgICByZXR1cm4gdG90YWxUb2tlbnM7CiAgICB9CgogICAgZnVuY3Rpb24gYmFsYW5jZU9mKGFkZHJlc3MgX293bmVyKSBleHRlcm5hbCByZXR1cm5zICh1aW50MjU2KSB7CiAgICAgICAgcmV0dXJuIGJhbGFuY2VzW19vd25lcl07CiAgICB9CgoKICAgIGZ1bmN0aW9uIGFwcHJvdmUoYWRkcmVzcyBfdG8sIHVpbnQyNTYgX3Rva2VuSWQpIGV4dGVybmFsIHsKICAgICAgICByZXF1aXJlKHRva2VuRXhpc3RzW190b2tlbklkXSk7CiAgICAgICAgcmVxdWlyZShtc2cuc2VuZGVyID09IHRva2VuT3duZXJzW190b2tlbklkXSk7CiAgICAgICAgcmVxdWlyZShtc2cuc2VuZGVyICE9IF90byk7CiAgICAgICAgYWxsb3dlZFttc2cuc2VuZGVyXVtfdG9dID0gX3Rva2VuSWQ7CiAgICAgICAgZW1pdCBBcHByb3ZhbChtc2cuc2VuZGVyLCBfdG8sIF90b2tlbklkKTsKICAgIH0KCiAgICBmdW5jdGlvbiB0YWtlT3duZXJzaGlwKHVpbnQyNTYgX3Rva2VuSWQpIGV4dGVybmFsIHsKICAgICAgICByZXF1aXJlKHRva2VuRXhpc3RzW190b2tlbklkXSk7CiAgICAgICAgYWRkcmVzcyBvbGRPd25lciA9IHRva2VuT3duZXJzW190b2tlbklkXTsKICAgICAgICBhZGRyZXNzIG5ld093bmVyID0gbXNnLnNlbmRlcjsKICAgICAgICByZXF1aXJlKG5ld093bmVyICE9IG9sZE93bmVyKTsKICAgICAgICByZXF1aXJlKGFsbG93ZWRbb2xkT3duZXJdW25ld093bmVyXSA9PSBfdG9rZW5JZCk7CiAgICAgICAgYmFsYW5jZXNbb2xkT3duZXJdIC09IDE7CiAgICAgICAgdG9rZW5Pd25lcnNbX3Rva2VuSWRdID0gbmV3T3duZXI7CiAgICAgICAgYmFsYW5jZXNbb2xkT3duZXJdICs9IDE7CiAgICAgICAgZW1pdCBUcmFuc2ZlcihvbGRPd25lciwgbmV3T3duZXIsIF90b2tlbklkKTsKICAgIH0KCiAgICBmdW5jdGlvbiB0cmFuc2ZlcihhZGRyZXNzIF90bywgdWludDI1NiBfdG9rZW5JZCkgZXh0ZXJuYWwgewogICAgICAgIGFkZHJlc3MgY3VycmVudE93bmVyID0gbXNnLnNlbmRlcjsKICAgICAgICBhZGRyZXNzIG5ld093bmVyID0gX3RvOwogICAgICAgIHJlcXVpcmUodG9rZW5FeGlzdHNbX3Rva2VuSWRdKTsKICAgICAgICByZXF1aXJlKGN1cnJlbnRPd25lciA9PSB0b2tlbk93bmVyc1tfdG9rZW5JZF0pOwogICAgICAgIHJlcXVpcmUoY3VycmVudE93bmVyICE9IG5ld093bmVyKTsKICAgICAgICByZXF1aXJlKG5ld093bmVyICE9IGFkZHJlc3MoMCkpOwoKICAgICAgICBmb3IgKHVpbnQyNTYgaSA9IDA7IG93bmVyVG9rZW5zW2N1cnJlbnRPd25lcl1baV0gIT0gX3Rva2VuSWQ7IGkrKykgewogICAgICAgICAgICBvd25lclRva2Vuc1tjdXJyZW50T3duZXJdW2ldID0gMDsKICAgICAgICB9CgogICAgICAgIGJhbGFuY2VzW2N1cnJlbnRPd25lcl0gLT0gMTsKICAgICAgICB0b2tlbk93bmVyc1tfdG9rZW5JZF0gPSBuZXdPd25lcjsKICAgICAgICBiYWxhbmNlc1tuZXdPd25lcl0gKz0gMTsKICAgICAgICBlbWl0IFRyYW5zZmVyKGN1cnJlbnRPd25lciwgbmV3T3duZXIsIF90b2tlbklkKTsKICAgIH0KCiAgICBmdW5jdGlvbiB0b2tlbk9mT3duZXJCeUluZGV4KGFkZHJlc3MgX293bmVyLCB1aW50MjU2IF9pbmRleCkKICAgICAgICBleHRlcm5hbAogICAgICAgIHJldHVybnMgKHVpbnQyNTYgdG9rZW5JZCkKICAgIHsKICAgICAgICByZXR1cm4gb3duZXJUb2tlbnNbX293bmVyXVtfaW5kZXhdOwogICAgfQoKICAgIGZ1bmN0aW9uIHRva2VuTWV0YWRhdGEodWludDI1NiBfdG9rZW5JZCkKICAgICAgICBleHRlcm5hbAogICAgICAgIHJldHVybnMgKHN0cmluZyBtZW1vcnkgaW5mb1VybCkKICAgIHsKICAgICAgICByZXR1cm4gdG9rZW5MaW5rc1tfdG9rZW5JZF07CiAgICB9CgogICAgZXZlbnQgVHJhbnNmZXIoCiAgICAgICAgYWRkcmVzcyBpbmRleGVkIF9mcm9tLAogICAgICAgIGFkZHJlc3MgaW5kZXhlZCBfdG8sCiAgICAgICAgdWludDI1NiBfdG9rZW5JZAogICAgKTsKICAgIGV2ZW50IEFwcHJvdmFsKAogICAgICAgIGFkZHJlc3MgaW5kZXhlZCBfb3duZXIsCiAgICAgICAgYWRkcmVzcyBpbmRleGVkIF9hcHByb3ZlZCwKICAgICAgICB1aW50MjU2IF90b2tlbklkCiAgICApOwp9 + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/UtilityTranspileSolidityCodeToScryptResponse + example: + statusCode: 200 + data: + status: success + msg: operation completed successfully ! + scrypt: |- + struct MapKeyST0 { + PubKeyHash key0; + PubKeyHash key1; + } + + contract ERC20 { + @state + public int totalSupply; + + @state + public HashedMap balanceOf; + + @state + public HashedMap allowance; + + static const bytes name = "Solidity by Example"; + + static const bytes symbol = "SOLBYEX"; + + static const int decimals = 18; + + public function transfer(PubKeyHash recipient, int amount, Sig sig, PubKey pubKey, bool retVal, int balanceOf_msgSender, int i0, int balanceOf_recipient, int i1, SigHashPreimage txPreimage) { + PubKeyHash msgSender = hash160(pubKey); + require(checkSig(sig, pubKey)); + require((!this.balanceOf.has({msgSender, i0}) && balanceOf_msgSender == 0) || this.balanceOf.canGet({msgSender, i0}, balanceOf_msgSender)); + balanceOf_msgSender -= amount; + require((!this.balanceOf.has({recipient, i1}) && balanceOf_recipient == 0) || this.balanceOf.canGet({recipient, i1}, balanceOf_recipient)); + balanceOf_recipient += amount; + require(true == retVal); + require(this.balanceOf.set({msgSender, i0}, balanceOf_msgSender)); + require(this.balanceOf.set({recipient, i1}, balanceOf_recipient)); + require(this.propagateState(txPreimage, SigHash.value(txPreimage))); + } + + public function approve(PubKeyHash spender, int amount, Sig sig, PubKey pubKey, bool retVal, int allowance_msgSender_spender, int i0, SigHashPreimage txPreimage) { + PubKeyHash msgSender = hash160(pubKey); + require(checkSig(sig, pubKey)); + require((!this.allowance.has({{msgSender, spender}, i0}) && allowance_msgSender_spender == 0) || this.allowance.canGet({{msgSender, spender}, i0}, allowance_msgSender_spender)); + allowance_msgSender_spender = amount; + require(true == retVal); + require(this.allowance.set({{msgSender, spender}, i0}, allowance_msgSender_spender)); + require(this.propagateState(txPreimage, SigHash.value(txPreimage))); + } + + public function transferFrom(PubKeyHash sender, PubKeyHash recipient, int amount, Sig sig, PubKey pubKey, bool retVal, int allowance_sender_msgSender, int i0, int balanceOf_recipient, int i2, int balanceOf_sender, int i1, SigHashPreimage txPreimage) { + PubKeyHash msgSender = hash160(pubKey); + require(checkSig(sig, pubKey)); + require((!this.allowance.has({{sender, msgSender}, i0}) && allowance_sender_msgSender == 0) || this.allowance.canGet({{sender, msgSender}, i0}, allowance_sender_msgSender)); + allowance_sender_msgSender -= amount; + require((!this.balanceOf.has({sender, i1}) && balanceOf_sender == 0) || this.balanceOf.canGet({sender, i1}, balanceOf_sender)); + balanceOf_sender -= amount; + require((!this.balanceOf.has({recipient, i2}) && balanceOf_recipient == 0) || this.balanceOf.canGet({recipient, i2}, balanceOf_recipient)); + balanceOf_recipient += amount; + require(true == retVal); + require(this.allowance.set({{sender, msgSender}, i0}, allowance_sender_msgSender)); + require(this.balanceOf.set({recipient, i2}, balanceOf_recipient)); + require(this.balanceOf.set({sender, i1}, balanceOf_sender)); + require(this.propagateState(txPreimage, SigHash.value(txPreimage))); + } + + public function mint(int amount, Sig sig, PubKey pubKey, int balanceOf_msgSender, int i0, SigHashPreimage txPreimage) { + PubKeyHash msgSender = hash160(pubKey); + require(checkSig(sig, pubKey)); + require((!this.balanceOf.has({msgSender, i0}) && balanceOf_msgSender == 0) || this.balanceOf.canGet({msgSender, i0}, balanceOf_msgSender)); + balanceOf_msgSender += amount; + this.totalSupply += amount; + require(this.balanceOf.set({msgSender, i0}, balanceOf_msgSender)); + require(this.propagateState(txPreimage, SigHash.value(txPreimage))); + } + + public function burn(int amount, Sig sig, PubKey pubKey, int balanceOf_msgSender, int i0, SigHashPreimage txPreimage) { + PubKeyHash msgSender = hash160(pubKey); + require(checkSig(sig, pubKey)); + require((!this.balanceOf.has({msgSender, i0}) && balanceOf_msgSender == 0) || this.balanceOf.canGet({msgSender, i0}, balanceOf_msgSender)); + balanceOf_msgSender -= amount; + this.totalSupply -= amount; + require(this.balanceOf.set({msgSender, i0}, balanceOf_msgSender)); + require(this.propagateState(txPreimage, SigHash.value(txPreimage))); + } + + function propagateState(SigHashPreimage txPreimage, int value) : bool { + require(Tx.checkPreimage(txPreimage)); + bytes outputScript = this.getStateScript(); + bytes output = Utils.buildOutput(outputScript, value); + return hash256(output) == SigHash.hashOutputs(txPreimage); + } + } + errorLogs: [] + '400': + description: Bad request + content: + application/json: + schema: + $ref: >- + #/components/schemas/UtilityTranspileSolidityCodeToScrypt400Response + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/compile: + post: + tags: + - Utility + summary: compile sCrypt code to Bitcoin Script. + operationId: Utility_compileScryptToBitcoinScript + description: Takes base64 string of sCrypt code and converts it to Bitcoin Script. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UtilityCompileScryptToBitcoinScriptRequest' + example: + sourceCode: >- + Y29udHJhY3QgQ291bnRlciB7DQogIEBzdGF0ZQ0KICBwdWJsaWMgaW50IGNvdW50Ow0KDQogIGZ1bmN0aW9uIGdldCgpIDogaW50IHsNCiAgICByZXR1cm4gdGhpcy5jb3VudDsNCiAgfQ0KDQogIHB1YmxpYyBmdW5jdGlvbiBpbmMoU2lnSGFzaFByZWltYWdlIHR4UHJlaW1hZ2UpIHsNCiAgICB0aGlzLmNvdW50ICs9IDE7DQogICAgcmVxdWlyZSh0aGlzLnByb3BhZ2F0ZVN0YXRlKHR4UHJlaW1hZ2UpKTsNCiAgfQ0KDQogIGZ1bmN0aW9uIHNldChpbnQgX2NvdW50KSA6IGJvb2wgew0KICAgIHRoaXMuY291bnQgPSBfY291bnQ7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICBmdW5jdGlvbiBwcm9wYWdhdGVTdGF0ZShTaWdIYXNoUHJlaW1hZ2UgdHhQcmVpbWFnZSkgOiBib29sIHsNCiAgICByZXF1aXJlKFR4LmNoZWNrUHJlaW1hZ2UodHhQcmVpbWFnZSkpOw0KICAgIGJ5dGVzIG91dHB1dFNjcmlwdCA9IHRoaXMuZ2V0U3RhdGVTY3JpcHQoKTsNCiAgICBieXRlcyBvdXRwdXQgPSBVdGlscy5idWlsZE91dHB1dChvdXRwdXRTY3JpcHQsIFNpZ0hhc2gudmFsdWUodHhQcmVpbWFnZSkpOw0KICAgIHJldHVybiBoYXNoMjU2KG91dHB1dCkgPT0gU2lnSGFzaC5oYXNoT3V0cHV0cyh0eFByZWltYWdlKTsNCiAgfQ0KfQ== + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/UtilityCompileScryptToBitcoinScriptResponse + example: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + scrypt: >- + OP_1 40 + 97dfd76851bf465e8f715593b217714858bbe9570ff3bd5e33840a34e20ff026 + 02ba79df5f8ae7604a9830f03c7933028186aede0675a16f025dc4f8be8eec0382 + 1008ce7480da41702918d1ec8e6849ba32b4d65b1e40dc669c31a1e6306b266c + $count $__codePart__ OP_7 OP_PICK OP_NOP OP_0 OP_PICK 68 + OP_SPLIT OP_NIP OP_NOP OP_0 OP_0 OP_2 OP_PICK OP_1 OP_SPLIT + OP_DROP OP_0 OP_SPLIT OP_NIP OP_0 OP_PICK fd OP_EQUAL OP_IF + OP_3 OP_PICK OP_3 OP_SPLIT OP_DROP OP_1 OP_SPLIT OP_NIP + OP_NOP OP_0 OP_PICK 00 OP_CAT OP_BIN2NUM OP_1 OP_ROLL + OP_DROP OP_NOP OP_3 OP_ROLL OP_DROP OP_2 OP_ROLL OP_2 + OP_ROLL OP_3 OP_PICK OP_3 OP_4 OP_PICK OP_ADD OP_SPLIT + OP_DROP OP_3 OP_SPLIT OP_NIP OP_2 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_ELSE OP_0 OP_PICK fe OP_EQUAL OP_IF OP_3 OP_PICK + OP_5 OP_SPLIT OP_DROP OP_1 OP_SPLIT OP_NIP OP_NOP OP_0 + OP_PICK 00 OP_CAT OP_BIN2NUM OP_1 OP_ROLL OP_DROP OP_NOP + OP_3 OP_ROLL OP_DROP OP_2 OP_ROLL OP_2 OP_ROLL OP_3 OP_PICK + OP_5 OP_4 OP_PICK OP_ADD OP_SPLIT OP_DROP OP_5 OP_SPLIT + OP_NIP OP_2 OP_ROLL OP_DROP OP_1 OP_ROLL OP_ELSE OP_0 + OP_PICK ff OP_EQUAL OP_IF OP_3 OP_PICK OP_9 OP_SPLIT OP_DROP + OP_1 OP_SPLIT OP_NIP OP_NOP OP_0 OP_PICK 00 OP_CAT + OP_BIN2NUM OP_1 OP_ROLL OP_DROP OP_NOP OP_3 OP_ROLL OP_DROP + OP_2 OP_ROLL OP_2 OP_ROLL OP_3 OP_PICK OP_9 OP_4 OP_PICK + OP_ADD OP_SPLIT OP_DROP OP_9 OP_SPLIT OP_NIP OP_2 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_ELSE OP_3 OP_PICK OP_1 OP_SPLIT + OP_DROP OP_0 OP_SPLIT OP_NIP OP_NOP OP_0 OP_PICK 00 OP_CAT + OP_BIN2NUM OP_1 OP_ROLL OP_DROP OP_NOP OP_3 OP_ROLL OP_DROP + OP_2 OP_ROLL OP_2 OP_ROLL OP_3 OP_PICK OP_1 OP_4 OP_PICK + OP_ADD OP_SPLIT OP_DROP OP_1 OP_SPLIT OP_NIP OP_2 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_ENDIF OP_ENDIF OP_ENDIF OP_1 OP_PICK + OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP OP_1 OP_ROLL OP_DROP + OP_NOP OP_0 OP_PICK OP_NOP OP_0 OP_PICK OP_SIZE OP_NIP OP_1 + OP_PICK OP_1 OP_PICK OP_1 OP_SUB OP_SPLIT OP_DROP OP_1 + OP_PICK OP_4 OP_SUB OP_1 OP_SUB OP_SPLIT OP_NIP OP_0 OP_PICK + OP_BIN2NUM OP_2 OP_PICK OP_1 OP_PICK OP_SUB OP_4 OP_SUB OP_1 + OP_SUB OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP OP_1 OP_PICK + OP_1 OP_PICK OP_SPLIT OP_DROP OP_3 OP_ROLL OP_DROP OP_2 + OP_ROLL OP_2 OP_ROLL OP_0 OP_0 OP_3 OP_PICK OP_3 OP_PICK + OP_SPLIT OP_NIP OP_NOP OP_0 OP_PICK OP_3 OP_ROLL OP_DROP + OP_2 OP_ROLL OP_2 OP_ROLL OP_0 OP_2 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_NOP OP_NOP OP_1 OP_PICK OP_1 OP_PICK OP_1 + OP_ADD OP_SPLIT OP_DROP OP_1 OP_PICK OP_SPLIT OP_NIP OP_1 + OP_PICK OP_DUP OP_1ADD OP_3 OP_ROLL OP_DROP OP_2 OP_ROLL + OP_2 OP_ROLL OP_DROP 00 OP_1 OP_PICK OP_EQUAL OP_NOT OP_1 + OP_ROLL OP_DROP OP_NOP OP_0 OP_PICK OP_NOT OP_IF OP_NOP + OP_NOP OP_0 OP_3 OP_PICK OP_0 OP_1 OP_PICK OP_5 OP_PICK OP_1 + OP_ADD OP_SPLIT OP_DROP OP_5 OP_PICK OP_SPLIT OP_NIP + OP_BIN2NUM OP_5 OP_PICK OP_DUP OP_1ADD OP_7 OP_ROLL OP_DROP + OP_6 OP_ROLL OP_6 OP_ROLL OP_6 OP_ROLL OP_6 OP_ROLL OP_6 + OP_ROLL OP_6 OP_ROLL OP_DROP OP_0 OP_PICK 4c OP_LESSTHAN + OP_IF OP_0 OP_PICK OP_4 OP_ROLL OP_DROP OP_3 OP_ROLL OP_3 + OP_ROLL OP_3 OP_ROLL OP_2 OP_PICK OP_6 OP_PICK OP_5 OP_PICK + OP_ADD OP_SPLIT OP_DROP OP_6 OP_PICK OP_SPLIT OP_NIP OP_2 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_ELSE OP_0 OP_PICK 4c + OP_NUMEQUAL OP_IF OP_2 OP_PICK OP_6 OP_PICK OP_1 OP_ADD + OP_SPLIT OP_DROP OP_6 OP_PICK OP_SPLIT OP_NIP OP_NOP OP_0 + OP_PICK 00 OP_CAT OP_BIN2NUM OP_1 OP_ROLL OP_DROP OP_NOP + OP_4 OP_ROLL OP_DROP OP_3 OP_ROLL OP_3 OP_ROLL OP_3 OP_ROLL + OP_5 OP_PICK OP_1 OP_ADD OP_6 OP_ROLL OP_DROP OP_5 OP_ROLL + OP_5 OP_ROLL OP_5 OP_ROLL OP_5 OP_ROLL OP_5 OP_ROLL OP_5 + OP_PICK OP_DROP OP_2 OP_PICK OP_6 OP_PICK OP_5 OP_PICK + OP_ADD OP_SPLIT OP_DROP OP_6 OP_PICK OP_SPLIT OP_NIP OP_2 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_ELSE OP_0 OP_PICK 4d + OP_NUMEQUAL OP_IF OP_2 OP_PICK OP_6 OP_PICK OP_2 OP_ADD + OP_SPLIT OP_DROP OP_6 OP_PICK OP_SPLIT OP_NIP OP_NOP OP_0 + OP_PICK 00 OP_CAT OP_BIN2NUM OP_1 OP_ROLL OP_DROP OP_NOP + OP_4 OP_ROLL OP_DROP OP_3 OP_ROLL OP_3 OP_ROLL OP_3 OP_ROLL + OP_5 OP_PICK OP_2 OP_ADD OP_6 OP_ROLL OP_DROP OP_5 OP_ROLL + OP_5 OP_ROLL OP_5 OP_ROLL OP_5 OP_ROLL OP_5 OP_ROLL OP_5 + OP_PICK OP_DROP OP_2 OP_PICK OP_6 OP_PICK OP_5 OP_PICK + OP_ADD OP_SPLIT OP_DROP OP_6 OP_PICK OP_SPLIT OP_NIP OP_2 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_ELSE OP_0 OP_PICK 4e + OP_NUMEQUAL OP_IF OP_2 OP_PICK OP_6 OP_PICK OP_4 OP_ADD + OP_SPLIT OP_DROP OP_6 OP_PICK OP_SPLIT OP_NIP OP_NOP OP_0 + OP_PICK 00 OP_CAT OP_BIN2NUM OP_1 OP_ROLL OP_DROP OP_NOP + OP_4 OP_ROLL OP_DROP OP_3 OP_ROLL OP_3 OP_ROLL OP_3 OP_ROLL + OP_5 OP_PICK OP_4 OP_ADD OP_6 OP_ROLL OP_DROP OP_5 OP_ROLL + OP_5 OP_ROLL OP_5 OP_ROLL OP_5 OP_ROLL OP_5 OP_ROLL OP_5 + OP_PICK OP_DROP OP_2 OP_PICK OP_6 OP_PICK OP_5 OP_PICK + OP_ADD OP_SPLIT OP_DROP OP_6 OP_PICK OP_SPLIT OP_NIP OP_2 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_ELSE OP_0 OP_VERIFY OP_ENDIF + OP_ENDIF OP_ENDIF OP_ENDIF OP_5 OP_PICK OP_4 OP_PICK OP_ADD + OP_6 OP_ROLL OP_DROP OP_5 OP_ROLL OP_5 OP_ROLL OP_5 OP_ROLL + OP_5 OP_ROLL OP_5 OP_ROLL OP_5 OP_PICK OP_DROP OP_1 OP_PICK + OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP OP_BIN2NUM OP_NOP OP_7 + OP_ROLL OP_DROP OP_6 OP_ROLL OP_6 OP_ROLL OP_6 OP_ROLL OP_6 + OP_ROLL OP_6 OP_ROLL OP_6 OP_ROLL OP_ENDIF OP_6 OP_PICK OP_1 + OP_ADD OP_7 OP_ROLL OP_DROP OP_6 OP_ROLL OP_6 OP_ROLL OP_6 + OP_ROLL OP_6 OP_ROLL OP_6 OP_ROLL OP_6 OP_ROLL OP_6 OP_PICK + OP_DROP OP_12 OP_PICK OP_NOP OP_0 OP_PICK OP_NOP OP_0 + OP_PICK OP_12 OP_PICK OP_12 OP_PICK + 0ac407f0e4bd44bfc207355a778b046225a7068fc59ee7eda43ad905aadbffc800 + 6c266b30e6a1319c66dc401e5bd6b432ba49688eecd118297041da8074ce0810 + OP_14 OP_PICK 13 OP_PICK 13 OP_PICK OP_OR OP_NOP OP_6 + OP_PICK OP_HASH256 OP_0 OP_PICK OP_NOP OP_0 OP_PICK OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_SWAP OP_CAT OP_SWAP + OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP + OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP + OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP + OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP + OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP + OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP + OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP + OP_CAT OP_SWAP OP_CAT 00 OP_CAT OP_BIN2NUM OP_1 OP_ROLL + OP_DROP OP_NOP OP_7 OP_PICK OP_6 OP_PICK OP_6 OP_PICK OP_6 + OP_PICK OP_6 OP_PICK OP_NOP OP_3 OP_PICK OP_6 OP_PICK OP_4 + OP_PICK OP_7 OP_PICK OP_MUL OP_ADD OP_MUL + 414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff00 + OP_1 OP_PICK OP_1 OP_PICK OP_NOP OP_1 OP_PICK OP_1 OP_PICK + OP_MOD OP_0 OP_PICK OP_0 OP_LESSTHAN OP_IF OP_0 OP_PICK OP_2 + OP_PICK OP_ADD OP_ELSE OP_0 OP_PICK OP_ENDIF OP_1 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP + OP_2 OP_ROLL OP_DROP OP_1 OP_ROLL OP_1 OP_PICK OP_1 OP_PICK + OP_2 OP_DIV OP_GREATERTHAN OP_IF OP_0 OP_PICK OP_2 OP_PICK + OP_SUB OP_2 OP_ROLL OP_DROP OP_1 OP_ROLL OP_ENDIF OP_3 + OP_PICK OP_SIZE OP_NIP OP_2 OP_PICK OP_SIZE OP_NIP OP_3 + OP_PICK 20 OP_NUM2BIN OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT + OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT + OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT + OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT + OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT + OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT + OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT + OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT + 20 OP_2 OP_PICK OP_SUB OP_SPLIT OP_NIP OP_4 OP_3 OP_PICK + OP_ADD OP_2 OP_PICK OP_ADD 30 OP_1 OP_PICK OP_CAT OP_2 + OP_CAT OP_4 OP_PICK OP_CAT OP_8 OP_PICK OP_CAT OP_2 OP_CAT + OP_3 OP_PICK OP_CAT OP_2 OP_PICK OP_CAT OP_7 OP_PICK OP_CAT + OP_0 OP_PICK OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP + OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP + OP_NOP OP_0 OP_PICK OP_7 OP_PICK OP_CHECKSIG OP_1 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP + OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL + OP_DROP OP_NOP OP_1 OP_ROLL OP_DROP OP_NOP OP_VERIFY OP_NOP + OP_0 OP_NOP OP_0 OP_PICK OP_IF OP_1 OP_ELSE 00 OP_ENDIF OP_1 + OP_ROLL OP_DROP OP_NOP OP_8 OP_PICK OP_NOP OP_0 OP_PICK OP_0 + OP_NUMEQUAL OP_IF 00 OP_ELSE OP_0 OP_PICK OP_ENDIF OP_NOP + OP_0 OP_PICK OP_SIZE OP_NIP OP_0 OP_1 OP_PICK 4c OP_LESSTHAN + OP_IF OP_1 OP_PICK OP_1 OP_NOP OP_1 OP_PICK OP_1 OP_PICK + OP_1 OP_ADD OP_NUM2BIN OP_0 OP_PICK OP_1 OP_PICK OP_SIZE + OP_NIP OP_1 OP_SUB OP_SPLIT OP_DROP OP_0 OP_SPLIT OP_NIP + OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL + OP_DROP OP_NOP OP_1 OP_ROLL OP_DROP OP_ELSE OP_1 OP_PICK + 0001 OP_LESSTHAN OP_IF 4c OP_2 OP_PICK OP_1 OP_NOP OP_1 + OP_PICK OP_1 OP_PICK OP_1 OP_ADD OP_NUM2BIN OP_0 OP_PICK + OP_1 OP_PICK OP_SIZE OP_NIP OP_1 OP_SUB OP_SPLIT OP_DROP + OP_0 OP_SPLIT OP_NIP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP OP_CAT OP_1 OP_ROLL + OP_DROP OP_ELSE OP_1 OP_PICK 000001 OP_LESSTHAN OP_IF 4d + OP_2 OP_PICK OP_2 OP_NOP OP_1 OP_PICK OP_1 OP_PICK OP_1 + OP_ADD OP_NUM2BIN OP_0 OP_PICK OP_1 OP_PICK OP_SIZE OP_NIP + OP_1 OP_SUB OP_SPLIT OP_DROP OP_0 OP_SPLIT OP_NIP OP_1 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP + OP_NOP OP_CAT OP_1 OP_ROLL OP_DROP OP_ELSE OP_1 OP_PICK + 0000000001 OP_LESSTHAN OP_IF 4e OP_2 OP_PICK OP_4 OP_NOP + OP_1 OP_PICK OP_1 OP_PICK OP_1 OP_ADD OP_NUM2BIN OP_0 + OP_PICK OP_1 OP_PICK OP_SIZE OP_NIP OP_1 OP_SUB OP_SPLIT + OP_DROP OP_0 OP_SPLIT OP_NIP OP_1 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP OP_CAT OP_1 + OP_ROLL OP_DROP OP_ELSE OP_0 OP_VERIFY OP_ENDIF OP_ENDIF + OP_ENDIF OP_ENDIF OP_0 OP_PICK OP_3 OP_PICK OP_CAT OP_1 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP + OP_NOP OP_1 OP_ROLL OP_DROP OP_NOP OP_CAT OP_7 OP_PICK OP_1 + OP_PICK OP_NOP OP_0 OP_PICK OP_SIZE OP_NIP OP_4 OP_NUM2BIN + OP_1 OP_PICK OP_1 OP_PICK OP_CAT OP_0 OP_1 OP_NUM2BIN OP_CAT + OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP OP_CAT OP_1 + OP_ROLL OP_DROP OP_NOP OP_0 OP_PICK OP_2 OP_PICK OP_NOP OP_0 + OP_PICK OP_NOP OP_0 OP_PICK OP_SIZE OP_NIP OP_1 OP_PICK OP_1 + OP_PICK 2c OP_SUB OP_SPLIT OP_DROP OP_1 OP_PICK 34 OP_SUB + OP_SPLIT OP_NIP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP + OP_NOP OP_NOP OP_0 OP_PICK 00 OP_CAT OP_BIN2NUM OP_1 OP_ROLL + OP_DROP OP_NOP OP_1 OP_ROLL OP_DROP OP_NOP OP_NOP OP_0 + OP_PICK OP_8 OP_NUM2BIN OP_2 OP_PICK OP_NOP OP_0 OP_PICK + OP_SIZE OP_NIP OP_0 OP_1 OP_PICK fd00 OP_LESSTHAN OP_IF OP_1 + OP_PICK OP_1 OP_NOP OP_1 OP_PICK OP_1 OP_PICK OP_1 OP_ADD + OP_NUM2BIN OP_0 OP_PICK OP_1 OP_PICK OP_SIZE OP_NIP OP_1 + OP_SUB OP_SPLIT OP_DROP OP_0 OP_SPLIT OP_NIP OP_1 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP + OP_1 OP_ROLL OP_DROP OP_ELSE OP_1 OP_PICK 000001 OP_LESSTHAN + OP_IF fd OP_2 OP_PICK OP_2 OP_NOP OP_1 OP_PICK OP_1 OP_PICK + OP_1 OP_ADD OP_NUM2BIN OP_0 OP_PICK OP_1 OP_PICK OP_SIZE + OP_NIP OP_1 OP_SUB OP_SPLIT OP_DROP OP_0 OP_SPLIT OP_NIP + OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL + OP_DROP OP_NOP OP_CAT OP_1 OP_ROLL OP_DROP OP_ELSE OP_1 + OP_PICK 0000000001 OP_LESSTHAN OP_IF fe OP_2 OP_PICK OP_4 + OP_NOP OP_1 OP_PICK OP_1 OP_PICK OP_1 OP_ADD OP_NUM2BIN OP_0 + OP_PICK OP_1 OP_PICK OP_SIZE OP_NIP OP_1 OP_SUB OP_SPLIT + OP_DROP OP_0 OP_SPLIT OP_NIP OP_1 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP OP_CAT OP_1 + OP_ROLL OP_DROP OP_ELSE OP_1 OP_PICK 000000000000000001 + OP_LESSTHAN OP_IF ff OP_2 OP_PICK OP_8 OP_NOP OP_1 OP_PICK + OP_1 OP_PICK OP_1 OP_ADD OP_NUM2BIN OP_0 OP_PICK OP_1 + OP_PICK OP_SIZE OP_NIP OP_1 OP_SUB OP_SPLIT OP_DROP OP_0 + OP_SPLIT OP_NIP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP + OP_1 OP_ROLL OP_DROP OP_NOP OP_CAT OP_1 OP_ROLL OP_DROP + OP_ENDIF OP_ENDIF OP_ENDIF OP_ENDIF OP_0 OP_PICK OP_3 + OP_PICK OP_CAT OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP + OP_1 OP_ROLL OP_DROP OP_NOP OP_CAT OP_1 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_NOP OP_0 OP_PICK OP_HASH256 OP_3 OP_PICK + OP_NOP OP_0 OP_PICK OP_SIZE OP_NIP OP_1 OP_PICK OP_1 OP_PICK + OP_8 OP_SUB OP_SPLIT OP_DROP OP_1 OP_PICK 28 OP_SUB OP_SPLIT + OP_NIP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP + OP_EQUAL OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_NOP OP_NIP OP_NIP OP_NIP OP_NIP OP_NIP + OP_NIP OP_NIP OP_NIP OP_NIP OP_NIP OP_NIP OP_NIP OP_NIP + '400': + description: Bad request + content: + application/json: + schema: + $ref: >- + #/components/schemas/UtilityCompileScryptToBitcoinScript400Response + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/post: + post: + tags: + - Utility + summary: Post Messages to the Blockchain. + operationId: Utility_postMessagesToBlockchain + security: + - authToken: [] + - serviceID: [] + description: >- + The /post endpoint broadcasts array of notes to the blockchain (in B:// + protocol format). + parameters: + - schema: + type: string + in: header + name: custom-token + required: false + - schema: + type: string + in: header + name: walletID + required: false + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UtilityPostMessagesToBlockchainRequest' + examples: + example1: + value: + dataArray: + - notes: + - note-1 + - note-2 + example2: + value: + dataArray: + - notes: + - note-1 + - note-2 + - notes: + - note-3 + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/UtilityPostMessagesToBlockchainResponse' + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Successfully broadcasted to the blockchain. + txIds: + - txId: >- + a9f78d83d6e1255267b727d7d7172016924e130faf33d0f4cac55d1fe92612e4 + url: >- + B://a9f78d83d6e1255267b727d7d7172016924e130faf33d0f4cac55d1fe92612e4 + errors: [] + example2: + value: + statusCode: 200 + data: + status: success + msg: Successfully broadcasted to the blockchain. + txIds: + - txId: >- + 2e0b861f3a2b7d68c09b21237ca6659cd9176832cabaf2c9f691947434fbf463 + url: >- + B://2e0b861f3a2b7d68c09b21237ca6659cd9176832cabaf2c9f691947434fbf463 + - txId: >- + 8d7732f2d0487f97173413c105865fec68449ee9a7e5159e1c3fb223c295695a + url: >- + B://8d7732f2d0487f97173413c105865fec68449ee9a7e5159e1c3fb223c295695a + errors: [] + example3: + value: + statusCode: 200 + data: + status: success + msg: Successfully broadcasted to the blockchain. + txIds: + - txId: >- + 2e0b861f3a2b7d68c09b21237ca6659cd9176832cabaf2c9f691947434fbf463 + url: >- + B://2e0b861f3a2b7d68c09b21237ca6659cd9176832cabaf2c9f691947434fbf463 + - txId: >- + 8d7732f2d0487f97173413c105865fec68449ee9a7e5159e1c3fb223c295695a + url: >- + B://8d7732f2d0487f97173413c105865fec68449ee9a7e5159e1c3fb223c295695a + errors: + - msg: Invalid note format. + index: 0 + '400': + description: Bad request + content: + application/json: + schema: + $ref: >- + #/components/schemas/UtilityPostMessagesToBlockchain400Response + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/lookup: + post: + tags: + - Utility + summary: Returns balance of all assets of Private Key + operationId: Utility_getAssetBalance + security: + - authToken: [] + - serviceID: [] + description: >- + The lookUp endpoint will return all the balance of all assets for BSV + and STAS tokens from a private key + parameters: + - schema: + type: string + in: query + name: nextPageToken + required: false + - schema: + type: string + in: query + name: tokenId + required: false + - schema: + type: string + in: header + name: type + required: false + - schema: + type: string + in: header + name: currency + required: false + - schema: + type: boolean + default: true + in: header + name: compact + required: false + - schema: + type: number + minimum: -1 + in: header + name: maxResults + required: false + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UtilityGetAssetBalanceRequest' + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/UtilityGetAssetBalanceResponse' + example: + statusCode: 200 + data: + status: success + msg: operation completed successfully + totalBalance: + currency: USD + balance: 0.0001570996557778815 + coins: + - protocol: BSV + balance: 0.000005 + - protocol: STAS-789 + tokenId: a12e6c27b08430bccd4d801271e93d76994cac22-STASYO6 + splittable: false + verified: true + name: Store Bonus Points + address: 1JpvnEDrLR1rXZrUZNkhWSJd3x9D9ib16i + satsPerToken: 1 + symbol: STASYO6 + redeemAddr: a12e6c27b08430bccd4d801271e93d76994cac22 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 20 + decimals: 0 + sn: + - 8 + /v1/asm: + post: + tags: + - Transactions + summary: Upload custom ASM scripts in a transaction + operationId: Transactions_uploadCustomAsmScripts + security: + - authToken: [] + - serviceID: [] + description: >- + The asm endpoint allows custom scripts to be added as outputs in a + transaction + parameters: + - schema: + type: string + in: header + name: walletID + required: false + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsUploadCustomAsmScriptsRequest' + examples: + example1: + value: + dataArray: + - asm: >- + OP_DUP OP_HASH160 + 4a548f3da5526d1e2f8b5c3584ebb9739edfbe3b OP_EQUALVERIFY + OP_CHECKSIG + amount: 1.e-8 + example2: + value: + dataArray: + - asm: >- + OP_DUP OP_HASH160 + 4a548f3da5526d1e2f8b5c3584ebb9739edfbe3b OP_EQUALVERIFY + OP_CHECKSIG + amount: 1.e-8 + - asm: >- + OP_DUP OP_HASH160 + 4a548f3da5526d1e2f8b5c3584ebb9739edfbe3b OP_EQUALVERIFY + OP_CHECKSIG + amount: 1.e-7 + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsUploadCustomAsmScriptsResponse + example: + statusCode: 200 + data: + status: success + msg: Transaction successfully broadcasted + txid: >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + '400': + description: Bad request + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsUploadCustomAsmScripts400Response + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/sign: + post: + tags: + - Utility + summary: Sign a message to an address string + operationId: Utility_signMessageToAddress + security: + - authToken: [] + - serviceID: [] + description: >- + The sign endpoint will create a 64bit encoded signature of a message and + an address string + parameters: + - schema: + type: string + in: header + name: walletID + required: false + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UtilitySignMessageToAddressRequest' + examples: + example1: + value: + dataArray: + - derivationPath: m/44'/0'/0'/0/0 + message: Hello World from path + example2: + value: + dataArray: + - address: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + message: Hello World + example3: + value: + dataArray: + - address: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + message: Hello World + - derivationPath: m/44'/0'/0'/0/0 + message: Hello World from path + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/UtilitySignMessageToAddressResponse' + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Successfully signed message + data: + - derivationPath: m/44'/0'/0'/0/0 + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + signature: >- + H50lZfAgH47Qg5va5EIrJJ1ss76D51f6TMEHiOrbUhaHJqC13zoH2mHS9BbBttSznmQwtLQB04addED5CLkYZVU= + example2: + value: + statusCode: 200 + data: + status: success + msg: Successfully signed message + data: + - derivationPath: m/44'/0'/0'/0/0 + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + signature: >- + H9m3vJiQU5q6aDuGpbAf+brX7eG70Q4X1nOoOO/uf4+MZSLh5T5Z6foBrbHzMGe1mPpII2G9Q0TSsvI5dZMxc2Y= + - derivationPath: m/44'/0'/0'/0/5 + address: 12fKJzMbsMW6HxAsCMsrL4jrxC2p8umDGf + signature: >- + INwmOzibOQZD2jYoDqgGcQcIXUngrY6usA2bIvPp0Js1TMDPwZ/Fiq6VVhrO3fqWw54LQ2yoe6ZzATstZZj+YXw= + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/UtilitySignMessageToAddress400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v2/balance: + get: + tags: + - Wallets + summary: Get your wallet balance. + operationId: Wallets_getBalances + security: + - authToken: [] + - serviceID: [] + description: Returns both coin and token balances. + parameters: + - schema: + type: string + in: query + name: nextPageToken + required: false + - schema: + type: string + in: query + name: tokenId + required: false + - schema: + type: string + in: query + name: symbol + required: false + - schema: + type: string + in: header + name: walletID + required: false + - schema: + type: string + in: header + name: type + required: false + - schema: + type: string + in: header + name: currency + required: false + - schema: + type: boolean + default: true + in: header + name: compact + required: false + - schema: + type: number + minimum: -1 + in: header + name: maxResults + required: false + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/WalletsGetBalancesResponse' + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Operation Completed Successfully + totalBalance: + currency: USD + balance: 0.000033622769602482665 + coins: + - protocol: BSV + balance: 0 + - Id: 6441fe87c0dc6dd1babbe28f + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 103 + supply: 123 + decimals: 0 + sn: + - 85 + - 30 + - 61 + - 81 + - 74 + - Id: 6441fe87c0dc6dd1babbe27a + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + splittable: false + splitable: false + verified: true + name: Yujiro + address: 12519wQZvqjuqxggUco872zKs66L9x438C + satsPerToken: 1 + symbol: YJO + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://static.wikia.nocookie.net/baki/images/a/a6/Yujiro_profile.png/revision/latest/scale-to-width-down/280?cb=20220726223446 + amount: 2 + supply: 5 + decimals: 0 + sn: + - 1 + - 2 + - Id: 6441fe87c0dc6dd1babbe27b + protocol: STAS + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-IR_MAN + splittable: false + splitable: false + verified: true + name: Ironman + address: 12519wQZvqjuqxggUco872zKs66L9x438C + satsPerToken: 1 + symbol: IR_MAN + redeemAddr: 8226da9a724b0581928ee508df0174ed7b233a81 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 2 + supply: 3 + decimals: 0 + sn: + - 1 + - 2 + - Id: 6441fe87c0dc6dd1babbe27c + protocol: STAS + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-W_WOMAN + splittable: false + splitable: false + verified: true + name: Store Bonus Points + address: 12T7men1z1FU9sruoFgFx2D7JCJRgZtxrA + satsPerToken: 1 + symbol: W_WOMAN + redeemAddr: 8226da9a724b0581928ee508df0174ed7b233a81 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 5 + decimals: 0 + sn: + - 5 + - Id: 6441fe87c0dc6dd1babbe27d + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-nba-new-123 + splittable: false + splitable: false + verified: true + name: Store Bonus Points + address: 12T7men1z1FU9sruoFgFx2D7JCJRgZtxrA + satsPerToken: 1 + symbol: nba-new-123 + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 10 + supply: 3 + decimals: 0 + sn: + - 1 + - 3 + - 2 + meta: + nextPageToken: 5 + example2: + value: + statusCode: 200 + data: + status: success + msg: Operation Completed Successfully + totalBalance: + currency: USD + balance: 0.000033622769602482665 + coins: + - protocol: BSV + balance: 0 + - Id: 6441fe87c0dc6dd1babbe28f + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 103 + - Id: 6441fe87c0dc6dd1babbe290 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 102 + - Id: 6441fe87c0dc6dd1babbe291 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 101 + - Id: 6441fe87c0dc6dd1babbe292 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 100 + - Id: 6441fe87c0dc6dd1babbe293 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 99 + meta: + nextPageToken: 5 + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/WalletsGetBalances400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v2/history: + get: + tags: + - Wallets + summary: Get your transaction history. + operationId: Wallets_getTransactionHistory + security: + - authToken: [] + - serviceID: [] + description: >- + The transaction history endpoint returns all past transactions, both BSV + and Tokens. + parameters: + - schema: + type: string + in: query + name: nextPageToken + required: false + - schema: + type: string + in: query + name: tokenId + required: false + - schema: + type: string + in: query + name: protocol + required: false + - schema: + type: string + in: query + name: limit + required: false + - schema: + type: string + in: header + name: walletID + required: false + - schema: + type: string + in: header + name: type + required: false + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/WalletsGetTransactionHistory200Response' + example: + statusCode: 200 + data: + status: success + msg: Transaction history fetched successfully. + histories: + - to: + - amount: 1 + image: https://www.gstatic.com/webp/gallery/1.jpg + protocol: STAS-789 + tokenId: >- + 0efca5f5dadcdacd0ff3a418a92c27efc6f8387b29e8647bb9ac7eea9284b13d + sn: 1 + to: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + name: test + decimals: 2 + txId: >- + c48287508391ff0b57ec528cb12ae87762af94f6c242cb4acdeed63382e5515d + from: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + timestamp: '2023-04-24 04:12:20' + totalAmount: 1 + type: debit + - to: + - amount: 1 + image: https://www.gstatic.com/webp/gallery/1.jpg + protocol: STAS-789 + tokenId: >- + 0efca5f5dadcdacd0ff3a418a92c27efc6f8387b29e8647bb9ac7eea9284b13c + sn: 1 + to: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + name: test + decimals: 2 + - amount: 1 + image: https://www.gstatic.com/webp/gallery/1.jpg + protocol: STAS-789 + tokenId: >- + 0efca5f5dadcdacd0ff3a418a92c27efc6f8387b29e8647bb9ac7eea9284b13c + sn: 2 + to: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + name: test + decimals: 2 + txId: >- + c48287508391ff0b57ec528cb12ae87762af94f6c242cb4acdeed63382e5515e + from: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + timestamp: '2023-04-26 03:18:37' + totalAmount: 2 + notes: test + type: credit + meta: + nextPageToken: '1' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/WalletsGetTransactionHistory400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v2/token/{id}: + get: + tags: + - Smart Contracts + summary: Get STAS token details. + operationId: SmartContracts_getTokenDetails + description: Insert your STAS tokenId to receive information about it. + parameters: + - schema: + type: string + in: path + name: id + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/SmartContractsGetTokenDetails200Response' + example: + statusCode: 200 + data: + description: A supermarket bonus point. + status: success + msg: Operation completed successfully + contractTxs: + - >- + d1f376ffb62f30efdd1336ec379eb462ab1068dd67a55789ab1c445cf35c540d + issuanceTxs: + - >- + 7f06cdece4c08192e8872be802f120b85f0610e6f8e448b85c301e89ccc5bfe1 + utxos: 3 + owners: 1 + transactionsCount: 1 + circulationSupply: 3 + name: Store Bonus Points + tokenId: 8a9e7ec666f0610ff3f0540ed55f07162e9dd7a8 + symbol: SBPgdsfgdfsgds + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + totalSupply: 3 + decimals: 0 + satsPerToken: 1 + properties: + legal: + terms: >- + STAS, Inc. retains all rights to the token script. Use + is subject to terms at https://stastoken.com/license. + licenceId: stastoken.com + issuer: + organisation: Vaionex Corp. + legalForm: Limited + governingLaw: US + issuerCountry: US + jurisdiction: US + email: info@vaionex.com + meta: + schemaId: STAS1.0 + website: vaionex.com + legal: + terms: Your token terms and description. + media: + - URI: string + type: string + altURI: string + splitable: false + protocol: STAS-789 + serialNumber: 0 + data: + - '' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/SmartContractsGetTokenDetails400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v2/inspect: + post: + tags: + - Transactions + summary: Inspect an atomic swap offer. + operationId: Transactions_inspectAtomicSwapOffer + security: + - authToken: [] + - serviceID: [] + description: >- + This endpoint allows users to inspect an atomic swap hex to verify the + validity of the offer. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsInspectAtomicSwapOfferRequest1' + examples: + example1: + value: + dataArray: + - swapHex: >- + 010000000184c5740d26e45e7d3574f51bc57346bdec86478669c4a4c90252acaa7a69353d000000006b483045022100876446ffa4fb4dbe362f00adca8d13c5010e5ef5dbfc3f261849fe267352bb2202201b367635c117cd1ce002033a12e115a56be5fa8f59cdaa2ed15f8ed683d23f6dc3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + example2: + value: + dataArray: + - swapHex: >- + 0100000001c5a3b200dce3761303df00166b7f424987ba7bce0ca2806ccfd6c0492fd43b98000000006a47304402201a289a73ca3c3e3dd183193c9c52fd1cbd1607d31769879b56da5eadd00071810220296232d51d8591406848eb4a7ee7dd246403de69237afbab687f0bc84e6354cbc3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + - swapHex: >- + 0100000001b0619eea04bf5f1f765097cbbe2fad314dc6cedebedfe45e97bd30e261008820000000006a473044022075b1b3d916dc32bd7b4dd13e1681e5cb68944331a515ea5d169eb665f032617b022050d287f19c63d0b99a78af62ba580c4574b43373db134b9fc9cb157b9156d882c3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsInspectAtomicSwapOffer200Response + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Offer details fetched successfully + offerDetails: + - address: 12fKJzMbsMW6HxAsCMsrL4jrxC2p8umDGf + protocol: STAS + amount: 1 + verified: true + spent: false + tokenId: >- + 7791e1839f705e2813ec744a15fd10d355ff99b2-SBPTEST12345 + sn: 0 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + tokenSymbol: SBPTEST12345 + contractTxid: >- + a29f4948fd8c17d2e9be8e21f7312dcbcafe2f65b0eb4f0bf4d261a3e3a13c8c + name: Store Bonus Points + tokenSupply: 5 + redeemAddress: 7791e1839f705e2813ec744a15fd10d355ff99b2 + splittable: true + satsPerToken: 1 + wantedProtocol: BSV + wantedAmount: 1 + example2: + value: + statusCode: 200 + data: + status: success + msg: Offer details fetched successfully + offerDetails: + - address: 12fKJzMbsMW6HxAsCMsrL4jrxC2p8umDGf + protocol: STAS + amount: 1 + verified: true + spent: false + tokenId: >- + 7791e1839f705e2813ec744a15fd10d355ff99b2-SBPTEST12345 + sn: 0 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + tokenSymbol: SBPTEST12345 + contractTxid: >- + a29f4948fd8c17d2e9be8e21f7312dcbcafe2f65b0eb4f0bf4d261a3e3a13c8c + name: Store Bonus Points + tokenSupply: 5 + redeemAddress: 7791e1839f705e2813ec744a15fd10d355ff99b2 + splittable: true + satsPerToken: 1 + wantedProtocol: BSV + wantedAmount: 1 + - address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + protocol: STAS + amount: 1 + verified: true + spent: false + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + sn: 5 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + tokenSymbol: WDG + contractTxid: >- + e24cd3c552d71c2dd8513cdeac81a6d2ca48a055f73cbc58d118a33f037c9ca1 + name: White Dragon + tokenSupply: 123 + redeemAddress: 7791e1839f705e2813ec744a15fd10d355ff99b2 + splittable: false + wantedProtocol: BSV + wantedAmount: 2.5e-7 + '400': + description: Bad request + content: + application/json: + schema: + $ref: >- + #/components/schemas/TransactionsInspectAtomicSwapOffer400Response + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v2/issue: + post: + tags: + - Smart Contracts + summary: Mint a Token. + operationId: SmartContracts_mintToken + security: + - authToken: [] + - serviceID: [] + description: >- + Mint a token with given specifications (can be both token or NFT). More + on docs.relysia.com. + parameters: + - schema: + type: string + in: header + name: protocol + required: false + - schema: + type: boolean + default: 'false' + in: header + name: reminting + required: false + - schema: + type: string + in: header + name: walletID + required: false + - schema: + type: string + default: NFT + in: header + name: type + required: true + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SmartContractsMintTokenRequest1' + examples: + example1: + value: + description: A supermarket bonus point. + name: Store Bonus Points + symbol: SBP + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + tokenSupply: 3 + decimals: 0 + satsPerToken: 1 + properties: + legal: + terms: >- + STAS, Inc. retains all rights to the token script. Use + is subject to terms at https://stastoken.com/license. + licenceId: stastoken.com + issuer: + organisation: Vaionex Corp. + legalForm: Limited + governingLaw: US + issuerCountry: US + jurisdiction: US + email: info@vaionex.com + meta: + schemaId: STAS1.0 + website: vaionex.com + legal: + terms: Your token terms and description. + media: + - URI: string + type: string + altURI: string + splitable: true + data: {} + example2: + value: + description: A supermarket bonus point. + name: Store Bonus Points + symbol: SBP + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + tokenSupply: 3 + decimals: 0 + satsPerToken: 1 + properties: + legal: + terms: >- + STAS, Inc. retains all rights to the token script. Use + is subject to terms at https://stastoken.com/license. + licenceId: stastoken.com + issuer: + organisation: Vaionex Corp. + legalForm: Limited + governingLaw: US + issuerCountry: US + jurisdiction: US + email: info@vaionex.com + meta: + schemaId: STAS1.0 + website: vaionex.com + legal: + terms: Your token terms and description. + media: + - URI: string + type: string + altURI: string + splitable: true + data: + data1: + - data1 + - data2 + data2: + - data1 + - data2 + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/SmartContractsMintToken200Response' + example: + statusCode: 200 + data: + status: success + msg: Token created successfully. + tokenId: cb75d56ad85630475ca4af078dcbf37828970d8d-HELLO12344 + tokenObj: + description: A supermarket bonus point. + userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + symbol: HELLO12344 + name: Store Bonus Points + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + totalSupply: 3 + satsPerToken: 1 + decimals: 0 + properties: + legal: + terms: >- + STAS, Inc. retains all rights to the token script. + Use is subject to terms at + https://stastoken.com/license. + licenceId: stastoken.com + issuer: + organisation: Vaionex Corp. + legalForm: Limited + governingLaw: US + issuerCountry: US + jurisdiction: US + email: info@vaionex.com + meta: + schemaId: STAS1.0 + website: vaionex.com + legal: + terms: Your token terms and description. + media: + - URI: string + type: string + altURI: string + splittable: true + protocolId: STAS + contractTxid: >- + ec376960b7cf25ae846338253e403082fe5f4bc76d06ad547bf03403ee4403b5 + issueTxid: >- + e3dcb8dfee84a7a510b1b073d7b1b773ac61749370e51a6dbe38d8171213d36f + contractAddress: 1KYoLAjrtNGULBHvPy1fT6T5xwqtcFQ4yA + contractPublickey: >- + 02e8f852e5015f8f12c228992a84b3b70c6789630b9ebef70529b802061db7a42f + splitable: true + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/SmartContractsMintToken400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v2/send: + post: + tags: + - Transactions + summary: Transfer coins to an address. + operationId: Transactions_transferToAddress + security: + - authToken: [] + - serviceID: [] + description: >- + Use the /send endpoint to create transactions to peers. The /send + endpoint is agnostic to sending either Tokens or BSV. + parameters: + - schema: + type: string + in: header + name: walletID + required: false + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsTransferToAddressRequest' + examples: + example1: + value: + txPayloads: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 0.000005 + example2: + value: + txPayloads: + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + example3: + value: + txPayloads: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 0.000005 + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 0.000005 + notes: test + example4: + value: + txPayloads: + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 5 + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 3 + notes: test + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 3 + notes: test + data: + - test1 + - test2 + example5: + value: + bundle: false + txPayloads: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 1.e-7 + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 1.e-7 + required: true + responses: + '200': + description: Operation completed successfully + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsTransferToAddressResponse' + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + transactionCount: 1 + successCount: 1 + failedCount: 0 + transactions: + - statusCode: 200 + status: success + msg: Operation completed successfully + txId: >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + example2: + value: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + transactionCount: 2 + successCount: 2 + failedCount: 0 + transactions: + - statusCode: 200 + status: success + msg: Operation completed successfully + txId: >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + - statusCode: 200 + status: string + msg: string + txId: >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + '207': + description: Operation completed with partial success + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsTransferToAddress207Response' + example: + statusCode: 207 + data: + status: partial success + msg: Operation completed with partial success + transactionCount: 2 + successCount: 1 + failedCount: 1 + transactions: + - statusCode: 200 + status: success + msg: Operation completed successfully + txId: >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + - statusCode: 500 + status: error + msg: Operation failed + txId: >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + '500': + description: Operation failed + content: + application/json: + schema: + $ref: '#/components/schemas/TransactionsTransferToAddress500Response' + example: + statusCode: 500 + data: + status: error + msg: Operation failed + transactionCount: 1 + successCount: 0 + failedCount: 1 + transactions: + - statusCode: 500 + status: string + msg: string + txId: null + /v1/plan/{serviceType}/activate: + post: + tags: + - quota + operationId: Quota_activateServiceType + security: + - authToken: [] + - serviceID: [] + parameters: + - schema: + type: string + in: path + name: serviceType + required: true + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/QuotaActivateServiceTypeRequest' + example: + serviceId: f1a4b3c2-1a2b-3a4b-5a6b-7a8b9c0d1e2f + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/QuotaActivateServiceTypeResponse' + example: + statusCode: 200 + data: + status: success + msg: Plan activated successfully + data: + serviceId: 48fa916b-9a71-4e8c-a6ab-e8892418da52 + plan: + serviceType: free + cost: 0 + apiCallLimit: 10000 + feeManagerFundPerMonth: 0.1 + unavailableApiList: + /upload: 0 + /v1/offer: 0 + /v1/swap: 0 + /v1/issue: 3 + projectLimit: 0 + serviceFeeManagerFillingLimit: 0 + createdBy: gtgd4e5JMhT5O09F0EEBR8vW5rq1 + usage: + apiCallUsage: 0 + unavailableApiList: + /upload: 0 + /v1/offer: 0 + /v1/swap: 0 + /v1/issue: 3 + projectUsage: 0 + projects: [] + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/QuotaActivateServiceType400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/plan/quota: + put: + tags: + - quota + operationId: Quota_updatePlanQuota + security: + - authToken: [] + - serviceID: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/QuotaUpdatePlanQuotaRequest' + example: + serviceType: free + serviceId: 5f7b1b1b-5f7b-1b1b-5f7b-1b1b5f7b1b1b + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/QuotaUpdatePlanQuotaResponse' + example: + statusCode: 200 + data: + status: success + msg: Plan updated successfully + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/QuotaUpdatePlanQuota400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/plan/deactivate: + put: + tags: + - quota + operationId: Quota_deactivatePlan + security: + - authToken: [] + - serviceID: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/QuotaDeactivatePlanRequest' + example: + serviceId: 5f7b1b1b-5f7b-1b1b-5f7b-1b1b5f7b1b1b + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/QuotaDeactivatePlanResponse' + example: + statusCode: 200 + data: + status: success + msg: Plan deactivated successfully + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/QuotaDeactivatePlan400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /admin/v1/setup: + post: + tags: + - admin + operationId: Admin_setupPost + security: + - authToken: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AdminSetupPostRequest' + examples: + example1: + value: + projectName: vaionex production + db_store_mode: SHARED + type: FEE_MANAGER + paymailDomain: example.com + firebaseConfig: + apiKey: AIzaSyDiAjG-example-1234566_cW + authDomain: example.firebaseapp.com + databaseURL: https://example.firebaseio.com + projectId: example + storageBucket: example.appspot.com + messagingSenderId: '540114563587' + appId: 1:123456872:web:d24d9c3d71a38519as45sj788526 + measurementId: G-M2K6YG42T2 + legal: + organisation: vaionex corp. + legalForm: limited + governingLaw: US + mailingAddress: 1234 Newark, Delaware, USA + issuerCountry: US + jurisdiction: US + email: info@example.com + primaryDatabase: FIREBASE + supabaseConfig: null + example2: + value: + projectName: vaionex production + db_store_mode: SHARED + type: FEE_MANAGER + paymailDomain: example.com + firebaseConfig: null + legal: + organisation: vaionex corp. + legalForm: limited + governingLaw: US + mailingAddress: 1234 Newark, Delaware, USA + issuerCountry: US + jurisdiction: US + email: info@example.com + primaryDatabase: SUPABASE + supabaseConfig: + supabaseUrl: https://examples.supabase.co + supabaseKey: your access key... + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/AdminSetupPostResponse' + example: + statusCode: 200 + data: + status: success + msg: Setup added successfully + serviceId: 89a54d0b-6907-4e5b-9e5f-c2e72a1f5e34 + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/AdminSetupPost400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /admin/v1/setup/{serviceId}: + get: + tags: + - admin + operationId: Admin_getServiceSetup + security: + - authToken: [] + parameters: + - schema: + type: string + in: path + name: serviceId + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/AdminGetServiceSetupResponse' + examples: + example1: + value: + statusCode: 200 + data: + msg: operation completed successfully ! + serviceId: d0b67a32-a314-4375-aab5-724bbba342e6 + firebaseConfig: + apiKey: AIzaSyDiAjG-example-1234566_cW + authDomain: example.firebaseapp.com + databaseURL: https://example.firebaseio.com + projectId: example + storageBucket: example.appspot.com + messagingSenderId: '540114563587' + appId: 1:123456872:web:d24d9c3d71a38519as45sj788526 + measurementId: G-M2K6YG42T2 + tokenConfig: + organisation: vaionex corp. + legalForm: limited + governingLaw: US + mailingAddress: 1234 Newark, Delaware, USA + issuerCountry: US + jurisdiction: US + email: info@example.com + userId: gtgd4e5JMhT5O09F0EEBR8vW5rq1 + domain: relysia-dev-infrastructure.com + creationDate: 1685960279 + updationDate: 1685960279 + type: 0 + projectName: vaionex dev 2 + serviceIdRef: d0b67a32-a314-4375-aab5-724bbba342e6 + serviceIdStatus: 0 + primaryDatabase: FIREBASE + supabaseConfig: null + example2: + value: + statusCode: 200 + data: + msg: operation completed successfully ! + serviceId: d0b67a32-a314-4375-aab5-724bbba342e6 + firebaseConfig: null + tokenConfig: + organisation: vaionex corp. + legalForm: limited + governingLaw: US + mailingAddress: 1234 Newark, Delaware, USA + issuerCountry: US + jurisdiction: US + email: info@example.com + userId: gtgd4e5JMhT5O09F0EEBR8vW5rq1 + domain: relysia-dev-infrastructure.com + creationDate: 1685960279 + updationDate: 1685960279 + type: 0 + projectName: vaionex dev 2 + serviceIdRef: d0b67a32-a314-4375-aab5-724bbba342e6 + serviceIdStatus: 0 + primaryDatabase: SUPABASE + supabaseConfig: + supabaseUrl: https://example.supabase.co + supabaseKey: eyJhbGciOiJIUzI1NiIExample + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/AdminGetServiceSetup400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + put: + tags: + - admin + operationId: Admin_updateServiceSetup + security: + - authToken: [] + parameters: + - schema: + type: string + in: path + name: serviceId + required: true + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AdminUpdateServiceSetupRequest' + examples: + example1: + value: + projectName: vaionex production 1 + db_store_mode: DEDICATED + type: CLASSIC_MODE + paymailDomain: example.com + firebaseConfig: + apiKey: AIzaSyDiAjG-example-1234566_cW + authDomain: example.firebaseapp.com + databaseURL: https://example.firebaseio.com + projectId: example + storageBucket: example.appspot.com + messagingSenderId: '540114563587' + appId: 1:123456872:web:d24d9c3d71a38519as45sj788526 + measurementId: G-M2K6YG42T2 + legal: + organisation: vaionex corp. + legalForm: limited + governingLaw: US + mailingAddress: 1234 Newark, Delaware, USA + issuerCountry: US + jurisdiction: US + email: info@example.com + example2: + value: + projectName: vaionex production 1 + db_store_mode: DEDICATED + type: CLASSIC_MODE + paymailDomain: example.com + legal: + organisation: vaionex corp. + legalForm: limited + governingLaw: US + mailingAddress: 1234 Newark, Delaware, USA + issuerCountry: US + jurisdiction: US + email: info@example.com + supabaseConfig: + supabaseUrl: https://example.supabase.co + supabaseKey: an api keys + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/AdminUpdateServiceSetupResponse' + example: + statusCode: 200 + data: + status: success + msg: Setup updated successfully + serviceId: 53082017-fc5b-429d-87d4-cdf69b0d7b3d + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/AdminUpdateServiceSetup400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + delete: + tags: + - admin + operationId: Admin_deleteServiceSetup + security: + - authToken: [] + parameters: + - schema: + type: string + in: path + name: serviceId + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/AdminDeleteServiceSetupResponse' + example: + statusCode: 200 + data: + status: success + msg: operation completed successfully ! + serviceId: d0b67a32-a314-4375-aab5-724bbba342e6 + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/AdminDeleteServiceSetup400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /admin/v1/setup/serviceIds: + get: + tags: + - admin + operationId: Admin_getServiceIds + security: + - authToken: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/AdminGetServiceIdsResponse' + example: + statusCode: 200 + data: + status: success + msg: operation completed successfully ! + serviceIds: + - d0b67a32-a314-4375-aab5-724bbba342e6 + - 53082017-fc5b-429d-87d4-cdf69b0d7b3d + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/AdminGetServiceIds400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /admin/v1/metrics: + post: + tags: + - admin + operationId: Admin_createMetricsRecord + security: + - authToken: [] + - serviceID: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AdminCreateMetricsRecordRequest' + example: + walletId: 5f7b1b1b-5f7b-1b1b-5f7b-1b1b5f7b1b1b + userId: 5f7f1b9b9b9b9b9b9b9b9b9b + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/AdminCreateMetricsRecordResponse' + example: + statusCode: 200 + data: + status: success + msg: UTXO state updated successfully + data: + balance: 6078 + userUtxos: + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914ee31f7eae549febdffc53a995bdee8ff0ba2300688ac + tx_pos: 0 + address: 1NiTgXKyS4oS3fyzHp6PryeBvc6FMJDW12 + path: m/44'/0'/0'/0/0 + tx_hash: >- + 43f7f41c0ff873f3b576894fc3c7626a187258cd838f36062f54bc3b14fe3620 + value: 25 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914ee31f7eae549febdffc53a995bdee8ff0ba2300688ac + tx_pos: 1 + address: 1NiTgXKyS4oS3fyzHp6PryeBvc6FMJDW12 + path: m/44'/0'/0'/0/0 + tx_hash: >- + 43f7f41c0ff873f3b576894fc3c7626a187258cd838f36062f54bc3b14fe3620 + value: 481 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914d703dafb29efd43caad53e9f1bcb924e6546694e88ac + tx_pos: 1 + address: 1Lbtu82Jm9poEdgKB3HsTDWS9YSC91Hpny + path: m/44'/0'/0'/0/1 + tx_hash: >- + 76d79ad05cfeb4068535377cdff0113a084b084e936b7751c39895587be41d3d + value: 4933 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a91498de3990604e4fe330f65e6b0125243eb909d1dd88ac + tx_pos: 0 + address: 1EwHvcWDjWcBGBXJLae8k4dsaVo8QKsqCP + path: m/44'/0'/0'/0/4 + tx_hash: >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + value: 1 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a91447431db9649fd75c28834cb152f17cc8ea7fa11f88ac + tx_pos: 1 + address: 17VoNvtJjD19ctL5Ue3GJzzskbtXeNL4Nt + path: m/44'/0'/0'/0/8 + tx_hash: >- + 8a7e73066f07eacab9cbe9edd45d1857f589ef0c8bd725e5010962cfb9198e4e + value: 404 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a91477cb578d9fab608a794871e6c994c6ff2e55a70788ac + tx_pos: 1 + address: 1BvR1H8Bu1rRYwDWEVLoZJa37R3z19qzrK + path: m/44'/0'/0'/0/10 + tx_hash: >- + 0849c24ecb4a30c60c1bb1ec5f557d60642bb6c6d2eeb5a30ee7c9f92c88572f + value: 174 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a91477cb578d9fab608a794871e6c994c6ff2e55a70788ac + tx_pos: 1 + address: 1BvR1H8Bu1rRYwDWEVLoZJa37R3z19qzrK + path: m/44'/0'/0'/0/10 + tx_hash: >- + cf9b899bfba8d6f8a4302e747a78635cc1328a76826ac7d7d31347bb39ba486d + value: 49 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914aff862161039bc97895c6f515e629c6ece4943b188ac + tx_pos: 0 + address: 1H3SoXyeKv4mNNForRaPV8Fkzwdu55yx2b + path: m/44'/0'/0'/0/14 + tx_hash: >- + 4ee029b35a30bafbcab3a08661dc286d3c5ce9f98a1734d1163c86aabe68c7d8 + value: 1 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914aff862161039bc97895c6f515e629c6ece4943b188ac + tx_pos: 0 + address: 1H3SoXyeKv4mNNForRaPV8Fkzwdu55yx2b + path: m/44'/0'/0'/0/14 + tx_hash: >- + f123456b9d6ee63c93b2a5afa264298efc6f0bb8cd400d5aa03d037eb1c9ae56 + value: 2 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914aff862161039bc97895c6f515e629c6ece4943b188ac + tx_pos: 1 + address: 1H3SoXyeKv4mNNForRaPV8Fkzwdu55yx2b + path: m/44'/0'/0'/0/14 + tx_hash: >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + value: 1 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914e54a77f2eaffb502d4af119436e9b7982707f07288ac + tx_pos: 1 + address: 1MuNx6Vm2oE4oU9iDRLr7ebAiv196DQBzh + path: m/44'/0'/0'/0/17 + tx_hash: >- + 9ecbb4771c9e91e1f6a162d5dd3e808e57e43eedebb499f1096cb8d6813951b5 + value: 4 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914e54a77f2eaffb502d4af119436e9b7982707f07288ac + tx_pos: 1 + address: 1MuNx6Vm2oE4oU9iDRLr7ebAiv196DQBzh + path: m/44'/0'/0'/0/17 + tx_hash: >- + fb6c046fa87d963b2e35beb06e1c21b443cbf7b7f684fd4f733fa68f6ecde672 + value: 3 + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/AdminCreateMetricsRecord400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /admin/v1/tokenMetrics: + post: + tags: + - admin + operationId: Admin_calculateTokenMetrics + security: + - authToken: [] + - serviceID: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AdminCalculateTokenMetricsRequest' + example: + walletId: 5f7b1b1b-5f7b-1b1b-5f7b-1b1b5f7b1b1b + userId: 5f7f1b9b9b9b9b9b9b9b9b9b + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/AdminCalculateTokenMetricsResponse' + example: + statusCode: 200 + data: + status: success + msg: migration started successfully + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/AdminCalculateTokenMetrics400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /admin/v1/plans: + post: + tags: + - admin + operationId: Admin_createPlan + security: + - authToken: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AdminCreatePlanRequest' + examples: + example1: + value: + serviceType: free + cost: 0 + apiCallLimit: 10000 + feeManagerFundPerMonth: 0.1 + unavailableApiList: + /upload: 0 + /v1/offer: 0 + /v1/swap: 0 + /v1/issue: 3 + projectLimit: 0 + serviceFeeManagerFillingLimit: 0 + example2: + value: + serviceType: unlimited + cost: 30 + apiCallLimit: 1000000 + feeManagerFundPerMonth: 10 + unavailableApiList: + /v1/offer: 0 + /v1/swap: 0 + projectLimit: 2 + serviceFeeManagerFillingLimit: 1 + example3: + value: + serviceType: business + cost: 120 + apiCallLimit: 3000000 + feeManagerFundPerMonth: 20 + unavailableApiList: {} + projectLimit: 30 + serviceFeeManagerFillingLimit: 40 + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/AdminCreatePlanResponse' + example: + statusCode: 200 + createPlanData: + status: success + msg: Plan created successfully + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/AdminCreatePlan400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /admin/v1/plans/{serviceType}: + put: + tags: + - admin + operationId: Admin_updatePlanServiceType + security: + - authToken: [] + parameters: + - schema: + type: string + in: path + name: serviceType + required: true + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AdminUpdatePlanServiceTypeRequest' + example: + cost: 0 + apiCallLimit: 10000 + feeManagerFundPerMonth: 0 + unavailableApiList: + api1: 1000 + projectLimit: 1 + serviceFeeManagerFillingLimit: 1000 + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/AdminUpdatePlanServiceTypeResponse' + example: + statusCode: 200 + updatedPlanData: + status: success + msg: Plan updated successfully + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/AdminUpdatePlanServiceType400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + delete: + tags: + - admin + operationId: Admin_deletePlanByServiceType + security: + - authToken: [] + parameters: + - schema: + type: string + in: path + name: serviceType + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/AdminDeletePlanByServiceTypeResponse' + example: + statusCode: 200 + deletedPlanData: + status: success + msg: Plan deleted successfully + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/AdminDeletePlanByServiceType400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + get: + tags: + - admin + operationId: Admin_getServiceTypePlans + security: + - authToken: [] + parameters: + - schema: + type: string + in: path + name: serviceType + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/AdminGetServiceTypePlansResponse' + example: + statusCode: 200 + planData: + status: success + msg: Plan created successfully + data: + serviceType: free + cost: '0' + apiCallLimit: '10000' + feeManagerFundPerMonth: '0.1' + unavailableApiList: '{"/upload":0,"/v1/offer":0,"/v1/swap":0,"/v1/issue":3}' + projectLimit: '0' + serviceFeeManagerFillingLimit: '0' + createdBy: gtgd4e5JMhT5O09F0EEBR8vW5rq1 + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/AdminGetServiceTypePlans400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /admin/v1/plan/list: + get: + tags: + - admin + operationId: Admin_listPlans + description: Get list of available plans and their details also + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/AdminListPlansResponse' + example: + statusCode: 200 + planListData: + status: success + msg: Plan list fetched successfully + data: + - serviceType: unlimited + apiCallLimit: '1000000' + feeManagerFundPerMonth: '10' + unavailableApiList: + /v1/offer: 0 + /v1/swap: 0 + projectLimit: '2' + serviceFeeManagerFillingLimit: '1' + - serviceType: free + apiCallLimit: '10000' + feeManagerFundPerMonth: '0.1' + unavailableApiList: + /upload: 0 + /v1/offer: 0 + /v1/swap: 0 + /v1/issue: 3 + projectLimit: '0' + serviceFeeManagerFillingLimit: '0' + - serviceType: business + apiCallLimit: '3000000' + feeManagerFundPerMonth: '20' + unavailableApiList: {} + projectLimit: '30' + serviceFeeManagerFillingLimit: '40' + '400': + description: Bad request + content: + application/json: + schema: + $ref: '#/components/schemas/AdminListPlans400Response' + example: + statusCode: 400 + data: + status: error + msg: Err msg + /upload: + post: + tags: + - Utility + summary: Blockchain File Upload. + operationId: Utility_broadcastFileToBlockchain + security: + - authToken: [] + - serviceID: [] + description: >- + The /upload endpoint broadcasts a media file (supplied as URL) to the + blockchain (in B:// protocol format). + parameters: + - schema: + type: string + in: header + name: walletID + required: false + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UtilityBroadcastFileToBlockchainRequest' + example: + fileUrl: >- + https://firebasestorage.googleapis.com/v0/b/pay-button-vaionexdev/o/1KB.png?alt=media&token=73f89b38-32c2-4fbe-814e-e6774833b9ab + fileName: Relysia Test nft image size 1 kb. + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/UtilityBroadcastFileToBlockchainResponse' + example: + statusCode: 200 + data: + status: success + msg: File uploaded successfully. + uploadObj: + fileName: Relysia Test nft image size 1 kb. + fileType: image + fileSize: 1121 + timeStamp: '2023-06-14T09:08:52.015Z' + txid: >- + b4e118004c8246e1e9a552fd2a98dca1196698cb0076c21085c4f8112addfabe + address: 1BuEAp4mjJdeDGcpw6XdvtA9fWmHNF2mMX + addressPath: m/44'/0'/0'/0/0 + url: >- + B://b4e118004c8246e1e9a552fd2a98dca1196698cb0076c21085c4f8112addfabe + '400': + description: Bad request + content: + application/json: + schema: + $ref: >- + #/components/schemas/UtilityBroadcastFileToBlockchain400Response + example: + statusCode: 400 + data: + status: error + msg: Err msg + /post: + post: + tags: + - Utility + summary: Post Messages to the Blockchain. + operationId: Utility_broadcastNoteToBlockchain + security: + - authToken: [] + - serviceID: [] + description: >- + The /post endpoint broadcasts a note to the blockchain (in B:// protocol + format). + parameters: + - schema: + type: string + in: header + name: walletID + required: false + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UtilityBroadcastNoteToBlockchainRequest' + example: + notes: + - This is a test note. + - This is another test note. + - ... + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + $ref: '#/components/schemas/UtilityBroadcastNoteToBlockchainResponse' + example: + statusCode: 200 + data: + status: success + msg: Transaction successfully broadcasted to the blockchain. + txid: >- + b7c1c08c89bc9105cf49199ef4c6ccde23df9fa5d5a720c8ec04d47b1c3436a1 + '400': + description: Bad request + content: + application/json: + schema: + $ref: >- + #/components/schemas/UtilityBroadcastNoteToBlockchain400Response + example: + statusCode: 400 + data: + status: error + msg: Err msg + deprecated: true + /v1/bsvalias/id/{paymail}: + get: + tags: + - paymail + operationId: Paymail_getProfileDetails + parameters: + - schema: + type: string + in: path + name: paymail + required: true + responses: + '200': + description: Default Response + /v1/bsvalias/address/{paymail}: + post: + tags: + - paymail + operationId: Paymail_resolveAddressInfo + parameters: + - schema: + type: string + in: path + name: paymail + required: true + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PaymailResolveAddressInfoRequest' + required: true + responses: + '200': + description: Default Response + /v1/bsvalias/verifypubkey/{paymail}/{pubkey}: + post: + tags: + - paymail + operationId: Paymail_verifyPubkey + parameters: + - schema: + type: string + in: path + name: paymail + required: true + - schema: + type: string + in: path + name: pubkey + required: true + responses: + '200': + description: Default Response + /v1/bsvalias/receive-transaction/{paymail}: + post: + tags: + - paymail + operationId: Paymail_receiveTransaction + parameters: + - schema: + type: string + in: path + name: paymail + required: true + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PaymailReceiveTransactionRequest' + required: true + responses: + '200': + description: Default Response + /v1/bsvalias/p2p-payment-destination/{paymail}: + post: + tags: + - paymail + operationId: Paymail_createP2pPaymentDestination + parameters: + - schema: + type: string + in: path + name: paymail + required: true + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PaymailCreateP2PPaymentDestinationRequest' + required: true + responses: + '200': + description: Default Response + /.well-known/bsvalias: + get: + tags: + - paymail + operationId: Paymail_getBsvAlias + responses: + '200': + description: Default Response +components: + securitySchemes: + authToken: + type: apiKey + in: header + name: authToken + serviceID: + type: apiKey + in: header + name: serviceID + schemas: + SmartContractsMintTokenRequest: + type: object + properties: + description: + type: string + name: + type: string + protocolId: + type: string + default: STAS + symbol: + type: string + image: + type: string + tokenSupply: + type: number + minimum: 1 + default: 3 + decimals: + type: number + default: 0 + nullable: true + minimum: 0 + maximum: 8 + satsPerToken: + type: number + default: 1 + minimum: 0 + properties: + type: object + properties: + legal: + type: object + properties: + terms: + type: string + default: >- + STAS, Inc. retains all rights to the token script. Use is + subject to terms at https://stastoken.com/license. + nullable: true + licenceId: + type: string + default: stastoken.com + nullable: true + nullable: true + issuer: + type: object + properties: + organisation: + type: string + default: Vaionex Corp. + nullable: true + legalForm: + type: string + default: Limited + nullable: true + governingLaw: + type: string + default: US + nullable: true + issuerCountry: + type: string + default: US + nullable: true + jurisdiction: + type: string + default: US + nullable: true + email: + type: string + default: info@vaionex.com + nullable: true + nullable: true + meta: + type: object + properties: + schemaId: + type: string + default: STAS1.0 + nullable: true + website: + type: string + default: vaionex.com + nullable: true + legal: + type: object + properties: + terms: + type: string + default: Your token terms and description. + nullable: true + nullable: true + media: + type: array + items: + type: object + properties: + URI: + type: string + nullable: true + type: + type: string + nullable: true + altURI: + type: string + nullable: true + nullable: true + nullable: true + nullable: true + nullable: true + splitable: + type: boolean + default: 'true' + nullable: true + data: + type: object + additionalProperties: true + default: {} + nftMetadataSerialNumberStart: + type: number + nullable: true + nftMetadataTotalSupply: + type: number + nullable: true + required: + - name + - symbol + - image + - description + - satsPerToken + - protocolId + - tokenSupply + AuthenticationCreateUserTokenRequest: + type: object + properties: + email: + type: string + format: email + password: + type: string + format: password + photo: + type: string + nullable: true + displayName: + type: string + nullable: true + required: + - email + - password + AuthenticationUserLoginRequest: + type: object + properties: + email: + type: string + format: email + password: + type: string + format: password + required: + - email + - password + AuthenticationChangeUserPasswordRequest: + type: object + properties: + newPassword: + type: string + format: password + required: + - newPassword + TransactionsCreateTransactionToAddressRequest: + type: object + properties: + bundle: + type: boolean + default: true + nullable: true + dataArray: + type: array + items: + type: object + properties: + to: + type: string + amount: + type: number + minimum: 1.e-8 + notes: + type: string + nullable: true + sn: + type: number + nullable: true + minimum: 0 + tokenId: + type: string + nullable: true + data: + type: array + nullable: true + items: + type: string + required: + - to + - amount + minItems: 1 + required: + - dataArray + TransactionsCreateRawTxRequest: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + to: + type: string + amount: + type: number + minimum: 1.e-8 + notes: + type: string + nullable: true + sn: + type: number + nullable: true + minimum: 0 + tokenId: + type: string + nullable: true + data: + type: array + nullable: true + items: + type: string + required: + - to + - amount + minItems: 1 + required: + - dataArray + TransactionsWithdrawFromPrivateKeyRequest: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + to: + type: string + amount: + type: number + minimum: 0 + notes: + type: string + nullable: true + sn: + type: number + nullable: true + minimum: 0 + tokenId: + type: string + nullable: true + data: + type: array + nullable: true + items: + type: string + required: + - to + - amount + minItems: 1 + required: + - dataArray + TransactionsTransferAssetsFromPrivateKeyRequest: + type: object + properties: + items: + type: object + properties: + privateKey: + type: string + required: + - privateKey + TransactionsCreateAtomicSwapRequest: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + amount: + type: number + minimum: 0 + nullable: true + tokenId: + type: string + nullable: true + sn: + type: number + minimum: 0 + nullable: true + wantedAmount: + type: number + minimum: 0 + nullable: true + wantedTokenId: + type: string + nullable: true + wantedSn: + type: number + minimum: 0 + nullable: true + wantedScript: + type: string + nullable: true + required: + - amount + - wantedAmount + minItems: 1 + required: + - dataArray + TransactionsAcceptSwapOfferRequest: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + swapHex: + type: string + additionalOutputs: + type: array + nullable: true + items: + type: object + properties: + amount: + type: number + to: + type: string + required: + - swapHex + minItems: 1 + required: + - dataArray + TransactionsCreateSwapOfferRequest: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + tokenId: + type: string + sn: + type: number + minimum: 0 + nullable: true + amount: + type: number + minimum: 1.e-8 + type: + type: string + default: BSV + enum: + - BSV + payment: + type: array + items: + type: object + properties: + to: + type: string + amount: + anyOf: + - type: string + - type: number + minimum: 0 + required: + - to + - amount + nullable: true + maxItems: 2 + required: + - amount + - type + - tokenId + minItems: 1 + required: + - dataArray + TransactionsAcceptSwapOfferRequest1: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + swapId: + type: string + required: + - swapId + minItems: 1 + required: + - dataArray + TransactionsInspectAtomicSwapOfferRequest: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + swapHex: + type: string + required: + - swapHex + minItems: 1 + required: + - dataArray + SmartContractsRedeemTokensRequest: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + amount: + type: number + minimum: 0 + tokenId: + type: string + sn: + type: number + default: 0 + minimum: 0 + required: + - amount + - tokenId + minItems: 1 + required: + - dataArray + TransactionsResolveInvoiceRequestRequest: + type: object + properties: + uri: + type: string + type: + type: string + mainProtocol: + type: string + outputs: + type: array + items: + type: object + properties: + script: + type: string + satoshis: + type: number + required: + - script + - satoshis + nullable: true + inputs: + type: array + items: + type: object + properties: + txid: + type: string + vout: + type: number + satoshis: + type: number + minimum: 0 + scriptPubKey: + type: string + nullable: true + scriptType: + type: string + nullable: true + scriptSig: + type: string + required: + - txid + - vout + - satoshis + - scriptSig + nullable: true + modes: + type: object + additionalProperties: true + network: + type: string + nullable: true + paymentUrl: + type: string + format: uri + nullable: true + creationTimeStamp: + type: number + format: duration + nullable: true + expirationTimeStamp: + type: number + format: duration + nullable: true + memo: + type: string + nullable: true + isBSV: + type: boolean + nullable: true + peer: + type: string + nullable: true + peerData: + type: string + nullable: true + peerProtocol: + type: string + nullable: true + beneficiary: + type: object + properties: + name: + type: string + email: + type: string + address: + type: string + paymentReference: + type: string + nullable: true + required: + - name + - email + - address + - paymentReference + required: + - uri + - type + - mainProtocol + NotificationsUpdateTokenRequest: + type: object + properties: + expoNotificationToken: + type: string + required: + - expoNotificationToken + NotificationsSendNotificationRequest: + type: object + properties: + type: + type: string + default: to + userAddress: + type: string + amount: + type: number + transactionType: + type: string + default: BSV + required: + - amount + - userAddress + TransactionsCreateInvoiceRequestRequest: + type: object + properties: + description: + type: string + nullable: true + type: + type: string + enum: + - USD + - CHF + - INR + - EUR + - CAD + - GBP + - SYP + - SDG + - LBP + - FKP + - EGP + default: USD + amount: + type: number + nullable: true + minimum: 0 + address: + type: string + nullable: true + expirationTimeInMinuts: + type: number + default: 1 + memo: + type: string + nullable: true + merchantData: + type: string + nullable: true + paymentOptions: + type: array + items: + type: object + properties: + transactions: + type: array + items: + type: object + properties: + native: + type: object + properties: + amount: + type: number + to: + type: string + stas: + type: object + properties: + tokenAmount: + type: number + tokenRecipient: + type: string + tokenId: + type: string + minItems: 1 + required: + - transactions + nullable: true + modeId: + type: string + nullable: true + beneficiary: + type: object + properties: + name: + type: string + email: + type: string + address: + type: string + paymentReference: + type: string + TransactionsSettleInvoiceRequestRequest: + type: object + properties: + merchantData: + type: string + transaction: + type: string + refundTo: + type: string + nullable: true + memo: + type: string + nullable: true + additionalProperties: true + required: + - transaction + - merchantData + TransactionsSettleInvoiceRequestRequest1: + type: object + properties: + merchantData: + type: string + transaction: + type: string + refundTo: + type: string + nullable: true + memo: + type: string + nullable: true + additionalProperties: true + required: + - transaction + - merchantData + AdminVerifyDomainOwnershipRequest: + type: object + properties: + domain: + type: string + required: + - domain + AdminVerifyDomainOwnershipRequest1: + type: object + properties: + domain: + type: string + required: + - domain + PaymailUpdateAddressInfoRequest: + type: object + properties: + newPaymailId: + type: string + required: + - newPaymailId + PaymailActivateDeactivateRequest: + type: object + properties: + activate: + type: boolean + default: true + required: + - activate + AuthenticationResetUserPasswordConfirmationRequest: + type: object + properties: + email: + type: string + format: email + required: + - email + UtilityTranspileSolidityCodeToScryptRequest: + type: object + properties: + sourceCode: + type: string + required: + - sourceCode + UtilityCompileScryptToBitcoinScriptRequest: + type: object + properties: + sourceCode: + type: string + required: + - sourceCode + UtilityPostMessagesToBlockchainRequest: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + notes: + type: array + items: + type: string + minLength: 1 + required: + - notes + minItems: 1 + required: + - dataArray + UtilityGetAssetBalanceRequest: + type: object + properties: + privateKey: + type: string + TransactionsUploadCustomAsmScriptsRequest: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + asm: + type: string + amount: + type: number + minimum: 0 + required: + - asm + - amount + minItems: 1 + required: + - dataArray + UtilitySignMessageToAddressRequest: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + address: + type: string + nullable: true + derivationPath: + type: string + nullable: true + message: + type: string + minLength: 1 + required: + - message + minItems: 1 + required: + - dataArray + TransactionsInspectAtomicSwapOfferRequest1: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + swapHex: + type: string + required: + - swapHex + minItems: 1 + required: + - dataArray + SmartContractsMintTokenRequest1: + type: object + properties: + description: + type: string + name: + type: string + protocolId: + type: string + default: STAS + symbol: + type: string + image: + type: string + tokenSupply: + type: number + minimum: 1 + default: 3 + decimals: + type: number + default: 0 + nullable: true + minimum: 0 + maximum: 8 + satsPerToken: + type: number + default: 1 + minimum: 0 + properties: + type: object + properties: + legal: + type: object + properties: + terms: + type: string + default: >- + STAS, Inc. retains all rights to the token script. Use is + subject to terms at https://stastoken.com/license. + nullable: true + licenceId: + type: string + default: stastoken.com + nullable: true + nullable: true + issuer: + type: object + properties: + organisation: + type: string + default: Vaionex Corp. + nullable: true + legalForm: + type: string + default: Limited + nullable: true + governingLaw: + type: string + default: US + nullable: true + issuerCountry: + type: string + default: US + nullable: true + jurisdiction: + type: string + default: US + nullable: true + email: + type: string + default: info@vaionex.com + nullable: true + nullable: true + meta: + type: object + properties: + schemaId: + type: string + default: STAS1.0 + nullable: true + website: + type: string + default: vaionex.com + nullable: true + legal: + type: object + properties: + terms: + type: string + default: Your token terms and description. + nullable: true + nullable: true + media: + type: array + items: + type: object + properties: + URI: + type: string + nullable: true + type: + type: string + nullable: true + altURI: + type: string + nullable: true + nullable: true + nullable: true + nullable: true + nullable: true + splitable: + type: boolean + default: 'true' + nullable: true + data: + type: object + additionalProperties: true + default: {} + nftMetadataSerialNumberStart: + type: number + nullable: true + nftMetadataTotalSupply: + type: number + nullable: true + required: + - name + - symbol + - image + - description + - satsPerToken + - tokenSupply + TransactionsTransferToAddressRequest: + type: object + properties: + bundle: + type: boolean + default: true + nullable: true + txPayloads: + type: array + items: + type: object + properties: + to: + type: string + amount: + type: number + minimum: 1.e-8 + notes: + type: string + nullable: true + sn: + type: number + nullable: true + minimum: 0 + tokenId: + type: string + nullable: true + data: + type: array + nullable: true + items: + type: string + required: + - to + - amount + minItems: 1 + required: + - txPayloads + QuotaActivateServiceTypeRequest: + type: object + properties: + chargeFrom: + type: string + serviceId: + type: string + required: + - serviceId + QuotaUpdatePlanQuotaRequest: + type: object + properties: + serviceType: + type: string + serviceId: + type: string + required: + - serviceId + - serviceType + QuotaDeactivatePlanRequest: + type: object + properties: + serviceId: + type: string + required: + - serviceId + AdminSetupPostRequest: + type: object + properties: + projectName: + type: string + db_store_mode: + type: string + type: + type: string + paymailDomain: + type: string + firebaseConfig: + type: object + properties: + apiKey: + type: string + authDomain: + type: string + databaseURL: + type: string + projectId: + type: string + storageBucket: + type: string + messagingSenderId: + type: string + appId: + type: string + measurementId: + type: string + additionalProperties: true + legal: + type: object + properties: + organisation: + type: string + legalForm: + type: string + governingLaw: + type: string + mailingAddress: + type: string + issuerCountry: + type: string + jurisdiction: + type: string + email: + type: string + additionalProperties: true + primaryDatabase: + type: string + supabaseConfig: + type: object + properties: + supabaseUrl: + type: string + supabaseKey: + type: string + additionalProperties: true + AdminUpdateServiceSetupRequest: + type: object + properties: + projectName: + type: string + db_store_mode: + type: string + type: + type: string + paymailDomain: + type: string + firebaseConfig: + type: object + properties: + apiKey: + type: string + authDomain: + type: string + databaseURL: + type: string + projectId: + type: string + storageBucket: + type: string + messagingSenderId: + type: string + appId: + type: string + measurementId: + type: string + additionalProperties: true + legal: + type: object + properties: + organisation: + type: string + legalForm: + type: string + governingLaw: + type: string + mailingAddress: + type: string + issuerCountry: + type: string + jurisdiction: + type: string + email: + type: string + additionalProperties: true + supabaseConfig: + type: object + properties: + supabaseUrl: + type: string + supabaseKey: + type: string + additionalProperties: true + AdminCreateMetricsRecordRequest: + type: object + properties: + walletId: + type: string + userId: + type: string + required: + - walletId + - userId + AdminCalculateTokenMetricsRequest: + type: object + properties: + userId: + type: string + walletId: + type: string + required: + - userId + - walletId + AdminCreatePlanRequest: + type: object + properties: + serviceType: + type: string + cost: + type: number + minimum: 0 + apiCallLimit: + type: number + minimum: 0 + feeManagerFundPerMonth: + type: number + minimum: 0 + unavailableApiList: + type: object + additionalProperties: + type: number + minimum: 0 + nullable: true + projectLimit: + type: number + nullable: true + minimum: 0 + serviceFeeManagerFillingLimit: + type: number + minimum: 0 + required: + - serviceType + - cost + - apiCallLimit + - feeManagerFundPerMonth + - serviceFeeManagerFillingLimit + AdminUpdatePlanServiceTypeRequest: + type: object + properties: + cost: + type: number + nullable: true + minimum: 0 + apiCallLimit: + type: number + nullable: true + minimum: 0 + feeManagerFundPerMonth: + type: number + nullable: true + minimum: 0 + unavailableApiList: + type: object + additionalProperties: + type: number + minimum: 0 + nullable: true + projectLimit: + type: number + nullable: true + minimum: 0 + serviceFeeManagerFillingLimit: + type: number + nullable: true + minimum: 0 + UtilityBroadcastFileToBlockchainRequest: + type: object + properties: + fileUrl: + type: string + fileName: + type: string + required: + - fileUrl + - fileName + UtilityBroadcastNoteToBlockchainRequest: + type: object + properties: + notes: + type: array + items: + type: string + minItems: 1 + maxItems: 100000 + required: + - notes + PaymailResolveAddressInfoRequest: + type: object + properties: + senderHandle: + type: string + dt: + type: string + signature: + type: string + amount: + type: number + purpose: + type: string + senderName: + type: string + required: + - dt + - senderHandle + PaymailReceiveTransactionRequest: + type: object + properties: + hex: + type: string + reference: + type: string + metadata: + type: object + properties: + sender: + type: string + pubkey: + type: string + signature: + type: string + note: + type: string + required: + - hex + - reference + - metadata + PaymailCreateP2PPaymentDestinationRequest: + type: object + properties: + satoshis: + type: number + required: + - satoshis + SmartContractsMintTokenResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + tokenId: + type: string + tokenObj: + type: object + properties: + description: + type: string + userId: + type: string + serviceId: + type: string + nullable: true + symbol: + type: string + name: + type: string + image: + type: string + totalSupply: + type: number + minimum: 1 + satsPerToken: + type: number + minimum: 0 + decimals: + type: number + nullable: true + properties: + type: object + properties: + legal: + type: object + properties: + terms: + type: string + default: >- + STAS, Inc. retains all rights to the token script. + Use is subject to terms at + https://stastoken.com/license. + nullable: true + licenceId: + type: string + default: stastoken.com + nullable: true + nullable: true + issuer: + type: object + properties: + organisation: + type: string + default: Vaionex Corp. + nullable: true + legalForm: + type: string + default: Limited + nullable: true + governingLaw: + type: string + default: US + nullable: true + issuerCountry: + type: string + default: US + nullable: true + jurisdiction: + type: string + default: US + nullable: true + email: + type: string + default: info@vaionex.com + nullable: true + nullable: true + meta: + type: object + properties: + schemaId: + type: string + default: STAS1.0 + nullable: true + website: + type: string + default: vaionex.com + nullable: true + legal: + type: object + properties: + terms: + type: string + default: Your token terms and description. + nullable: true + nullable: true + media: + type: array + items: + type: object + properties: + URI: + type: string + nullable: true + type: + type: string + nullable: true + altURI: + type: string + nullable: true + nullable: true + nullable: true + nullable: true + nullable: true + splittable: + type: boolean + protocolId: + type: string + contractTxid: + type: string + issueTxid: + type: string + contractAddress: + type: string + contractPublickey: + type: string + splitable: + type: boolean + required: + - userId + - symbol + - name + - description + - image + - totalSupply + - satsPerToken + - splittable + - protocolId + - contractTxid + - issueTxid + - contractAddress + - contractPublickey + - splitable + required: + - status + - msg + - tokenId + - tokenObj + required: + - statusCode + - data + SmartContractsMintToken400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + SmartContractsGetTokenDetailsResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + description: + type: string + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + token_id: + type: string + symbol: + type: string + name: + type: string + schema_id: + type: string + protocol: + type: string + image: + type: string + total_supply: + type: number + minimum: 0 + sats_per_token: + type: number + minimum: 0 + splitable: + type: boolean + properties: + type: object + properties: + legal: + type: object + properties: + terms: + type: string + nullable: true + licenceId: + type: string + nullable: true + nullable: true + issuer: + type: object + properties: + organisation: + type: string + nullable: true + legalForm: + type: string + nullable: true + governingLaw: + type: string + nullable: true + issuerCountry: + type: string + nullable: true + jurisdiction: + type: string + nullable: true + email: + type: string + nullable: true + nullable: true + meta: + type: object + properties: + schemaId: + type: string + nullable: true + website: + type: string + nullable: true + legal: + type: string + nullable: true + media: + type: string + nullable: true + nullable: true + nullable: true + contract_txs: + type: array + items: + type: string + minItems: 1 + issuance_txs: + type: array + items: + type: string + minItems: 1 + required: + - statusCode + - data + SmartContractsGetTokenDetails400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + UtilityResolveAddressInfoResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + data: + type: object + properties: + uri: + type: string + type: + type: string + mainProtocol: + type: string + outputs: + type: array + items: + type: object + properties: + script: + type: string + satoshis: + type: number + required: + - script + - satoshis + nullable: true + inputs: + type: array + items: + type: object + properties: + txid: + type: string + vout: + type: number + satoshis: + type: number + minimum: 0 + scriptPubKey: + type: string + nullable: true + scriptType: + type: string + nullable: true + scriptSig: + type: string + required: + - txid + - vout + - satoshis + - scriptSig + nullable: true + modes: + type: object + additionalProperties: true + network: + type: string + nullable: true + paymentUrl: + type: string + format: uri + nullable: true + creationTimeStamp: + type: number + format: duration + nullable: true + expirationTimeStamp: + type: number + format: duration + nullable: true + memo: + type: string + nullable: true + isBSV: + type: boolean + nullable: true + peer: + type: string + nullable: true + peerData: + type: string + nullable: true + peerProtocol: + type: string + nullable: true + beneficiary: + type: object + properties: + name: + type: string + email: + type: string + address: + type: string + paymentReference: + type: string + nullable: true + required: + - name + - email + - address + - paymentReference + required: + - uri + - type + - mainProtocol + required: + - status + - msg + - data + required: + - statusCode + - data + UtilityResolveAddressInfo400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + AuthenticationCreateUserTokenResponse: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + token: + type: string + userId: + type: string + required: + - status + - msg + - token + - userId + required: + - statusCode + - data + AuthenticationCreateUserToken400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + AuthenticationUserLoginResponse: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + token: + type: string + required: + - status + - msg + - token + required: + - statusCode + - data + AuthenticationUserLogin400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + AuthenticationChangeUserPasswordResponse: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + token: + type: string + userId: + type: string + required: + - status + - msg + - token + - userId + required: + - statusCode + - data + AuthenticationChangeUserPassword400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + DeleteUserAccountResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + DeleteUserAccount400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + IdentityGetProfileDetailsResponse: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + userDetails: + type: object + properties: + userId: + type: string + passwordHash: + type: string + nullable: true + passwordUpdatedAt: + type: number + format: duration + nullable: true + validSince: + type: string + lastLoginAt: + type: string + createdAt: + type: string + lastRefreshAt: + type: string + format: date-time + photo: + type: string + format: uri + nullable: true + displayName: + type: string + nullable: true + phoneNumber: + type: string + nullable: true + required: + - userId + - passwordHash + - passwordUpdatedAt + - validSince + - lastLoginAt + - createdAt + - lastRefreshAt + required: + - status + - msg + - userDetails + required: + - statusCode + - data + IdentityGetProfileDetails400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + TransactionsCreateTransactionToAddressResponse: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txIds: + type: array + items: + type: string + minItems: 0 + errors: + type: array + items: + type: object + additionalProperties: true + required: + - status + - msg + - txIds + - errors + required: + - statusCode + - data + TransactionsCreateTransactionToAddress400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + TransactionsCreateRawTxResponse: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + rawTxs: + type: array + items: + anyOf: + - type: string + - type: object + properties: + rawtx: + type: string + required: + - rawtx + minItems: 1 + required: + - status + - msg + - rawTxs + required: + - statusCode + - data + TransactionsCreateRawTx400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + AdminMigrateTokenRequestResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + AdminMigrateTokenRequest400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + UtilitySyncTokenFromBlockchainResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + UtilitySyncTokenFromBlockchain400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + TransactionsWithdrawFromPrivateKeyResponse: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txIds: + type: array + items: + type: string + errors: + type: array + items: + type: object + additionalProperties: true + required: + - status + - msg + - txIds + - errors + required: + - statusCode + - data + TransactionsWithdrawFromPrivateKey400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + TransactionsTransferAssetsFromPrivateKeyResponse: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txIds: + type: array + items: + type: string + errors: + type: array + items: + type: object + additionalProperties: true + required: + - status + - msg + - txIds + - errors + required: + - statusCode + - data + TransactionsTransferAssetsFromPrivateKey400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + TransactionsCreateAtomicSwapResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + contents: + type: array + items: + type: string + minItems: 1 + required: + - status + - msg + - contents + required: + - statusCode + - data + TransactionsCreateAtomicSwap400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + TransactionsAcceptSwapOfferResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txIds: + type: array + items: + type: string + errors: + type: array + items: + type: string + required: + - status + - msg + - txIds + required: + - statusCode + - data + TransactionsAcceptSwapOffer400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + TransactionsCreateSwapOfferResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + contents: + type: array + items: + type: object + properties: + swapId: + type: string + swapOfferHex: + type: string + tokenSatoshis: + type: number + minimum: 0 + tokenContractTxid: + type: string + payment: + type: array + items: + type: object + properties: + to: + type: string + amount: + anyOf: + - type: string + - type: number + minimum: 0 + required: + - to + - amount + nullable: true + maxItems: 2 + prevTxid: + type: string + tokenId: + type: string + serialNumber: + type: number + minimum: 0 + nullable: true + tokenOwnerAddress: + type: string + totalOutputSatoshis: + type: number + minimum: 0 + makerPublicKeyHash: + type: string + required: + - swapId + - swapOfferHex + - tokenSatoshis + - tokenContractTxid + - prevTxid + - tokenId + - tokenOwnerAddress + - totalOutputSatoshis + - makerPublicKeyHash + minItems: 1 + required: + - status + - msg + - contents + required: + - statusCode + - data + TransactionsCreateSwapOffer400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + TransactionsAcceptSwapOffer200Response: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txIds: + type: array + items: + type: string + required: + - status + - msg + - txIds + required: + - statusCode + - data + TransactionsInspectAtomicSwapOfferResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + offerDetails: + type: array + items: + anyOf: + - type: object + properties: + tokenOwnerAddress: + type: string + tokenCreatorAddress: + type: string + tokenSatoshis: + type: number + minimum: 0 + wantedSatoshis: + type: number + minimum: 0 + tokenImage: + type: string + serialNumber: + type: number + minimum: 0 + splittbale: + type: boolean + contractTxid: + type: string + tokenId: + type: string + symbol: + type: string + tokenSupply: + type: number + minimum: 0 + verified: + type: boolean + tokenName: + type: string + tokenDescription: + type: string + nullable: true + required: + - tokenOwnerAddress + - tokenCreatorAddress + - tokenSatoshis + - wantedSatoshis + - tokenImage + - serialNumber + - splittbale + - contractTxid + - tokenId + - symbol + - tokenSupply + - verified + - tokenName + - type: object + properties: + tokenOwnerAddress: + type: string + tokenCreatorAddress: + type: string + tokenSatoshis: + type: number + minimum: 0 + wantedSatoshis: + type: number + minimum: 0 + tokenId: + type: string + symbol: + type: string + sn: + type: number + minimum: 0 + splittable: + type: boolean + tokenImage: + type: string + contractTxid: + type: string + tokenName: + type: string + tokenDescription: + type: string + nullable: true + verified: + type: boolean + required: + - tokenOwnerAddress + - tokenCreatorAddress + - tokenSatoshis + - wantedSatoshis + - tokenId + - symbol + - sn + - splittable + - tokenImage + - contractTxid + - tokenName + - verified + minItems: 1 + required: + - statusCode + - data + TransactionsInspectAtomicSwapOffer400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + SmartContractsRedeemTokensResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txIds: + type: array + items: + type: string + errors: + type: array + items: + type: string + required: + - status + - msg + - txIds + - errors + required: + - statusCode + - data + SmartContractsRedeemTokens400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + WalletsCreateHdWalletOfChoiceResponse: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + walletID: + type: string + paymail: + type: string + required: + - status + - msg + - walletID + required: + - statusCode + - data + WalletsCreateHdWalletOfChoice400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + UtilityGetLatestUtxoStateResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + data: + type: object + properties: + balance: + type: number + minimum: 0 + userUtxos: + type: array + items: + type: object + properties: + userId: + type: string + walletId: + type: string + script: + type: string + tx_pos: + type: number + minimum: 0 + address: + type: string + path: + type: string + tx_hash: + type: string + value: + type: number + minimum: 0 + serviceId: + type: string + nullable: true + required: + - userId + - walletId + - script + - tx_pos + - address + - path + - tx_hash + - value + minItems: 0 + required: + - balance + - userUtxos + required: + - status + - msg + - data + required: + - statusCode + - data + UtilityGetLatestUtxoState400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + WalletsGetAddressAndPaymailResponse: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + address: + type: string + paymail: + type: string + nullable: true + required: + - status + - msg + - address + required: + - statusCode + - data + WalletsGetAddressAndPaymail400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + WalletsGetAllAddressesResponse: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + addressess: + type: array + items: + type: string + required: + - status + - msg + - addressess + required: + - statusCode + - data + WalletsGetAllAddresses400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + WalletsGetBalanceResponse: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + totalBalance: + type: object + properties: + currency: + type: string + enum: + - USD + - CHF + - INR + - EUR + - CAD + - GBP + - SYP + - SDG + - LBP + - FKP + - EGP + - BSV + balance: + type: number + required: + - currency + - balance + coins: + type: array + items: + anyOf: + - type: object + properties: + protocol: + type: string + enum: + - BSV + balance: + type: number + required: + - protocol + - balance + - type: object + properties: + Id: + type: string + protocol: + type: string + enum: + - BSV + - STAS + - STAS-50 + - STAS-20 + - STAS-789 + - STAS50 + - STASFT + - STASAPPEND + tokenId: + type: string + splittable: + type: boolean + splitable: + type: boolean + verified: + type: boolean + name: + type: string + nullable: true + address: + type: string + satsPerToken: + type: number + symbol: + type: string + redeemAddr: + type: string + image: + type: string + amount: + type: number + supply: + type: number + decimals: + type: number + sn: + anyOf: + - type: number + - type: array + items: + type: number + nullable: true + required: + - Id + - protocol + - tokenId + - splittable + - splitable + - verified + - address + - satsPerToken + - symbol + - redeemAddr + - image + - amount + - supply + - decimals + - sn + meta: + type: object + properties: + nextPageToken: + type: number + nullable: true + required: + - status + - msg + - totalBalance + - coins + - meta + required: + - statusCode + - data + WalletsGetBalance400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + WalletsGetTokenOwnershipDetailsResponse: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + leaderboard: + type: array + items: + type: object + properties: + paymail: + type: string + nullable: true + totalAmount: + type: number + uid: + type: string + rank: + type: number + displayName: + type: string + nullable: true + required: + - totalAmount + - uid + - rank + nextPageToken: + type: number + nullable: true + required: + - status + - msg + required: + - statusCode + - data + WalletsGetTokenOwnershipDetails400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + WalletsGetTransactionHistoryResponse: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + histories: + type: array + items: + anyOf: + - type: object + properties: + to: + type: string + txId: + type: string + from: + type: string + timestamp: + type: string + balance_change: + type: number + docId: + type: string + type: + type: string + enum: + - debit + - credit + nullable: true + notes: + type: string + nullable: true + protocol: + type: string + enum: + - BSV + - STAS + - STAS-50 + - STAS-20 + - STAS-789 + - STAS50 + - STASFT + - STASAPPEND + required: + - to + - txId + - from + - timestamp + - balance_change + - docId + - type + - protocol + - type: object + properties: + to: + type: array + items: + type: object + properties: + amount: + type: number + image: + type: string + nullable: true + protocol: + type: string + enum: + - BSV + - STAS + - STAS-50 + - STAS-20 + - STAS-789 + - STAS50 + - STASFT + - STASAPPEND + tokenId: + type: string + nullable: true + sn: + type: number + nullable: true + to: + type: string + name: + type: string + nullable: true + decimals: + type: number + nullable: true + txId: + type: string + from: + type: string + timestamp: + type: string + totalAmount: + type: number + notes: + type: string + nullable: true + type: + type: string + enum: + - debit + - credit + required: + - to + - txId + - from + - timestamp + - totalAmount + - type + nextPageTokenId: + type: string + nullable: true + meta: + type: object + properties: + nextPageToken: + type: string + nullable: true + required: + - status + - msg + - histories + required: + - statusCode + - data + WalletsGetTransactionHistory400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + DeleteAllWalletsResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + DeleteAllWallets400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + WalletsListAvailableUserWalletsResponse: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + wallets: + type: array + items: + type: object + properties: + walletID: + type: string + walletTitle: + type: string + walletLogo: + type: string + format: uri + nullable: true + required: + - walletID + - walletTitle + required: + - status + - msg + - wallets + required: + - statusCode + - data + WalletsListAvailableUserWallets400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + WalletsGetMnemonicPhraseResponse: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + mnemonic: + type: string + required: + - status + - msg + - mnemonic + required: + - statusCode + - data + WalletsGetMnemonicPhrase400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + TransactionsResolveInvoiceRequestResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txid: + type: string + required: + - status + - msg + - txid + required: + - statusCode + - data + TransactionsResolveInvoiceRequest400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + AdminSetupFeeManagerResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + AdminSetupFeeManager400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + AdminGetUtxoSetResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + totalBalance: + type: object + properties: + balance: + type: number + minimum: 0 + dustBalance: + type: number + minimum: 0 + required: + - balance + - dustBalance + availableUtxos: + type: array + items: + type: object + properties: + script: + type: string + tx_pos: + type: number + minimum: 0 + address: + type: string + path: + type: string + tx_hash: + type: string + value: + type: number + minimum: 0 + createdAt: + type: number + format: duration + state: + type: string + enum: + - available + required: + - script + - tx_pos + - address + - path + - tx_hash + - value + - createdAt + - state + required: + - status + - msg + - totalBalance + - availableUtxos + required: + - statusCode + - data + AdminGetUtxoSet400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + AdminGetFeeManagerAddressesResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + addresses: + type: array + items: + type: string + minItems: 1 + maxItems: 1 + required: + - status + - msg + required: + - statusCode + - data + AdminGetFeeManagerAddresses400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + AdminGetFeeUtxoStateResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + totalBalance: + type: object + properties: + availableBalance: + type: number + minimum: 0 + dustBalance: + type: number + minimum: 0 + failedBalance: + type: number + minimum: 0 + required: + - availableBalance + - dustBalance + - failedBalance + allUtxos: + type: object + properties: + availableUtxos: + type: array + items: + type: object + properties: + script: + type: string + tx_pos: + type: number + minimum: 0 + address: + type: string + nullable: true + path: + type: string + nullable: true + tx_hash: + type: string + value: + type: number + minimum: 0 + createdAt: + type: number + format: duration + state: + type: string + enum: + - available + - dust + - failed + required: + - script + - tx_pos + - tx_hash + - value + - createdAt + - state + dustUtxos: + type: array + items: + type: object + properties: + script: + type: string + tx_pos: + type: number + minimum: 0 + address: + type: string + nullable: true + path: + type: string + nullable: true + tx_hash: + type: string + value: + type: number + minimum: 0 + createdAt: + type: number + format: duration + state: + type: string + enum: + - available + - dust + - failed + required: + - script + - tx_pos + - tx_hash + - value + - createdAt + - state + failedUtxos: + type: array + items: + type: object + properties: + script: + type: string + tx_pos: + type: number + minimum: 0 + address: + type: string + nullable: true + path: + type: string + nullable: true + tx_hash: + type: string + value: + type: number + minimum: 0 + createdAt: + type: number + format: duration + state: + type: string + enum: + - available + - dust + - failed + required: + - script + - tx_pos + - tx_hash + - value + - createdAt + - state + required: + - availableUtxos + - dustUtxos + - failedUtxos + required: + - status + - msg + - totalBalance + - allUtxos + required: + - statusCode + - data + AdminGetFeeUtxoState400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + UtilityConvertSatoshiToFiatResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + currency: + type: string + enum: + - USD + - CHF + - INR + - EUR + - CAD + - GBP + - SYP + - SDG + - LBP + - FKP + - EGP + balance: + type: number + minimum: 0 + required: + - status + - msg + - currency + - balance + required: + - statusCode + - data + UtilityConvertSatoshiToFiat400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + DeleteNotificationTokenResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + DeleteNotificationToken400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + NotificationsUpdateTokenResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + NotificationsUpdateToken400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + NotificationsSendNotificationResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + NotificationsSendNotification400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + TransactionsCreateInvoiceRequestResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + reqUrl: + type: string + format: uri + required: + - status + - msg + - reqUrl + required: + - statusCode + - data + TransactionsCreateInvoiceRequest400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + TransactionsCreateInvoiceRequest200Response: + type: object + properties: + version: + type: string + statusCode: + type: number + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + mainProtocol: + type: string + expirationTimestamp: + type: number + format: duration + memo: + type: string + nullable: true + outputs: + type: array + items: + type: object + properties: + description: + type: string + nullable: true + script: + type: string + satoshis: + type: number + minimum: 0 + required: + - script + - satoshis + nullable: true + uri: + type: string + creationTimestamp: + type: number + format: duration + type: + type: string + network: + type: string + paymentUrl: + type: string + format: uri + modes: + type: object + additionalProperties: true + beneficiary: + type: object + properties: + name: + type: string + email: + type: string + paymentReference: + type: string + address: + type: string + required: + - name + - email + - paymentReference + - address + additionalProperties: true + required: + - status + - msg + - mainProtocol + - expirationTimestamp + - version + - uri + - creationTimestamp + - type + - network + - paymentUrl + TransactionsSettleInvoiceRequestResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txId: + type: string + required: + - status + - msg + - txId + required: + - status + - msg + - statusCode + - data + required: + - statusCode + - data + TransactionsSettleInvoiceRequest400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + AdminVerifyDomainOwnershipResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + verificationCode: + type: string + required: + - status + - msg + - verificationCode + required: + - statusCode + - data + AdminVerifyDomainOwnership400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + AdminVerifyDomainOwnership200Response: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + statusCode: + type: number + domain: + type: string + required: + - status + - msg + - statusCode + - domain + required: + - statusCode + - data + PaymailGetAddressInfoResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + paymailDetails: + type: object + properties: + walletID: + type: string + paymailId: + type: string + required: + - walletID + - paymailId + required: + - status + - msg + - paymailDetails + required: + - statusCode + - data + PaymailGetAddressInfo400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + PaymailUpdateAddressInfoResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + paymail: + type: string + required: + - status + - msg + - paymail + required: + - statusCode + - data + PaymailUpdateAddressInfo400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + DeleteWalletDataResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + walletId: + type: string + required: + - status + - msg + - walletId + required: + - statusCode + - data + DeleteWalletData400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + PaymailActivateDeactivateResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + PaymailActivateDeactivate400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + AuthenticationResetUserPasswordConfirmationResponse: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + email: + type: string + format: email + required: + - status + - msg + - email + required: + - statusCode + - data + AuthenticationResetUserPasswordConfirmation400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + UtilityTranspileSolidityCodeToScryptResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + scrypt: + type: string + errorLogs: + type: array + items: + type: string + required: + - statusCode + - data + UtilityTranspileSolidityCodeToScrypt400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + UtilityCompileScryptToBitcoinScriptResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + scrypt: + type: string + required: + - status + - msg + - scrypt + required: + - statusCode + - data + UtilityCompileScryptToBitcoinScript400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + UtilityPostMessagesToBlockchainResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txIds: + type: array + items: + type: object + properties: + txId: + type: string + url: + type: string + required: + - txId + - url + errors: + type: array + items: + type: object + properties: + msg: + type: string + index: + type: number + required: + - status + - msg + - txIds + - errors + required: + - statusCode + - data + UtilityPostMessagesToBlockchain400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + UtilityGetAssetBalanceResponse: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + totalBalance: + type: object + properties: + currency: + type: string + balance: + type: number + required: + - currency + - balance + coins: + type: array + items: + anyOf: + - type: object + properties: + protocol: + type: string + balance: + type: number + required: + - protocol + - balance + - type: object + properties: + protocol: + type: string + tokenId: + type: string + splittable: + type: boolean + name: + type: string + nullable: true + address: + type: string + satsPerToken: + type: number + symbol: + type: string + redeemAddr: + type: string + image: + type: string + amount: + type: number + supply: + type: number + decimals: + type: number + sn: + anyOf: + - type: number + - type: array + items: + type: number + nullable: true + required: + - protocol + - tokenId + - splittable + - address + - satsPerToken + - symbol + - redeemAddr + - image + - amount + - supply + - decimals + - sn + meta: + type: object + properties: + nextPageToken: + type: number + nullable: true + required: + - status + - msg + - totalBalance + - coins + - meta + TransactionsUploadCustomAsmScriptsResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txid: + type: string + required: + - status + - msg + - txid + required: + - statusCode + - data + TransactionsUploadCustomAsmScripts400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + UtilitySignMessageToAddressResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + data: + type: array + items: + type: object + properties: + derivationPath: + type: string + address: + type: string + signature: + type: string + required: + - derivationPath + - address + - signature + required: + - status + - msg + - data + required: + - statusCode + - data + UtilitySignMessageToAddress400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + WalletsGetBalancesResponse: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + totalBalance: + type: object + properties: + currency: + type: string + enum: + - USD + - CHF + - INR + - EUR + - CAD + - GBP + - SYP + - SDG + - LBP + - FKP + - EGP + - BSV + balance: + type: number + required: + - currency + - balance + coins: + type: array + items: + anyOf: + - type: object + properties: + protocol: + type: string + enum: + - BSV + balance: + type: number + required: + - protocol + - balance + - type: object + properties: + Id: + type: string + protocol: + type: string + enum: + - BSV + - STAS + - STAS-50 + - STAS-20 + - STAS-789 + - STAS50 + - STASFT + - STASAPPEND + tokenId: + type: string + splittable: + type: boolean + splitable: + type: boolean + verified: + type: boolean + name: + type: string + nullable: true + address: + type: string + satsPerToken: + type: number + symbol: + type: string + redeemAddr: + type: string + image: + type: string + amount: + type: number + supply: + type: number + decimals: + type: number + sn: + anyOf: + - type: number + - type: array + items: + type: number + nullable: true + required: + - Id + - protocol + - tokenId + - splittable + - splitable + - verified + - address + - satsPerToken + - symbol + - redeemAddr + - image + - amount + - supply + - decimals + - sn + meta: + type: object + properties: + nextPageToken: + type: number + nullable: true + required: + - status + - msg + - totalBalance + - coins + - meta + required: + - statusCode + - data + WalletsGetBalances400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + WalletsGetTransactionHistory200Response: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + histories: + type: array + items: + type: object + properties: + to: + type: array + items: + type: object + properties: + amount: + type: number + image: + type: string + nullable: true + protocol: + type: string + enum: + - BSV + - STAS + - STAS-50 + - STAS-20 + - STAS-789 + - STAS50 + - STASFT + - STASAPPEND + tokenId: + type: string + nullable: true + sn: + type: number + nullable: true + to: + type: string + name: + type: string + nullable: true + decimals: + type: number + nullable: true + txId: + type: string + from: + type: string + timestamp: + type: string + totalAmount: + type: number + notes: + type: string + nullable: true + type: + type: string + enum: + - debit + - credit + nullable: true + required: + - to + - txId + - from + - timestamp + - totalAmount + - type + meta: + type: object + properties: + nextPageToken: + type: string + nullable: true + required: + - status + - msg + - histories + required: + - statusCode + - data + SmartContractsGetTokenDetails200Response: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + description: + type: string + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + contractTxs: + type: array + items: + type: string + minItems: 1 + issuanceTxs: + type: array + items: + type: string + minItems: 1 + utxos: + type: number + owners: + type: number + transactionsCount: + type: number + circulationSupply: + type: number + name: + type: string + tokenId: + type: string + symbol: + type: string + image: + type: string + totalSupply: + type: number + decimals: + type: number + satsPerToken: + type: number + properties: + type: object + properties: + legal: + type: object + properties: + terms: + type: string + nullable: true + licenceId: + type: string + nullable: true + nullable: true + issuer: + type: object + properties: + organisation: + type: string + nullable: true + legalForm: + type: string + nullable: true + governingLaw: + type: string + nullable: true + issuerCountry: + type: string + nullable: true + jurisdiction: + type: string + nullable: true + email: + type: string + nullable: true + nullable: true + meta: + type: object + properties: + schemaId: + type: string + nullable: true + website: + type: string + nullable: true + legal: + type: object + properties: + terms: + type: string + nullable: true + nullable: true + media: + type: array + items: + type: object + properties: + URI: + type: string + nullable: true + type: + type: string + nullable: true + altURI: + type: string + nullable: true + nullable: true + nullable: true + nullable: true + nullable: true + splitable: + type: boolean + protocol: + type: string + serialNumber: + type: number + data: + type: array + items: + description: >- + WARNING: Missing items property in array schema. Missing items + property has been filled with this AnyType schema. + required: + - status + - msg + - contractTxs + - issuanceTxs + - utxos + - owners + - transactionsCount + - circulationSupply + - name + - tokenId + - symbol + - description + - image + - totalSupply + - decimals + - satsPerToken + - properties + - splitable + - protocol + - serialNumber + - data + required: + - statusCode + - data + TransactionsInspectAtomicSwapOffer200Response: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + offerDetails: + type: array + items: + type: object + properties: + address: + type: string + protocol: + type: string + enum: + - STAS50 + - STASFT + - STASAPPEND + - BSV + - STAS + - STAS-50 + - STAS-20 + - STAS-789 + amount: + type: number + minimum: 0 + verified: + type: boolean + nullable: true + spent: + type: boolean + nullable: true + tokenId: + type: string + nullable: true + sn: + type: number + image: + type: string + nullable: true + tokenSymbol: + type: string + nullable: true + contractTxid: + type: string + nullable: true + name: + type: string + nullable: true + tokenSupply: + type: number + nullable: true + redeemAddress: + type: string + nullable: true + splittable: + type: boolean + satsPerToken: + type: number + minimum: 0 + wantedProtocol: + type: string + enum: + - STAS50 + - STASFT + - STASAPPEND + - BSV + - STAS + - STAS-50 + - STAS-20 + - STAS-789 + wantedAmount: + type: number + minimum: 0 + wantedTokenId: + type: string + nullable: true + wantedSn: + type: number + wantedName: + type: string + nullable: true + wantedTokenSplittable: + type: boolean + nullable: true + required: + - address + - protocol + - amount + - wantedProtocol + - wantedAmount + minItems: 1 + required: + - statusCode + - data + SmartContractsMintToken200Response: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + tokenId: + type: string + tokenObj: + type: object + properties: + description: + type: string + userId: + type: string + serviceId: + type: string + nullable: true + symbol: + type: string + name: + type: string + image: + type: string + totalSupply: + type: number + minimum: 1 + satsPerToken: + type: number + minimum: 0 + decimals: + type: number + nullable: true + properties: + type: object + properties: + legal: + type: object + properties: + terms: + type: string + default: >- + STAS, Inc. retains all rights to the token script. + Use is subject to terms at + https://stastoken.com/license. + nullable: true + licenceId: + type: string + default: stastoken.com + nullable: true + nullable: true + issuer: + type: object + properties: + organisation: + type: string + default: Vaionex Corp. + nullable: true + legalForm: + type: string + default: Limited + nullable: true + governingLaw: + type: string + default: US + nullable: true + issuerCountry: + type: string + default: US + nullable: true + jurisdiction: + type: string + default: US + nullable: true + email: + type: string + default: info@vaionex.com + nullable: true + nullable: true + meta: + type: object + properties: + schemaId: + type: string + default: STAS1.0 + nullable: true + website: + type: string + default: vaionex.com + nullable: true + legal: + type: object + properties: + terms: + type: string + default: Your token terms and description. + nullable: true + nullable: true + media: + type: array + items: + type: object + properties: + URI: + type: string + nullable: true + type: + type: string + nullable: true + altURI: + type: string + nullable: true + nullable: true + nullable: true + nullable: true + nullable: true + splittable: + type: boolean + protocolId: + type: string + contractTxid: + type: string + issueTxid: + type: string + contractAddress: + type: string + contractPublickey: + type: string + splitable: + type: boolean + required: + - userId + - symbol + - name + - description + - image + - totalSupply + - satsPerToken + - splittable + - protocolId + - contractTxid + - issueTxid + - contractAddress + - contractPublickey + - splitable + required: + - status + - msg + - tokenId + - tokenObj + required: + - statusCode + - data + TransactionsTransferToAddressResponse: + description: Operation completed successfully + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + msg: + type: string + transactionCount: + type: number + minimum: 1 + successCount: + type: number + failedCount: + type: number + transactions: + type: array + items: + type: object + properties: + statusCode: + type: number + enum: + - 200 + - 400 + - 500 + - 207 + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txId: + type: string + required: + - transactionCount + - failedCount + - successCount + - transactions + TransactionsTransferToAddress207Response: + description: Operation completed with partial success + type: object + properties: + statusCode: + type: number + enum: + - 207 + data: + type: object + properties: + status: + type: string + enum: + - partial success + msg: + type: string + transactionCount: + type: number + minimum: 2 + successCount: + type: number + minimum: 1 + failedCount: + type: number + minimum: 1 + transactions: + type: array + items: + type: object + properties: + statusCode: + type: number + enum: + - 200 + - 400 + - 500 + - 207 + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txId: + type: string + nullable: true + required: + - msg + - failedCount + - successCount + - transactions + - transactionCount + TransactionsTransferToAddress500Response: + description: Operation failed + type: object + properties: + statusCode: + type: number + enum: + - 200 + - 400 + - 500 + - 207 + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + transactionCount: + type: number + minimum: 1 + successCount: + type: number + enum: + - 0 + failedCount: + type: number + minimum: 1 + transactions: + type: array + minItems: 1 + items: + type: object + properties: + statusCode: + type: integer + enum: + - 200 + - 400 + - 500 + - 207 + status: + type: string + enum: + - error + msg: + type: string + required: + - msg + - status + QuotaActivateServiceTypeResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + data: + type: object + properties: + serviceId: + type: string + plan: + type: object + properties: + serviceType: + type: string + cost: + type: number + minimum: 0 + apiCallLimit: + type: number + minimum: 0 + feeManagerFundPerMonth: + type: number + minimum: 0 + unavailableApiList: + type: object + additionalProperties: + type: number + minimum: 0 + nullable: true + projectLimit: + type: number + minimum: 0 + nullable: true + serviceFeeManagerFillingLimit: + type: number + minimum: 0 + createdBy: + type: string + required: + - serviceType + - cost + - apiCallLimit + - feeManagerFundPerMonth + - serviceFeeManagerFillingLimit + - createdBy + usage: + type: object + properties: + apiCallUsage: + type: number + unavailableApiList: + type: object + additionalProperties: + type: number + nullable: true + projectUsage: + type: number + nullable: true + projects: + type: array + items: + type: string + nullable: true + nullable: true + required: + - serviceId + - plan + required: + - status + - msg + - data + required: + - statusCode + - data + QuotaActivateServiceType400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + QuotaUpdatePlanQuotaResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + QuotaUpdatePlanQuota400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + QuotaDeactivatePlanResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + QuotaDeactivatePlan400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + AdminSetupPostResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + serviceId: + type: string + required: + - status + - msg + - serviceId + required: + - statusCode + - data + AdminSetupPost400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + AdminDeleteServiceSetupResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + serviceId: + type: string + required: + - status + - msg + - serviceId + required: + - statusCode + - data + AdminDeleteServiceSetup400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + AdminGetServiceSetupResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + serviceId: + type: string + additionalProperties: true + required: + - status + - msg + - serviceId + required: + - statusCode + - data + AdminGetServiceSetup400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + AdminUpdateServiceSetupResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + serviceId: + type: string + required: + - status + - msg + - serviceId + required: + - statusCode + - data + AdminUpdateServiceSetup400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + AdminGetServiceIdsResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + serviceIds: + type: array + items: + type: string + minItems: 1 + required: + - status + - msg + - serviceIds + required: + - statusCode + - data + AdminGetServiceIds400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + AdminCreateMetricsRecordResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + data: + type: object + properties: + balance: + type: number + minimum: 0 + userUtxos: + type: array + items: + type: object + properties: + userId: + type: string + walletId: + type: string + script: + type: string + tx_pos: + type: number + minimum: 0 + address: + type: string + path: + type: string + tx_hash: + type: string + value: + type: number + minimum: 0 + serviceId: + type: string + nullable: true + required: + - userId + - walletId + - script + - tx_pos + - address + - path + - tx_hash + - value + minItems: 0 + required: + - balance + - userUtxos + required: + - status + - msg + - data + required: + - statusCode + - data + AdminCreateMetricsRecord400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + AdminCalculateTokenMetricsResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + AdminCalculateTokenMetrics400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + AdminCreatePlanResponse: + type: object + properties: + statusCode: + type: number + createPlanData: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - createPlanData + AdminCreatePlan400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + AdminDeletePlanByServiceTypeResponse: + type: object + properties: + statusCode: + type: number + deletedPlanData: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - deletedPlanData + AdminDeletePlanByServiceType400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + AdminGetServiceTypePlansResponse: + type: object + properties: + statusCode: + type: number + planData: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + data: + type: object + properties: + serviceType: + type: string + cost: + type: string + apiCallLimit: + type: string + feeManagerFundPerMonth: + type: string + unavailableApiList: + type: string + nullable: true + projectLimit: + type: string + nullable: true + serviceFeeManagerFillingLimit: + type: string + createdBy: + type: string + required: + - serviceType + - cost + - apiCallLimit + - feeManagerFundPerMonth + - serviceFeeManagerFillingLimit + - createdBy + required: + - status + - msg + - data + required: + - statusCode + - planData + AdminGetServiceTypePlans400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + AdminUpdatePlanServiceTypeResponse: + type: object + properties: + statusCode: + type: number + updatedPlanData: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - updatedPlanData + AdminUpdatePlanServiceType400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + AdminListPlansResponse: + type: object + properties: + statusCode: + type: number + planListData: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + data: + type: array + items: + type: object + properties: + serviceType: + type: string + apiCallLimit: + type: string + feeManagerFundPerMonth: + type: string + unavailableApiList: + type: object + additionalProperties: + type: number + minimum: 0 + nullable: true + projectLimit: + type: string + nullable: true + serviceFeeManagerFillingLimit: + type: string + required: + - serviceType + - apiCallLimit + - feeManagerFundPerMonth + - serviceFeeManagerFillingLimit + nullable: true + required: + - status + - msg + - data + required: + - statusCode + - planListData + AdminListPlans400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + UtilityBroadcastFileToBlockchainResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + uploadObj: + type: object + properties: + fileName: + type: string + fileType: + type: string + fileSize: + type: number + timeStamp: + type: string + format: date-time + txid: + type: string + address: + type: string + addressPath: + type: string + url: + type: string + required: + - fileName + - fileType + - fileSize + - timeStamp + - txid + - address + - addressPath + - url + required: + - status + - msg + - uploadObj + required: + - statusCode + - data + UtilityBroadcastFileToBlockchain400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + UtilityBroadcastNoteToBlockchainResponse: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txid: + type: string + required: + - status + - msg + - txid + required: + - statusCode + - data + UtilityBroadcastNoteToBlockchain400Response: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data +externalDocs: + description: Relysia Infrastructure Documentation + url: https://docs.relysia.com diff --git a/sdks/db/fixed-specs/rivery-fixed-spec.yaml b/sdks/db/fixed-specs/rivery-fixed-spec.yaml new file mode 100644 index 000000000..6af525cb4 --- /dev/null +++ b/sdks/db/fixed-specs/rivery-fixed-spec.yaml @@ -0,0 +1,14239 @@ +openapi: 3.0.3 +info: + title: Rivery API + description: > + + # Rivery API documentation + + + Welcome to the Rivery API Documentation. + + + Using the Rivery API, you can automate any single or group operations you + perform in the Rivery console. + + You can create, execute, and delete Rivers, create DataFrames, automate + processes, and more. + + The Rivery API is structured around REST. It accepts JSON request bodies, + returns JSON responses, + + and employs conventional HTTP response codes, authentication, and verbs to + access and use data through HTTP requests. + + + Consult our [Legacy API](https://api-docs.rivery.io/) documentation. + + + Please [contact our Support team](mailto:) if you have + any questions or concerns. + + + # Authorization + + ## Rivery API Token + + To generate a Bearer token, please check out [Rivery's + docs](https://docs.rivery.io/docs/rivery-api). + + + Every bearer token is a combination of account, environment, and scopes + attached. Every time the token is provided, + + the API compares its scopes with the request required scope. + + If the scope is not valid, an insufficient permissions (403) response code + returned. + + + ## Scopes + + A scope is defined as a combination of the entity in Rivery, and the + operation allowed to perform on the entity. + + + The entity can be any entity available via the API, for example - + connection. + + An operation can be one of specific operations allowed for each scope. For + example: list or edit. + + Therefore, listing connections scope will be set as `connection:list`. + + Please make sure the Bearer token is has the right scopes attached for all + of the needed requests. + version: 1.0.0 + contact: + name: Rivery Documentation + url: https://docs.rivery.io/ + email: contact@rivery.io + x-logo: + url: https://riveryio.wpengine.com/wp-content/uploads/2021/08/logo-main.svg + x-konfig-ignore: + object-with-no-properties: true + potential-incorrect-type: true +servers: + - description: US + url: https://api.rivery.io + - description: EU + url: https://api.eu-west-1.rivery.io +tags: + - description: Management of rivers + name: Rivers + - description: Get the Rivery's activities data with various of GET operations + name: Activities + - description: Beta endpoints + name: Beta Endpoints + - description: Management of dataframe entities + name: Dataframes + - name: Groups + - description: Listing accounts + name: Accounts + - description: Listing account's environments + name: Environments + - description: Listing account's audit events + name: Audit Events + - description: Management of connection entities + name: Connections +paths: + /v1/accounts/{account_id}/environments/{environment_id}/dataframes: + get: + tags: + - Dataframes + summary: Get Dataframes + operationId: list_dataframes + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `dataframe:list` + + **Get all dataframe entities from the DB** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - description: The number of items per page in the paginated list. + required: false + schema: + title: Items Per Page + description: The number of items per page in the paginated list. + type: integer + maximum: 500 + minimum: 1 + default: 20 + name: items_per_page + in: query + - description: The current page number in the paginated list. + required: false + schema: + title: Page + description: The current page number in the paginated list. + type: integer + minimum: 1 + default: 1 + name: page + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DataframePaginationResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + post: + tags: + - Dataframes + summary: Add Dataframe + operationId: add_dataframe + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `dataframe:write` + + **Creates a new dataframe entity.** + **** + **Please note that the Dataframe's name has to be unique** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DataframeAddInput' + required: true + responses: + '201': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DataframeResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/dataframes/{dataframe_name}: + get: + tags: + - Dataframes + summary: Get Dataframe + operationId: get_dataframe + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `dataframe:list` + + **Get a specific dataframe by name.** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: Dataframe Name + type: string + name: dataframe_name + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DataframeResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + put: + tags: + - Dataframes + summary: Update Dataframe + operationId: update_dataframe + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `dataframe:write` + + **Updates an existing dataframe entity. Please note that only the connecting_settings field can be modified** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: Dataframe Name + type: string + name: dataframe_name + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DataframeUpdateInput' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DataframeResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + delete: + tags: + - Dataframes + summary: Delete Dataframe + operationId: delete_dataframe + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `dataframe:write` + + **Delete a dataframe.** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: Dataframe Name + type: string + name: dataframe_name + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteDataframeResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/dataframes/{dataframe_name}/download: + get: + tags: + - Dataframes + summary: Download Dataframe + operationId: download_dataframe + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `dataframe:list` + + **This endpoint creates a new task for downloading a dataframe.** + **** + **** + **Be advised: the task is an async operation, which means that** + **after creating the task, the client must call the endpoint GET** + **operation in order to get the result.** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: Dataframe Name + type: string + name: dataframe_name + in: path + responses: + '202': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/OperationResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/dataframes/{dataframe_name}/clear: + post: + tags: + - Dataframes + summary: Clear Dataframe Values + operationId: Dataframes_clearValues + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `dataframe:write` + + **This endpoint creates an asynchronous operation for clearing the** + **Dataframe's data.** + **.** + **** + **Please note - this is different from deleting the Dataframe,** + **which deletes both the Dataframe's data and configuration.** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: Dataframe Name + type: string + name: dataframe_name + in: path + responses: + '202': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/OperationResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/activities_statistics: + get: + tags: + - Activities + summary: Get Activities Statistic + operationId: Activities_getStatistics + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `activity:list` + + **Get environment's activity statistics.** + **** + **The statistics include how many units(RPU) were consumed, and how** + **many runs ended with each status.** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + title: Start Time + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + type: string + format: date-time + example: '2020-01-01T12:00:00' + name: start_time + in: query + - description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + title: End Time + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + type: string + format: date-time + example: '2020-01-01T12:00:00' + name: end_time + in: query + - description: A list of statuses to filter + required: false + schema: + description: A list of statuses to filter + items: + $ref: '#/components/schemas/ActivityStatusEnum' + type: array + name: status + in: query + - description: The ID of the group to filter + required: false + schema: + title: Group Id + description: The ID of the group to filter + items: + type: string + type: array + name: group_id + in: query + - description: >- + A flag that indicates whether the river is scheduled. If not set + then activities of all rivers will be returned + required: false + schema: + $ref: '#/components/schemas/ScheduleEnum' + name: is_scheduled + in: query + - description: Get statistics for rivers that has the search query in their name + required: false + schema: + title: Search + description: Get statistics for rivers that has the search query in their name + type: string + name: search + in: query + - description: The river type + required: false + schema: + description: The river type + items: + $ref: '#/components/schemas/RiverTypeEnum' + type: array + name: river_type + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityStatisticResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_statistics: + get: + tags: + - Activities + summary: Get River Activities Statistic + operationId: Activities_getRiverActivitiesStatistic + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `activity:list` + + **Get river's activity statistics (summary).** + **** + **The statistics include how many units(RPU) were consumed, and how** + **many runs ended with each status** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: River Cross Id + type: string + name: river_cross_id + in: path + - description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + title: Start Time + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + type: string + format: date-time + example: '2020-01-01T12:00:00' + name: start_time + in: query + - description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + title: End Time + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + type: string + format: date-time + example: '2020-01-01T12:00:00' + name: end_time + in: query + - required: false + schema: + items: + $ref: '#/components/schemas/ActivityStatusEnum' + type: array + name: status + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivityStatisticResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_targets: + get: + tags: + - Activities + summary: Get River Activities Targets + operationId: Activities_getRiverActivityTargets + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `activity:list` + + **Get river's activity targets (table names) in a specific time frame for** + **specific river and their status.** + **** + **This endpoint should be used for multi table rivers.** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: River Cross Id + type: string + name: river_cross_id + in: path + - description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + title: Start Time + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + type: string + format: date-time + example: '2020-01-01T12:00:00' + name: start_time + in: query + - description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + title: End Time + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + type: string + format: date-time + example: '2020-01-01T12:00:00' + name: end_time + in: query + - description: Filter by the run group ID + required: false + schema: + title: Run Group Id + description: Filter by the run group ID + type: string + name: run_group_id + in: query + - description: Filter by the sub river ID + required: false + schema: + title: Sub River Id + description: Filter by the sub river ID + type: string + name: sub_river_id + in: query + - description: >- + A list of statuses. Only targets with those statuses will be + returned + required: false + schema: + description: >- + A list of statuses. Only targets with those statuses will be + returned + items: + $ref: '#/components/schemas/ActivityStatusEnum' + type: array + name: status + in: query + - description: Indicates by which parameter to sort the targets + required: false + schema: + $ref: '#/components/schemas/TargetsSortByEnum' + name: sort_by + in: query + - required: false + schema: + $ref: '#/components/schemas/SortOrderEnum' + name: sort_order + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivityTargetResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_run_groups: + get: + tags: + - Activities + summary: List River Activities Run Groups + operationId: Activities_listRunGroups + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `activity:list` + + **Get list of run groups that occurred in a specific time** + **frame for specific river and their status.** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: River Cross Id + type: string + name: river_cross_id + in: path + - description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + title: Start Time + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + type: string + format: date-time + example: '2020-01-01T12:00:00' + name: start_time + in: query + - description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + title: End Time + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + type: string + format: date-time + example: '2020-01-01T12:00:00' + name: end_time + in: query + - description: Filter by the target table name + required: false + schema: + title: Target Name + description: Filter by the target table name + type: string + name: target_name + in: query + - description: Filter by the sub river ID + required: false + schema: + title: Sub River Id + description: Filter by the sub river ID + type: string + name: sub_river_id + in: query + - description: >- + A list of statuses. Only run groups with this statuses will be + returned. + required: false + schema: + description: >- + A list of statuses. Only run groups with this statuses will be + returned. + items: + $ref: '#/components/schemas/RunGroupStatusEnum' + type: array + name: status + in: query + - description: Cache context id is an internal query parameter for cache purposes + required: false + schema: + title: Cache Context Id + description: Cache context id is an internal query parameter for cache purposes + type: string + name: cache_context_id + in: query + - required: false + schema: + title: Page + type: integer + minimum: 1 + default: 1 + name: page + in: query + - required: false + schema: + $ref: '#/components/schemas/RunGroupSortByEnum' + name: sort_by + in: query + - required: false + schema: + $ref: '#/components/schemas/SortOrderEnum' + name: sort_order + in: query + - required: false + schema: + title: Items Per Page + type: integer + maximum: 200 + minimum: 1 + default: 50 + name: items_per_page + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivityRunGroupResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_run_groups/{run_group_id}: + get: + tags: + - Activities + summary: Get River Activities Run Groups + operationId: Activities_getRunGroup + description: Get a specific run group id + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: River Cross Id + type: string + name: river_cross_id + in: path + - required: true + schema: + title: Run Group Id + type: string + name: run_group_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivityRunGroupWithStatistics' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_sub_rivers: + get: + tags: + - Activities + summary: Get River Activities Sub Rivers + operationId: Activities_getSubRiverActivities + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `activity:list` + + **Get list of sub rivers that ran in a specific time frame.** + **** + **Additional filters can be added such as target name or run group id.** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: River Cross Id + type: string + name: river_cross_id + in: path + - description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + title: Start Time + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + type: string + format: date-time + example: '2020-01-01T12:00:00' + name: start_time + in: query + - description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + title: End Time + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + type: string + format: date-time + example: '2020-01-01T12:00:00' + name: end_time + in: query + - description: Filter by the target table name + required: false + schema: + title: Target Name + description: Filter by the target table name + type: string + name: target_name + in: query + - description: Filter by the run group ID + required: false + schema: + title: Run Group Id + description: Filter by the run group ID + type: string + name: run_group_id + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivitySubRiverResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs: + get: + tags: + - Activities + summary: Get River Activities Runs + operationId: Activities_getRiverRuns + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `activity:list` + + **Get list of runs for a specific river in a specific time frame.** + **** + **This endpoint return information about the runs.** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: River Cross Id + type: string + name: river_cross_id + in: path + - description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + title: Start Time + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + type: string + format: date-time + example: '2020-01-01T12:00:00' + name: start_time + in: query + - description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + title: End Time + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + type: string + format: date-time + example: '2020-01-01T12:00:00' + name: end_time + in: query + - description: Filter by the target table name + required: false + schema: + title: Target Name + description: Filter by the target table name + type: string + name: target_name + in: query + - description: Filter by the run group ID + required: false + schema: + title: Run Group Id + description: Filter by the run group ID + type: string + name: run_group_id + in: query + - description: Filter by the sub river ID + required: false + schema: + title: Sub River Id + description: Filter by the sub river ID + type: string + name: sub_river_id + in: query + - required: false + schema: + title: Page + type: integer + minimum: 1 + default: 1 + name: page + in: query + - required: false + schema: + title: Items Per Page + type: integer + maximum: 200 + minimum: 1 + default: 20 + name: items_per_page + in: query + - description: Indicates by which parameter to sort the runs + required: false + schema: + $ref: '#/components/schemas/RunsSortByEnum' + name: sort_by + in: query + - required: false + schema: + $ref: '#/components/schemas/SortOrderEnum' + name: sort_order + in: query + - description: Cache context id is an internal query parameter for cache purposes + required: false + schema: + title: Cache Context Id + description: Cache context id is an internal query parameter for cache purposes + type: string + name: cache_context_id + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivityRunsResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}: + get: + tags: + - Activities + summary: Get River Activities Run + operationId: Activities_getRiverActivitiesRun + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `activity:list` + + **Get a specific run details.** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: River Cross Id + type: string + name: river_cross_id + in: path + - required: true + schema: + title: Run Id + type: string + name: run_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivityRun' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}/logic_steps: + get: + tags: + - Activities + summary: Get River Activities Run Logic Steps + operationId: Activities_getLogicStepsStatus + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `activity:list` + + **Get the status of each logic step for a specific run.** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: River Cross Id + type: string + name: river_cross_id + in: path + - required: true + schema: + title: Run Id + type: string + name: run_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivityRunLogicStepsResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}/variables: + get: + tags: + - Activities + summary: Get Activities Logic Variables + operationId: Activities_getRunVariables + security: + - HTTPBearer: [] + description: >- + **Authorization scope:** `activity:list` + + **This endpoint retrieves the values of the logic variables in a specific run.** + **The values are stored for a short period of time and will expire after + that time.** + + **If the values have expired, an error message will be returned.** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: River Cross Id + type: string + name: river_cross_id + in: path + - required: true + schema: + title: Run Id + type: string + name: run_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityLogicVariableResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}/logic_steps/{step_id}/logs: + get: + tags: + - Activities + summary: Get Activities Logic Step Log + operationId: Activities_getLogicStepLogs + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `activity:list` + + **Get the logs of a python logic step.** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: River Cross Id + type: string + name: river_cross_id + in: path + - required: true + schema: + title: Run Id + type: string + name: run_id + in: path + - required: true + schema: + title: Step Id + type: string + name: step_id + in: path + - description: The step iteration number + required: false + schema: + title: Iteration Number + description: The step iteration number + type: integer + minimum: 0 + default: 0 + name: iteration_number + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivityRunLogicStepsLogsResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/activities: + get: + tags: + - Activities + summary: Get Activities + operationId: get_activities + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `activity:list` + + **Get summary of activities for the account and environment summarized by** + **river.** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + title: Start Time + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + type: string + format: date-time + example: '2020-01-01T12:00:00' + name: start_time + in: query + - description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + title: End Time + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + type: string + format: date-time + example: '2020-01-01T12:00:00' + name: end_time + in: query + - required: false + schema: + items: + $ref: '#/components/schemas/ActivityStatusEnum' + type: array + name: status + in: query + - description: The ID of the group to filter + required: false + schema: + title: Group Id + description: The ID of the group to filter + items: + type: string + type: array + name: group_id + in: query + - description: >- + A flag that indicates whether the river is scheduled. If not set + then activities of all rivers will be returned + required: false + schema: + $ref: '#/components/schemas/ScheduleEnum' + name: is_scheduled + in: query + - required: false + schema: + title: Page + type: integer + minimum: 1 + default: 1 + name: page + in: query + - required: false + schema: + title: Items Per Page + type: integer + maximum: 200 + minimum: 1 + default: 20 + name: items_per_page + in: query + - description: Cache context id is an internal query parameter for cache purposes + required: false + schema: + title: Cache Context Id + description: Cache context id is an internal query parameter for cache purposes + type: string + name: cache_context_id + in: query + - description: Search for a specific river by river name + required: false + schema: + title: Search + description: Search for a specific river by river name + type: string + name: search + in: query + - required: false + schema: + $ref: '#/components/schemas/ActivitySortByEnum' + name: sort_by + in: query + - required: false + schema: + $ref: '#/components/schemas/SortOrderEnum' + name: sort_order + in: query + - description: The river type + required: false + schema: + description: The river type + items: + $ref: '#/components/schemas/RiverTypeEnum' + type: array + name: river_type + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}/logs: + get: + tags: + - Activities + summary: Get Run Logs + operationId: Activities_getRunLogs + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `activity:list` + + **This method fetches the logs for a given run id of a river.** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: River Cross Id + type: string + name: river_cross_id + in: path + - required: true + schema: + title: Run Id + type: string + name: run_id + in: path + responses: + '200': + description: Successful Response + content: + text/html: + schema: + $ref: '#/components/schemas/ActivitiesGetRunLogsResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/versions: + get: + tags: + - Rivers + summary: List River Versions + operationId: Rivers_listVersions + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `river:list` + + **This endpoint returns all river versions for a given river_cross_id.** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: River Cross Id + type: string + name: river_cross_id + in: path + - description: The number of items per page in the paginated list. + required: false + schema: + title: Items Per Page + description: The number of items per page in the paginated list. + type: integer + maximum: 500 + minimum: 1 + default: 20 + name: items_per_page + in: query + - description: The current page number in the paginated list. + required: false + schema: + title: Page + description: The current page number in the paginated list. + type: integer + minimum: 1 + default: 1 + name: page + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverVersionsResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/versions/{version_id}: + get: + tags: + - Rivers + summary: Get River Version + operationId: Rivers_getVersion + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `river:list` + + **This endpoint returns a given version for a version id and river_cross_id.** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: River Cross Id + type: string + name: river_cross_id + in: path + - required: true + schema: + title: Version Id + type: string + name: version_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverVersions' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}: + get: + tags: + - Rivers + summary: Get River + operationId: get_river + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `river:list` + + **This endpoint gets a river.** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: River Cross Id + type: string + name: river_cross_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverModel' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + put: + tags: + - Beta Endpoints + summary: Edit River + operationId: edit_river + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `river:write` + + **This endpoint updates a river.** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: River Cross Id + type: string + name: river_cross_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WriteRiverInput' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverModel' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + delete: + tags: + - Rivers + summary: Delete River + operationId: delete_river + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `river:write` + + **This endpoint deletes a river** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: River Cross Id + type: string + name: river_cross_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteRiverResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/rivers: + get: + tags: + - Rivers + summary: List Rivers + operationId: list_rivers + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `river:list` + + **This endpoint gets a summary of all the rivers in an environment** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - description: The current page number in the paginated list. + required: false + schema: + title: Page + description: The current page number in the paginated list. + type: integer + minimum: 1 + default: 1 + name: page + in: query + - description: The number of items per page in the paginated list. + required: false + schema: + title: Items Per Page + description: The number of items per page in the paginated list. + type: integer + maximum: 500 + minimum: 1 + default: 20 + name: items_per_page + in: query + - description: The river group name + required: false + schema: + title: Group Name + description: The river group name + type: string + name: group_name + in: query + - description: The river group id + required: false + schema: + title: Group Id + description: The river group id + items: + type: string + type: array + name: group_id + in: query + - description: The river name + required: false + schema: + title: Name + description: The river name + type: string + name: name + in: query + - description: The river schedule status + required: false + schema: + $ref: '#/components/schemas/RiverScheduleStatusEnum' + name: schedule + in: query + - description: The river status + required: false + schema: + description: The river status + items: + $ref: '#/components/schemas/RiverStatusEnum' + type: array + name: river_status + in: query + - description: The river sort by filter + required: false + schema: + $ref: '#/components/schemas/ListRiversSortByFilterEnum' + name: sort_by + in: query + - description: The river sort order filter + required: false + schema: + $ref: '#/components/schemas/SortOrderEnum' + name: sort_order + in: query + - description: The river type + required: false + schema: + description: The river type + items: + $ref: '#/components/schemas/RiverTypeEnum' + type: array + name: river_type + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverListResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + post: + tags: + - Beta Endpoints + summary: Add River + operationId: add_river + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `river:write` + + **This endpoint creates a river.** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WriteRiverInput' + required: true + responses: + '201': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverModel' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/cdc_config: + get: + tags: + - Rivers + summary: Get Cdc Config + operationId: Rivers_getCdcConfig + security: + - HTTPBearer: [] + description: >- + **Authorization scope:** `river:list` + + **This endpoint gets the cdc config:** + **** + + *** Gets cdc offset by provided datasource type to see the last position + of the cdc** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: River Cross Id + type: string + name: river_cross_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/CdcConfig' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + post: + tags: + - Rivers + summary: Set Cdc Config + operationId: Rivers_setCdcConfig + security: + - HTTPBearer: [] + description: >- + **Authorization scope:** `river:write` + + **This endpoint set the cdc config:** + **** + + *** Set the cdc offset that next run of the river can continue from + specific position** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: River Cross Id + type: string + name: river_cross_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CdcConfig' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiversSetCdcConfigResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + delete: + tags: + - Rivers + summary: Delete Cdc Config + operationId: Rivers_deleteCdcConfig + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `river:write` + + **This endpoint delete the cdc config:** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: River Cross Id + type: string + name: river_cross_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiversDeleteCdcConfigResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/cancel_run: + post: + tags: + - Rivers + summary: Cancel River Run + operationId: Rivers_cancelRun + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `river:execute` + + **This endpoint cancels a specific run if run_id is provided or multiple runs if run_group_id is provided.** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: River Cross Id + type: string + name: river_cross_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CancelRiverRunBody' + required: true + responses: + '202': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/GeneralResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/run: + post: + tags: + - Rivers + summary: Run River + operationId: run_river + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `river:execute` + + **This endpoint runs a river.** + **** + **Throttling rules:** + *** River can be executed up to 2 times per minute** + *** Each user can execute a river up to 15 times per minute** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: River Cross Id + type: string + name: river_cross_id + in: path + - description: >- + A flag that indicates whether to run all active sub rivers of the + master river + required: false + schema: + title: Run Sub Rivers + description: >- + A flag that indicates whether to run all active sub rivers of the + master river + type: boolean + default: false + name: run_sub_rivers + in: query + responses: + '202': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiversRunResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/sub_rivers/{sub_river_id}/run: + post: + tags: + - Rivers + summary: Run Sub River + operationId: Rivers_triggerSubRiverRun + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `river:execute` + + **This endpoint runs a sub_river.** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: River Cross Id + type: string + name: river_cross_id + in: path + - required: true + schema: + title: Sub River Id + type: string + name: sub_river_id + in: path + responses: + '202': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiversRunResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/variables: + get: + tags: + - Rivers + summary: Get River Variables + operationId: Rivers_getVariables + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `river:list` + + **Get all river variables** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: River Cross Id + type: string + name: river_cross_id + in: path + - description: The number of items per page in the paginated list. + required: false + schema: + title: Items Per Page + description: The number of items per page in the paginated list. + type: integer + maximum: 500 + minimum: 1 + default: 20 + name: items_per_page + in: query + - description: The current page number in the paginated list. + required: false + schema: + title: Page + description: The current page number in the paginated list. + type: integer + minimum: 1 + default: 1 + name: page + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverVariablesPaginatedResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + put: + tags: + - Rivers + summary: Update River Variable + operationId: Rivers_updateRiverVariable + security: + - HTTPBearer: [] + description: >- + **Authorization scope:** `river:write` + + **This endpoint updates a variable for a river.** + **Given a list of variables, it will replace all existing variables for + the logic river with the provided list.** + parameters: + - required: true + schema: + title: River Cross Id + type: string + name: river_cross_id + in: path + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - description: The number of items per page in the paginated list. + required: false + schema: + title: Items Per Page + description: The number of items per page in the paginated list. + type: integer + maximum: 500 + minimum: 1 + default: 20 + name: items_per_page + in: query + - description: The current page number in the paginated list. + required: false + schema: + title: Page + description: The current page number in the paginated list. + type: integer + minimum: 1 + default: 1 + name: page + in: query + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateRiverVariableInputList' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverVariablesPaginatedResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments: + get: + tags: + - Environments + summary: List Environments + operationId: list_environments + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `environment:list` + + **Get list of environments entities for an account** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: false + schema: + title: Include Deleted + type: boolean + default: false + name: include_deleted + in: query + - required: false + schema: + title: Is Deployable Environments + type: boolean + default: false + name: is_deployable_environments + in: query + - description: The number of items per page in the paginated list. + required: false + schema: + title: Items Per Page + description: The number of items per page in the paginated list. + type: integer + maximum: 500 + minimum: 1 + default: 20 + name: items_per_page + in: query + - description: The current page number in the paginated list. + required: false + schema: + title: Page + description: The current page number in the paginated list. + type: integer + minimum: 1 + default: 1 + name: page + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ListEnvironmentsPaginationResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}: + get: + tags: + - Environments + summary: Get Environment + operationId: get_environment + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `environment:list` + + **Get a specific environment** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/EnvironmentsFields' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/scim_provisioning: + get: + tags: + - Accounts + summary: Get Scim Provisioning Status + operationId: Accounts_getScimProvisioningStatus + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `account:write` + + **Get SCIM provisioning status** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/GetScimTokenStatusResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + put: + tags: + - Accounts + summary: Add Or Update Scim Provisioning + operationId: Accounts_addOrUpdateScimProvisioning + security: + - HTTPBearer: [] + description: >- + **Authorization scope:** `account:write` + + **Add or update SCIM provisioning.** + **This endpoint returns the connection string used to communicate with + your SCIM app and the authentication token** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/CreateOrUpdateScimTokenResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + delete: + tags: + - Accounts + summary: Delete Scim Provisioning + operationId: Accounts_deleteScimProvisioning + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `account:write` + + **Deletes the scim provisioning. This endpoint won't delete any existing resource that were already sync by the SCIM.** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + responses: + '204': + description: Successful Response + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/audit_events: + get: + tags: + - Audit Events + summary: List Audit Events + operationId: AuditEvents_list + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `audit:list` + + **List audit events** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: false + schema: + title: Start Time + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + type: string + format: date-time + example: '2020-01-01T12:00:00' + name: start_time + in: query + - description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm If end_time is supplied without + start_time the start_time will be the previous day of the end_time + required: false + schema: + title: End Time + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm If end_time is supplied without + start_time the start_time will be the previous day of the end_time + type: string + format: date-time + example: '2020-01-01T12:00:00' + name: end_time + in: query + - description: A list of users id's who initiated the event + required: false + schema: + title: User Id + description: A list of users id's who initiated the event + items: + type: string + type: array + example: 5eda28ee6b028e1ce7a2b5ed + name: user_id + in: query + - description: A list of entity types + required: false + schema: + description: A list of entity types + items: + $ref: '#/components/schemas/AuditEventTypeEnum' + type: array + example: connections + x-examples: + - connections + - rivers + - river_groups + name: event_type + in: query + - description: A list of event types + required: false + schema: + description: A list of event types + items: + $ref: '#/components/schemas/AuditEntityTypeEnum' + type: array + example: delete + x-examples: + - delete + - create + - update + name: entity_type + in: query + - description: A unique logical identifier of an entity, usually the cross_id + required: false + schema: + title: Entity Logical Key + description: A unique logical identifier of an entity, usually the cross_id + type: string + example: 5eda28ee6b028e1ce7a2b5ec + name: entity_logical_key + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/AuditEventsPaginationResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/audit_events/{event_id}: + get: + tags: + - Audit Events + summary: Get Audit Event + operationId: AuditEvents_getById + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `audit:list` + + **Get a specific audit event by event_id.** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - description: The id of the audit event + required: true + schema: + title: Event Id + description: The id of the audit event + type: string + example: eac285a5a9ae4ada9ccd49889a651e16 + name: event_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/AuditEventsResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/connections/{connection_cross_id}: + delete: + tags: + - Connections + summary: Delete Connection + operationId: delete_connection + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `connection:delete` + + **This endpoint deletes a connection** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: Connection Cross Id + type: string + name: connection_cross_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteConnectionResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/teams: + get: + tags: + - Groups + summary: List Teams + operationId: list_teams + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `team:list` + + **Get all user teams** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: false + schema: + title: Page + type: integer + default: 1 + name: page + in: query + - required: false + schema: + title: Items Per Page + type: integer + maximum: 200 + default: 20 + name: items_per_page + in: query + - description: The internal display name of the team + required: false + schema: + title: Display Name + description: The internal display name of the team + type: string + example: Marketing team + name: display_name + in: query + - description: The team source local (rivery) or external (Active Directory) + required: false + schema: + title: Source + description: The team source local (rivery) or external (Active Directory) + type: string + example: rivery + name: source + in: query + - description: The remote display name of the team + required: false + schema: + title: Remote Display Name + description: The remote display name of the team + type: string + example: Core team + name: remote_display_name + in: query + - description: Sorted the results by attributes + required: false + schema: + $ref: '#/components/schemas/TeamsSortByEnum' + name: sort_by + in: query + - required: false + schema: + $ref: '#/components/schemas/SortOrderEnum' + name: sort_order + in: query + - description: List of team ids + required: false + schema: + title: Team Id + description: List of team ids + items: + type: string + type: array + example: + - 65ce173412f5e196b2b9b163 + name: team_id + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/UserTeamsListResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + post: + tags: + - Groups + summary: Create Team + operationId: create_team + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `team:write` + + **Create user team** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateUserTeam' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/UserTeamsModel' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/teams/{team_id}: + get: + tags: + - Groups + summary: Get Team + operationId: get_team + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `team:list` + + **Get user team by id** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Team Id + type: string + name: team_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/UserTeamsModel' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + put: + tags: + - Groups + summary: Update Team + operationId: update_team + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `team:write` + + **Update team** + parameters: + - required: true + schema: + title: Team Id + type: string + name: team_id + in: path + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateUserTeamsInput' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/UserTeamsModel' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + delete: + tags: + - Groups + summary: Delete Team + operationId: delete_team + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `team:write` + + **Delete user team** + parameters: + - required: true + schema: + title: Team Id + type: string + name: team_id + in: path + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + responses: + '204': + description: Successful Response + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + patch: + tags: + - Groups + summary: Patch Team + operationId: patch_team + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `team:write` + + **Patch team by id** + parameters: + - required: true + schema: + title: Team Id + type: string + name: team_id + in: path + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchUserTeamsInput' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/UserTeamsModel' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/copy: + post: + tags: + - Beta Endpoints + summary: Copy River + operationId: copy_river + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `river:write` + + **This endpoint creates a copy of a river** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: River Cross Id + type: string + name: river_cross_id + in: path + responses: + '201': + description: Successful Response + headers: + Location: + description: The location of the created resource + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/CopyRiverResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/restore: + put: + tags: + - Beta Endpoints + summary: Restore River Version + operationId: restore_river + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `river:write` + + **This endpoint restores a river to a specific version** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: River Cross Id + type: string + name: river_cross_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RestoreRiverVersionInput' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverModel' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/enable_cdc: + post: + tags: + - Beta Endpoints + summary: Enable Cdc + operationId: enable_cdc + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `river:write` + + **This endpoint enables the CDC extraction for a CDC river.** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: River Cross Id + type: string + name: river_cross_id + in: path + responses: + '202': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/OperationResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/disable_cdc: + post: + tags: + - Beta Endpoints + summary: Disable Cdc + operationId: disable_cdc + security: + - HTTPBearer: [] + description: |- + **Authorization scope:** `river:write` + + **This endpoint disables the CDC extraction for a CDC river.** + parameters: + - required: true + schema: + title: Account Id + type: string + name: account_id + in: path + - required: true + schema: + title: Environment Id + type: string + name: environment_id + in: path + - required: true + schema: + title: River Cross Id + type: string + name: river_cross_id + in: path + responses: + '202': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/OperationResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/predefined_metadata/columns: + get: + tags: + - Beta Endpoints + summary: Get Predefined Columns + operationId: BetaEndpoints_getPredefinedColumns + security: + - HTTPBearer: [] + description: >- + This endpoint gets all predefined columns per datasource id and + report_id. + parameters: + - description: The datasource of the columns. + required: true + schema: + $ref: '#/components/schemas/SourceTypeEnum' + example: shopify + name: datasource_id + in: query + - description: The report id + required: true + schema: + title: Report + description: The report id + type: string + example: orders + name: report + in: query + - description: Name of the column to filter + required: false + schema: + title: Column Name + description: Name of the column to filter + type: string + example: id + name: column_name + in: query + - description: The number of items per page in the paginated list. + required: false + schema: + title: Items Per Page + description: The number of items per page in the paginated list. + type: integer + maximum: 500 + minimum: 1 + default: 20 + name: items_per_page + in: query + - description: The current page number in the paginated list. + required: false + schema: + title: Page + description: The current page number in the paginated list. + type: integer + minimum: 1 + default: 1 + name: page + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PredefinedColumnsPaginatedResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/predefined_metadata/tables: + get: + tags: + - Beta Endpoints + summary: Get Predefined Tables + operationId: BetaEndpoints_listPredefinedTables + security: + - HTTPBearer: [] + description: This endpoint gets all predefined tables per datasource id. + parameters: + - description: The datasource of the columns. + required: true + schema: + $ref: '#/components/schemas/SourceTypeEnum' + example: shopify + name: datasource_id + in: query + - description: Name of the report to filter + required: false + schema: + title: Report Name + description: Name of the report to filter + type: string + example: orders + name: report_name + in: query + - description: The number of items per page in the paginated list. + required: false + schema: + title: Items Per Page + description: The number of items per page in the paginated list. + type: integer + maximum: 500 + minimum: 1 + default: 20 + name: items_per_page + in: query + - description: The current page number in the paginated list. + required: false + schema: + title: Page + description: The current page number in the paginated list. + type: integer + minimum: 1 + default: 1 + name: page + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PredefinedTablesModelPaginatedResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/predefined_metadata/metadata: + get: + tags: + - Beta Endpoints + summary: Get Predefined Metadata + operationId: BetaEndpoints_getPredefinedMetadata + security: + - HTTPBearer: [] + description: This endpoint gets all predefined metadata datasource id and report id. + parameters: + - description: The datasource of the columns. + required: true + schema: + $ref: '#/components/schemas/SourceTypeEnum' + example: shopify + name: datasource_id + in: query + - description: The report id + required: true + schema: + title: Report Id + description: The report id + type: string + example: predefined_orders + name: report_id + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PredefinedMetadataModelResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/river_source/metadata: + get: + tags: + - Beta Endpoints + summary: Get Source Metadata + operationId: BetaEndpoints_getSourceMetadata + security: + - HTTPBearer: [] + description: This endpoint gets all source metadata. + parameters: + - description: The source name + required: true + schema: + $ref: '#/components/schemas/SourceTypeEnum' + example: shopify + name: source_name + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SourcedMetadataModelResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' +components: + schemas: + ActionProperties: + title: ActionProperties + description: Action properties which define the action river properties + properties: + properties_type: + title: Properties Type + type: string + enum: + - actions + default: actions + type: object + ActivitiesResponse: + title: ActivitiesResponse + description: General activities response + properties: + next_page: + title: Next Page + description: The next page URL + type: string + nullable: true + previous_page: + title: Previous Page + description: The previous page URL + type: string + nullable: true + page: + title: Page + description: The page number + type: integer + default: 1 + current_page_size: + title: Current Page Size + description: The current page size + type: integer + total_items: + title: Total Items + description: The total number of entities fetched + type: integer + default: 0 + account_id: + title: Account Id + description: The account id + type: string + environment_id: + title: Environment Id + description: The environment id + type: string + items: + title: Items + items: + $ref: '#/components/schemas/Activity' + type: array + cache_context_id: + title: Cache Context Id + type: string + nullable: true + type: object + required: + - current_page_size + - account_id + - environment_id + - items + - cache_context_id + Activity: + title: Activity + description: Activity properties to return. + properties: + account_id: + title: Account Id + type: string + environment_id: + title: Environment Id + type: string + cross_id: + title: Cross Id + type: string + river_id: + title: River Id + type: string + master_river_id: + title: Master River Id + type: string + river_name: + title: River Name + type: string + is_sub_river: + title: Is Sub River + type: boolean + is_master_river: + title: Is Master River + type: boolean + is_multi: + title: Is Multi + type: boolean + is_deleted: + title: Is Deleted + type: boolean + group_id: + title: Group Id + type: string + is_scheduled: + title: Is Scheduled + type: boolean + total_files: + title: Total Files + type: integer + units: + title: Units + description: Total RPU (units) + type: number + example: 2.1 + rpu: + title: Rpu + description: Total RPU + type: number + example: 2.1 + total_size: + title: Total Size + type: integer + last_run: + title: Last Run + type: integer + pending: + title: Pending + type: integer + failed: + title: Failed + type: integer + running: + title: Running + type: integer + succeeded: + title: Succeeded + type: integer + canceled: + title: Canceled + type: integer + datasource_id: + title: Datasource Id + type: string + type: object + required: + - account_id + - environment_id + - cross_id + - river_id + - master_river_id + - river_name + - is_sub_river + - is_master_river + - is_multi + - is_deleted + - is_scheduled + - total_files + - units + - rpu + - total_size + - last_run + - pending + - failed + - running + - succeeded + - canceled + - datasource_id + ActivityLogicVariableResponse: + title: ActivityLogicVariableResponse + description: The activities logic variables response + properties: + items: + title: Items + items: + $ref: '#/components/schemas/RiverVariablesFields' + type: array + type: object + required: + - items + ActivitySortByEnum: + title: ActivitySortByEnum + description: Activities sort properties in the UI. + type: string + enum: + - river_name + - last_run + - units + ActivityStatisticResponse: + title: ActivityStatisticResponse + description: Activity statistics response + properties: + account_id: + title: Account Id + type: string + environment_id: + title: Environment Id + type: string + total_units: + title: Total Units + description: Total RPU (units) + type: number + example: 2.1 + total_rpu: + title: Total Rpu + description: Total RPU + type: number + example: 2.1 + running: + title: Running + type: integer + canceled: + title: Canceled + type: integer + pending: + title: Pending + type: integer + failed: + title: Failed + type: integer + succeeded: + title: Succeeded + type: integer + skipped: + title: Skipped + type: integer + type: object + required: + - account_id + - environment_id + - total_units + - total_rpu + - running + - canceled + - pending + - failed + - succeeded + - skipped + ActivityStatusEnum: + title: ActivityStatusEnum + description: The external status of a run (being used in the api) + type: string + enum: + - pending + - canceled + - succeeded + - failed + - running + - skipped + AthenaAdditionalTargetSettings: + title: AthenaAdditionalTargetSettings + description: Athena specific target settings + properties: + is_ordered_merge_key: + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + type: boolean + default: false + example: true + order_expression: + title: Order Expression + description: >- + The order expression of the river entity,to filter duplications from + the source data by the provided order expression (for `merge` + loading method). + type: string + example: id desc,createDate asc + nullable: true + target_loading: + description: >- + The target loading of the table entity,if not specified the default + loading mode of the riverwill be used. + allOf: + - $ref: '#/components/schemas/LoadingMode' + example: merge + nullable: true + target_type: + title: Target Type + description: Internal field, populated automatically + type: string + enum: + - athena + default: athena + nullable: true + replace_invalid_utf_characters: + title: Replace Invalid Utf Characters + description: Enable replacing invalid UTF characters in the target + type: boolean + default: false + truncate_columns: + title: Truncate Columns + description: Whether or not to truncate the columns in the target + type: boolean + default: false + type: object + AthenaModifiedColumn: + title: AthenaModifiedColumn + description: Athena specific columns settings + properties: + is_selected: + title: Is Selected + description: If the column is selected and should be modified. + type: boolean + example: true + name: + title: Name + description: The name of the column. + type: string + example: column_name + type: + title: Type + description: The type of the column. + type: string + example: string + nullable: true + alias: + title: Alias + description: The alias of the column in the target table. + type: string + example: column_alias + nullable: true + expression: + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + type: string + example: select 'test' + nullable: true + is_key: + title: Is Key + description: If the column is a key. + type: boolean + example: true + nullable: true + sort_order: + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + type: integer + example: 1 + nullable: true + is_sort_key: + title: Is Sort Key + description: If the column is a sort column. + type: boolean + example: true + nullable: true + calculated_column_mode: + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + example: source + nullable: true + order: + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + type: integer + example: 1 + nullable: true + target_type: + title: Target Type + description: Internal field, populated automatically + type: string + enum: + - athena + default: athena + nullable: true + type: object + required: + - is_selected + - name + AthenaTargetSettings: + title: AthenaTargetSettings + description: Athena target settings properties to return. + properties: + name: + title: Name + description: The name of the target + type: string + enum: + - athena + default: athena + connection_id: + title: Connection Id + description: The connection ID of this target + type: string + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + title: Connection Name + description: The connection name of this target + type: string + example: Connection 1 + nullable: true + table_name: + title: Table Name + description: >- + The table name of this target (only relevant for non multi table + source to target rivers) + type: string + default: '' + example: Table 1 + nullable: true + target_prefix: + title: Target Prefix + description: >- + The table prefix of this target (only relevant for multi table + source to target rivers) + type: string + default: '' + example: start_at_ + nullable: true + is_ordered_merge_key: + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + type: boolean + default: false + example: true + order_expression: + title: Order Expression + description: The order expression of the river entity. + type: string + example: id desc,createDate asc + nullable: true + loading_method: + $ref: '#/components/schemas/LoadingMode' + merge_method: + description: >- + The merge method to preform,only relevant when the loading mode is + Merge,if not provided the default merge method will be used.(merge) + allOf: + - $ref: '#/components/schemas/MergeMethod' + example: merge + nullable: true + file_zone_settings: + title: File Zone Settings + description: The file zone settings of this target + allOf: + - $ref: '#/components/schemas/RiverFileZoneSettings' + nullable: true + file_path_destination: + title: File Path Destination + description: The file name and path + type: string + example: path/to/file + bucket_name: + title: Bucket Name + description: The bucket name + type: string + example: bucket + additional_settings: + title: Additional Settings + description: The additional settings of this target + type: object + default: {} + example: + key: value + nullable: true + type: object + required: + - loading_method + x-konfig-properties: + loading_method: + description: The loading method of this target + example: merge + AuditEntityTypeEnum: + title: AuditEntityTypeEnum + description: The audit event entity types + type: string + enum: + - accounts + - connections + - rivers + - river_groups + - users + AuditEventTypeEnum: + title: AuditEventTypeEnum + description: The audit events, events type + type: string + enum: + - create + - delete + - update + AuditEventsPaginationResponse: + title: AuditEventsPaginationResponse + description: Audit events pagination response + properties: + next_page: + title: Next Page + description: The next page URL + type: string + nullable: true + previous_page: + title: Previous Page + description: The previous page URL + type: string + nullable: true + items: + title: Items + items: + $ref: '#/components/schemas/AuditEventsResponse' + type: array + type: object + required: + - items + AuditEventsResponse: + title: AuditEventsResponse + description: Audit events response + properties: + event_id: + title: Event Id + description: The id of the audit event + type: string + event_initiator: + title: Event Initiator + description: Where the event was initiated + type: string + example: UI + event_datetime: + title: Event Datetime + description: The event date time in UTC timezone + type: string + example: '2022-08-02T13:38:44.054000' + event_type: + $ref: '#/components/schemas/AuditEventTypeEnum' + event_result_status: + title: Event Result Status + description: The status of the API request of the event + type: integer + example: 200 + event_name: + title: Event Name + description: >- + The name of the event in the following + format-event_type:entity_type:additional_info + type: string + example: update:rivers:without_version + entity_type: + $ref: '#/components/schemas/AuditEntityTypeEnum' + entity_logical_key: + title: Entity Logical Key + type: string + default: A unique logical identifier of an entity, usually the cross_id + example: 5eda28ee6b028e1ce7a2b5ec + account_id: + title: Account Id + description: The account id the event originated for + type: string + example: 5ebec4ca6b028e2da4191dde + environment_id: + title: Environment Id + description: The environment id the event originated for + type: string + example: 5ebec4ca6b028e2da4191de1 + user_id: + title: User Id + description: The user id the event originated for + type: string + example: 60d08931f5682c0d9fa24890 + user_name: + title: User Name + description: The name of the user that originated the event + type: string + example: Rivi Ee + entity_name: + title: Entity Name + description: >- + The name of the event entity, this could be the name of the river, + connection etc. + type: string + example: My First River + entity_subtype: + title: Entity Subtype + description: >- + The even subtype, this could be a river classification like logic or + s2t rivers + type: string + example: src_to_trgt + x-examples: + - src_to_trgt + - logic + additional_info: + title: Additional Info + type: string + default: Additional information saved for the event + example: '{"version_id": "637582d3c32287000fc1d69f"}' + type: object + required: + - event_id + - event_initiator + - event_datetime + - event_type + - event_result_status + - event_name + - entity_type + - account_id + - environment_id + - user_id + x-konfig-properties: + event_type: + description: The type of the event + example: create + entity_type: + description: The type of entity that was recorded + example: rivers + AzureSqlAdditionalTargetSettings: + title: AzureSqlAdditionalTargetSettings + description: Azure SQL specific target settings + properties: + is_ordered_merge_key: + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + type: boolean + default: false + example: true + order_expression: + title: Order Expression + description: >- + The order expression of the river entity,to filter duplications from + the source data by the provided order expression (for `merge` + loading method). + type: string + example: id desc,createDate asc + nullable: true + target_loading: + description: >- + The target loading of the table entity,if not specified the default + loading mode of the riverwill be used. + allOf: + - $ref: '#/components/schemas/LoadingMode' + example: merge + nullable: true + target_type: + title: Target Type + description: Internal field, populated automatically + type: string + enum: + - azure_sql + default: azure_sql + nullable: true + type: object + AzureSqlModifiedColumn: + title: AzureSqlModifiedColumn + description: AzureSql specific columns settings + properties: + is_selected: + title: Is Selected + description: If the column is selected and should be modified. + type: boolean + example: true + name: + title: Name + description: The name of the column. + type: string + example: column_name + type: + title: Type + description: The type of the column. + type: string + example: string + nullable: true + alias: + title: Alias + description: The alias of the column in the target table. + type: string + example: column_alias + nullable: true + expression: + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + type: string + example: select 'test' + nullable: true + is_key: + title: Is Key + description: If the column is a key. + type: boolean + example: true + nullable: true + sort_order: + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + type: integer + example: 1 + nullable: true + is_sort_key: + title: Is Sort Key + description: If the column is a sort column. + type: boolean + example: true + nullable: true + calculated_column_mode: + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + example: source + nullable: true + order: + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + type: integer + example: 1 + nullable: true + target_type: + title: Target Type + description: Internal field, populated automatically + type: string + enum: + - azure_sql + default: azure_sql + nullable: true + type: object + required: + - is_selected + - name + AzureSqlTargetSettings: + title: AzureSqlTargetSettings + description: Azure SQL target settings properties to return. + properties: + name: + title: Name + description: The name of the target + type: string + enum: + - azure_sql + default: azure_sql + connection_id: + title: Connection Id + description: The connection ID of this target + type: string + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + title: Connection Name + description: The connection name of this target + type: string + example: Connection 1 + nullable: true + table_name: + title: Table Name + description: >- + The table name of this target (only relevant for non multi table + source to target rivers) + type: string + default: '' + example: Table 1 + nullable: true + target_prefix: + title: Target Prefix + description: >- + The table prefix of this target (only relevant for multi table + source to target rivers) + type: string + default: '' + example: start_at_ + nullable: true + is_ordered_merge_key: + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + type: boolean + default: false + example: true + order_expression: + title: Order Expression + description: The order expression of the river entity. + type: string + example: id desc,createDate asc + nullable: true + loading_method: + $ref: '#/components/schemas/LoadingMode' + merge_method: + description: >- + The merge method to preform,only relevant when the loading mode is + Merge,if not provided the default merge method will be used.(merge) + allOf: + - $ref: '#/components/schemas/MergeMethod' + example: merge + nullable: true + file_zone_settings: + title: File Zone Settings + description: The file zone settings of this target + allOf: + - $ref: '#/components/schemas/RiverFileZoneSettings' + nullable: true + file_path_destination: + title: File Path Destination + description: The file name and path + type: string + example: path/to/file + bucket_name: + title: Bucket Name + description: The bucket name + type: string + example: bucket + additional_settings: + title: Additional Settings + description: The additional settings of this target + type: object + default: {} + example: + key: value + nullable: true + type: object + required: + - loading_method + x-konfig-properties: + loading_method: + description: The loading method of this target + example: merge + AzureSynapseAnalyticsModifiedColumn: + title: AzureSynapseAnalyticsModifiedColumn + description: AzureSynapseAnalytics specific columns settings + properties: + is_selected: + title: Is Selected + description: If the column is selected and should be modified. + type: boolean + example: true + name: + title: Name + description: The name of the column. + type: string + example: column_name + type: + title: Type + description: The type of the column. + type: string + example: string + nullable: true + alias: + title: Alias + description: The alias of the column in the target table. + type: string + example: column_alias + nullable: true + expression: + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + type: string + example: select 'test' + nullable: true + is_key: + title: Is Key + description: If the column is a key. + type: boolean + example: true + nullable: true + sort_order: + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + type: integer + example: 1 + nullable: true + is_sort_key: + title: Is Sort Key + description: If the column is a sort column. + type: boolean + example: true + nullable: true + calculated_column_mode: + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + example: source + nullable: true + order: + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + type: integer + example: 1 + nullable: true + target_type: + title: Target Type + description: Internal field, populated automatically + type: string + enum: + - azure_synapse_analytics + default: azure_synapse_analytics + nullable: true + type: object + required: + - is_selected + - name + AzureSynapseAnalyticsTargetSettings: + title: AzureSynapseAnalyticsTargetSettings + description: Azure Synapse Analytics target settings properties to return. + properties: + name: + title: Name + description: The name of the target + type: string + enum: + - azure_synapse_analytics + default: azure_synapse_analytics + connection_id: + title: Connection Id + description: The connection ID of this target + type: string + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + title: Connection Name + description: The connection name of this target + type: string + example: Connection 1 + nullable: true + table_name: + title: Table Name + description: >- + The table name of this target (only relevant for non multi table + source to target rivers) + type: string + default: '' + example: Table 1 + nullable: true + target_prefix: + title: Target Prefix + description: >- + The table prefix of this target (only relevant for multi table + source to target rivers) + type: string + default: '' + example: start_at_ + nullable: true + is_ordered_merge_key: + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + type: boolean + default: false + example: true + order_expression: + title: Order Expression + description: The order expression of the river entity. + type: string + example: id desc,createDate asc + nullable: true + loading_method: + $ref: '#/components/schemas/LoadingMode' + merge_method: + description: >- + The merge method to preform,only relevant when the loading mode is + Merge,if not provided the default merge method will be used.(merge) + allOf: + - $ref: '#/components/schemas/MergeMethod' + example: merge + nullable: true + file_zone_settings: + title: File Zone Settings + description: The file zone settings of this target + allOf: + - $ref: '#/components/schemas/RiverFileZoneSettings' + nullable: true + file_path_destination: + title: File Path Destination + description: The file name and path + type: string + example: path/to/file + bucket_name: + title: Bucket Name + description: The bucket name + type: string + example: bucket + additional_settings: + title: Additional Settings + description: The additional settings of this target + type: object + default: {} + example: + key: value + nullable: true + type: object + required: + - loading_method + x-konfig-properties: + loading_method: + description: The loading method of this target + example: merge + BigQueryAdditionalTargetSettings: + title: BigQueryAdditionalTargetSettings + description: BigQuery specific target settings + properties: + is_ordered_merge_key: + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + type: boolean + default: false + example: true + order_expression: + title: Order Expression + description: >- + The order expression of the river entity,to filter duplications from + the source data by the provided order expression (for `merge` + loading method). + type: string + example: id desc,createDate asc + nullable: true + target_loading: + description: >- + The target loading of the table entity,if not specified the default + loading mode of the riverwill be used. + allOf: + - $ref: '#/components/schemas/LoadingMode' + example: merge + nullable: true + target_type: + title: Target Type + description: Internal field, populated automatically + type: string + enum: + - bigquery + default: bigquery + nullable: true + use_standard_sql: + title: Use Standard Sql + description: >- + Indication if to use standard SQL, default is true, if false will + use legacy SQL. + type: boolean + example: true + nullable: true + split_tables: + title: Split Tables + description: Split tables at target. + type: string + default: no_split + example: no_split + nullable: true + split_interval: + title: Split Interval + description: The interval by which to split the tables if split table is on. + type: string + example: daily + nullable: true + split_data: + title: Split Data + description: >- + The expression by which to split the tablesif split tables by + expression is chosen. + type: string + example: a>3 + nullable: true + partition_type: + title: Partition Type + description: The type of partition to partition that table by. + type: string + example: timestamp + nullable: true + partition_granularity: + title: Partition Granularity + description: The partition granularity to split the table by. + type: string + example: day + nullable: true + type: object + BigQueryModifiedColumn: + title: BigQueryModifiedColumn + description: Big Query specific columns settings + properties: + is_selected: + title: Is Selected + description: If the column is selected and should be modified. + type: boolean + example: true + name: + title: Name + description: The name of the column. + type: string + example: column_name + type: + title: Type + description: The type of the column. + type: string + example: string + nullable: true + alias: + title: Alias + description: The alias of the column in the target table. + type: string + example: column_alias + nullable: true + expression: + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + type: string + example: select 'test' + nullable: true + is_key: + title: Is Key + description: If the column is a key. + type: boolean + example: true + nullable: true + sort_order: + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + type: integer + example: 1 + nullable: true + is_sort_key: + title: Is Sort Key + description: If the column is a sort column. + type: boolean + example: true + nullable: true + calculated_column_mode: + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + example: source + nullable: true + order: + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + type: integer + example: 1 + nullable: true + is_partition: + title: Is Partition + description: Indication if the column is a partition column + type: boolean + default: false + nullable: true + target_type: + title: Target Type + description: Internal field, populated automatically + type: string + enum: + - bigquery + default: bigquery + nullable: true + type: object + required: + - is_selected + - name + BigQueryTargetSettings: + title: BigQueryTargetSettings + description: BigQuery target settings properties to return. + properties: + name: + title: Name + description: The name of the target + type: string + enum: + - bigquery + default: bigquery + connection_id: + title: Connection Id + description: The connection ID of this target + type: string + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + title: Connection Name + description: The connection name of this target + type: string + example: Connection 1 + nullable: true + table_name: + title: Table Name + description: >- + The table name of this target (only relevant for non multi table + source to target rivers) + type: string + default: '' + example: Table 1 + nullable: true + target_prefix: + title: Target Prefix + description: >- + The table prefix of this target (only relevant for multi table + source to target rivers) + type: string + default: '' + example: start_at_ + nullable: true + is_ordered_merge_key: + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + type: boolean + default: false + example: true + order_expression: + title: Order Expression + description: The order expression of the river entity. + type: string + example: id desc,createDate asc + nullable: true + loading_method: + $ref: '#/components/schemas/LoadingMode' + merge_method: + description: >- + The merge method to preform,only relevant when the loading mode is + Merge,if not provided the default merge method will be used.(merge) + allOf: + - $ref: '#/components/schemas/MergeMethod' + example: merge + nullable: true + file_zone_settings: + title: File Zone Settings + description: The file zone settings of this target + allOf: + - $ref: '#/components/schemas/RiverFileZoneSettings' + nullable: true + file_path_destination: + title: File Path Destination + description: The file name and path + type: string + example: path/to/file + bucket_name: + title: Bucket Name + description: The bucket name + type: string + example: bucket + additional_settings: + title: Additional Settings + description: The additional settings of this target + type: object + default: {} + example: + key: value + nullable: true + dataset_id: + title: Dataset Id + description: The dataset ID of this target + type: string + example: dataset_1 + nullable: true + type: object + required: + - loading_method + x-konfig-properties: + loading_method: + description: The loading method of this target + example: merge + BlobStorageSettings: + title: BlobStorageSettings + description: Azure Blob Storage target settings properties to return. + properties: + name: + title: Name + description: The name of the target + type: string + enum: + - blob_storage + default: blob_storage + connection_id: + title: Connection Id + description: The connection ID of this target + type: string + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + title: Connection Name + description: The connection name of this target + type: string + example: Connection 1 + nullable: true + path: + title: Path + description: The path of the file zone entity. + type: string + example: my_path + bucket_name: + title: Bucket Name + description: The bucket name of the file zone entity. + type: string + example: my_bucket + partitioned_kind: + $ref: '#/components/schemas/PartitionedKindEnum' + type: object + required: + - path + - bucket_name + - partitioned_kind + x-konfig-properties: + partitioned_kind: + description: The partitioned kind of the file zone entity. + example: by_day + CalculatedColumnModeEnum: + title: CalculatedColumnModeEnum + description: >- + The calculated column mode + + Calculated column mode is used to determine if the calculated column is + a new column or an override of an existing + + It can be used either on the source or the target + type: string + enum: + - source + - target + CancelRiverRunBody: + title: CancelRiverRunBody + description: Cancel River Run body + properties: + run_id: + title: Run Id + description: The run_id to cancel. + type: string + run_group_id: + title: Run Group Id + description: >- + The run_group_id to cancel. Use this field when you want to cancel + multiple tables or sub rivers + type: string + type: object + CdcConfig: + title: CdcConfig + description: The cdc config request class. + properties: + config: + title: Config + oneOf: + - $ref: '#/components/schemas/CdcMysqlConfig' + - $ref: '#/components/schemas/CdcPostgresConfig' + - $ref: '#/components/schemas/CdcSqlServerConfig' + - $ref: '#/components/schemas/CdcMongodbConfig' + - $ref: '#/components/schemas/CdcOracleConfig' + discriminator: + propertyName: datasource_type + mapping: + mysql: '#/components/schemas/CdcMysqlConfig' + postgres: '#/components/schemas/CdcPostgresConfig' + mssql: '#/components/schemas/CdcSqlServerConfig' + mongodb: '#/components/schemas/CdcMongodbConfig' + oracle: '#/components/schemas/CdcOracleConfig' + type: object + required: + - config + CdcMongodbConfig: + title: CdcMongodbConfig + description: |- + Cdc Mongodb Config: + * resume token offset of the Mongodb database CDC + properties: + last_updated: + title: Last Updated + type: string + default: '2024-03-29T20:59:22.070733Z' + datasource_type: + title: Datasource Type + type: string + enum: + - mongodb + default: mongodb + resume_token: + title: Resume Token + description: The resume token position offset + type: string + type: object + required: + - resume_token + CdcMysqlConfig: + title: CdcMysqlConfig + description: |- + Cdc mysql config: + * binlog offset of the MYSQL database CDC + properties: + last_updated: + title: Last Updated + type: string + default: '2024-03-29T20:59:22.070733Z' + datasource_type: + title: Datasource Type + type: string + enum: + - mysql + default: mysql + binlog_file: + title: Binlog File + description: The bin log file + type: string + example: mysql-bin-changelog.000931 + binlog_position: + title: Binlog Position + description: The binlog position + type: string + example: '515820321' + gtid: + title: Gtid + description: The gtid position offset + type: string + example: >- + 51d431b9-585e-11ed-9222-022d1416c792:1-34,7e0646d8-b3e4-11eb-a15e-0a47d4c912dc:1-21343,8937b67f-3ab2-11ea-9bc9-0ad74248f0fe:1-5182243242,c23585e8-579a-11ed-83e3-0a47d4c912dc:1-12 + type: object + CdcOracleConfig: + title: CdcOracleConfig + description: |- + Cdc Oracle config: + * system change number of the Oracle database CDC + properties: + last_updated: + title: Last Updated + type: string + default: '2024-03-29T20:59:22.070733Z' + datasource_type: + title: Datasource Type + type: string + enum: + - oracle + default: oracle + scn_offset: + title: Scn Offset + description: The system change number offset + type: integer + type: object + required: + - scn_offset + CdcPostgresConfig: + title: CdcPostgresConfig + description: |- + Cdc postgres config: + * lsn offset of the postgres database CDC + properties: + last_updated: + title: Last Updated + type: string + default: '2024-03-29T20:59:22.070733Z' + datasource_type: + title: Datasource Type + type: string + enum: + - postgres + default: postgres + lsn_offset: + title: Lsn Offset + description: The lsn position offset + type: integer + example: 518 + type: object + required: + - lsn_offset + CdcSqlServerConfig: + title: CdcSqlServerConfig + description: |- + Cdc sql server config: + * lsn offset of the sql server database CDC + properties: + last_updated: + title: Last Updated + type: string + default: '2024-03-29T20:59:22.070733Z' + datasource_type: + title: Datasource Type + type: string + enum: + - mssql + default: mssql + lsn_offset_sql_server: + title: Lsn Offset Sql Server + description: The lsn offset sql server position offset + type: string + example: '0x0000004B000009350003' + type: object + required: + - lsn_offset_sql_server + ColumnsIncrementTypeEnum: + title: ColumnsIncrementTypeEnum + description: All increment columns data types + type: string + enum: + - INTEGER + - TIMESTAMP + - DATE + - FLOAT + - STRING + - DATETIME + ColumnsIntervalTypeEnum: + title: ColumnsIntervalTypeEnum + description: The column's interval type + type: string + enum: + - datetime + - runningnumber + - epoch + - row_version + - date + ColumnsModeEnum: + title: ColumnsModeEnum + description: All column modes. + type: string + enum: + - NULLABLE + - REPEATED + ColumnsTypeEnum: + title: ColumnsTypeEnum + description: All column data types. + type: string + enum: + - INTEGER + - TIMESTAMP + - DATE + - FLOAT + - STRING + - DATETIME + - BOOLEAN + - RECORD + - VARCHAR + - SMALLINT + - BIGINT + - OBJECT + - NUMBER + - VARIANT + - JSON + - TEXT + - TIME + - TINYINT + ConvertFileTypeEnum: + title: ConvertFileTypeEnum + description: >- + Conversion service types of file conversions. + + The conversion service supports multiple conversion including CSV and + JSON but the back only support PARQUET for now + + Once the back adds support for the other file types we can add them here + type: string + enum: + - parquet + CopyRiverResponse: + title: CopyRiverResponse + description: Copy river response + properties: + details: + title: Details + type: string + cross_id: + title: Cross Id + description: The new river cross id + type: string + example: 62e7f4352c13160013dc39be + type: object + required: + - details + - cross_id + CreateOrUpdateScimTokenResponse: + title: CreateOrUpdateScimTokenResponse + description: SCIM Token create or update response. + properties: + account_id: + title: Account Id + description: The account id + type: string + example: 65c2465a76ba59de1a868a4e + x-examples: + - 65c2465a76ba59de1a868a4e + scim_service_url: + title: Scim Service Url + description: The connection string (URL) used to communicate with your SCIM app + type: string + example: https://rivery-scim.rivery.io + x-examples: + - https://rivery-scim.rivery.io + token: + title: Token + description: >- + The SCIM authentication token. Keep the token somewhere safe. The + token will be shown only once. + type: string + example: '1234' + x-examples: + - '1234' + type: object + required: + - account_id + - scim_service_url + - token + CreateUserTeam: + title: CreateUserTeam + description: Request create user groups input. + properties: + description: + title: Description + description: Internal description + type: string + example: Some description + display_name: + title: Display Name + description: The display name in rivery + type: string + example: Rivery Core Team + environments: + title: Environments + description: Dictionary of environment id and environment role + type: object + default: {} + example: + 633ede20f1fc5500111fd7b3: + role: viewer + 5f887c764c40e5598f717676: + role: viewer + is_all_environment_admin: + title: Is All Environment Admin + description: Indicates if group have Admin permission for all environment + type: boolean + default: false + example: true + type: object + required: + - display_name + DatabaseTableInput: + title: DatabaseTableInput + description: |- + Table properties which define the db table data + This schema is being used for read + properties: + run_type_and_datasource: + title: Run Type And Datasource + description: Internal field + type: string + enum: + - multi_tables + default: multi_tables + details: + $ref: '#/components/schemas/WriteDatabaseTableDetailsInput' + type: object + required: + - details + x-konfig-properties: + details: + title: Details + description: The database table details + DatabricksModifiedColumn: + title: DatabricksModifiedColumn + description: Databricks specific columns settings + properties: + is_selected: + title: Is Selected + description: If the column is selected and should be modified. + type: boolean + example: true + name: + title: Name + description: The name of the column. + type: string + example: column_name + type: + title: Type + description: The type of the column. + type: string + example: string + nullable: true + alias: + title: Alias + description: The alias of the column in the target table. + type: string + example: column_alias + nullable: true + expression: + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + type: string + example: select 'test' + nullable: true + is_key: + title: Is Key + description: If the column is a key. + type: boolean + example: true + nullable: true + sort_order: + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + type: integer + example: 1 + nullable: true + is_sort_key: + title: Is Sort Key + description: If the column is a sort column. + type: boolean + example: true + nullable: true + calculated_column_mode: + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + example: source + nullable: true + order: + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + type: integer + example: 1 + nullable: true + target_type: + title: Target Type + description: Internal field, populated automatically + type: string + enum: + - databricks + default: databricks + nullable: true + type: object + required: + - is_selected + - name + DatabricksTargetSettings: + title: DatabricksTargetSettings + description: Databricks target settings properties to return. + properties: + name: + title: Name + description: The name of the target + type: string + enum: + - databricks + default: databricks + connection_id: + title: Connection Id + description: The connection ID of this target + type: string + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + title: Connection Name + description: The connection name of this target + type: string + example: Connection 1 + nullable: true + table_name: + title: Table Name + description: >- + The table name of this target (only relevant for non multi table + source to target rivers) + type: string + default: '' + example: Table 1 + nullable: true + target_prefix: + title: Target Prefix + description: >- + The table prefix of this target (only relevant for multi table + source to target rivers) + type: string + default: '' + example: start_at_ + nullable: true + is_ordered_merge_key: + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + type: boolean + default: false + example: true + order_expression: + title: Order Expression + description: The order expression of the river entity. + type: string + example: id desc,createDate asc + nullable: true + loading_method: + $ref: '#/components/schemas/LoadingMode' + merge_method: + description: >- + The merge method to preform,only relevant when the loading mode is + Merge,if not provided the default merge method will be used.(merge) + allOf: + - $ref: '#/components/schemas/MergeMethod' + example: merge + nullable: true + file_zone_settings: + title: File Zone Settings + description: The file zone settings of this target + allOf: + - $ref: '#/components/schemas/RiverFileZoneSettings' + nullable: true + file_path_destination: + title: File Path Destination + description: The file name and path + type: string + example: path/to/file + bucket_name: + title: Bucket Name + description: The bucket name + type: string + example: bucket + additional_settings: + title: Additional Settings + description: The additional settings of this target + type: object + default: {} + example: + key: value + nullable: true + type: object + required: + - loading_method + x-konfig-properties: + loading_method: + description: The loading method of this target + example: merge + DataframeAddInput: + title: DataframeAddInput + description: |- + Input for adding Dataframe + + properties: + connection_settings: + $ref: '#/components/schemas/DataframeConnectionSettingsInput' + name: + title: Name + description: The name of the dataframe - must be unique + type: string + example: unique_name + type: object + required: + - name + x-konfig-properties: + connection_settings: + title: Connection Settings + description: The connection settings of the dataframe + example: |- + "connection_settings":{ + "connection" : "6278159bcfc148000fad5632", + "datasource_id" : "s3", + "storage_type" : "aws", + "default_bucket" : "rivery-dev-tests"} + + DataframeConnectionSettingsInput: + title: DataframeConnectionSettingsInput + description: |- + Input for the Dataframe connection settings + + properties: + connection: + title: Connection + description: The connection of the connection_settings + type: string + example: 62e7f4352c13160013dc39be + datasource_id: + title: Datasource Id + description: The datasource_id of the connection_settings + type: string + example: aws + default_bucket: + title: Default Bucket + description: The default bucket of the connection settings + type: string + example: some_s3_bucket + storage_type: + title: Storage Type + description: The storage type of the connection settings + type: string + example: s3 + type: object + required: + - connection + - datasource_id + - default_bucket + - storage_type + DataframePaginationResponse: + title: DataframePaginationResponse + description: |- + Dataframe response properties to return as a paginated list + + properties: + next_page: + title: Next Page + description: The next page URL + type: string + nullable: true + previous_page: + title: Previous Page + description: The previous page URL + type: string + nullable: true + page: + title: Page + description: The page number + type: integer + default: 1 + current_page_size: + title: Current Page Size + description: The current page size + type: integer + total_items: + title: Total Items + description: The total number of entities fetched + type: integer + default: 0 + account_id: + title: Account Id + description: The account id + type: string + environment_id: + title: Environment Id + description: The environment id + type: string + items: + title: Items + items: + $ref: '#/components/schemas/DataframeResponse' + type: array + type: object + required: + - current_page_size + - account_id + - environment_id + - items + DataframeResponse: + title: DataframeResponse + description: |- + Dataframe response properties to return + + properties: + account_id: + title: Account Id + description: The account id of the user + type: string + example: 62e7f4352c13160013dc39be + environment_id: + title: Environment Id + description: The environment id of the user + type: string + example: 82e7f4122c13169813dc395g + connection_settings: + title: Connection Settings + description: The connection settings of the dataframe + type: object + default: {} + example: |- + "connection_settings":{ + "connection" : "6278159bcfc148000fad5632", + "datasource_id" : "s3", + "storage_type" : "aws", + "default_bucket" : "rivery-dev-tests"} + name: + title: Name + description: The name of the dataframe - must be unique + type: string + example: unique_name + type: object + required: + - account_id + - environment_id + - name + DataframeUpdateInput: + title: DataframeUpdateInput + description: Input for updating Dataframe + properties: + connection_settings: + $ref: '#/components/schemas/DataframeConnectionSettingsInput' + type: object + x-konfig-properties: + connection_settings: + title: Connection Settings + description: The connection settings of the dataframe + example: |- + "connection_settings":{ + "connection" : "6278159bcfc148000fad5632", + "datasource_id" : "s3", + "storage_type" : "aws", + "default_bucket" : "rivery-dev-tests"} + + DateRange: + title: DateRange + description: Date range when using incremental loading method. + properties: + time_period: + description: The time period of the river entity. + allOf: + - $ref: '#/components/schemas/RiverTimePeriodEnum' + default: custom + example: custom + nullable: true + start_date: + title: Start Date + description: The start date of the river entity. + type: string + example: '2020-12-01T00:00:00.000Z' + nullable: true + end_date: + title: End Date + description: The end date of the river entity. + type: string + example: '2020-01-01T00:00:00.000Z' + nullable: true + days_back: + title: Days Back + description: The days back of the river entity. + type: integer + default: 0 + example: 1 + include_end_value: + title: Include End Value + description: Whether to include or exclude the end_value in the date range + type: boolean + default: false + example: true + extra: + name: date_range.include_end_value + type: switch + display_name: Include the End Value of the End Date + left_label: true + split_time_intervals: + $ref: '#/components/schemas/SplitTimeIntervals' + update_increment_on_failures: + title: Update Increment On Failures + description: >- + If to update the start date for the next extraction even if the + current extraction is unsuccessful. + type: boolean + default: false + example: true + type: object + x-konfig-properties: + split_time_intervals: + title: Split Time Intervals + description: The interval time to split by when using date increment. + default: + time_interval: dont_split + interval_size: 1 + example: + time_interval: days + interval_size: 3 + DistributionMethodEnum: + title: DistributionMethodEnum + description: |- + Enum for distribution methods in Redshift as a target, example: + ALL - A copy of the entire table is distributed to every node + type: string + enum: + - all + - even + - key + EmailTargetSettings: + title: EmailTargetSettings + description: Email target settings properties to return. + properties: + name: + title: Name + description: The name of the target + type: string + enum: + - target_email + default: target_email + email_list: + title: Email List + description: A list of email addresses to send the data to. + items: + type: string + type: array + maxItems: 15 + minItems: 1 + example: + - example@example.io + type: object + required: + - email_list + EnvironmentsColorEnum: + title: EnvironmentsColorEnum + description: The EnvironmentsColor enum provides all color options for environments + type: string + enum: + - gray.400 + - tagGreen + - cBlues + - tagCyan + - tagGeekBlue + - cPurples + - tagPurple + - tagMagenta + - cOranges + - tagOrange + - yellow.200 + EnvironmentsFields: + title: EnvironmentsFields + description: |- + Environments properties to return. + + properties: + description: + title: Description + description: The environment description + type: string + example: Development environment for new rivers + _id: + title: ' Id' + type: string + account: + title: Account + description: The account id of the user + type: string + example: 62e7f4352c13160013dc39be + user_created: + title: User Created + description: The user id of the user who first created the environment + type: string + example: 62e7f4352c13160013dc39be + created_at: + title: Created At + description: >- + The environment creation date time in UTC timezone. Time format + YYYY-MM-DDThh:mm:ss.ms + anyOf: + - type: string + format: date-time + - type: string + example: '2022-07-25T18:38:55.640Z' + cross_id: + title: Cross Id + description: The cross id of the environment + type: string + example: 62e7f4352c13160013dc39be + updated_at: + title: Updated At + description: The time in which the environment was last updated (UTC time zone) + anyOf: + - type: string + format: date-time + - type: string + example: '2022-08-02T13:38:44.054000' + environment_name: + title: Environment Name + description: The environment name + type: string + example: Dev Environment + color: + $ref: '#/components/schemas/EnvironmentsColorEnum' + variables: + title: Variables + description: Environment's variables + type: object + example: + days_ago: '0' + aws_file_zone: Rivery-rivery + gcs_file_zone: Rivery-rivery + azure_file_zone: Rivery-rivery + hours_offset: '0' + is_deleted: + title: Is Deleted + description: A flag that indicates whether the environment is deleted + type: boolean + default: false + example: true + deleted_by: + title: Deleted By + description: >- + The user id of the user who deleted the environment (if the + environment is deleted) + type: string + example: 62e7f4352c13160013dc39be + deleted_at: + title: Deleted At + description: >- + The time in which the environment was deleted (if the environment is + deleted). Time format YYYY-MM-DDThh:mm:ss.ms + anyOf: + - type: string + format: date-time + - type: string + example: '2022-07-25T18:38:55.640Z' + is_default: + title: Is Default + description: >- + A flag that indicates whether the environment is the account's + default environment + type: boolean + default: 'False' + example: true + updated_by: + title: Updated By + description: The user id of the user who last updated the environment + type: string + example: 62e7f4352c13160013dc39be + type: object + required: + - _id + - account + - cross_id + - environment_name + - variables + x-konfig-properties: + color: + description: The environment color as shown in the app + default: gray.400 + example: Gray + ExtractMethodEnum: + title: ExtractMethodEnum + description: |- + Extract method enum. + The supported extract methods are: + - All - for extracting all the data with no filter + - Incremental - for extracting the data with an increment filter by a certain field / column + - LogBased - for CDC extraction using logs + type: string + enum: + - all + - incremental + - log + FacebookAdsAdsTypeEnum: + title: FacebookAdsAdsTypeEnum + description: Facebook Ads, ads type enum + type: string + enum: + - ads_ids + - ads_names + - ads_filter + FacebookAdsCampaignsTypeEnum: + title: FacebookAdsCampaignsTypeEnum + description: Facebook Ads campaigns type enum + type: string + enum: + - campaigns_ids + - campaigns_names + - campaigns_filter + FacebookAdsSetsTypeEnum: + title: FacebookAdsSetsTypeEnum + description: Facebook Ads ad sets type enum + type: string + enum: + - adsets_ids + - adsets_names + - adsets_filter + FinancialStatusEnum: + title: FinancialStatusEnum + description: Shopify financial order status enum + type: string + enum: + - any + - paid + - unpaid + - voided + - pending + - refunded + - authorized + - partially_paid + - partially_refunded + GCSModifiedColumn: + title: GCSModifiedColumn + description: GCS specific columns settings + properties: + is_selected: + title: Is Selected + description: If the column is selected and should be modified. + type: boolean + example: true + name: + title: Name + description: The name of the column. + type: string + example: column_name + type: + title: Type + description: The type of the column. + type: string + example: string + nullable: true + alias: + title: Alias + description: The alias of the column in the target table. + type: string + example: column_alias + nullable: true + expression: + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + type: string + example: select 'test' + nullable: true + is_key: + title: Is Key + description: If the column is a key. + type: boolean + example: true + nullable: true + sort_order: + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + type: integer + example: 1 + nullable: true + is_sort_key: + title: Is Sort Key + description: If the column is a sort column. + type: boolean + example: true + nullable: true + calculated_column_mode: + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + example: source + nullable: true + order: + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + type: integer + example: 1 + nullable: true + target_type: + title: Target Type + description: Internal field, populated automatically + type: string + enum: + - GCS + default: GCS + nullable: true + type: object + required: + - is_selected + - name + GcsTargetSettings: + title: GcsTargetSettings + description: GCS target settings properties to return. + properties: + name: + title: Name + description: The name of the target + type: string + enum: + - GCS + default: GCS + connection_id: + title: Connection Id + description: The connection ID of this target + type: string + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + title: Connection Name + description: The connection name of this target + type: string + example: Connection 1 + nullable: true + path: + title: Path + description: The path of the file zone entity. + type: string + example: my_path + bucket_name: + title: Bucket Name + description: The bucket name of the file zone entity. + type: string + example: my_bucket + partitioned_kind: + $ref: '#/components/schemas/PartitionedKindEnum' + type: object + required: + - path + - bucket_name + - partitioned_kind + x-konfig-properties: + partitioned_kind: + description: The partitioned kind of the file zone entity. + example: by_day + GeneralResponse: + title: GeneralResponse + description: General response schema contains only details + properties: + details: + title: Details + type: string + type: object + required: + - details + GetScimTokenStatusResponse: + title: GetScimTokenStatusResponse + description: SCIM token get status + properties: + account_id: + title: Account Id + description: The account id + type: string + example: 65c2465a76ba59de1a868a4e + x-examples: + - 65c2465a76ba59de1a868a4e + is_enabled: + title: Is Enabled + description: A flag that indicates whether SCIM provisioning is enabled + type: boolean + example: true + x-examples: + - true + scim_service_url: + title: Scim Service Url + description: The connection string (URL) used to communicate with your SCIM app + type: string + example: https://rivery-scim.rivery.io + x-examples: + - https://rivery-scim.rivery.io + type: object + required: + - account_id + - is_enabled + - scim_service_url + GroupOrUserSourceEnum: + title: GroupOrUserSourceEnum + description: >- + The source group. can be locally from Rivery or imported from external + provider + type: string + enum: + - rivery + - active_directory + HTTPValidationError: + title: HTTPValidationError + properties: + detail: + title: Detail + items: + $ref: '#/components/schemas/ValidationError' + type: array + type: object + IDNameInput: + title: IDNameInput + description: Basic ID and Name input + properties: + id: + title: Id + description: The if of the entity + type: string + name: + title: Name + description: The name of the entity + type: string + type: object + required: + - id + IncrementColumn: + title: IncrementColumn + description: Increment columns for the table entity + properties: + name: + title: Name + description: The column’s name + type: string + example: column name + type: + $ref: '#/components/schemas/ColumnsIncrementTypeEnum' + incremental_type: + $ref: '#/components/schemas/ColumnsIntervalTypeEnum' + is_default: + title: Is Default + description: >- + A boolean field that indicates if the column should be the default + increment column + type: boolean + default: false + example: false + type: object + required: + - name + - type + - incremental_type + x-konfig-properties: + type: + description: The data type of the increment column in the DB + example: DATETIME + incremental_type: + description: The interval type of the column + example: datetime + IncrementalFieldEnum: + title: IncrementalFieldEnum + description: Shopify addresses/customers incremental field enum + type: string + enum: + - updated at + - created at + IntervalTimeExternalEnum: + title: IntervalTimeExternalEnum + description: >- + Intervals by time options (external enum for IntervalChunkSizeEnum + options) + type: string + enum: + - dont_split + - minutes + - hours + - days + - weeks + - months + - years + LegacyRiverResponse: + title: LegacyRiverResponse + description: >- + This class is used to return the river version definition in the legacy + format. + properties: + river_definition: + title: River Definition + description: The definition of the river version + type: object + example: + river: + version: river_version + name: river_name + id: 55fr7d4270fdca16cac18261 + type: river_type + source: + type: source_type + id: 55fr7d4270fdca16cac18261X + name: source_name + source_task_config: + title: Source Task Config + description: The source task config of the river version + type: object + example: + task: + name: task_name + target_task_config: + title: Target Task Config + description: The target task config of the river version + type: object + example: + task: + name: task_name + type: object + required: + - river_definition + - source_task_config + ListEnvironmentsPaginationResponse: + title: ListEnvironmentsPaginationResponse + description: The list environments response to return as a paginated list + properties: + next_page: + title: Next Page + description: The next page URL + type: string + nullable: true + previous_page: + title: Previous Page + description: The previous page URL + type: string + nullable: true + page: + title: Page + description: The page number + type: integer + default: 1 + current_page_size: + title: Current Page Size + description: The current page size + type: integer + total_items: + title: Total Items + description: The total number of entities fetched + type: integer + default: 0 + account_id: + title: Account Id + description: The account id + type: string + items: + title: Items + items: + $ref: '#/components/schemas/EnvironmentsFields' + type: array + type: object + required: + - current_page_size + - account_id + - items + ListRiverObject: + title: ListRiverObject + description: River list object for the list endpoint. + properties: + description: + title: Description + description: Description of the river, if available + type: string + example: river_description + nullable: true + name: + title: Name + description: Name of the river + type: string + example: river_name + river_status: + $ref: '#/components/schemas/RiverStatusEnum' + group_name: + title: Group Name + description: Name of the group associated with the river + type: string + example: river_group_1 + group_id: + title: Group Id + description: the id of the group associated with the river + type: string + example: 62e7f4352c13160013dc39be + river_schedulers: + title: River Schedulers + description: List of schedulers used for the river + items: + type: string + type: array + example: + - 0 * * * * + - 0 0 1 * * + datasource_id: + title: Datasource Id + description: Source ID of the river + type: string + example: 5f7d4270fdca16cac18261 + last_user_name_modified: + title: Last User Name Modified + description: User name of the last modifier + type: string + example: user_name + river_cross_id: + title: River Cross Id + description: River cross ID + type: string + example: 5f7d4270fdca16cac18261 + last_updated_at: + title: Last Updated At + description: Last time the river was modified + type: string + format: date-time + example: '2021-01-01T00:00:00.000Z' + is_api_v2: + title: Is Api V2 + description: Flag indicating whether the river is using API v2 + type: boolean + example: true + river_type: + $ref: '#/components/schemas/RiverTypeEnum' + created_at: + title: Created At + description: Time the river was created + type: string + format: date-time + example: '2021-01-01T00:00:00.000Z' + type: object + required: + - name + - river_status + - group_name + - group_id + - river_schedulers + - datasource_id + - last_user_name_modified + - river_cross_id + - last_updated_at + - is_api_v2 + - river_type + - created_at + x-konfig-properties: + river_status: + description: Status of the river + example: active + river_type: + description: Type of the river + example: source_to_target + ListRiversSortByFilterEnum: + title: ListRiversSortByFilterEnum + description: The river sort by filter enum provide all the sort by options. + type: string + enum: + - last_updated_at + - source_name + - river_name + - group_name + - group_id + LoadingMode: + title: LoadingMode + description: 'Enum for loading modes ' + type: string + enum: + - overwrite + - append + - merge + LogicBlockTypeEnum: + title: LogicBlockTypeEnum + description: >- + Logic step can have block types - this enum enumerate the different + block types + type: string + enum: + - big_query_sql + - river + - redshift + - action + - azure_datalake + - azure_sql + - azure_datalake_job + - snowflake + - logicode + - azure_sql_dwh + - postgres + - databricks + - firebolt + - athena + LogicContainerTypeEnum: + title: LogicContainerTypeEnum + description: ALl of the logic container options + type: string + enum: + - run_once + - loop_over + - condition + LogicProperties: + title: LogicProperties + description: Logic properties which define the logic river properties + properties: + properties_type: + title: Properties Type + type: string + enum: + - logic + default: logic + type: object + LogicStep: + title: LogicStep + description: Logic step configuration + properties: + is_container: + title: Is Container + description: A flag that indicates whether this step is a container or not + type: boolean + example: true + container_type: + $ref: '#/components/schemas/LogicContainerTypeEnum' + start_date_utc: + title: Start Date Utc + description: >- + The start date time in UTC timezone.Time format + YYYY-MM-DDThh:mm:ss.ms + type: string + format: date-time + example: '2022-07-25T18:38:55.640Z' + start_date_in_milliseconds: + title: Start Date In Milliseconds + description: The start epoch in milliseconds. + type: integer + example: 1658774335000 + end_date_utc: + title: End Date Utc + description: The end date time in UTC timezone.Time format YYYY-MM-DDThh:mm:ss.ms + type: string + format: date-time + example: '2022-07-25T18:38:55.640Z' + nullable: true + end_date_in_milliseconds: + title: End Date In Milliseconds + description: The end epoch in milliseconds. + type: integer + example: 1658774335000 + nullable: true + step_status: + $ref: '#/components/schemas/ActivityStatusEnum' + loop_iteration_number: + title: Loop Iteration Number + description: >- + If loop exist, it will contain the loop iteration number, otherwise + 0 + type: integer + duration: + title: Duration + description: >- + Step duration. Format h:mm:ss.ms. If step failed or canceled the + duration will be 'None' + type: string + example: '0:01:23.275006' + step_execution_id: + title: Step Execution Id + type: string + step_id: + title: Step Id + type: string + step_index: + title: Step Index + type: string + error_description: + title: Error Description + description: The error description if any + type: string + example: error + nullable: true + logicode_statistics: + title: Logicode Statistics + description: The logicode statistics of RPU, duration and network + allOf: + - $ref: '#/components/schemas/LogicodeStatistics' + nullable: true + block_type: + description: The logic block type + allOf: + - $ref: '#/components/schemas/LogicBlockTypeEnum' + example: action + nullable: true + type: object + required: + - is_container + - start_date_utc + - start_date_in_milliseconds + - step_status + - loop_iteration_number + - duration + - step_execution_id + - step_id + - step_index + x-konfig-properties: + container_type: + description: The container type - if any + example: run_once + step_status: + description: The step status + example: succeeded + LogicodeStatistics: + title: LogicodeStatistics + description: Logicode (python) statistics + properties: + logicode_rpu: + title: Logicode Rpu + description: The total RPUs that were consumed during this step run + type: number + logicode_network_mb: + title: Logicode Network Mb + description: The total network (in and out) consumption of this step run + type: number + logicode_duration_seconds: + title: Logicode Duration Seconds + description: The duration of this step + type: number + type: object + required: + - logicode_rpu + - logicode_network_mb + - logicode_duration_seconds + MergeMethod: + title: MergeMethod + description: 'Enum for merge methods ' + type: string + enum: + - switch_tables + - delete_insert + - merge + MongoDBAdditionalSourceSettings: + title: MongoDBAdditionalSourceSettings + description: MongoDB specific source settings + properties: + filter_expression: + title: Filter Expression + description: The filter expression of the river entity. + type: string + default: '' + example: id > 100 + source_type: + title: Source Type + description: Internal field, populated automatically + type: string + enum: + - mongodb + default: mongodb + nullable: true + concurrent_requests_number: + title: Concurrent Requests Number + description: Number of connections to open concurrently to MongoDB + type: integer + default: 1 + example: 1 + nullable: true + type: object + MongoDBSourceCDCSettings: + title: MongoDBSourceCDCSettings + description: MongoDB Source settings properties. + properties: + default_tables_migration_option: + $ref: '#/components/schemas/RiverTablesMigrationDefaultSyncOption' + datasource_id: + title: Datasource Id + description: The data source id of this source + type: string + enum: + - mongodb + default: mongodb + type: object + x-konfig-properties: + default_tables_migration_option: + description: >- + This option determine the tables migration option. For example. + Choosing SKIP_INITIAL_MIGRATIONwill cause all tables to inherit the + status from the River level to be used for a one-time process. + default: RUN_INITIAL_MIGRATION + example: SKIP_INITIAL_MIGRATION + MySQLAdditionalSourceSettings: + title: MySQLAdditionalSourceSettings + description: MySQL specific source settings + properties: + filter_expression: + title: Filter Expression + description: The filter expression of the river entity. + type: string + default: '' + example: id > 100 + source_type: + title: Source Type + description: Internal field, populated automatically + type: string + enum: + - mysql + default: mysql + nullable: true + type: object + MysqlSourceCDCSettings: + title: MysqlSourceCDCSettings + description: Mysql Source settings properties to return. + properties: + default_tables_migration_option: + $ref: '#/components/schemas/RiverTablesMigrationDefaultSyncOption' + datasource_id: + title: Datasource Id + description: The data source id of this source + type: string + enum: + - mysql + default: mysql + type: object + x-konfig-properties: + default_tables_migration_option: + description: >- + This option determine the tables migration option. For example. + Choosing SKIP_INITIAL_MIGRATIONwill cause all tables to inherit the + status from the River level to be used for a one-time process. + default: RUN_INITIAL_MIGRATION + example: SKIP_INITIAL_MIGRATION + NotificationSettings: + title: NotificationSettings + description: |- + Notification settings properties for the entire river + (define what to do on warning, error, failure/timeout) + properties: + warning: + title: Warning + description: Notification report for warning. + allOf: + - $ref: '#/components/schemas/RiverNotificationReport' + nullable: true + failure: + title: Failure + description: Notification report for failure. + allOf: + - $ref: '#/components/schemas/RiverNotificationReport' + nullable: true + run_threshold: + title: Run Threshold + description: Notification report for run threshold. + allOf: + - $ref: '#/components/schemas/RiverNotificationReport' + nullable: true + type: object + OperationResponse: + title: OperationResponse + description: |- + Operation properties to return. + + properties: + operation_id: + title: Operation Id + description: The ID of the operation + type: string + example: 62e7f4352c13160013dc39be + operation_type: + title: Operation Type + description: The type of the operation + type: string + example: dataframe + last_update_date: + title: Last Update Date + description: The date time in UTC timezone of the last update + type: string + format: date-time + example: '2022-08-02T13:38:44.054000' + status: + $ref: '#/components/schemas/PullRequestStatus' + result: + title: Result + description: The result of the operation + example: 'true' + error_message: + title: Error Message + description: The error message of the operation + type: string + example: '[RVR-QBK-003]: Response value error: Missing Rows/Columns' + type: object + required: + - operation_id + - operation_type + - last_update_date + - status + x-konfig-properties: + status: + description: The current status of the operation id + example: D + OracleAdditionalSourceSettings: + title: OracleAdditionalSourceSettings + description: Oracle specific source settings + properties: + filter_expression: + title: Filter Expression + description: The filter expression of the river entity. + type: string + default: '' + example: id > 100 + source_type: + title: Source Type + description: Internal field, populated automatically + type: string + enum: + - oracle + default: oracle + nullable: true + type: object + OracleSourceCDCSettings: + title: OracleSourceCDCSettings + description: Oracle Source settings properties to return. + properties: + default_tables_migration_option: + $ref: '#/components/schemas/RiverTablesMigrationDefaultSyncOption' + datasource_id: + title: Datasource Id + description: The data source id of this source + type: string + enum: + - oracle + default: oracle + type: object + x-konfig-properties: + default_tables_migration_option: + description: >- + This option determine the tables migration option. For example. + Choosing SKIP_INITIAL_MIGRATIONwill cause all tables to inherit the + status from the River level to be used for a one-time process. + default: RUN_INITIAL_MIGRATION + example: SKIP_INITIAL_MIGRATION + PartitionedKindEnum: + title: PartitionedKindEnum + description: Partitioned kind for storages + type: string + enum: + - by_day + - by_hour + - by_minute + PatchUserTeamsInput: + title: PatchUserTeamsInput + description: Request patch user groups input. + properties: + description: + title: Description + description: Internal description + type: string + example: Some description + display_name: + title: Display Name + description: The display name in rivery + type: string + example: Rivery Core Team + environments: + title: Environments + description: Dictionary of environment id and environment role + type: object + example: + 633ede20f1fc5500111fd7b3: + role: viewer + 5f887c764c40e5598f717676: + role: viewer + is_all_environment_admin: + title: Is All Environment Admin + description: Indicates if group have Admin permission for all environment + type: boolean + example: true + type: object + PostgreSQLAdditionalSourceSettings: + title: PostgreSQLAdditionalSourceSettings + description: PostgreSQL specific source settings + properties: + filter_expression: + title: Filter Expression + description: The filter expression of the river entity. + type: string + default: '' + example: id > 100 + source_type: + title: Source Type + description: Internal field, populated automatically + type: string + enum: + - postgresql + default: postgresql + nullable: true + type: object + PostgresAdditionalTargetSettings: + title: PostgresAdditionalTargetSettings + description: Postgres specific target settings + properties: + is_ordered_merge_key: + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + type: boolean + default: false + example: true + order_expression: + title: Order Expression + description: >- + The order expression of the river entity,to filter duplications from + the source data by the provided order expression (for `merge` + loading method). + type: string + example: id desc,createDate asc + nullable: true + target_loading: + description: >- + The target loading of the table entity,if not specified the default + loading mode of the riverwill be used. + allOf: + - $ref: '#/components/schemas/LoadingMode' + example: merge + nullable: true + target_type: + title: Target Type + description: Internal field, populated automatically + type: string + enum: + - postgres + default: postgres + nullable: true + analyze_tables: + title: Analyze Tables + description: Analyze the tables after the load process + type: boolean + default: false + type: object + PostgresModifiedColumn: + title: PostgresModifiedColumn + description: Postgres specific columns settings + properties: + is_selected: + title: Is Selected + description: If the column is selected and should be modified. + type: boolean + example: true + name: + title: Name + description: The name of the column. + type: string + example: column_name + type: + title: Type + description: The type of the column. + type: string + example: string + nullable: true + alias: + title: Alias + description: The alias of the column in the target table. + type: string + example: column_alias + nullable: true + expression: + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + type: string + example: select 'test' + nullable: true + is_key: + title: Is Key + description: If the column is a key. + type: boolean + example: true + nullable: true + sort_order: + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + type: integer + example: 1 + nullable: true + is_sort_key: + title: Is Sort Key + description: If the column is a sort column. + type: boolean + example: true + nullable: true + calculated_column_mode: + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + example: source + nullable: true + order: + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + type: integer + example: 1 + nullable: true + target_type: + title: Target Type + description: Internal field, populated automatically + type: string + enum: + - postgres + default: postgres + nullable: true + type: object + required: + - is_selected + - name + PostgresSourceCDCSettings: + title: PostgresSourceCDCSettings + description: Postgres Source settings properties to return. + properties: + default_tables_migration_option: + $ref: '#/components/schemas/RiverTablesMigrationDefaultSyncOption' + datasource_id: + title: Datasource Id + description: The data source id of this source + type: string + enum: + - postgres + default: postgres + custom_replication_slot: + title: Custom Replication Slot + description: The custom replication slot of this source + type: string + example: custom_replication_slot + custom_publication: + title: Custom Publication + description: The custom publication of this source + type: string + example: custom_publication + type: object + x-konfig-properties: + default_tables_migration_option: + description: >- + This option determine the tables migration option. For example. + Choosing SKIP_INITIAL_MIGRATIONwill cause all tables to inherit the + status from the River level to be used for a one-time process. + default: RUN_INITIAL_MIGRATION + example: SKIP_INITIAL_MIGRATION + PostgresTargetSettings: + title: PostgresTargetSettings + description: Postgres target settings properties to return. + properties: + name: + title: Name + description: The name of the target + type: string + enum: + - postgres + default: postgres + connection_id: + title: Connection Id + description: The connection ID of this target + type: string + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + title: Connection Name + description: The connection name of this target + type: string + example: Connection 1 + nullable: true + table_name: + title: Table Name + description: >- + The table name of this target (only relevant for non multi table + source to target rivers) + type: string + default: '' + example: Table 1 + nullable: true + target_prefix: + title: Target Prefix + description: >- + The table prefix of this target (only relevant for multi table + source to target rivers) + type: string + default: '' + example: start_at_ + nullable: true + is_ordered_merge_key: + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + type: boolean + default: false + example: true + order_expression: + title: Order Expression + description: The order expression of the river entity. + type: string + example: id desc,createDate asc + nullable: true + loading_method: + $ref: '#/components/schemas/LoadingMode' + merge_method: + description: >- + The merge method to preform,only relevant when the loading mode is + Merge,if not provided the default merge method will be used.(merge) + allOf: + - $ref: '#/components/schemas/MergeMethod' + example: merge + nullable: true + file_zone_settings: + title: File Zone Settings + description: The file zone settings of this target + allOf: + - $ref: '#/components/schemas/RiverFileZoneSettings' + nullable: true + file_path_destination: + title: File Path Destination + description: The file name and path + type: string + example: path/to/file + bucket_name: + title: Bucket Name + description: The bucket name + type: string + example: bucket + additional_settings: + title: Additional Settings + description: The additional settings of this target + type: object + default: {} + example: + key: value + nullable: true + type: object + required: + - loading_method + x-konfig-properties: + loading_method: + description: The loading method of this target + example: merge + PredefinedColumnModel: + title: PredefinedColumnModel + description: Predefined report column structure + properties: + name: + title: Name + description: The column name. + type: string + example: column_name + type: + $ref: '#/components/schemas/ColumnsTypeEnum' + is_key: + title: Is Key + description: Whether the column is a key. + type: boolean + default: false + example: true + alias: + title: Alias + description: The column name's alias. + type: string + example: column_alias + mode: + $ref: '#/components/schemas/ColumnsModeEnum' + datasource_id: + $ref: '#/components/schemas/SourceTypeEnum' + report: + title: Report + description: The column's report id. + type: string + example: orders + fields: + title: Fields + description: A list of subfields for the original field + items: + type: string + type: array + type: object + required: + - name + - type + - datasource_id + - report + x-konfig-properties: + type: + description: The column's data type. + example: STRING + mode: + description: The column's mode. + example: NULLABLE + datasource_id: + description: The column datasource id. + example: shopify + PredefinedColumnsPaginatedResponse: + title: PredefinedColumnsPaginatedResponse + description: The response for the get predefined columns. + properties: + next_page: + title: Next Page + description: The next page URL + type: string + nullable: true + previous_page: + title: Previous Page + description: The previous page URL + type: string + nullable: true + page: + title: Page + description: The page number + type: integer + default: 1 + current_page_size: + title: Current Page Size + description: The current page size + type: integer + total_items: + title: Total Items + description: The total number of entities fetched + type: integer + default: 0 + items: + title: Items + description: A list of predefined columns + items: + $ref: '#/components/schemas/PredefinedColumnModel' + type: array + type: object + required: + - current_page_size + - items + PredefinedMetadataModelResponse: + title: PredefinedMetadataModelResponse + description: The response for the get predefined metadata. + properties: + title: + title: Title + description: The report title. + type: string + example: my title + description: + title: Description + description: The report description. + type: string + example: report description + properties: + title: Properties + description: The report fields and metadata. + type: object + required: + title: Required + description: A list of required report fields + items: + type: string + type: array + example: + - id + type: object + required: + - title + - description + - properties + PredefinedReportShopifyTableInput: + title: PredefinedReportShopifyTableInput + description: |- + Table properties which define the predefined report table data + This schema is being used for read + properties: + run_type_and_datasource: + title: Run Type And Datasource + description: Internal field + type: string + enum: + - predefined_report_shopify + default: predefined_report_shopify + details: + title: Details + description: The predefined report table details + anyOf: + - $ref: '#/components/schemas/WriteShopifyPredefinedOrdersReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedShopReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedAddressesReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedAnalyticReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedCustomersReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedInventoryLevelsReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedMarketingEventsReport' + - $ref: >- + #/components/schemas/WriteShopifyPredefinedOrderTransactionsReport + - $ref: '#/components/schemas/WriteShopifyPredefinedProductsReport' + type: object + required: + - details + PredefinedTableModel: + title: PredefinedTableModel + description: >- + Predefined table properties to return (for Shopify, Facebook ads, + etc...) + properties: + id: + title: Id + description: The table id. + type: string + example: table_id + increment_columns: + title: Increment Columns + description: List of columns that the table can run incrementally by. + items: + $ref: '#/components/schemas/IncrementColumn' + type: array + example: + - incremental_type: runningnumber + type: FLOAT + name: days_unsigned__c + is_default: false + datasource_id: + title: Datasource Id + description: The id of the datasource. + type: string + example: shopify + report_id: + title: Report Id + description: The id of the report. + type: string + example: predefined_orders + report_name: + title: Report Name + description: The name of the report. + type: string + example: orders + no_increment: + title: No Increment + description: Indication if there is no increment for the report. + type: boolean + nullable: true + increment_required: + title: Increment Required + description: Indication if the increment is required for the report. + type: boolean + nullable: true + user_parameters: + title: User Parameters + description: List of parameters the user can input and change. + items: + type: string + type: array + default: [] + example: + - date + nullable: true + hide_parameters: + title: Hide Parameters + description: List of parameters hidden to the user + items: + type: string + type: array + default: [] + nullable: true + type: object + required: + - id + - increment_columns + - datasource_id + - report_id + - report_name + PredefinedTablesModelPaginatedResponse: + title: PredefinedTablesModelPaginatedResponse + description: The response for the get predefined tables. + properties: + next_page: + title: Next Page + description: The next page URL + type: string + nullable: true + previous_page: + title: Previous Page + description: The previous page URL + type: string + nullable: true + page: + title: Page + description: The page number + type: integer + default: 1 + current_page_size: + title: Current Page Size + description: The current page size + type: integer + total_items: + title: Total Items + description: The total number of entities fetched + type: integer + default: 0 + items: + title: Items + description: A list of predefined tables + items: + $ref: '#/components/schemas/PredefinedTableModel' + type: array + type: object + required: + - current_page_size + - items + ProductsIncrementalFieldEnum: + title: ProductsIncrementalFieldEnum + description: Shopify products incremental field enum + type: string + enum: + - updated at + - created at + - published at + PullRequestStatus: + title: PullRequestStatus + description: >- + The status of the pull request that we use in the back, and expose in + the API + type: string + enum: + - W + - E + - R + - D + RedshiftAdditionalTargetSettings: + title: RedshiftAdditionalTargetSettings + description: Redshift specific target settings + properties: + is_ordered_merge_key: + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + type: boolean + default: false + example: true + order_expression: + title: Order Expression + description: >- + The order expression of the river entity,to filter duplications from + the source data by the provided order expression (for `merge` + loading method). + type: string + example: id desc,createDate asc + nullable: true + target_loading: + description: >- + The target loading of the table entity,if not specified the default + loading mode of the riverwill be used. + allOf: + - $ref: '#/components/schemas/LoadingMode' + example: merge + nullable: true + target_type: + title: Target Type + description: Internal field, populated automatically + type: string + enum: + - redshift + default: redshift + nullable: true + distribution_method: + $ref: '#/components/schemas/DistributionMethodEnum' + merge_method: + description: >- + The merge method of the table, if not specified the default merge + method of the riverwill be used. + allOf: + - $ref: '#/components/schemas/MergeMethod' + example: merge + nullable: true + type: object + x-konfig-properties: + distribution_method: + description: The distribution method of the target. + default: even + example: even + RedshiftModifiedColumn: + title: RedshiftModifiedColumn + description: Redshift specific columns settings + properties: + is_selected: + title: Is Selected + description: If the column is selected and should be modified. + type: boolean + example: true + name: + title: Name + description: The name of the column. + type: string + example: column_name + type: + title: Type + description: The type of the column. + type: string + example: string + nullable: true + alias: + title: Alias + description: The alias of the column in the target table. + type: string + example: column_alias + nullable: true + expression: + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + type: string + example: select 'test' + nullable: true + is_key: + title: Is Key + description: If the column is a key. + type: boolean + example: true + nullable: true + sort_order: + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + type: integer + example: 1 + nullable: true + is_sort_key: + title: Is Sort Key + description: If the column is a sort column. + type: boolean + example: true + nullable: true + calculated_column_mode: + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + example: source + nullable: true + order: + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + type: integer + example: 1 + nullable: true + target_type: + title: Target Type + description: Internal field, populated automatically + type: string + enum: + - redshift + default: redshift + nullable: true + length: + title: Length + description: The length of VARCHAR columns. + type: integer + example: 256 + nullable: true + scale: + title: Scale + description: The scale of DECIMAL columns. + type: integer + example: 0 + nullable: true + precision: + title: Precision + description: The precision of DECIMAL columns. + type: integer + example: 18 + nullable: true + is_dist_key: + title: Is Dist Key + description: >- + If the column is a unique Distkey column on which the table is + distributed to each node + type: boolean + example: true + nullable: true + is_sorted: + title: Is Sorted + description: >- + If the column should be sorted (if true- sort_order is the order of + the column for sorting. + type: boolean + example: true + nullable: true + type: object + required: + - is_selected + - name + RedshiftTargetSettings: + title: RedshiftTargetSettings + description: Redshift target settings properties to return. + properties: + name: + title: Name + description: The name of the target + type: string + enum: + - redshift + default: redshift + connection_id: + title: Connection Id + description: The connection ID of this target + type: string + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + title: Connection Name + description: The connection name of this target + type: string + example: Connection 1 + nullable: true + table_name: + title: Table Name + description: >- + The table name of this target (only relevant for non multi table + source to target rivers) + type: string + default: '' + example: Table 1 + nullable: true + target_prefix: + title: Target Prefix + description: >- + The table prefix of this target (only relevant for multi table + source to target rivers) + type: string + default: '' + example: start_at_ + nullable: true + is_ordered_merge_key: + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + type: boolean + default: false + example: true + order_expression: + title: Order Expression + description: The order expression of the river entity. + type: string + example: id desc,createDate asc + nullable: true + loading_method: + $ref: '#/components/schemas/LoadingMode' + merge_method: + description: >- + The merge method to preform,only relevant when the loading mode is + Merge,if not provided the default merge method will be used.(merge) + allOf: + - $ref: '#/components/schemas/MergeMethod' + example: merge + nullable: true + file_zone_settings: + title: File Zone Settings + description: The file zone settings of this target + allOf: + - $ref: '#/components/schemas/RiverFileZoneSettings' + nullable: true + file_path_destination: + title: File Path Destination + description: The file name and path + type: string + example: path/to/file + bucket_name: + title: Bucket Name + description: The bucket name + type: string + example: bucket + additional_settings: + title: Additional Settings + description: The additional settings of this target + type: object + default: {} + example: + key: value + nullable: true + schema_name: + title: Schema Name + description: The schema name of this target + type: string + example: Schema 1 + nullable: true + type: object + required: + - loading_method + x-konfig-properties: + loading_method: + description: The loading method of this target + example: merge + RestoreRiverVersionInput: + title: RestoreRiverVersionInput + description: Input for restoring a river version + properties: + version_id: + title: Version Id + description: The id of the version to restore. + type: string + example: 5f7d4270fdca16cac18261 + type: object + required: + - version_id + RiverActivityRun: + title: RiverActivityRun + description: A run + properties: + run_id: + title: Run Id + description: The run ID + type: string + example: 5658a1c9ea724ee59f048cbb5a6f734a + datasource_id: + title: Datasource Id + description: The datasource ID + type: string + example: mysql + error_description: + title: Error Description + description: The error description if any + type: string + example: error + nullable: true + units: + title: Units + description: Total RPU (units) + type: number + example: 2.1 + rpu: + title: Rpu + description: Total RPU + type: number + example: 2.1 + run_group_id: + title: Run Group Id + description: The run group id + type: string + example: 201dcf8182ad4a59868cb41b957fdc8d + status: + $ref: '#/components/schemas/ActivityStatusEnum' + source_name: + title: Source Name + description: The name of the source + type: string + example: mysql + target_name: + title: Target Name + description: The target table name + type: string + example: table + nullable: true + start_date_utc: + title: Start Date Utc + description: >- + The start date time in UTC timezone.Time format + YYYY-MM-DDThh:mm:ss.ms + type: string + format: date-time + example: '2022-07-25T18:38:55.640Z' + start_date_in_milliseconds: + title: Start Date In Milliseconds + description: The start epoch in milliseconds. + type: integer + example: 1658774335000 + end_date_utc: + title: End Date Utc + description: The end date time in UTC timezone.Time format YYYY-MM-DDThh:mm:ss.ms + type: string + format: date-time + example: '2022-07-25T18:38:55.640Z' + nullable: true + end_date_in_milliseconds: + title: End Date In Milliseconds + description: The end epoch in milliseconds. + type: integer + example: 1658774335000 + nullable: true + sub_river_id: + title: Sub River Id + description: The sub river id + type: string + example: 507f191e810c19729de860ea + nullable: true + is_sub_river_run: + title: Is Sub River Run + description: A flag that indicates whether this run is of a sub river or not + type: boolean + example: false + type: object + required: + - run_id + - datasource_id + - units + - rpu + - run_group_id + - status + - source_name + - start_date_utc + - start_date_in_milliseconds + - is_sub_river_run + RiverActivityRunGroup: + title: RiverActivityRunGroup + description: The run group details + properties: + run_group_id: + title: Run Group Id + description: The run group id + type: string + example: 201dcf8182ad4a59868cb41b957fdc8d + status: + title: Status + type: string + units: + title: Units + description: Total RPU (units) + type: number + example: 2.1 + rpu: + title: Rpu + description: Total RPU + type: number + example: 2.1 + max_duration_in_milliseconds: + title: Max Duration In Milliseconds + type: integer + run_date_epoch_milliseconds: + title: Run Date Epoch Milliseconds + type: integer + run_date_utc: + title: Run Date Utc + type: string + format: date-time + run_end_date_epoch_milliseconds: + title: Run End Date Epoch Milliseconds + description: The end epoch in milliseconds. + type: integer + example: 1658774335000 + nullable: true + run_end_date_utc: + title: Run End Date Utc + description: The end date time in UTC timezone.Time format YYYY-MM-DDThh:mm:ss.ms + type: string + format: date-time + example: '2022-07-25T18:38:55.640Z' + nullable: true + type: object + required: + - run_group_id + - status + - run_date_epoch_milliseconds + - run_date_utc + RiverActivityRunGroupResponse: + title: RiverActivityRunGroupResponse + description: The response for the activity run groups + properties: + next_page: + title: Next Page + description: The next page URL + type: string + nullable: true + previous_page: + title: Previous Page + description: The previous page URL + type: string + nullable: true + page: + title: Page + description: The page number + type: integer + default: 1 + current_page_size: + title: Current Page Size + description: The current page size + type: integer + total_items: + title: Total Items + description: The total number of entities fetched + type: integer + default: 0 + account_id: + title: Account Id + description: The account id + type: string + environment_id: + title: Environment Id + description: The environment id + type: string + items: + title: Items + items: + $ref: '#/components/schemas/RiverActivityRunGroup' + type: array + river_cross_id: + title: River Cross Id + type: string + type: object + required: + - current_page_size + - account_id + - environment_id + - items + - river_cross_id + RiverActivityRunGroupWithStatistics: + title: RiverActivityRunGroupWithStatistics + description: The run group details with statistics + properties: + run_group_id: + title: Run Group Id + description: The run group id + type: string + example: 201dcf8182ad4a59868cb41b957fdc8d + status: + title: Status + type: string + units: + title: Units + description: Total RPU (units) + type: number + example: 2.1 + rpu: + title: Rpu + description: Total RPU + type: number + example: 2.1 + max_duration_in_milliseconds: + title: Max Duration In Milliseconds + type: integer + run_date_epoch_milliseconds: + title: Run Date Epoch Milliseconds + type: integer + run_date_utc: + title: Run Date Utc + type: string + format: date-time + run_end_date_epoch_milliseconds: + title: Run End Date Epoch Milliseconds + description: The end epoch in milliseconds. + type: integer + example: 1658774335000 + nullable: true + run_end_date_utc: + title: Run End Date Utc + description: The end date time in UTC timezone.Time format YYYY-MM-DDThh:mm:ss.ms + type: string + format: date-time + example: '2022-07-25T18:38:55.640Z' + nullable: true + running: + title: Running + type: integer + canceled: + title: Canceled + type: integer + pending: + title: Pending + type: integer + failed: + title: Failed + type: integer + succeeded: + title: Succeeded + type: integer + skipped: + title: Skipped + type: integer + type: object + required: + - run_group_id + - status + - run_date_epoch_milliseconds + - run_date_utc + - running + - canceled + - pending + - failed + - succeeded + - skipped + RiverActivityRunLogicStepsLogsResponse: + title: RiverActivityRunLogicStepsLogsResponse + description: run's logic step logs + properties: + logs_url: + title: Logs Url + type: string + type: object + required: + - logs_url + RiverActivityRunLogicStepsResponse: + title: RiverActivityRunLogicStepsResponse + description: run's logic step + properties: + account_id: + title: Account Id + type: string + environment_id: + title: Environment Id + type: string + river_cross_id: + title: River Cross Id + type: string + run_id: + title: Run Id + type: string + steps: + title: Steps + additionalProperties: + $ref: '#/components/schemas/LogicStep' + type: object + type: object + required: + - account_id + - environment_id + - river_cross_id + - run_id + - steps + RiverActivityRunsResponse: + title: RiverActivityRunsResponse + description: The activity run response + properties: + next_page: + title: Next Page + description: The next page URL + type: string + nullable: true + previous_page: + title: Previous Page + description: The previous page URL + type: string + nullable: true + page: + title: Page + description: The page number + type: integer + default: 1 + current_page_size: + title: Current Page Size + description: The current page size + type: integer + total_items: + title: Total Items + description: The total number of entities fetched + type: integer + default: 0 + account_id: + title: Account Id + description: The account id + type: string + environment_id: + title: Environment Id + description: The environment id + type: string + items: + title: Items + items: + $ref: '#/components/schemas/RiverActivityRun' + type: array + river_cross_id: + title: River Cross Id + type: string + type: object + required: + - current_page_size + - account_id + - environment_id + - items + - river_cross_id + RiverActivityStatisticResponse: + title: RiverActivityStatisticResponse + description: Statistics response + properties: + account_id: + title: Account Id + type: string + environment_id: + title: Environment Id + type: string + total_units: + title: Total Units + description: Total RPU (units) + type: number + example: 2.1 + total_rpu: + title: Total Rpu + description: Total RPU + type: number + example: 2.1 + running: + title: Running + type: integer + canceled: + title: Canceled + type: integer + pending: + title: Pending + type: integer + failed: + title: Failed + type: integer + succeeded: + title: Succeeded + type: integer + skipped: + title: Skipped + type: integer + river_cross_id: + title: River Cross Id + type: string + type: object + required: + - account_id + - environment_id + - total_units + - total_rpu + - running + - canceled + - pending + - failed + - succeeded + - skipped + - river_cross_id + RiverActivitySubRiver: + title: RiverActivitySubRiver + description: Activity's sub river + properties: + sub_river_id: + title: Sub River Id + type: string + sub_river_name: + title: Sub River Name + type: string + type: object + required: + - sub_river_id + - sub_river_name + RiverActivitySubRiverResponse: + title: RiverActivitySubRiverResponse + description: The response of the sub river + properties: + items: + title: Items + items: + $ref: '#/components/schemas/RiverActivitySubRiver' + type: array + account_id: + title: Account Id + type: string + environment_id: + title: Environment Id + type: string + river_cross_id: + title: River Cross Id + type: string + type: object + required: + - items + - account_id + - environment_id + - river_cross_id + RiverActivityTarget: + title: RiverActivityTarget + description: The activity target + properties: + target_name: + title: Target Name + type: string + status: + $ref: '#/components/schemas/ActivityStatusEnum' + units: + title: Units + description: Total RPU (units) + type: number + example: 2.1 + rpu: + title: Rpu + description: Total RPU + type: number + example: 2.1 + last_run: + title: Last Run + type: string + format: date-time + type: object + required: + - target_name + - status + - units + - rpu + - last_run + RiverActivityTargetResponse: + title: RiverActivityTargetResponse + description: Target response + properties: + items: + title: Items + items: + $ref: '#/components/schemas/RiverActivityTarget' + type: array + account_id: + title: Account Id + type: string + environment_id: + title: Environment Id + type: string + river_cross_id: + title: River Cross Id + type: string + type: object + required: + - items + - account_id + - environment_id + - river_cross_id + RiverFileZoneSettings: + title: RiverFileZoneSettings + description: River File zone settings properties to return. + properties: + path: + title: Path + description: The path of the file zone entity. + type: string + example: my_path + bucket_name: + title: Bucket Name + description: The bucket name of the file zone entity. + type: string + example: my_bucket + nullable: true + partitioned_kind: + $ref: '#/components/schemas/PartitionedKindEnum' + type: object + required: + - path + - partitioned_kind + x-konfig-properties: + partitioned_kind: + description: The partitioned kind of the file zone entity. + example: by_day + RiverKindEnum: + title: RiverKindEnum + description: River kind + type: string + enum: + - sub_river + - main_river + RiverListResponse: + title: RiverListResponse + description: List rivers response object. + properties: + next_page: + title: Next Page + description: The next page URL + type: string + nullable: true + previous_page: + title: Previous Page + description: The previous page URL + type: string + nullable: true + page: + title: Page + description: The page number + type: integer + default: 1 + current_page_size: + title: Current Page Size + description: The current page size + type: integer + total_items: + title: Total Items + description: The total number of entities fetched + type: integer + default: 0 + account_id: + title: Account Id + description: The account id + type: string + environment_id: + title: Environment Id + description: The environment id + type: string + items: + title: Items + items: + $ref: '#/components/schemas/ListRiverObject' + type: array + type: object + required: + - current_page_size + - account_id + - environment_id + - items + RiverMetadata: + title: RiverMetadata + description: River metadata properties for the CREATE + properties: + description: + title: Description + description: The description of the river. + type: string + default: '' + example: River 1 description + river_status: + $ref: '#/components/schemas/RiverStatusEnum' + type: object + x-konfig-properties: + river_status: + description: The status of the river. + default: disabled + example: active + RiverMetadataExtended: + title: RiverMetadataExtended + description: Extended RiverMetadata to be returned with the GET + properties: + description: + title: Description + description: The description of the river. + type: string + default: '' + example: River 1 description + river_status: + $ref: '#/components/schemas/RiverStatusEnum' + current_version_id: + title: Current Version Id + description: The current version ID of the river. + type: string + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + created_by: + title: Created By + description: The User that created the river. + type: string + example: SomeUser + last_updated_by: + title: Last Updated By + description: The User that last updated the river. + type: string + example: SomeUser + created_at: + title: Created At + description: The date the river was created. + type: string + format: date-time + example: '2020-09-01T00:00:00Z' + last_updated_at: + title: Last Updated At + description: The date the river was last updated. + type: string + format: date-time + example: '2020-09-01T12:00:00.000Z' + type: object + required: + - last_updated_by + - created_at + - last_updated_at + x-konfig-properties: + river_status: + description: The status of the river. + default: disabled + example: active + RiverModel: + title: RiverModel + description: River properties to return + properties: + cross_id: + title: Cross Id + description: The river cross id. + type: string + example: 62e7f4352c13160013dc39be + account_id: + title: Account Id + description: The account id. + type: string + example: 62e7f4352c13160013dc39be + kind: + $ref: '#/components/schemas/RiverKindEnum' + type: + $ref: '#/components/schemas/RiverTypeEnum' + name: + title: Name + description: The name of the river. + type: string + example: my_river + environment_id: + title: Environment Id + description: The environment cross id. + type: string + example: 62e7f4352c13160013dc39be + environment_name: + title: Environment Name + description: The environment name. + type: string + example: my_environment + group_id: + title: Group Id + description: The group id. + type: string + example: 62e7f4352c13160013dc39be + group_name: + title: Group Name + description: The group name. + type: string + example: my_group + metadata: + $ref: '#/components/schemas/RiverMetadataExtended' + properties: + title: Properties + description: The river properties, will change according to the river type. + oneOf: + - $ref: '#/components/schemas/SourceToTargetRiverProperties' + - $ref: '#/components/schemas/ActionProperties' + - $ref: '#/components/schemas/LogicProperties' + discriminator: + propertyName: properties_type + mapping: + source_to_target: '#/components/schemas/SourceToTargetRiverProperties' + actions: '#/components/schemas/ActionProperties' + logic: '#/components/schemas/LogicProperties' + settings: + title: Settings + description: River settings. + allOf: + - $ref: '#/components/schemas/RiverSettings' + nullable: true + schedulers: + title: Schedulers + description: River schedulers. + items: + $ref: '#/components/schemas/RiverSchedule' + type: array + default: [] + nullable: true + type: object + required: + - cross_id + - account_id + - type + - name + - environment_id + - environment_name + - group_id + - group_name + - metadata + - properties + x-konfig-properties: + kind: + description: The kind of the river. + default: main_river + example: main_river + type: + description: The type of the river. + example: source_to_target + metadata: + title: Metadata + description: The river metadata. + RiverNotificationReport: + title: RiverNotificationReport + description: |- + River Notification Report properties + + properties: + email: + title: Email + description: Email address to send the report to in case of failure. + type: string + example: test@test.com + is_enabled: + title: Is Enabled + description: A flag that indicates whether the notification is enabled. + type: boolean + default: false + example: true + execution_time_limit_seconds: + title: Execution Time Limit Seconds + description: >- + The execution time limit in seconds of the river before reporting, + only relevant for on run_threshold. + type: integer + example: 43200 + nullable: true + type: object + required: + - email + RiverRunResponse: + title: RiverRunResponse + description: Run properties to return + properties: + sub_river_id: + title: Sub River Id + description: The river cross id + type: string + example: 62e7f4352c13160013dc39be + nullable: true + run_id: + title: Run Id + description: The run id of the run process + type: string + example: 1f1468d097754cd8892468c2763ebfe8 + status: + $ref: '#/components/schemas/ActivityStatusEnum' + message: + title: Message + description: the message of the run process + type: string + example: The river is already in progress. + nullable: true + type: object + required: + - run_id + - status + x-konfig-properties: + status: + description: the status of the run process + example: pending + RiverSchedule: + title: RiverSchedule + description: |- + River schedule properties to return. + + properties: + cron_expression: + title: Cron Expression + description: The cron expression of the river entity. + type: string + example: '* * * * *' + nullable: true + is_enabled: + title: Is Enabled + description: The is enabled of the river. + type: boolean + default: false + example: true + type: object + RiverScheduleStatusEnum: + title: RiverScheduleStatusEnum + description: River schedule status enum + type: string + enum: + - all + - scheduled + - unscheduled + RiverSettings: + title: RiverSettings + description: |- + River settings properties to return. + + properties: + run_timeout_seconds: + title: Run Timeout Seconds + description: The timeout of the river in seconds. + type: integer + default: 43200 + example: 43200 + notification: + title: Notification + description: River notification settings. + allOf: + - $ref: '#/components/schemas/NotificationSettings' + nullable: true + type: object + RiverStatusEnum: + title: RiverStatusEnum + description: >- + River status enum. + + Used in the is_enabled field which is part of the river properties. + + Disabled status for a river means the river cannot be executed while + active status river can. + type: string + enum: + - active + - disabled + RiverTablesMigrationDefaultSyncOption: + title: RiverTablesMigrationDefaultSyncOption + description: >- + Each river can have a few options when it comes to migration of tables + + 1. skip_initial_migration: will mean that the tables will inherit the + status from the river and skip the migration + + 2. run_initial_migration: (default for most cases) will mean that tables + will fully migrate in the first run + type: string + enum: + - SKIP_INITIAL_MIGRATION + - RUN_INITIAL_MIGRATION + RiverTimePeriodEnum: + title: RiverTimePeriodEnum + description: River supported time periods + type: string + enum: + - custom + - yesterday + - today + - last_7_days + - last_365_days + - week_to_date + - previous_week + - previous_week_to_date + - last_week + - month_to_date + - previous_month + - previous_month_to_date + - year_to_date + RiverTypeEnum: + title: RiverTypeEnum + description: All of the EXTERNAL river types + type: string + enum: + - src_to_trgt + - source_to_target + - actions + - logic + RiverVariableSettings: + title: RiverVariableSettings + description: |- + Variable settings fields. + + properties: + clear_value_on_start: + title: Clear Value On Start + description: Option for clearing variable on river start + type: boolean + default: false + example: false + is_multi_value: + title: Is Multi Value + description: Indicator for variable containing multiple values + type: boolean + default: false + example: false + is_encrypted: + title: Is Encrypted + description: Option for encrypting variable value + type: boolean + default: false + example: true + is_private: + title: Is Private + description: Option for private variable value in source to target rivers + type: boolean + default: false + example: false + add_to_results: + title: Add To Results + description: Add variables to results for actions river + type: boolean + example: false + type: object + RiverVariablesFields: + title: RiverVariablesFields + description: |- + River variable properties to return. + + properties: + account: + title: Account + description: The account of the river + type: string + example: 55fr7d4270fdca16cac18261 + env_id: + title: Env Id + description: The environment of the river + type: string + example: 55fr7d4270fdca16cac18261 + river_id: + title: River Id + description: The ID of the river + type: string + example: 55fr7d4270fdca16cac18261 + name: + title: Name + description: The name of the variable + type: string + example: credentials + settings: + title: Settings + description: variable settings + type: object + example: + clear_value_on_start: true + is_multi_value: false + is_private: false + is_encrypted: false + value: + title: Value + description: value of variable + anyOf: + - type: string + - items: {} + type: array + example: '1234' + type: object + required: + - account + - env_id + - river_id + - name + - settings + RiverVariablesPaginatedResponse: + title: RiverVariablesPaginatedResponse + description: >- + Final river variables paginated response for all variables in a single + river. + + properties: + next_page: + title: Next Page + description: The next page URL + type: string + nullable: true + previous_page: + title: Previous Page + description: The previous page URL + type: string + nullable: true + page: + title: Page + description: The page number + type: integer + default: 1 + current_page_size: + title: Current Page Size + description: The current page size + type: integer + total_items: + title: Total Items + description: The total number of entities fetched + type: integer + default: 0 + account_id: + title: Account Id + description: The account id + type: string + environment_id: + title: Environment Id + description: The environment id + type: string + items: + title: Items + items: + $ref: '#/components/schemas/RiverVariablesFields' + type: array + type: object + required: + - current_page_size + - account_id + - environment_id + - items + RiverVersionMetadata: + title: RiverVersionMetadata + description: |- + River Versions metadata. This class does not contain the version itself. + + properties: + account_id: + title: Account Id + description: The account id of the river version + type: string + example: 55fr7d4270fdca16cac18261 + user_info: + title: User Info + description: Contains user name and user email information + allOf: + - $ref: '#/components/schemas/UserInfo' + nullable: true + environment_id: + title: Environment Id + description: The environment id of the river version + type: string + example: 55fr7d4270fdca16cac18261 + insert_date: + title: Insert Date + description: The insert date time of the river version in UTC timezone + type: string + format: date-time + example: '2022-08-02T13:38:44.054000' + version_id: + title: Version Id + description: The version id of the river version + type: string + example: 55fr7d4270fdca16cac18261 + previous_version: + title: Previous Version + description: The previous version id of the river version + type: string + example: 55fr7d4270fdca16cac18261 + created_by: + title: Created By + description: The creator id of the river version + type: string + example: 55fr7d4270fdca16cac18261 + river_id: + title: River Id + description: The river id of the river version + type: string + example: 55fr7d4270fdca16cac18261 + restored_by: + title: Restored By + description: The restore id of the river version + type: string + example: 55fr7d4270fdca16cac18261 + restore_date: + title: Restore Date + description: The restore date time of the river version in UTC timezone + type: string + format: date-time + example: '2022-08-02T13:38:44.054000' + nullable: true + name: + title: Name + description: Name of river version + type: string + example: river_version_name + bookmarked: + title: Bookmarked + description: Flag indicating whether the river version is bookmarked or not + type: boolean + default: false + example: false + type: object + required: + - account_id + - environment_id + - insert_date + - version_id + - created_by + - river_id + RiverVersions: + title: RiverVersions + description: |- + River Versions properties to return. + + properties: + account_id: + title: Account Id + description: The account id of the river version + type: string + example: 55fr7d4270fdca16cac18261 + user_info: + title: User Info + description: Contains user name and user email information + allOf: + - $ref: '#/components/schemas/UserInfo' + nullable: true + environment_id: + title: Environment Id + description: The environment id of the river version + type: string + example: 55fr7d4270fdca16cac18261 + insert_date: + title: Insert Date + description: The insert date time of the river version in UTC timezone + type: string + format: date-time + example: '2022-08-02T13:38:44.054000' + version_id: + title: Version Id + description: The version id of the river version + type: string + example: 55fr7d4270fdca16cac18261 + previous_version: + title: Previous Version + description: The previous version id of the river version + type: string + example: 55fr7d4270fdca16cac18261 + created_by: + title: Created By + description: The creator id of the river version + type: string + example: 55fr7d4270fdca16cac18261 + river_id: + title: River Id + description: The river id of the river version + type: string + example: 55fr7d4270fdca16cac18261 + restored_by: + title: Restored By + description: The restore id of the river version + type: string + example: 55fr7d4270fdca16cac18261 + restore_date: + title: Restore Date + description: The restore date time of the river version in UTC timezone + type: string + format: date-time + example: '2022-08-02T13:38:44.054000' + nullable: true + name: + title: Name + description: Name of river version + type: string + example: river_version_name + bookmarked: + title: Bookmarked + description: Flag indicating whether the river version is bookmarked or not + type: boolean + default: false + example: false + river: + title: River + description: The definition of the river version + anyOf: + - $ref: '#/components/schemas/LegacyRiverResponse' + - $ref: '#/components/schemas/RiverModel' + example: + river definition: some definition + type: object + required: + - account_id + - environment_id + - insert_date + - version_id + - created_by + - river_id + - river + RiverVersionsResponse: + title: RiverVersionsResponse + description: |- + River Versions response. + + properties: + next_page: + title: Next Page + description: The next page URL + type: string + nullable: true + previous_page: + title: Previous Page + description: The previous page URL + type: string + nullable: true + page: + title: Page + description: The page number + type: integer + default: 1 + current_page_size: + title: Current Page Size + description: The current page size + type: integer + total_items: + title: Total Items + description: The total number of entities fetched + type: integer + default: 0 + account_id: + title: Account Id + description: The account id + type: string + environment_id: + title: Environment Id + description: The environment id + type: string + statistics: + $ref: '#/components/schemas/RiverVersionsStats' + items: + title: Items + items: + $ref: '#/components/schemas/RiverVersionMetadata' + type: array + type: object + required: + - current_page_size + - account_id + - environment_id + - statistics + - items + RiverVersionsStats: + title: RiverVersionsStats + description: |- + River versions stats fields. + + properties: + bookmarked_versions: + title: Bookmarked Versions + description: Number of bookmarked river versions + type: integer + example: 3 + bookmarks_allowed: + title: Bookmarks Allowed + description: Maximum number of bookmarked river versions allowed + type: integer + example: 30 + total_versions: + title: Total Versions + description: Total number of existing river versions + type: integer + example: 3 + snapshot_versions: + title: Snapshot Versions + description: Number of snapshot river versions + type: integer + example: 2 + versions_allowed: + title: Versions Allowed + description: Maximum number of non-bookmarked river versions allowed + type: integer + example: 70 + type: object + required: + - bookmarked_versions + - bookmarks_allowed + - total_versions + - snapshot_versions + - versions_allowed + RiversRunResponse: + title: RiversRunResponse + description: >- + Run response properties to return + + The response is a list since in the case of sub rivers that are multiple + runs, + + and we want to be able to return them all + properties: + runs: + title: Runs + items: + $ref: '#/components/schemas/RiverRunResponse' + type: array + river_cross_id: + title: River Cross Id + type: string + run_group_id: + title: Run Group Id + type: string + type: object + required: + - runs + - river_cross_id + - run_group_id + RunGroupSortByEnum: + title: RunGroupSortByEnum + description: Activities sort properties in the UI. + type: string + enum: + - units + - last_run + - max_duration + RunGroupStatusEnum: + title: RunGroupStatusEnum + description: The run group enum provide all the status that run group can have. + type: string + enum: + - partially succeeded + - pending + - canceled + - succeeded + - failed + - running + - skipped + RunTypeEnum: + title: RunTypeEnum + description: River run types + type: string + enum: + - custom + - multi_tables + - legacy + - predefined_report + RunningNumber: + title: RunningNumber + description: >- + Running number when using incremental on a running number and not date + time + properties: + start_value: + title: Start Value + description: The start value of the river entity. + type: integer + example: 1 + nullable: true + end_value: + title: End Value + description: The end value of the river entity. + type: integer + example: 100 + nullable: true + include_end_value: + title: Include End Value + description: >- + Whether to include or exclude the end_value in the running number + range + type: boolean + default: false + example: true + rows_in_chunk: + title: Rows In Chunk + description: The rows in chunk of the river entity. + type: integer + default: 100000 + example: 1000 + type: object + RunsSortByEnum: + title: RunsSortByEnum + description: Activities sort properties in the UI. + type: string + enum: + - units + - start_time + - table_name + S3ModifiedColumn: + title: S3ModifiedColumn + description: S3 specific columns settings + properties: + is_selected: + title: Is Selected + description: If the column is selected and should be modified. + type: boolean + example: true + name: + title: Name + description: The name of the column. + type: string + example: column_name + type: + title: Type + description: The type of the column. + type: string + example: string + nullable: true + alias: + title: Alias + description: The alias of the column in the target table. + type: string + example: column_alias + nullable: true + expression: + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + type: string + example: select 'test' + nullable: true + is_key: + title: Is Key + description: If the column is a key. + type: boolean + example: true + nullable: true + sort_order: + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + type: integer + example: 1 + nullable: true + is_sort_key: + title: Is Sort Key + description: If the column is a sort column. + type: boolean + example: true + nullable: true + calculated_column_mode: + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + example: source + nullable: true + order: + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + type: integer + example: 1 + nullable: true + target_type: + title: Target Type + description: Internal field, populated automatically + type: string + enum: + - s3 + default: s3 + nullable: true + type: object + required: + - is_selected + - name + S3TargetSettings: + title: S3TargetSettings + description: S3 target settings properties to return. + properties: + name: + title: Name + description: The name of the target + type: string + enum: + - s3 + default: s3 + connection_id: + title: Connection Id + description: The connection ID of this target + type: string + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + title: Connection Name + description: The connection name of this target + type: string + example: Connection 1 + nullable: true + path: + title: Path + description: The path of the file zone entity. + type: string + example: my_path + bucket_name: + title: Bucket Name + description: The bucket name of the file zone entity. + type: string + example: my_bucket + partitioned_kind: + $ref: '#/components/schemas/PartitionedKindEnum' + convert_file_type: + description: The type of file to convert to + allOf: + - $ref: '#/components/schemas/ConvertFileTypeEnum' + example: parquet + nullable: true + type: object + required: + - path + - bucket_name + - partitioned_kind + x-konfig-properties: + partitioned_kind: + description: The partitioned kind of the file zone entity. + example: by_day + ScheduleEnum: + title: ScheduleEnum + description: Schedule can be either True or False (enabled or disabled) + type: string + enum: + - 'true' + - 'false' + Schema: + title: Schema + description: The schema we use for GET operations + properties: + name: + title: Name + description: The name of the schema + type: string + tables: + title: Tables + items: + oneOf: + - $ref: '#/components/schemas/DatabaseTableInput' + - $ref: '#/components/schemas/PredefinedReportShopifyTableInput' + discriminator: + propertyName: run_type_and_datasource + mapping: + multi_tables: '#/components/schemas/DatabaseTableInput' + predefined_report_shopify: '#/components/schemas/PredefinedReportShopifyTableInput' + type: array + default: [] + type: object + required: + - name + SnowflakeAdditionalTargetSettings: + title: SnowflakeAdditionalTargetSettings + description: Snowflake specific target settings + properties: + is_ordered_merge_key: + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + type: boolean + default: false + example: true + order_expression: + title: Order Expression + description: >- + The order expression of the river entity,to filter duplications from + the source data by the provided order expression (for `merge` + loading method). + type: string + example: id desc,createDate asc + nullable: true + target_loading: + description: >- + The target loading of the table entity,if not specified the default + loading mode of the riverwill be used. + allOf: + - $ref: '#/components/schemas/LoadingMode' + example: merge + nullable: true + target_type: + title: Target Type + description: Internal field, populated automatically + type: string + enum: + - snowflake + default: snowflake + nullable: true + merge_method: + description: >- + The merge method of the table, if not specified the default merge + method of the riverwill be used. + allOf: + - $ref: '#/components/schemas/MergeMethod' + example: merge + nullable: true + enforce_masking_policy: + title: Enforce Masking Policy + description: >- + Reserve the data masking policy that is applied on the column level + in your target table. + type: boolean + default: false + example: false + nullable: true + recreate_keys: + title: Recreate Keys + description: Recreate the table keys. + type: boolean + default: false + example: false + nullable: true + escape_character: + title: Escape Character + description: >- + Escape characters allow special characters in strings to be + interpreted as literal characters, rather than as control characters + inside the query + type: string + example: \t + nullable: true + type: object + SnowflakeModifiedColumn: + title: SnowflakeModifiedColumn + description: Snowflake specific columns settings + properties: + is_selected: + title: Is Selected + description: If the column is selected and should be modified. + type: boolean + example: true + name: + title: Name + description: The name of the column. + type: string + example: column_name + type: + title: Type + description: The type of the column. + type: string + example: string + nullable: true + alias: + title: Alias + description: The alias of the column in the target table. + type: string + example: column_alias + nullable: true + expression: + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + type: string + example: select 'test' + nullable: true + is_key: + title: Is Key + description: If the column is a key. + type: boolean + example: true + nullable: true + sort_order: + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + type: integer + example: 1 + nullable: true + is_sort_key: + title: Is Sort Key + description: If the column is a sort column. + type: boolean + example: true + nullable: true + calculated_column_mode: + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + example: source + nullable: true + order: + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + type: integer + example: 1 + nullable: true + target_type: + title: Target Type + description: Internal field, populated automatically + type: string + enum: + - snowflake + default: snowflake + nullable: true + type: object + required: + - is_selected + - name + SnowflakeTargetSettings: + title: SnowflakeTargetSettings + description: Snowflake target settings properties to return. + properties: + name: + title: Name + description: The name of the target + type: string + enum: + - snowflake + default: snowflake + connection_id: + title: Connection Id + description: The connection ID of this target + type: string + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + title: Connection Name + description: The connection name of this target + type: string + example: Connection 1 + nullable: true + table_name: + title: Table Name + description: >- + The table name of this target (only relevant for non multi table + source to target rivers) + type: string + default: '' + example: Table 1 + nullable: true + target_prefix: + title: Target Prefix + description: >- + The table prefix of this target (only relevant for multi table + source to target rivers) + type: string + default: '' + example: start_at_ + nullable: true + is_ordered_merge_key: + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + type: boolean + default: false + example: true + order_expression: + title: Order Expression + description: The order expression of the river entity. + type: string + example: id desc,createDate asc + nullable: true + loading_method: + $ref: '#/components/schemas/LoadingMode' + merge_method: + description: >- + The merge method to preform,only relevant when the loading mode is + Merge,if not provided the default merge method will be used.(merge) + allOf: + - $ref: '#/components/schemas/MergeMethod' + example: merge + nullable: true + file_zone_settings: + title: File Zone Settings + description: The file zone settings of this target + allOf: + - $ref: '#/components/schemas/RiverFileZoneSettings' + nullable: true + file_path_destination: + title: File Path Destination + description: The file name and path + type: string + example: path/to/file + bucket_name: + title: Bucket Name + description: The bucket name + type: string + example: bucket + additional_settings: + title: Additional Settings + description: The additional settings of this target + type: object + default: {} + example: + key: value + nullable: true + database_name: + title: Database Name + description: The database name of this target + type: string + example: Database 1 + nullable: true + schema_name: + title: Schema Name + description: The schema name of this target + type: string + example: Schema 1 + nullable: true + type: object + required: + - loading_method + x-konfig-properties: + loading_method: + description: The loading method of this target + example: merge + SortOrderEnum: + title: SortOrderEnum + description: Sorting can be either asc or desc, used in the api-service + type: string + enum: + - desc + - asc + SourceSettings: + title: SourceSettings + description: Source settings properties to return. + properties: + name: + description: The name of the source (correlate to source type in db) + allOf: + - $ref: '#/components/schemas/SourceTypeEnum' + example: mysql + nullable: true + connection_id: + title: Connection Id + description: The connection ID of this source. + type: string + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + title: Connection Name + description: The connection name of this source. + type: string + example: Connection 1 + nullable: true + run_type: + $ref: '#/components/schemas/RunTypeEnum' + cdc_settings: + title: Cdc Settings + description: The CDC settings of this source. + oneOf: + - $ref: '#/components/schemas/MysqlSourceCDCSettings' + - $ref: '#/components/schemas/PostgresSourceCDCSettings' + - $ref: '#/components/schemas/OracleSourceCDCSettings' + - $ref: '#/components/schemas/MongoDBSourceCDCSettings' + discriminator: + propertyName: datasource_id + mapping: + mysql: '#/components/schemas/MysqlSourceCDCSettings' + postgres: '#/components/schemas/PostgresSourceCDCSettings' + oracle: '#/components/schemas/OracleSourceCDCSettings' + mongodb: '#/components/schemas/MongoDBSourceCDCSettings' + nullable: true + additional_settings: + title: Additional Settings + description: The additional settings of this source. + type: object + default: {} + example: + extract_method: all + nullable: true + type: object + required: + - name + x-konfig-properties: + run_type: + description: The run type of this source. + default: multi_tables + example: predefined_report + SourceToTargetRiverProperties: + title: SourceToTargetRiverProperties + description: Source to target River properties that is being used for GET purposes + properties: + properties_type: + title: Properties Type + type: string + enum: + - source_to_target + default: source_to_target + source: + $ref: '#/components/schemas/SourceSettings' + target: + title: Target + description: The target of the river. + oneOf: + - $ref: '#/components/schemas/SnowflakeTargetSettings' + - $ref: '#/components/schemas/BigQueryTargetSettings' + - $ref: '#/components/schemas/RedshiftTargetSettings' + - $ref: '#/components/schemas/S3TargetSettings' + - $ref: '#/components/schemas/EmailTargetSettings' + - $ref: '#/components/schemas/BlobStorageSettings' + - $ref: '#/components/schemas/GcsTargetSettings' + - $ref: '#/components/schemas/DatabricksTargetSettings' + - $ref: '#/components/schemas/AzureSynapseAnalyticsTargetSettings' + - $ref: '#/components/schemas/AthenaTargetSettings' + - $ref: '#/components/schemas/AzureSqlTargetSettings' + - $ref: '#/components/schemas/PostgresTargetSettings' + discriminator: + propertyName: name + mapping: + snowflake: '#/components/schemas/SnowflakeTargetSettings' + bigquery: '#/components/schemas/BigQueryTargetSettings' + redshift: '#/components/schemas/RedshiftTargetSettings' + s3: '#/components/schemas/S3TargetSettings' + target_email: '#/components/schemas/EmailTargetSettings' + blob_storage: '#/components/schemas/BlobStorageSettings' + GCS: '#/components/schemas/GcsTargetSettings' + databricks: '#/components/schemas/DatabricksTargetSettings' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsTargetSettings' + athena: '#/components/schemas/AthenaTargetSettings' + azure_sql: '#/components/schemas/AzureSqlTargetSettings' + postgres: '#/components/schemas/PostgresTargetSettings' + schemas: + title: Schemas + description: The schemas of the river entity + items: + $ref: '#/components/schemas/Schema' + type: array + default: [] + type: object + required: + - source + - target + x-konfig-properties: + source: + title: Source + description: The source of the river. + SourceTypeEnum: + title: SourceTypeEnum + description: The source type enum provide all the source type options. + type: string + enum: + - mysql + - postgresql + - oracle + - mongodb + - shopify + - facebook ads + SourcedMetadataModelResponse: + title: SourcedMetadataModelResponse + description: The response for the get source metadata. + properties: + title: + title: Title + description: The datasource title. + type: string + example: my title + description: + title: Description + description: The datasource description. + type: string + example: report description + properties: + title: Properties + description: The datasource fields and metadata. + type: object + required: + title: Required + description: A list of required datasource fields + items: + type: string + type: array + example: + - id + type: object + required: + - title + - description + - properties + SplitTimeIntervals: + title: SplitTimeIntervals + description: >- + Settings for splitting to time intervals when using incremental loading + method by dates. + properties: + time_interval: + $ref: '#/components/schemas/IntervalTimeExternalEnum' + interval_size: + title: Interval Size + description: >- + The number of time units for each interval - for example, when the + interval is set to days and the interval size is 3, each interval + will extract data for 3 days. + type: integer + default: 1 + example: 3 + extra: + name: date_range.split_time_intervals.interval_size + type: number + display_name: Split Interval Size + condition: + different: dont_split + field_name: date_range.split_time_intervals.time_interval + type: object + x-konfig-properties: + time_interval: + description: The interval time unit to split when using date increment. + default: dont_split + example: days + extra: + name: date_range.split_time_intervals.time_interval + type: split_time_intervals + display_name: >- + Split your loading data into several intervals in case of a large + amount of returned data by: + StatusEnum: + title: StatusEnum + description: Shopify order status enum + type: string + enum: + - any + - cancelled + - closed + - open + TableCDCSettings: + title: TableCDCSettings + description: The table CDC settings + properties: + initiate_table: + title: Initiate Table + description: Initiate migration process for CDC table + type: boolean + example: true + nullable: true + overwrite_table_in_migration: + title: Overwrite Table In Migration + description: Overwrite target table for CDC migration process + type: boolean + example: true + nullable: true + type: object + TableStatusEnum: + title: TableStatusEnum + description: Table status for rivers in multi table mode + type: string + enum: + - waiting_for_migration + - migrating + - tracked + - live + TargetsSortByEnum: + title: TargetsSortByEnum + description: Activities sort properties in the UI. + type: string + enum: + - units + - last_run + - table_name + TeamsSortByEnum: + title: TeamsSortByEnum + description: User teams sort properties in the UI. + type: string + enum: + - display_name + - created_at + - source + - is_all_environment_admin + UpdateRiverVariableInput: + title: UpdateRiverVariableInput + description: |- + Logic river variable fields for update. + + properties: + name: + title: Name + description: The name of the variable + type: string + example: credentials + settings: + $ref: '#/components/schemas/RiverVariableSettings' + value: + title: Value + description: value of a variable + anyOf: + - type: string + - items: {} + type: array + example: '1234' + type: object + required: + - name + - settings + x-konfig-properties: + settings: + title: Settings + description: settings class for variable + example: + clear_value_on_start: true + is_multi_value: false + is_encrypted: false + UpdateRiverVariableInputList: + title: UpdateRiverVariableInputList + description: |- + List of logic river variable fields for update. + + properties: + items: + title: Items + items: + $ref: '#/components/schemas/UpdateRiverVariableInput' + type: array + type: object + required: + - items + UpdateUserTeamsInput: + title: UpdateUserTeamsInput + description: Request update user groups input. + properties: + description: + title: Description + description: Internal description + type: string + example: Some description + display_name: + title: Display Name + description: The display name in rivery + type: string + example: Rivery Core Team + environments: + title: Environments + description: Dictionary of environment id and environment role + type: object + example: + 633ede20f1fc5500111fd7b3: + role: viewer + 5f887c764c40e5598f717676: + role: viewer + is_all_environment_admin: + title: Is All Environment Admin + description: Indicates if group have Admin permission for all environment + type: boolean + default: false + example: true + type: object + UserInfo: + title: UserInfo + description: |- + River version creator info. + + properties: + user_name: + title: User Name + description: river version creator username + type: string + example: createdby_username + user_email: + title: User Email + description: river version creator email + type: string + example: createdby@rivery.io + type: object + required: + - user_name + - user_email + UserTeamsListResponse: + title: UserTeamsListResponse + description: List user teams response + properties: + next_page: + title: Next Page + description: The next page URL + type: string + nullable: true + previous_page: + title: Previous Page + description: The previous page URL + type: string + nullable: true + page: + title: Page + description: The page number + type: integer + default: 1 + current_page_size: + title: Current Page Size + description: The current page size + type: integer + total_items: + title: Total Items + description: The total number of entities fetched + type: integer + default: 0 + account_id: + title: Account Id + description: The account id + type: string + items: + title: Items + items: + $ref: '#/components/schemas/UserTeamsModel' + type: array + type: object + required: + - current_page_size + - account_id + - items + UserTeamsModel: + title: UserTeamsModel + description: Base user team model properties to return. + properties: + description: + title: Description + description: Internal description + type: string + example: Some description + _id: + title: ' Id' + description: The user group id + type: string + example: 633ede20f1fc5500111fd7b3 + account_id: + title: Account Id + description: The account id + type: string + example: 55bf7c4270fdca16cac18761 + display_name: + title: Display Name + description: The display name in rivery + type: string + example: Rivery Core Team + remote_display_name: + title: Remote Display Name + description: The SCIM display name + type: string + example: Core Team + environments: + title: Environments + description: Dictionary of environment id and environment role + type: object + default: {} + example: + 633ede20f1fc5500111fd7b3: + role: viewer + 5f887c764c40e5598f717676: + role: viewer + is_all_environment_admin: + title: Is All Environment Admin + description: Indicates if group have Admin permission for all environment + type: boolean + default: false + example: true + source: + $ref: '#/components/schemas/GroupOrUserSourceEnum' + created_at: + title: Created At + description: Created team datatime + type: string + format: date-time + example: '2024-03-29T20:59:20.796255' + type: object + required: + - _id + - account_id + - display_name + - created_at + x-konfig-properties: + source: + description: >- + Source if this group locally of rivery or imported from external + such as Active Directory + default: rivery + example: rivery + ValidationError: + title: ValidationError + properties: + loc: + title: Location + items: + anyOf: + - type: string + - type: integer + type: array + msg: + title: Message + type: string + type: + title: Error Type + type: string + type: object + required: + - loc + - msg + - type + WriteDatabaseTableDetailsInput: + title: WriteDatabaseTableDetailsInput + description: |- + Table properties which define the db table details data + This schema is being used for Create or Update purposes + properties: + is_selected: + title: Is Selected + description: If the table is selected or not. + type: boolean + default: false + example: true + target_table: + title: Target Table + description: The name of the target table (relevant to multi-tables rivers) + type: string + example: target_table_name + modified_columns: + title: Modified Columns + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + default: [] + additional_target_settings: + title: Additional Target Settings + description: The additional target settings of this table. + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + example: &ref_0 + is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + x-examples: + - *ref_0 + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + extract_method: + description: >- + The extract method of the table entity.if not specified the extract + method of the riverwill be used. + allOf: + - $ref: '#/components/schemas/ExtractMethodEnum' + example: incremental + nullable: true + name: + title: Name + description: The name of the table + type: string + example: table_name + incremental_field: + title: Incremental Field + description: The interval field of the river entity. + type: string + example: some_date_field + nullable: true + date_range: + title: Date Range + description: >- + The date range of the river entity only needed if the extract method + is incremental. + allOf: + - $ref: '#/components/schemas/DateRange' + nullable: true + running_number: + title: Running Number + description: >- + The running number of the river entity only needed if the extract + method is incremental. + allOf: + - $ref: '#/components/schemas/RunningNumber' + nullable: true + exporter_chunk_size: + title: Exporter Chunk Size + description: >- + The exporter chunk size of the river entity. i.e. the number of rows + to extract per chuck + type: integer + default: 30000 + example: 1000 + table_status: + $ref: '#/components/schemas/TableStatusEnum' + cdc_settings: + title: Cdc Settings + description: The CDC settings of this table. + allOf: + - $ref: '#/components/schemas/TableCDCSettings' + nullable: true + additional_source_settings: + title: Additional Source Settings + description: The additional source settings of this table. + oneOf: + - $ref: '#/components/schemas/MongoDBAdditionalSourceSettings' + - $ref: '#/components/schemas/MySQLAdditionalSourceSettings' + - $ref: '#/components/schemas/PostgreSQLAdditionalSourceSettings' + - $ref: '#/components/schemas/OracleAdditionalSourceSettings' + discriminator: + propertyName: source_type + mapping: + mongodb: '#/components/schemas/MongoDBAdditionalSourceSettings' + mysql: '#/components/schemas/MySQLAdditionalSourceSettings' + postgresql: '#/components/schemas/PostgreSQLAdditionalSourceSettings' + oracle: '#/components/schemas/OracleAdditionalSourceSettings' + nullable: true + example: &ref_1 + filter_expression: '' + source_type: mongodb + concurrent_requests_number: 1 + x-examples: + - *ref_1 + type: object + required: + - target_table + - name + x-konfig-properties: + table_status: + description: The table status of the river entity. + default: waiting_for_migration + example: waiting_for_migration + WriteDatabaseTableInput: + title: WriteDatabaseTableInput + description: |- + Table properties which define the db table data + This schema is being used for Create or Update purposes + properties: + run_type_and_datasource: + title: Run Type And Datasource + description: Internal field + type: string + enum: + - multi_tables + default: multi_tables + details: + $ref: '#/components/schemas/WriteDatabaseTableDetailsInput' + type: object + required: + - details + x-konfig-properties: + details: + title: Details + description: The database table details + WriteFacebookAdsPredefinedAdAccountActivitiesReport: + title: WriteFacebookAdsPredefinedAdAccountActivitiesReport + description: Facebook ads predefined ad account activities report, used for write. + properties: + is_selected: + title: Is Selected + description: If the table is selected or not. + type: boolean + default: false + example: true + target_table: + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + type: string + example: target_table_name + modified_columns: + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + default: [] + additional_target_settings: + title: Additional Target Settings + description: The additional target settings of this table. + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + example: &ref_2 + is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + x-examples: + - *ref_2 + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + extract_method: + title: Extract Method + description: The extract method of the table entity. + type: string + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + title: Report Id + description: The report id + type: string + enum: + - predefined_ad_account_activities + incremental_field: + title: Incremental Field + description: The interval field of the river entity. + type: string + enum: + - Date + default: Date + example: date_field + date_range: + $ref: '#/components/schemas/DateRange' + type: object + required: + - target_table + - report_id + - date_range + x-konfig-properties: + date_range: + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + WriteFacebookAdsPredefinedAdAccountReport: + title: WriteFacebookAdsPredefinedAdAccountReport + description: Facebook ads predefined ad account report, used for write. + properties: + is_selected: + title: Is Selected + description: If the table is selected or not. + type: boolean + default: false + example: true + target_table: + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + type: string + example: target_table_name + modified_columns: + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + default: [] + additional_target_settings: + title: Additional Target Settings + description: The additional target settings of this table. + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + example: &ref_3 + is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + x-examples: + - *ref_3 + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + extract_method: + title: Extract Method + description: The extract method of the table entity. + type: string + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + title: Report Id + description: The report id + type: string + enum: + - predefined_ad_account + type: object + required: + - target_table + - report_id + WriteFacebookAdsPredefinedAdCreativesReport: + title: WriteFacebookAdsPredefinedAdCreativesReport + description: Facebook ads predefined ad creatives report, used for write. + properties: + is_selected: + title: Is Selected + description: If the table is selected or not. + type: boolean + default: false + example: true + target_table: + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + type: string + example: target_table_name + modified_columns: + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + default: [] + additional_target_settings: + title: Additional Target Settings + description: The additional target settings of this table. + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + example: &ref_4 + is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + x-examples: + - *ref_4 + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + extract_method: + title: Extract Method + description: The extract method of the table entity. + type: string + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + title: Report Id + description: The report id + type: string + enum: + - predefined_ad_creatives + incremental_field: + title: Incremental Field + description: The interval field of the river entity. + type: string + enum: + - Ads Creation Date + default: Ads Creation Date + example: ads_creation_date_field + date_range: + $ref: '#/components/schemas/DateRange' + type: object + required: + - target_table + - report_id + - date_range + x-konfig-properties: + date_range: + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + WriteFacebookAdsPredefinedAdLeadsFormsReport: + title: WriteFacebookAdsPredefinedAdLeadsFormsReport + description: Facebook ads predefined ad leads forms report, used for write. + properties: + is_selected: + title: Is Selected + description: If the table is selected or not. + type: boolean + default: false + example: true + target_table: + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + type: string + example: target_table_name + modified_columns: + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + default: [] + additional_target_settings: + title: Additional Target Settings + description: The additional target settings of this table. + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + example: &ref_5 + is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + x-examples: + - *ref_5 + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + extract_method: + title: Extract Method + description: The extract method of the table entity. + type: string + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + title: Report Id + description: The report id + type: string + enum: + - predefined_ad_leads_forms + type: object + required: + - target_table + - report_id + WriteFacebookAdsPredefinedAdLeadsReport: + title: WriteFacebookAdsPredefinedAdLeadsReport + description: Facebook ads predefined ad leads report, used for write. + properties: + is_selected: + title: Is Selected + description: If the table is selected or not. + type: boolean + default: false + example: true + target_table: + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + type: string + example: target_table_name + modified_columns: + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + default: [] + additional_target_settings: + title: Additional Target Settings + description: The additional target settings of this table. + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + example: &ref_6 + is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + x-examples: + - *ref_6 + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + extract_method: + title: Extract Method + description: The extract method of the table entity. + type: string + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + title: Report Id + description: The report id + type: string + enum: + - predefined_ad_leads + incremental_field: + title: Incremental Field + description: The interval field of the river entity. + type: string + enum: + - Ads Creation Date + default: Ads Creation Date + example: ads_creation_date + date_range: + $ref: '#/components/schemas/DateRange' + type: object + required: + - target_table + - report_id + - date_range + x-konfig-properties: + date_range: + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + WriteFacebookAdsPredefinedAdSetsReport: + title: WriteFacebookAdsPredefinedAdSetsReport + description: Facebook ads predefined ad sets report, used for write. + properties: + adsets_ac: + title: Adsets Ac + description: Leave empty for all ad sets + items: + $ref: '#/components/schemas/IDNameInput' + type: array + default: [] + adsets_filter: + title: Adsets Filter + description: Leave empty for all ad sets + items: + type: string + type: array + default: [] + adsets_ids: + title: Adsets Ids + description: Leave empty for all ad sets + items: + type: string + type: array + default: [] + adsets_names: + title: Adsets Names + description: Leave empty for all ad sets + items: + type: string + type: array + default: [] + adsets_type: + $ref: '#/components/schemas/FacebookAdsSetsTypeEnum' + campaigns_ac: + title: Campaigns Ac + description: Leave empty for all campaigns + items: + $ref: '#/components/schemas/IDNameInput' + type: array + default: [] + campaigns_filter: + title: Campaigns Filter + description: Leave empty for all campaigns + items: + type: string + type: array + default: [] + campaigns_ids: + title: Campaigns Ids + description: Leave empty for all campaigns + items: + type: string + type: array + default: [] + campaigns_names: + title: Campaigns Names + description: Leave empty for all campaigns + items: + type: string + type: array + default: [] + campaigns_type: + $ref: '#/components/schemas/FacebookAdsCampaignsTypeEnum' + is_selected: + title: Is Selected + description: If the table is selected or not. + type: boolean + default: false + example: true + target_table: + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + type: string + example: target_table_name + modified_columns: + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + default: [] + additional_target_settings: + title: Additional Target Settings + description: The additional target settings of this table. + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + example: &ref_7 + is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + x-examples: + - *ref_7 + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + extract_method: + title: Extract Method + description: The extract method of the table entity. + type: string + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + title: Report Id + description: The report id + type: string + enum: + - predefined_adsets + type: object + required: + - target_table + - report_id + x-konfig-properties: + adsets_type: + description: The type of ad sets input to use + example: adsets_names + x-examples: + - adsets_names + - adsets_ids + - adsets_filter + campaigns_type: + description: The type of campaigns input to use + example: campaigns_names + x-examples: + - campaigns_names + - campaigns_ids + - campaigns_filter + WriteFacebookAdsPredefinedAdsPixelsReport: + title: WriteFacebookAdsPredefinedAdsPixelsReport + description: Facebook ads predefined ads pixels report, used for write. + properties: + is_selected: + title: Is Selected + description: If the table is selected or not. + type: boolean + default: false + example: true + target_table: + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + type: string + example: target_table_name + modified_columns: + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + default: [] + additional_target_settings: + title: Additional Target Settings + description: The additional target settings of this table. + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + example: &ref_8 + is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + x-examples: + - *ref_8 + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + extract_method: + title: Extract Method + description: The extract method of the table entity. + type: string + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + title: Report Id + description: The report id + type: string + enum: + - predefined_ads_pixels + incremental_field: + title: Incremental Field + description: The interval field of the river entity. + type: string + enum: + - Date + default: Date + example: date_field + date_range: + $ref: '#/components/schemas/DateRange' + type: object + required: + - target_table + - report_id + - date_range + x-konfig-properties: + date_range: + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + WriteFacebookAdsPredefinedAdsReport: + title: WriteFacebookAdsPredefinedAdsReport + description: Facebook ads predefined ads report, used for write. + properties: + ads_ac: + title: Ads Ac + description: Leave empty for all ads + items: + $ref: '#/components/schemas/IDNameInput' + type: array + default: [] + ads_filter: + title: Ads Filter + description: Leave empty for all ads + items: + type: string + type: array + default: [] + ads_ids: + title: Ads Ids + description: Leave empty for all ads + items: + type: string + type: array + default: [] + ads_names: + title: Ads Names + description: Leave empty for all ads + items: + type: string + type: array + default: [] + ads_type: + $ref: '#/components/schemas/FacebookAdsAdsTypeEnum' + adsets_ac: + title: Adsets Ac + description: Leave empty for all ad sets + items: + $ref: '#/components/schemas/IDNameInput' + type: array + default: [] + adsets_filter: + title: Adsets Filter + description: Leave empty for all ad sets + items: + type: string + type: array + default: [] + adsets_ids: + title: Adsets Ids + description: Leave empty for all ad sets + items: + type: string + type: array + default: [] + adsets_names: + title: Adsets Names + description: Leave empty for all ad sets + items: + type: string + type: array + default: [] + adsets_type: + $ref: '#/components/schemas/FacebookAdsSetsTypeEnum' + campaigns_ac: + title: Campaigns Ac + description: Leave empty for all campaigns + items: + $ref: '#/components/schemas/IDNameInput' + type: array + default: [] + campaigns_filter: + title: Campaigns Filter + description: Leave empty for all campaigns + items: + type: string + type: array + default: [] + campaigns_ids: + title: Campaigns Ids + description: Leave empty for all campaigns + items: + type: string + type: array + default: [] + campaigns_names: + title: Campaigns Names + description: Leave empty for all campaigns + items: + type: string + type: array + default: [] + campaigns_type: + $ref: '#/components/schemas/FacebookAdsCampaignsTypeEnum' + is_selected: + title: Is Selected + description: If the table is selected or not. + type: boolean + default: false + example: true + target_table: + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + type: string + example: target_table_name + modified_columns: + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + default: [] + additional_target_settings: + title: Additional Target Settings + description: The additional target settings of this table. + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + example: &ref_9 + is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + x-examples: + - *ref_9 + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + extract_method: + title: Extract Method + description: The extract method of the table entity. + type: string + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + title: Report Id + description: The report id + type: string + enum: + - predefined_ads + incremental_field: + title: Incremental Field + description: The interval field of the river entity. + type: string + enum: + - Ads Creation Date + default: Ads Creation Date + example: ads_creation_date + date_range: + $ref: '#/components/schemas/DateRange' + type: object + required: + - target_table + - report_id + - date_range + x-konfig-properties: + ads_type: + description: The type of ads input to use + example: ads_ids + x-examples: + - ads_ids + - ads_names + - ads_filter + adsets_type: + description: The type of ad sets input to use + example: adsets_names + x-examples: + - adsets_names + - adsets_ids + - adsets_filter + campaigns_type: + description: The type of campaigns input to use + example: campaigns_names + x-examples: + - campaigns_names + - campaigns_ids + - campaigns_filter + date_range: + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + WriteFacebookAdsPredefinedCampaignsReport: + title: WriteFacebookAdsPredefinedCampaignsReport + description: Facebook ads predefined campaigns report, used for write. + properties: + campaigns_ac: + title: Campaigns Ac + description: Leave empty for all campaigns + items: + $ref: '#/components/schemas/IDNameInput' + type: array + default: [] + campaigns_filter: + title: Campaigns Filter + description: Leave empty for all campaigns + items: + type: string + type: array + default: [] + campaigns_ids: + title: Campaigns Ids + description: Leave empty for all campaigns + items: + type: string + type: array + default: [] + campaigns_names: + title: Campaigns Names + description: Leave empty for all campaigns + items: + type: string + type: array + default: [] + campaigns_type: + $ref: '#/components/schemas/FacebookAdsCampaignsTypeEnum' + is_selected: + title: Is Selected + description: If the table is selected or not. + type: boolean + default: false + example: true + target_table: + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + type: string + example: target_table_name + modified_columns: + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + default: [] + additional_target_settings: + title: Additional Target Settings + description: The additional target settings of this table. + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + example: &ref_10 + is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + x-examples: + - *ref_10 + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + extract_method: + title: Extract Method + description: The extract method of the table entity. + type: string + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + title: Report Id + description: The report id + type: string + enum: + - predefined_campaigns + type: object + required: + - target_table + - report_id + x-konfig-properties: + campaigns_type: + description: The type of campaigns input to use + example: campaigns_names + x-examples: + - campaigns_names + - campaigns_ids + - campaigns_filter + WriteFacebookAdsPredefinedCustomAudiencesReport: + title: WriteFacebookAdsPredefinedCustomAudiencesReport + description: Facebook ads predefined custom audiences report, used for write. + properties: + is_selected: + title: Is Selected + description: If the table is selected or not. + type: boolean + default: false + example: true + target_table: + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + type: string + example: target_table_name + modified_columns: + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + default: [] + additional_target_settings: + title: Additional Target Settings + description: The additional target settings of this table. + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + example: &ref_11 + is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + x-examples: + - *ref_11 + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + extract_method: + title: Extract Method + description: The extract method of the table entity. + type: string + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + title: Report Id + description: The report id + type: string + enum: + - predefined_custom_audiences + type: object + required: + - target_table + - report_id + WriteFacebookAdsPredefinedCustomConversionsReport: + title: WriteFacebookAdsPredefinedCustomConversionsReport + description: Facebook ads predefined custom conversions report, used for write. + properties: + is_selected: + title: Is Selected + description: If the table is selected or not. + type: boolean + default: false + example: true + target_table: + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + type: string + example: target_table_name + modified_columns: + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + default: [] + additional_target_settings: + title: Additional Target Settings + description: The additional target settings of this table. + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + example: &ref_12 + is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + x-examples: + - *ref_12 + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + extract_method: + title: Extract Method + description: The extract method of the table entity. + type: string + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + title: Report Id + description: The report id + type: string + enum: + - predefined_custom_conversions + type: object + required: + - target_table + - report_id + WriteFacebookAdsPredefinedInsightBasicReport: + title: WriteFacebookAdsPredefinedInsightBasicReport + description: Facebook ads predefined insights basic report, used for write. + properties: + ads_ac: + title: Ads Ac + description: Leave empty for all ads + items: + $ref: '#/components/schemas/IDNameInput' + type: array + default: [] + ads_filter: + title: Ads Filter + description: Leave empty for all ads + items: + type: string + type: array + default: [] + ads_ids: + title: Ads Ids + description: Leave empty for all ads + items: + type: string + type: array + default: [] + ads_names: + title: Ads Names + description: Leave empty for all ads + items: + type: string + type: array + default: [] + ads_type: + $ref: '#/components/schemas/FacebookAdsAdsTypeEnum' + adsets_ac: + title: Adsets Ac + description: Leave empty for all ad sets + items: + $ref: '#/components/schemas/IDNameInput' + type: array + default: [] + adsets_filter: + title: Adsets Filter + description: Leave empty for all ad sets + items: + type: string + type: array + default: [] + adsets_ids: + title: Adsets Ids + description: Leave empty for all ad sets + items: + type: string + type: array + default: [] + adsets_names: + title: Adsets Names + description: Leave empty for all ad sets + items: + type: string + type: array + default: [] + adsets_type: + $ref: '#/components/schemas/FacebookAdsSetsTypeEnum' + campaigns_ac: + title: Campaigns Ac + description: Leave empty for all campaigns + items: + $ref: '#/components/schemas/IDNameInput' + type: array + default: [] + campaigns_filter: + title: Campaigns Filter + description: Leave empty for all campaigns + items: + type: string + type: array + default: [] + campaigns_ids: + title: Campaigns Ids + description: Leave empty for all campaigns + items: + type: string + type: array + default: [] + campaigns_names: + title: Campaigns Names + description: Leave empty for all campaigns + items: + type: string + type: array + default: [] + campaigns_type: + $ref: '#/components/schemas/FacebookAdsCampaignsTypeEnum' + is_selected: + title: Is Selected + description: If the table is selected or not. + type: boolean + default: false + example: true + target_table: + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + type: string + example: target_table_name + modified_columns: + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + default: [] + additional_target_settings: + title: Additional Target Settings + description: The additional target settings of this table. + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + example: &ref_13 + is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + x-examples: + - *ref_13 + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + extract_method: + title: Extract Method + description: The extract method of the table entity. + type: string + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + title: Report Id + description: The report id + type: string + enum: + - predefined_insight_report_basic + incremental_field: + title: Incremental Field + description: The interval field of the river entity. + type: string + enum: + - Date + default: Date + example: date_field + date_range: + $ref: '#/components/schemas/DateRange' + type: object + required: + - target_table + - report_id + - date_range + x-konfig-properties: + ads_type: + description: The type of ads input to use + example: ads_ids + x-examples: + - ads_ids + - ads_names + - ads_filter + adsets_type: + description: The type of ad sets input to use + example: adsets_names + x-examples: + - adsets_names + - adsets_ids + - adsets_filter + campaigns_type: + description: The type of campaigns input to use + example: campaigns_names + x-examples: + - campaigns_names + - campaigns_ids + - campaigns_filter + date_range: + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + WriteFacebookAdsPredefinedInsightReportAgeGender: + title: WriteFacebookAdsPredefinedInsightReportAgeGender + description: Facebook ads predefined insights age gender report, used for write. + properties: + ads_ac: + title: Ads Ac + description: Leave empty for all ads + items: + $ref: '#/components/schemas/IDNameInput' + type: array + default: [] + ads_filter: + title: Ads Filter + description: Leave empty for all ads + items: + type: string + type: array + default: [] + ads_ids: + title: Ads Ids + description: Leave empty for all ads + items: + type: string + type: array + default: [] + ads_names: + title: Ads Names + description: Leave empty for all ads + items: + type: string + type: array + default: [] + ads_type: + $ref: '#/components/schemas/FacebookAdsAdsTypeEnum' + adsets_ac: + title: Adsets Ac + description: Leave empty for all ad sets + items: + $ref: '#/components/schemas/IDNameInput' + type: array + default: [] + adsets_filter: + title: Adsets Filter + description: Leave empty for all ad sets + items: + type: string + type: array + default: [] + adsets_ids: + title: Adsets Ids + description: Leave empty for all ad sets + items: + type: string + type: array + default: [] + adsets_names: + title: Adsets Names + description: Leave empty for all ad sets + items: + type: string + type: array + default: [] + adsets_type: + $ref: '#/components/schemas/FacebookAdsSetsTypeEnum' + campaigns_ac: + title: Campaigns Ac + description: Leave empty for all campaigns + items: + $ref: '#/components/schemas/IDNameInput' + type: array + default: [] + campaigns_filter: + title: Campaigns Filter + description: Leave empty for all campaigns + items: + type: string + type: array + default: [] + campaigns_ids: + title: Campaigns Ids + description: Leave empty for all campaigns + items: + type: string + type: array + default: [] + campaigns_names: + title: Campaigns Names + description: Leave empty for all campaigns + items: + type: string + type: array + default: [] + campaigns_type: + $ref: '#/components/schemas/FacebookAdsCampaignsTypeEnum' + is_selected: + title: Is Selected + description: If the table is selected or not. + type: boolean + default: false + example: true + target_table: + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + type: string + example: target_table_name + modified_columns: + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + default: [] + additional_target_settings: + title: Additional Target Settings + description: The additional target settings of this table. + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + example: &ref_14 + is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + x-examples: + - *ref_14 + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + extract_method: + title: Extract Method + description: The extract method of the table entity. + type: string + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + title: Report Id + description: The report id + type: string + enum: + - predefined_insight_report_age_gender + incremental_field: + title: Incremental Field + description: The interval field of the river entity. + type: string + enum: + - Date + default: Date + example: date_field + date_range: + $ref: '#/components/schemas/DateRange' + type: object + required: + - target_table + - report_id + - date_range + x-konfig-properties: + ads_type: + description: The type of ads input to use + example: ads_ids + x-examples: + - ads_ids + - ads_names + - ads_filter + adsets_type: + description: The type of ad sets input to use + example: adsets_names + x-examples: + - adsets_names + - adsets_ids + - adsets_filter + campaigns_type: + description: The type of campaigns input to use + example: campaigns_names + x-examples: + - campaigns_names + - campaigns_ids + - campaigns_filter + date_range: + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + WriteFacebookAdsPredefinedInsightReportCountry: + title: WriteFacebookAdsPredefinedInsightReportCountry + description: Facebook ads predefined insights country report, used for write. + properties: + ads_ac: + title: Ads Ac + description: Leave empty for all ads + items: + $ref: '#/components/schemas/IDNameInput' + type: array + default: [] + ads_filter: + title: Ads Filter + description: Leave empty for all ads + items: + type: string + type: array + default: [] + ads_ids: + title: Ads Ids + description: Leave empty for all ads + items: + type: string + type: array + default: [] + ads_names: + title: Ads Names + description: Leave empty for all ads + items: + type: string + type: array + default: [] + ads_type: + $ref: '#/components/schemas/FacebookAdsAdsTypeEnum' + adsets_ac: + title: Adsets Ac + description: Leave empty for all ad sets + items: + $ref: '#/components/schemas/IDNameInput' + type: array + default: [] + adsets_filter: + title: Adsets Filter + description: Leave empty for all ad sets + items: + type: string + type: array + default: [] + adsets_ids: + title: Adsets Ids + description: Leave empty for all ad sets + items: + type: string + type: array + default: [] + adsets_names: + title: Adsets Names + description: Leave empty for all ad sets + items: + type: string + type: array + default: [] + adsets_type: + $ref: '#/components/schemas/FacebookAdsSetsTypeEnum' + campaigns_ac: + title: Campaigns Ac + description: Leave empty for all campaigns + items: + $ref: '#/components/schemas/IDNameInput' + type: array + default: [] + campaigns_filter: + title: Campaigns Filter + description: Leave empty for all campaigns + items: + type: string + type: array + default: [] + campaigns_ids: + title: Campaigns Ids + description: Leave empty for all campaigns + items: + type: string + type: array + default: [] + campaigns_names: + title: Campaigns Names + description: Leave empty for all campaigns + items: + type: string + type: array + default: [] + campaigns_type: + $ref: '#/components/schemas/FacebookAdsCampaignsTypeEnum' + is_selected: + title: Is Selected + description: If the table is selected or not. + type: boolean + default: false + example: true + target_table: + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + type: string + example: target_table_name + modified_columns: + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + default: [] + additional_target_settings: + title: Additional Target Settings + description: The additional target settings of this table. + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + example: &ref_15 + is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + x-examples: + - *ref_15 + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + extract_method: + title: Extract Method + description: The extract method of the table entity. + type: string + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + title: Report Id + description: The report id + type: string + enum: + - predefined_insight_report_country + incremental_field: + title: Incremental Field + description: The interval field of the river entity. + type: string + enum: + - Date + default: Date + example: date_field + date_range: + $ref: '#/components/schemas/DateRange' + type: object + required: + - target_table + - report_id + - date_range + x-konfig-properties: + ads_type: + description: The type of ads input to use + example: ads_ids + x-examples: + - ads_ids + - ads_names + - ads_filter + adsets_type: + description: The type of ad sets input to use + example: adsets_names + x-examples: + - adsets_names + - adsets_ids + - adsets_filter + campaigns_type: + description: The type of campaigns input to use + example: campaigns_names + x-examples: + - campaigns_names + - campaigns_ids + - campaigns_filter + date_range: + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + WriteFacebookAdsPredefinedInsightReportPlatform: + title: WriteFacebookAdsPredefinedInsightReportPlatform + description: Facebook ads predefined insights platform report, used for write. + properties: + ads_ac: + title: Ads Ac + description: Leave empty for all ads + items: + $ref: '#/components/schemas/IDNameInput' + type: array + default: [] + ads_filter: + title: Ads Filter + description: Leave empty for all ads + items: + type: string + type: array + default: [] + ads_ids: + title: Ads Ids + description: Leave empty for all ads + items: + type: string + type: array + default: [] + ads_names: + title: Ads Names + description: Leave empty for all ads + items: + type: string + type: array + default: [] + ads_type: + $ref: '#/components/schemas/FacebookAdsAdsTypeEnum' + adsets_ac: + title: Adsets Ac + description: Leave empty for all ad sets + items: + $ref: '#/components/schemas/IDNameInput' + type: array + default: [] + adsets_filter: + title: Adsets Filter + description: Leave empty for all ad sets + items: + type: string + type: array + default: [] + adsets_ids: + title: Adsets Ids + description: Leave empty for all ad sets + items: + type: string + type: array + default: [] + adsets_names: + title: Adsets Names + description: Leave empty for all ad sets + items: + type: string + type: array + default: [] + adsets_type: + $ref: '#/components/schemas/FacebookAdsSetsTypeEnum' + campaigns_ac: + title: Campaigns Ac + description: Leave empty for all campaigns + items: + $ref: '#/components/schemas/IDNameInput' + type: array + default: [] + campaigns_filter: + title: Campaigns Filter + description: Leave empty for all campaigns + items: + type: string + type: array + default: [] + campaigns_ids: + title: Campaigns Ids + description: Leave empty for all campaigns + items: + type: string + type: array + default: [] + campaigns_names: + title: Campaigns Names + description: Leave empty for all campaigns + items: + type: string + type: array + default: [] + campaigns_type: + $ref: '#/components/schemas/FacebookAdsCampaignsTypeEnum' + is_selected: + title: Is Selected + description: If the table is selected or not. + type: boolean + default: false + example: true + target_table: + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + type: string + example: target_table_name + modified_columns: + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + default: [] + additional_target_settings: + title: Additional Target Settings + description: The additional target settings of this table. + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + example: &ref_16 + is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + x-examples: + - *ref_16 + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + extract_method: + title: Extract Method + description: The extract method of the table entity. + type: string + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + title: Report Id + description: The report id + type: string + enum: + - predefined_insight_report_platform + incremental_field: + title: Incremental Field + description: The interval field of the river entity. + type: string + enum: + - Date + default: Date + example: date_field + date_range: + $ref: '#/components/schemas/DateRange' + type: object + required: + - target_table + - report_id + - date_range + x-konfig-properties: + ads_type: + description: The type of ads input to use + example: ads_ids + x-examples: + - ads_ids + - ads_names + - ads_filter + adsets_type: + description: The type of ad sets input to use + example: adsets_names + x-examples: + - adsets_names + - adsets_ids + - adsets_filter + campaigns_type: + description: The type of campaigns input to use + example: campaigns_names + x-examples: + - campaigns_names + - campaigns_ids + - campaigns_filter + date_range: + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + WriteFacebookAdsPredefinedInsightReportProduct: + title: WriteFacebookAdsPredefinedInsightReportProduct + description: Facebook ads predefined insights product report, used for write. + properties: + ads_ac: + title: Ads Ac + description: Leave empty for all ads + items: + $ref: '#/components/schemas/IDNameInput' + type: array + default: [] + ads_filter: + title: Ads Filter + description: Leave empty for all ads + items: + type: string + type: array + default: [] + ads_ids: + title: Ads Ids + description: Leave empty for all ads + items: + type: string + type: array + default: [] + ads_names: + title: Ads Names + description: Leave empty for all ads + items: + type: string + type: array + default: [] + ads_type: + $ref: '#/components/schemas/FacebookAdsAdsTypeEnum' + adsets_ac: + title: Adsets Ac + description: Leave empty for all ad sets + items: + $ref: '#/components/schemas/IDNameInput' + type: array + default: [] + adsets_filter: + title: Adsets Filter + description: Leave empty for all ad sets + items: + type: string + type: array + default: [] + adsets_ids: + title: Adsets Ids + description: Leave empty for all ad sets + items: + type: string + type: array + default: [] + adsets_names: + title: Adsets Names + description: Leave empty for all ad sets + items: + type: string + type: array + default: [] + adsets_type: + $ref: '#/components/schemas/FacebookAdsSetsTypeEnum' + campaigns_ac: + title: Campaigns Ac + description: Leave empty for all campaigns + items: + $ref: '#/components/schemas/IDNameInput' + type: array + default: [] + campaigns_filter: + title: Campaigns Filter + description: Leave empty for all campaigns + items: + type: string + type: array + default: [] + campaigns_ids: + title: Campaigns Ids + description: Leave empty for all campaigns + items: + type: string + type: array + default: [] + campaigns_names: + title: Campaigns Names + description: Leave empty for all campaigns + items: + type: string + type: array + default: [] + campaigns_type: + $ref: '#/components/schemas/FacebookAdsCampaignsTypeEnum' + is_selected: + title: Is Selected + description: If the table is selected or not. + type: boolean + default: false + example: true + target_table: + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + type: string + example: target_table_name + modified_columns: + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + default: [] + additional_target_settings: + title: Additional Target Settings + description: The additional target settings of this table. + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + example: &ref_17 + is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + x-examples: + - *ref_17 + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + extract_method: + title: Extract Method + description: The extract method of the table entity. + type: string + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + title: Report Id + description: The report id + type: string + enum: + - predefined_insight_report_product + incremental_field: + title: Incremental Field + description: The interval field of the river entity. + type: string + enum: + - Date + default: Date + example: date_field + date_range: + $ref: '#/components/schemas/DateRange' + type: object + required: + - target_table + - report_id + - date_range + x-konfig-properties: + ads_type: + description: The type of ads input to use + example: ads_ids + x-examples: + - ads_ids + - ads_names + - ads_filter + adsets_type: + description: The type of ad sets input to use + example: adsets_names + x-examples: + - adsets_names + - adsets_ids + - adsets_filter + campaigns_type: + description: The type of campaigns input to use + example: campaigns_names + x-examples: + - campaigns_names + - campaigns_ids + - campaigns_filter + date_range: + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + WriteFacebookAdsPredefinedSavedAudiencesReport: + title: WriteFacebookAdsPredefinedSavedAudiencesReport + description: Facebook ads predefined saved audiences report, used for write. + properties: + is_selected: + title: Is Selected + description: If the table is selected or not. + type: boolean + default: false + example: true + target_table: + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + type: string + example: target_table_name + modified_columns: + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + default: [] + additional_target_settings: + title: Additional Target Settings + description: The additional target settings of this table. + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + example: &ref_18 + is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + x-examples: + - *ref_18 + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + extract_method: + title: Extract Method + description: The extract method of the table entity. + type: string + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + title: Report Id + description: The report id + type: string + enum: + - predefined_saved_audiences + type: object + required: + - target_table + - report_id + WritePredefinedReportFacebookAdsTableInput: + title: WritePredefinedReportFacebookAdsTableInput + description: |- + Table properties which define the predefined report table data + This schema is being used for Create or Update purposes + properties: + run_type_and_datasource: + title: Run Type And Datasource + description: Internal field + type: string + enum: + - predefined_report_facebook ads + default: predefined_report_facebook ads + details: + title: Details + description: The predefined report table details + anyOf: + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedInsightBasicReport + - $ref: '#/components/schemas/WriteFacebookAdsPredefinedCampaignsReport' + - $ref: '#/components/schemas/WriteFacebookAdsPredefinedAdsReport' + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedAdLeadsFormsReport + - $ref: '#/components/schemas/WriteFacebookAdsPredefinedAdsPixelsReport' + - $ref: '#/components/schemas/WriteFacebookAdsPredefinedAdSetsReport' + - $ref: '#/components/schemas/WriteFacebookAdsPredefinedAdAccountReport' + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedAdAccountActivitiesReport + - $ref: '#/components/schemas/WriteFacebookAdsPredefinedAdCreativesReport' + - $ref: '#/components/schemas/WriteFacebookAdsPredefinedAdLeadsReport' + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedCustomAudiencesReport + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedCustomConversionsReport + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedInsightReportAgeGender + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedInsightReportCountry + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedInsightReportPlatform + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedInsightReportProduct + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedSavedAudiencesReport + type: object + required: + - details + WritePredefinedReportShopifyTableInput: + title: WritePredefinedReportShopifyTableInput + description: |- + Table properties which define the predefined report table data + This schema is being used for Create or Update purposes + properties: + run_type_and_datasource: + title: Run Type And Datasource + description: Internal field + type: string + enum: + - predefined_report_shopify + default: predefined_report_shopify + details: + title: Details + description: The predefined report table details + anyOf: + - $ref: '#/components/schemas/WriteShopifyPredefinedOrdersReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedShopReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedAddressesReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedAnalyticReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedCustomersReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedInventoryLevelsReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedMarketingEventsReport' + - $ref: >- + #/components/schemas/WriteShopifyPredefinedOrderTransactionsReport + - $ref: '#/components/schemas/WriteShopifyPredefinedProductsReport' + type: object + required: + - details + WriteRiverInput: + title: WriteRiverInput + description: River fields for new river creation / update an existing river. + properties: + name: + title: Name + description: The name of the river. + type: string + example: river_name + kind: + description: The kind of the river. + allOf: + - $ref: '#/components/schemas/RiverKindEnum' + default: main_river + example: main_river + nullable: true + type: + $ref: '#/components/schemas/RiverTypeEnum' + group_id: + title: Group Id + description: The id of the group the river belongs to. + type: string + example: 55fr7d4270fdca16cac18261 + nullable: true + group_name: + title: Group Name + description: The name of the group the river belongs to. + type: string + example: river_group_1 + nullable: true + metadata: + $ref: '#/components/schemas/RiverMetadata' + settings: + $ref: '#/components/schemas/RiverSettings' + properties: + title: Properties + description: The properties of a river. + oneOf: + - $ref: '#/components/schemas/WriteSourceToTargetRiverPropertiesInput' + - $ref: '#/components/schemas/ActionProperties' + - $ref: '#/components/schemas/LogicProperties' + discriminator: + propertyName: properties_type + mapping: + source_to_target: '#/components/schemas/WriteSourceToTargetRiverPropertiesInput' + actions: '#/components/schemas/ActionProperties' + logic: '#/components/schemas/LogicProperties' + schedulers: + title: Schedulers + description: >- + An object containing the schedule settings. Currently support only + one scheduler + items: + $ref: '#/components/schemas/RiverSchedule' + type: array + maxItems: 1 + minItems: 0 + default: [] + cross_id: + title: Cross Id + description: The cross_id of the river to be deployed. + type: string + nullable: true + hidden: true + deployment_definition: + title: Deployment Definition + description: The deployment definition of the river to be deployed. + type: object + nullable: true + hidden: true + type: object + required: + - name + - type + - properties + x-konfig-properties: + type: + description: The type of river. + example: source_to_target + metadata: + title: Metadata + description: An object containing river metadata. + default: + description: '' + river_status: disabled + settings: + title: Settings + description: An object containing river settings. + default: + run_timeout_seconds: 43200 + WriteSchemaInput: + title: WriteSchemaInput + description: Schema properties to write (PUT operations) + properties: + name: + title: Name + description: The name of the schema + type: string + tables: + title: Tables + items: + oneOf: + - $ref: '#/components/schemas/WriteDatabaseTableInput' + - $ref: '#/components/schemas/WritePredefinedReportShopifyTableInput' + - $ref: >- + #/components/schemas/WritePredefinedReportFacebookAdsTableInput + discriminator: + propertyName: run_type_and_datasource + mapping: + multi_tables: '#/components/schemas/WriteDatabaseTableInput' + predefined_report_shopify: '#/components/schemas/WritePredefinedReportShopifyTableInput' + predefined_report_facebook ads: >- + #/components/schemas/WritePredefinedReportFacebookAdsTableInput + type: array + default: [] + type: object + required: + - name + WriteShopifyPredefinedAddressesReport: + title: WriteShopifyPredefinedAddressesReport + description: Shopify predefined addresses report, used for write. + properties: + is_selected: + title: Is Selected + description: If the table is selected or not. + type: boolean + default: false + example: true + target_table: + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + type: string + example: target_table_name + modified_columns: + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + default: [] + additional_target_settings: + title: Additional Target Settings + description: The additional target settings of this table. + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + example: &ref_19 + is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + x-examples: + - *ref_19 + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + extract_method: + title: Extract Method + description: The extract method of the table entity. + type: string + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + title: Report Id + description: The report id + type: string + enum: + - predefined_addresses + incremental_field: + $ref: '#/components/schemas/IncrementalFieldEnum' + date_range: + $ref: '#/components/schemas/DateRange' + type: object + required: + - target_table + - report_id + - date_range + report_index: + extract_method: 0 + incremental_field: 1 + incremental_type: 2 + date_range: 3 + advanced_settings: 4 + include_end_value: 4.1 + time_interval: 4.2 + interval_size: 4.3 + skip_failed_queues: 5 + extra_fields: + skip_failed_queues: + display_name: Number of allowed failed queues + name: skip_failed_queues + value: 0 + required: false + type: number + readonly: true + chakra: true + x-konfig-properties: + incremental_field: + description: The interval field of the river entity. + default: updated at + example: date_field + extra: + display_name: Incremental Field + type: incremental_field + options: + - label: updated at + value: updated at + - label: created at + value: created at + date_range: + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + WriteShopifyPredefinedAnalyticReport: + title: WriteShopifyPredefinedAnalyticReport + description: Shopify predefined analytic report, used for write. + properties: + is_selected: + title: Is Selected + description: If the table is selected or not. + type: boolean + default: false + example: true + target_table: + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + type: string + example: target_table_name + modified_columns: + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + default: [] + additional_target_settings: + title: Additional Target Settings + description: The additional target settings of this table. + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + example: &ref_20 + is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + x-examples: + - *ref_20 + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + extract_method: + title: Extract Method + description: The extract method of the table entity. + type: string + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + title: Report Id + description: The report id + type: string + enum: + - predefined_analytic_reports + incremental_field: + title: Incremental Field + description: The interval field of the river entity. + type: string + enum: + - updated at + default: updated at + example: date_field + date_range: + $ref: '#/components/schemas/DateRange' + type: object + required: + - target_table + - report_id + - date_range + report_index: + extract_method: 0 + incremental_field: 1 + incremental_type: 2 + date_range: 3 + advanced_settings: 4 + include_end_value: 4.1 + time_interval: 4.2 + interval_size: 4.3 + skip_failed_queues: 5 + extra_fields: + skip_failed_queues: + display_name: Number of allowed failed queues + name: skip_failed_queues + value: 0 + required: false + type: number + readonly: true + chakra: true + x-konfig-properties: + date_range: + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + WriteShopifyPredefinedCustomersReport: + title: WriteShopifyPredefinedCustomersReport + description: Shopify predefined analytic report, used for write. + properties: + is_selected: + title: Is Selected + description: If the table is selected or not. + type: boolean + default: false + example: true + target_table: + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + type: string + example: target_table_name + modified_columns: + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + default: [] + additional_target_settings: + title: Additional Target Settings + description: The additional target settings of this table. + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + example: &ref_21 + is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + x-examples: + - *ref_21 + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + extract_method: + title: Extract Method + description: The extract method of the table entity. + type: string + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + title: Report Id + description: The report id + type: string + enum: + - predefined_customers + incremental_field: + $ref: '#/components/schemas/IncrementalFieldEnum' + date_range: + $ref: '#/components/schemas/DateRange' + type: object + required: + - target_table + - report_id + - date_range + report_index: + extract_method: 0 + incremental_field: 1 + incremental_type: 2 + date_range: 3 + advanced_settings: 4 + include_end_value: 4.1 + time_interval: 4.2 + interval_size: 4.3 + skip_failed_queues: 5 + extra_fields: + skip_failed_queues: + display_name: Number of allowed failed queues + name: skip_failed_queues + value: 0 + required: false + type: number + readonly: true + chakra: true + x-konfig-properties: + incremental_field: + description: The interval field of the river entity. + default: updated at + example: date_field + extra: + display_name: Incremental Field + type: incremental_field + options: + - label: updated at + value: updated at + - label: created at + value: created at + date_range: + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + WriteShopifyPredefinedInventoryLevelsReport: + title: WriteShopifyPredefinedInventoryLevelsReport + description: Shopify predefined inventory levels report, used for write. + properties: + is_selected: + title: Is Selected + description: If the table is selected or not. + type: boolean + default: false + example: true + target_table: + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + type: string + example: target_table_name + modified_columns: + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + default: [] + additional_target_settings: + title: Additional Target Settings + description: The additional target settings of this table. + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + example: &ref_22 + is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + x-examples: + - *ref_22 + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + extract_method: + title: Extract Method + description: The extract method of the table entity. + type: string + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + title: Report Id + description: The report id + type: string + enum: + - predefined_inventory_levels + incremental_field: + $ref: '#/components/schemas/IncrementalFieldEnum' + date_range: + $ref: '#/components/schemas/DateRange' + type: object + required: + - target_table + - report_id + - date_range + report_index: + extract_method: 0 + incremental_field: 1 + incremental_type: 2 + date_range: 3 + advanced_settings: 4 + include_end_value: 4.1 + time_interval: 4.2 + interval_size: 4.3 + skip_failed_queues: 5 + extra_fields: + skip_failed_queues: + display_name: Number of allowed failed queues + name: skip_failed_queues + value: 0 + required: false + type: number + readonly: true + chakra: true + x-konfig-properties: + incremental_field: + description: The interval field of the river entity. + default: created at + example: date_field + extra: + display_name: Incremental Field + type: incremental_field + options: + - label: updated at + value: updated at + - label: created at + value: created at + date_range: + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + WriteShopifyPredefinedMarketingEventsReport: + title: WriteShopifyPredefinedMarketingEventsReport + description: Shopify predefined marketing events report, used for write. + properties: + is_selected: + title: Is Selected + description: If the table is selected or not. + type: boolean + default: false + example: true + target_table: + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + type: string + example: target_table_name + modified_columns: + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + default: [] + additional_target_settings: + title: Additional Target Settings + description: The additional target settings of this table. + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + example: &ref_23 + is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + x-examples: + - *ref_23 + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + extract_method: + title: Extract Method + description: The extract method of the table entity. + type: string + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + title: Report Id + description: The report id + type: string + enum: + - predefined_marketing_events + type: object + required: + - target_table + - report_id + report_index: + extract_method: 0 + WriteShopifyPredefinedOrderTransactionsReport: + title: WriteShopifyPredefinedOrderTransactionsReport + description: Shopify predefined order transaction report, used for write. + properties: + is_selected: + title: Is Selected + description: If the table is selected or not. + type: boolean + default: false + example: true + target_table: + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + type: string + example: target_table_name + modified_columns: + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + default: [] + additional_target_settings: + title: Additional Target Settings + description: The additional target settings of this table. + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + example: &ref_24 + is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + x-examples: + - *ref_24 + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + extract_method: + title: Extract Method + description: The extract method of the table entity. + type: string + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + title: Report Id + description: The report id + type: string + enum: + - predefined_order_transactions + incremental_field: + $ref: '#/components/schemas/IncrementalFieldEnum' + date_range: + $ref: '#/components/schemas/DateRange' + type: object + required: + - target_table + - report_id + - date_range + report_index: + extract_method: 0 + incremental_field: 1 + incremental_type: 2 + date_range: 3 + advanced_settings: 4 + include_end_value: 4.1 + time_interval: 4.2 + interval_size: 4.3 + skip_failed_queues: 5 + extra_fields: + skip_failed_queues: + display_name: Number of allowed failed queues + name: skip_failed_queues + value: 0 + required: false + type: number + readonly: true + chakra: true + x-konfig-properties: + incremental_field: + description: The interval field of the river entity. + default: updated at + example: date_field + extra: + display_name: Incremental Field + type: incremental_field + options: + - label: updated at + value: updated at + - label: created at + value: created at + date_range: + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + WriteShopifyPredefinedOrdersReport: + title: WriteShopifyPredefinedOrdersReport + description: Shopify predefined orders report, used for write. + properties: + is_selected: + title: Is Selected + description: If the table is selected or not. + type: boolean + default: false + example: true + target_table: + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + type: string + example: target_table_name + modified_columns: + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + default: [] + additional_target_settings: + title: Additional Target Settings + description: The additional target settings of this table. + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + example: &ref_25 + is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + x-examples: + - *ref_25 + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + extract_method: + title: Extract Method + description: The extract method of the table entity. + type: string + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + title: Report Id + description: The report id + type: string + enum: + - predefined_orders + incremental_field: + title: Incremental Field + description: The interval field of the river entity. + type: string + enum: + - updated at + default: updated at + example: date_field + extra: + display_name: Incremental Field + type: incremental_field + options: + - label: updated at + value: updated at + date_range: + $ref: '#/components/schemas/DateRange' + status: + $ref: '#/components/schemas/StatusEnum' + financial_status: + $ref: '#/components/schemas/FinancialStatusEnum' + type: object + required: + - target_table + - report_id + - date_range + report_index: + status: 0 + financial_status: 1 + extract_method: 2 + incremental_field: 3 + incremental_type: 4 + date_range: 5 + advanced_settings: 6 + include_end_value: 6.1 + time_interval: 6.2 + interval_size: 6.3 + skip_failed_queues: 7 + extra_fields: + skip_failed_queues: + display_name: Number of allowed failed queues + name: skip_failed_queues + value: 0 + required: false + type: number + readonly: true + chakra: true + x-konfig-properties: + date_range: + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + status: + description: Filter by order status + default: any + extra: + required: true + chakra: true + display_name: Status + type: list_single_options + options: + - id: any + name: Any + - id: cancelled + name: Cancelled + - id: closed + name: Closed + - id: open + name: Open + financial_status: + description: Filter by order's financial status + default: any + extra: + chakra: true + display_name: Financial Status + type: list_single_options + options: + - id: any + name: Any + - id: paid + name: Paid + - id: unpaid + name: Unpaid + - id: voided + name: Voided + - id: pending + name: Pending + - id: refunded + name: Refunded + - id: authorized + name: Authorized + - id: partially_paid + name: Partially paid + - id: partially_refunded + name: Partially refunded + WriteShopifyPredefinedProductsReport: + title: WriteShopifyPredefinedProductsReport + description: Shopify predefined products report, used for write. + properties: + is_selected: + title: Is Selected + description: If the table is selected or not. + type: boolean + default: false + example: true + target_table: + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + type: string + example: target_table_name + modified_columns: + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + default: [] + additional_target_settings: + title: Additional Target Settings + description: The additional target settings of this table. + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + example: &ref_26 + is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + x-examples: + - *ref_26 + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + extract_method: + title: Extract Method + description: The extract method of the table entity. + type: string + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + title: Report Id + description: The report id + type: string + enum: + - predefined_products + incremental_field: + $ref: '#/components/schemas/ProductsIncrementalFieldEnum' + date_range: + $ref: '#/components/schemas/DateRange' + type: object + required: + - target_table + - report_id + - date_range + report_index: + extract_method: 0 + incremental_field: 1 + incremental_type: 2 + date_range: 3 + advanced_settings: 4 + include_end_value: 4.1 + time_interval: 4.2 + interval_size: 4.3 + skip_failed_queues: 5 + extra_fields: + skip_failed_queues: + display_name: Number of allowed failed queues + name: skip_failed_queues + value: 0 + required: false + type: number + readonly: true + chakra: true + x-konfig-properties: + incremental_field: + description: The interval field of the river entity. + default: updated at + example: date_field + extra: + display_name: Incremental Field + type: incremental_field + options: + - label: updated at + value: updated at + - label: created at + value: created at + - label: published at + value: published at + date_range: + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + WriteShopifyPredefinedShopReport: + title: WriteShopifyPredefinedShopReport + description: Shopify predefined shop report, used for write. + properties: + is_selected: + title: Is Selected + description: If the table is selected or not. + type: boolean + default: false + example: true + target_table: + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + type: string + example: target_table_name + modified_columns: + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + default: [] + additional_target_settings: + title: Additional Target Settings + description: The additional target settings of this table. + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + example: &ref_27 + is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + x-examples: + - *ref_27 + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + extract_method: + title: Extract Method + description: The extract method of the table entity. + type: string + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + title: Report Id + description: The report id + type: string + enum: + - predefined_shop + type: object + required: + - target_table + - report_id + report_index: + extract_method: 0 + WriteSourceToTargetRiverPropertiesInput: + title: WriteSourceToTargetRiverPropertiesInput + description: Source to target River properties that is being used for PUT purposes + properties: + properties_type: + title: Properties Type + type: string + enum: + - source_to_target + default: source_to_target + source: + $ref: '#/components/schemas/SourceSettings' + target: + title: Target + description: The target of the river. + oneOf: + - $ref: '#/components/schemas/SnowflakeTargetSettings' + - $ref: '#/components/schemas/BigQueryTargetSettings' + - $ref: '#/components/schemas/RedshiftTargetSettings' + - $ref: '#/components/schemas/S3TargetSettings' + - $ref: '#/components/schemas/EmailTargetSettings' + - $ref: '#/components/schemas/BlobStorageSettings' + - $ref: '#/components/schemas/GcsTargetSettings' + - $ref: '#/components/schemas/DatabricksTargetSettings' + - $ref: '#/components/schemas/AzureSynapseAnalyticsTargetSettings' + - $ref: '#/components/schemas/AthenaTargetSettings' + - $ref: '#/components/schemas/AzureSqlTargetSettings' + - $ref: '#/components/schemas/PostgresTargetSettings' + discriminator: + propertyName: name + mapping: + snowflake: '#/components/schemas/SnowflakeTargetSettings' + bigquery: '#/components/schemas/BigQueryTargetSettings' + redshift: '#/components/schemas/RedshiftTargetSettings' + s3: '#/components/schemas/S3TargetSettings' + target_email: '#/components/schemas/EmailTargetSettings' + blob_storage: '#/components/schemas/BlobStorageSettings' + GCS: '#/components/schemas/GcsTargetSettings' + databricks: '#/components/schemas/DatabricksTargetSettings' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsTargetSettings' + athena: '#/components/schemas/AthenaTargetSettings' + azure_sql: '#/components/schemas/AzureSqlTargetSettings' + postgres: '#/components/schemas/PostgresTargetSettings' + schemas: + title: Schemas + description: The schemas of the river entity + items: + $ref: '#/components/schemas/WriteSchemaInput' + type: array + default: [] + type: object + required: + - source + - target + x-konfig-properties: + source: + title: Source + description: The source of the river. + DeleteDataframeResponse: + type: object + properties: {} + example: {} + ActivitiesGetRunLogsResponse: + type: string + DeleteRiverResponse: + type: object + properties: {} + example: {} + RiversDeleteCdcConfigResponse: + type: object + properties: {} + example: {} + RiversSetCdcConfigResponse: + type: object + properties: {} + example: {} + DeleteConnectionResponse: + type: object + properties: {} + example: {} + securitySchemes: + HTTPBearer: + type: http + scheme: bearer diff --git a/sdks/db/fixed-specs/secoda-fixed-spec.yaml b/sdks/db/fixed-specs/secoda-fixed-spec.yaml new file mode 100644 index 000000000..16bdc04e0 --- /dev/null +++ b/sdks/db/fixed-specs/secoda-fixed-spec.yaml @@ -0,0 +1,5211 @@ +openapi: 3.0.0 +info: + title: Secoda API + description: > + Use this API to programmatically use Secoda's data enablement features. With + these APIs, you can bring in resource metadata, build documentation + pipelines, and manage workspace settings programmatically. + + + To learn more about Secoda, visit the [Secoda + documentation](https://docs.secoda.co/). + + + To get in touch with Secoda, contact customer support at support@secoda.co. + + + ## Getting Started + + + ### Authentication + + + Secoda API's require an Authorization header with a Bearer token. You can + generate an API key in your workspace, as outlined + [here](https://docs.secoda.co/secoda-api/authentication). + + + ### Base URL + + + To determine the base URL of your API requests, please refer to the chart + below. + + + | Workspace URL | Base URL | + + | ---------------------- | ---------------------- | + + | app.secoda.co | api.secoda.co | + + | eu.secoda.co | eapi.secoda.co | + + | apac.secoda.co | aapi.secoda.co | + + + For teams with an On Premise or Managed instance with a custom domain, the + Base URL is the custom domain followed by `/api/v1`. + + + ## Helpful Information + + + Secoda’s APIs generally follow the CRUD pattern (Create, Read, Update, + Delete). The data elements that are managed with these APIs are called + Resources. Generally, each resource maps to an integration, with many set + and customizable properties called Metadata. + + + ### Important Terminology + + + **Workspace:** + + In Secoda, a workspace is the environment within the application where teams + can integrate resources and metadata and add documentation, either through + the UI or programatically through the API. + + + **Resource:** + + In Secoda, a resource is any entity that metadata can be added to. This + includes, but is not limited to, tables, dashboards, charts, columns, + queries, documents, dictionary terms, and more. + + + **Metadata:** + + In Secoda, metadata is the additional information you can provide to add + context to your resources. This includes descriptions, definitions, owners, + custom properties, and more. Metadata is the lifeblood of Secoda; the more + you put in, the more you'll get out of the tool! + + + ### Resource Heirarchy + + + Nearly all resources in Secoda can be nested under a parent. A resource has + a one to many relationship with its child. This means thats a parent + resource can have several children, but a child resource can only have one + parent. + + + For Collections, Dictionary Terms, and Documents, the parent must be the + same resource type. However, there are two unique heirarchy structures that + the application expects when adding net new resources. + + + **Table Heirarchy:** Integration > Databases > Schemas > Tables > Columns > + Columns (if nested) + + + **Dashboard Heirarchy:** Integration > Groups > Dashboards > Charts + version: 1.0.0 +servers: + - description: Base URL for all US cloud based workspaces. + url: https://api.secoda.co + - description: Base URL for all EU cloud based workspaces. + url: https://eapi.secoda.co + - description: Base URL for all APAC cloud based workspaces. + url: https://aapi.secoda.co + - description: Base URL for On Premise Secoda workspaces. + url: https://{customer_domain}.secoda.co/api/v1 + variables: + customer_domain: + description: The specific domain set up for your On Premise Secoda workspace. + default: customer_domain +tags: + - description: > + Questions asked by data consumers and their associated answers in the + workspace. Learn more about questions + [here](https://docs.secoda.co/features/ask-questions-in-secoda). + name: Questions + - description: External sources from which resources and metadata are extracted. + name: Integrations + - description: Tables or similar data elements from an integration. + name: Tables + - description: Columns or similar data elements from an integration. + name: Columns + - description: Dashboards or similar visualization elements from an integration. + name: Dashboards + - description: Charts or similar visualization elements from an integration. + name: Charts + - description: Data elements representing an event from an integration. + name: Events + - description: The properties associated with an event from an integration. + name: Event Properties + - description: >- + Labels used to categorize, filter, and classify resources. Learn more + about tags + [here](https://docs.secoda.co/resource-and-metadata-management/tags/custom-tags). + name: Tags + - description: > + Definitions and explanations of specific data-related concepts. Learn more + about terms [here](https://docs.secoda.co/features/metrics). + name: Terms + - description: > + Groups of related resources within the workspace. Learn more about + collections [here](https://docs.secoda.co/features/collections-1). + name: Collections + - description: > + Mark down content used to add documentation to the workspace. Learn more + about documents [here](https://docs.secoda.co/features/documents). + name: Documents + - description: > + Members within the workspace. Learn more about user management + [here](https://docs.secoda.co/user-management). + name: Users + - description: > + Teams within the workspace. Learn more about team management + [here](https://docs.secoda.co/user-management/teams). + name: Teams + - description: > + Groups within the workspace. Learn more about team management + [here](https://docs.secoda.co/user-management/groups). + name: User Groups + - description: > + Monitors allow Secoda admins to have insight into the health of the data + stack. Learn more about monitors + [here](https://docs.secoda.co/features/monitoring). + name: Monitors + - description: Schemas or similar data elements from an integration. + name: Schemas + - description: > + The dependencies between resources. Learn more about lineage + [here](https://docs.secoda.co/features/data-lineage). + name: Lineage + - description: Databases or similar data elements from an integration. + name: Databases + - description: A grouping of related dashboards or charts from an integration. + name: Dashboard Groups + - description: A grouping of related events from an integration. + name: Event Categories + - description: > + Queries from an extraction. Learn more about queries + [here](https://docs.secoda.co/features/queries). + name: Queries +paths: + /integration/integrations: + post: + tags: + - Integrations + summary: Create a New Integration + operationId: Integrations_createNewIntegration + description: >- + Use this endpoint to create a [custom + integration](https://docs.secoda.co/integrations/custom-integration), or + add credentials for a native integration programatically. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/IntegrationsCreateNewIntegrationRequest' + responses: + '201': + description: Integration created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/IntegrationResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + get: + tags: + - Integrations + summary: List Integrations + operationId: Integrations_listActive + description: This endpoint will return all the integrations active in your workspace. + parameters: + - description: The type of integrations to filter. + name: type + in: query + schema: + type: string + example: bigquery + responses: + '200': + description: List of integrations. + content: + application/json: + schema: + $ref: '#/components/schemas/IntegrationsListActiveResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + /integration/integrations/{integration_id}: + get: + tags: + - Integrations + summary: Get Integration by ID + operationId: Integrations_getById + description: This endpoint will provide the details of an individual integration. + parameters: + - description: The ID of the integration to retrieve. + name: integration_id + in: path + required: true + schema: + type: string + example: d31e59c7-cd52-4398-9d6e-da313a7b7775 + responses: + '200': + description: Integration details retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/IntegrationResponse' + '404': + description: Integration not found. + '500': + description: Internal server error. + /integration/integrations/{integration_id}/import_metadata: + post: + tags: + - Integrations + summary: Upload Integration Metadata (via CSV) + operationId: Integrations_uploadMetadataCsv + description: >- + This endpoint allows the upload of integration metadata using a CSV. + This can also be done through the UI. See more about CSV uploads + [here](https://docs.secoda.co/integrations/custom-integration/import-your-resources). + parameters: + - description: The ID of the integration to upload metadata for. + name: integration_id + in: path + required: true + schema: + type: string + example: d31e59c7-cd52-4398-9d6e-da313a7b7775 + requestBody: + required: true + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/IntegrationsUploadMetadataCsvRequest' + responses: + '200': + description: Integration metadata uploaded successfully. + '404': + description: Integration not found. + '500': + description: Internal server error. + /integration/integrations/{integration_id}/import_jsonl_metadata: + post: + tags: + - Integrations + summary: Upload Integration Metadata (via JSONL) + operationId: Integrations_uploadJsonlMetadata + description: >- + This endpoint allows the upload of integration metadata as well as + integration lineage using a JSONL file. This can also be done through + the UI. See more about JSONL uploads + [here](https://docs.secoda.co/integrations/custom-integration/import-your-resources). + parameters: + - description: The ID of the integration to upload metadata and/or lineage for. + name: integration_id + in: path + required: true + schema: + type: string + example: d31e59c7-cd52-4398-9d6e-da313a7b7775 + requestBody: + required: true + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/IntegrationsUploadJsonlMetadataRequest' + responses: + '200': + description: Integration JSONL file uploaded successfully. + '404': + description: Integration not found. + '500': + description: Internal server error. + /table/databases: + post: + tags: + - Databases + summary: Create a New Database + operationId: Databases_createNewDatabase + description: >- + Create a new database resource. It must have a schema as a parent, and + an associated integration. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Database created successfully + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + get: + tags: + - Databases + summary: List Databases + operationId: Databases_listAllActive + description: Use this endpoint to see all the databases active in your workspace. + parameters: + - description: The title of the database to search for. + in: query + name: title + schema: + type: string + example: customers + responses: + '200': + description: List of databases. + content: + application/json: + schema: + $ref: '#/components/schemas/DatabasesListAllActiveResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + /table/databases/{database_id}: + get: + tags: + - Databases + summary: Get Database by ID + operationId: Databases_getById + description: Use this endpoint for retrieving a specific database by its ID. + parameters: + - description: The unique identifier of the database to retrieve. + in: path + name: database_id + required: true + schema: + type: string + example: 27498d73-db31-4a4e-8cf0-faccff1bed0f + responses: + '200': + description: Database retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '404': + description: Database not found. + '500': + description: Internal server error. + /table/schemas: + post: + tags: + - Schemas + summary: Create a New Schema + operationId: Schemas_createNewSchema + description: >- + Create a new schema. Schema must have one database as a parent, and be + associated with an integration. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Schema created successfully + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + get: + tags: + - Schemas + summary: List Schemas + operationId: Schemas_listWithFilter + description: >- + Endpoint for retrieving a list of schemas with optional filtering by + parent schema and title. + parameters: + - description: The ID of the parent database to filter by. + in: query + name: parent + schema: + type: string + - description: The title of the schema to filter by. + in: query + name: title + schema: + type: string + responses: + '200': + description: List of schemas. + content: + application/json: + schema: + $ref: '#/components/schemas/SchemasListWithFilterResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + /table/schemas/{schema_id}: + parameters: + - description: The ID of the schema to retrieve or update. + in: path + name: schema_id + required: true + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + schema: + type: string + get: + tags: + - Schemas + summary: Get Schema by ID + operationId: Schemas_getById + description: Retrieve schema details by its unique ID. + responses: + '200': + description: Schema details retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '404': + description: Schema not found. + '500': + description: Internal server error. + patch: + tags: + - Schemas + summary: Update Schema by ID + operationId: Schemas_updateById + description: Use this endpoint to update schema metadata. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: Schema updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '400': + description: Bad request. + '404': + description: Schema not found. + '500': + description: Internal server error. + /table/tables: + post: + tags: + - Tables + summary: Create a New Table + operationId: Tables_createNewTable + description: >- + Create a new table with a schema as a parent. The table must be + associated with an integration. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Table created successfully + content: + application/json: + schema: + $ref: '#/components/schemas/TableResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + get: + tags: + - Tables + summary: List Tables + operationId: Tables_listTablesByFilter + description: > + This endpoint retrieves a list of tables, with optional filters for the + integration, the schema, and the title of the table resource. + parameters: + - description: Integration ID + name: integration_id + in: query + schema: + type: string + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + - description: ID of the schema + name: parent_id + in: query + schema: + type: string + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + - description: Title of the table + name: title + in: query + schema: + type: string + example: Sample Table + responses: + '200': + description: List of databases. + content: + application/json: + schema: + $ref: '#/components/schemas/TablesListTablesByFilterResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + /table/tables/{table_id}: + get: + tags: + - Tables + summary: Get Table by ID + operationId: Tables_getTableById + description: | + This endpoint retrieves a specific table by its ID. + parameters: + - description: ID of the table to retrieve + name: table_id + in: path + required: true + schema: + type: string + example: d935a76c-2125-4c30-9389-ef42fa7e23bb + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/TableResponse' + '404': + description: Table not found. + '500': + description: Internal server error. + patch: + tags: + - Tables + summary: Update Table by ID + operationId: Tables_updateById + description: | + Use this endpoint to update table metadata. + parameters: + - description: ID of the table to update + name: table_id + in: path + required: true + schema: + type: string + example: d935a76c-2125-4c30-9389-ef42fa7e23bb + requestBody: + description: Table data to update + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/TableResponse' + '400': + description: Bad request. + '404': + description: Table not found. + '500': + description: Internal server error. + delete: + tags: + - Tables + summary: Delete Table by ID + operationId: Tables_deleteById + description: | + This endpoint deletes a specific table by its ID. + parameters: + - description: ID of the table to delete + name: table_id + in: path + required: true + schema: + type: string + example: e7691426-2c2a-46b4-98e7-d09d0b82b2b1 + responses: + '204': + description: Table deleted successfully + '404': + description: Table not found. + '500': + description: Internal server error. + /table/columns: + post: + tags: + - Columns + summary: Create a New Column + operationId: Columns_createNewColumn + description: > + This endpoint allows you to create a new column. Columns must have + tables as a parent or another column for nested records. Columns must be + associated with an integration. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Column created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ColumnResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + get: + tags: + - Columns + summary: List Columns + operationId: Columns_getList + description: > + This endpoint allows you to retrieve a list of all columns in the + workspace. Optional filters for integration_id, title, and parent_id + (the table or parent column) are available. + parameters: + - description: Optional. Filter columns by integration identifier. + name: integration_id + in: query + schema: + type: string + example: 6c69de0f-b269-4380-bcf5-0686de276b9e + - description: >- + Optional. Filter columns by parent identifier. This could be the ID + of the table or of the parent column in the case of nested columns. + name: parent_id + in: query + schema: + type: string + example: c444bc26-433e-4cd2-b3ee-f5a1fbb2caf8 + - description: Optional. Filter columns by title of the column. + name: title + in: query + schema: + type: string + example: Sample Column + - description: >- + Optional. Filter columns by title of the table that the columns + belong to. If several integrations have the same naming of tables, + it is recommended to combine this with the `integration_id`. + name: table_title + in: query + schema: + type: string + example: Sample Table + responses: + '200': + description: List of columns. + content: + application/json: + schema: + $ref: '#/components/schemas/ColumnsGetListResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + /table/columns/{column_id}: + get: + tags: + - Columns + summary: Get Column by ID + operationId: Columns_getColumnById + description: > + This endpoint allows you to retrieve information about a specific column + by its identifier. + parameters: + - description: Identifier of the column to retrieve. + name: column_id + in: path + required: true + schema: + type: string + example: 8b2e01e0-603b-4559-8eac-4e16ecc61fc7 + responses: + '200': + description: Column retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ColumnResponse' + '404': + description: Column not found. + '500': + description: Internal server error. + patch: + tags: + - Columns + summary: Edit Column by ID + operationId: Columns_editById + description: > + This endpoint allows you to edit the metadata of a specific column by + its identifier. + parameters: + - description: Identifier of the column to retrieve. + name: column_id + in: path + required: true + schema: + type: string + example: 8b2e01e0-603b-4559-8eac-4e16ecc61fc7 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: Column retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ColumnResponse' + '404': + description: Column not found. + '500': + description: Internal server error. + delete: + tags: + - Columns + summary: Delete Column by ID + operationId: Columns_deleteById + description: | + This endpoint allows you to delete a specific column by its identifier. + parameters: + - description: Identifier of the column to delete. + name: column_id + in: path + required: true + schema: + type: string + example: 8b2e01e0-603b-4559-8eac-4e16ecc61fc7 + responses: + '204': + description: Column deleted successfully. + '404': + description: Column not found. + '500': + description: Internal server error. + /dashboard/groups: + post: + tags: + - Dashboard Groups + summary: Create a New Dashboard Group + operationId: DashboardGroups_createNewGroup + description: >- + Use this endpoint to create a dashboard group, which will be the parent + of dashboards. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardGroupResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Dashboard Groups + summary: List Dashboard Groups + operationId: DashboardGroups_list + description: >- + List all the dashboard groups in the workspace. Optional filter by + title. + parameters: + - description: Filter groups by title + in: query + name: title + schema: + type: string + example: Sample Group + responses: + '200': + description: List of groups. + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardGroupsListResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /dashboard/groups/{group_id}: + get: + tags: + - Dashboard Groups + summary: Get Dashboard Group by ID + operationId: DashboardGroups_getById + description: Retrieve the information of a specific dashboard group. + parameters: + - description: ID of the dashboard group to retrieve + in: path + name: group_id + required: true + schema: + type: string + example: 43d7c33d-ad74-4dfb-bfad-c172f6701afb + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardGroupResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + /dashboard/dashboards: + post: + tags: + - Dashboards + summary: Create a new Dashboard + operationId: Dashboards_createNewDashboard + description: > + Create a new dashboard with the provided data. Dashboards must have a + Group as a parent, and be associated with an integration. + requestBody: + description: Dashboard data + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Dashboards + summary: List Dashboards + operationId: Dashboards_listWithFilter + description: > + Retrieve a list of dashboards with optional filtering using the + integration_id, parent_id (the dashboard group), and title. + parameters: + - description: Filter by integration ID + name: integration_id + in: query + schema: + type: string + example: cf103b47-8576-4467-ad34-384cd523abd9 + - description: Filter by parent ID + name: parent_id + in: query + schema: + type: string + example: 43d7c33d-ad74-4dfb-bfad-c172f6701afb + - description: Filter by title + name: title + in: query + schema: + type: string + example: Sample Dashboard + responses: + '200': + description: List of dashboards. + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardsListWithFilterResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /dashboard/dashboards/{dashboard_id}: + get: + tags: + - Dashboards + summary: Get Dashboard by ID + operationId: Dashboards_getById + description: | + Retrieve a specific dashboard by its ID. + parameters: + - description: The ID of the dashboard to retrieve. + name: dashboard_id + in: path + required: true + schema: + type: string + example: 226dc8aa-fa8d-4646-8b11-6652cdc64065 + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + patch: + tags: + - Dashboards + summary: Update Dashboard by ID + operationId: Dashboards_updateById + description: | + Use this endpoint to update dashboard metadata. + parameters: + - description: The ID of the dashboard to update. + name: dashboard_id + in: path + required: true + schema: + type: string + example: 226dc8aa-fa8d-4646-8b11-6652cdc64065 + requestBody: + description: Represents the description of the dashboard + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + delete: + tags: + - Dashboards + summary: Delete Dashboard by ID + operationId: Dashboards_deleteById + description: | + Delete a specific dashboard by its ID. + parameters: + - description: The ID of the dashboard to delete. + name: dashboard_id + in: path + required: true + schema: + type: string + example: 0b3938f4-692c-4d78-b40c-247c75dc6930 + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + /dashboard/charts: + post: + tags: + - Charts + summary: Create a new Chart + operationId: Charts_createNewChart + description: > + Create a new chart with the provided data. Charts must have a dashboard + as a parent, and be associated with an integration. + requestBody: + description: Chart data + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/ChartResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Charts + summary: List Charts + operationId: Charts_list + description: > + Retrieve a list of charts with optional filtering by integration_id, + parent_id (the dashboard the chart belongs to), and title. + parameters: + - description: Filter by integration ID + name: integration_id + in: query + schema: + type: string + example: cf103b47-8576-4467-ad34-384cd523abd9 + - description: Filter by parent ID + name: parent_id + in: query + schema: + type: string + example: 226dc8aa-fa8d-4646-8b11-6652cdc64065 + - description: Filter by title + name: title + in: query + schema: + type: string + example: Sample Chart + responses: + '200': + description: List of charts. + content: + application/json: + schema: + $ref: '#/components/schemas/ChartsListResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /dashboard/charts/{chart_id}: + get: + tags: + - Charts + summary: Get Chart by ID + operationId: Charts_getById + description: | + Retrieve a specific chart by its ID. + parameters: + - description: The ID of the chart to retrieve. + name: chart_id + in: path + required: true + schema: + type: string + example: 45813776-8934-442d-adf7-74ec921c53bf + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ChartResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + patch: + tags: + - Charts + summary: Update Chart by ID + operationId: Charts_updateById + description: Use this endpoint to update chart metadata. + parameters: + - description: The ID of the chart to update. + name: chart_id + in: path + required: true + schema: + type: string + example: 45813776-8934-442d-adf7-74ec921c53bf + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ChartResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + delete: + tags: + - Charts + summary: Delete Chart by ID + operationId: Charts_deleteById + description: | + Delete a specific chart by its ID. + parameters: + - name: chart_id + in: path + required: true + schema: + description: The ID of the chart to delete. + type: string + example: 45813776-8934-442d-adf7-74ec921c53bf + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ChartResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + /lineage/manual: + post: + tags: + - Lineage + summary: Create new Lineage + operationId: Lineage_createNewLineageManually + description: >- + Create a new lineage object manually. Only one direction of the + relationship needs to be created. The opposite direction of the lineage + is automatically generated. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/LineageCreateNewLineageManuallyRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/LineageResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Lineage + summary: List Lineage + operationId: Lineage_listObjectsWithFiltering + description: >- + Get lineage objects with optional filtering by source and destination + entity. + parameters: + - name: from_entity__in + in: query + schema: + description: The source resource. + type: string + example: 7879886b-9e0e-4d02-8b37-c7d3c496a587 + - name: to_entity__in + in: query + schema: + description: The destination resource. + type: string + example: b500ef23-c9b4-4259-a87d-d77b8b588f06 + responses: + '200': + description: List of lineage entries. + content: + application/json: + schema: + $ref: '#/components/schemas/LineageListObjectsWithFilteringResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /lineage/manual/{lineage_id}: + get: + tags: + - Lineage + summary: Get Lineage by ID + operationId: Lineage_getById + description: Get a lineage object by its ID. + parameters: + - description: The ID of the lineage entry to retrieve. + name: lineage_id + in: path + required: true + schema: + type: string + example: 34d983b3-bfe0-4b49-abea-0692c8be6693 + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/LineageResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + delete: + tags: + - Lineage + summary: Delete Lineage by ID + operationId: Lineage_deleteById + description: Delete a lineage object by its ID. + parameters: + - description: The ID of the lineage entry to delete. + name: lineage_id + in: path + required: true + schema: + type: string + example: 34d983b3-bfe0-4b49-abea-0692c8be6693 + responses: + '204': + description: No Content + '404': + description: Not Found + '500': + description: Internal Server Error + /tag: + post: + tags: + - Tags + summary: Create a new Tag + operationId: Tags_createNewTag + description: Create a new tag for the workspace. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TagsCreateNewTagRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/TagsResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Tags + summary: List Tags + operationId: Tags_list + description: Get a list of tags. No filtering is currently available. + responses: + '200': + description: List of tags. + content: + application/json: + schema: + $ref: '#/components/schemas/TagsListResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /tag/{tag_id}: + get: + tags: + - Tags + summary: Get Tag by ID + operationId: Tags_getById + description: Get a tag by its ID. + parameters: + - description: The ID of the tag to retrieve. + name: tag_id + in: path + required: true + schema: + type: string + example: 69e0b863-8bb8-47e1-b566-8b8d57441c70 + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/TagsResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + patch: + tags: + - Tags + summary: Update Tag by ID + operationId: Tags_updateById + description: Use this endpoint to update tag name, colour, or icon. + parameters: + - description: The ID of the tag to update. + name: tag_id + in: path + required: true + schema: + type: string + example: 38040671-8f1d-4322-b895-4fd7b73317bf + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TagsUpdateByIdRequest' + responses: + '204': + description: No Content + '404': + description: Not Found + '500': + description: Internal Server Error + delete: + tags: + - Tags + summary: Delete Tag by ID + operationId: Tags_deleteById + description: Delete a tag by its ID. + parameters: + - description: The ID of the tag to delete. + name: tag_id + in: path + required: true + schema: + type: string + example: 69e0b863-8bb8-47e1-b566-8b8d57441c70 + responses: + '204': + description: No Content + '404': + description: Not Found + '500': + description: Internal Server Error + /user: + post: + tags: + - Users + summary: Create a New User + operationId: Users_createNewUser + description: Create a new user in the workspace. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UsersCreateNewUserRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/UsersResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Users + summary: List Users + operationId: Users_list + description: Get a list of users. + responses: + '200': + description: List of users. + content: + application/json: + schema: + $ref: '#/components/schemas/UsersListResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /user/{id}: + get: + tags: + - Users + summary: Get User by ID + operationId: Users_getUserById + description: Get a user by their ID. + parameters: + - description: The ID of the user to retrieve. + name: id + in: path + required: true + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/UsersResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + patch: + tags: + - Users + summary: Update User by ID + operationId: Users_updateById + description: >- + Use this endpoint to update the user. Editable fields include the first + name, last name, and role. + parameters: + - description: The ID of the user to update. + name: id + in: path + required: true + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UsersUpdateByIdRequest' + responses: + '200': + description: User updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/UsersResponse' + '400': + description: Bad Request + '404': + description: User not found + '500': + description: Internal Server Error + delete: + tags: + - Users + summary: Delete User by ID + operationId: Users_deleteById + description: Delete a user by their ID. + parameters: + - description: The ID of the user to delete. + name: id + in: path + required: true + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + responses: + '204': + description: No Content + '404': + description: Not Found + '500': + description: Internal Server Error + /auth/teams: + post: + tags: + - Teams + summary: Create a New Team + operationId: Teams_createNewTeam + description: Create a new team in the workspace. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TeamsCreateNewTeamRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/TeamsResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Teams + summary: List Teams + operationId: Teams_getList + description: Get a list of teams in the workspace. + responses: + '200': + description: List of teams. + content: + application/json: + schema: + $ref: '#/components/schemas/TeamsGetListResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /auth/teams/{id}: + get: + tags: + - Teams + summary: Get Team by ID + operationId: Teams_getById + description: Get a team by their ID. + parameters: + - description: The ID of the team to retrieve. + name: id + in: path + required: true + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/TeamsResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + patch: + tags: + - Teams + summary: Update Team by ID + operationId: Teams_updateById + description: >- + Use this endpoint to update the Team. Editable fields include the name, + description, icon, type, and sidebar settings. + parameters: + - description: The ID of the team to update. + name: id + in: path + required: true + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TeamsUpdateByIdRequest' + responses: + '200': + description: Team updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/TeamsResponse' + '400': + description: Bad Request + '404': + description: User not found + '500': + description: Internal Server Error + delete: + tags: + - Teams + summary: Delete Team by ID + operationId: Teams_deleteById + description: >- + Delete a team by their ID. Any resources that belong solely to this team + will be set to the default team. + parameters: + - description: The ID of the team to delete. + name: id + in: path + required: true + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + responses: + '204': + description: No Content + '404': + description: Not Found + '500': + description: Internal Server Error + /auth/group: + post: + tags: + - User Groups + summary: Create a New User Group + operationId: UserGroups_createNewGroup + description: Create a new user group in the workspace. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UserGroupsCreateNewGroupRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/UserGroupResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - User Groups + summary: List User Groups + operationId: UserGroups_list + description: Get a list of user groups in the workspace. + responses: + '200': + description: List of groups. + content: + application/json: + schema: + $ref: '#/components/schemas/UserGroupsListResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /auth/group/{id}: + get: + tags: + - User Groups + summary: Get User Group by ID + operationId: UserGroups_getUserGroupById + description: Get a user group by their ID. + parameters: + - description: The ID of the group to retrieve. + name: id + in: path + required: true + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/UserGroupResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + patch: + tags: + - User Groups + summary: Update User Group by ID + operationId: UserGroups_updateById + description: >- + Use this endpoint to update the Group. Editable fields include the name, + description, icon, and users. + parameters: + - description: The ID of the group to update. + name: id + in: path + required: true + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UserGroupsUpdateByIdRequest' + responses: + '200': + description: Group updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/UserGroupResponse' + '400': + description: Bad Request + '404': + description: User not found + '500': + description: Internal Server Error + delete: + tags: + - User Groups + summary: Delete User Group by ID + operationId: UserGroups_deleteById + description: Delete a group by their ID. + parameters: + - description: The ID of the group to delete. + name: id + in: path + required: true + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + responses: + '204': + description: No Content + '404': + description: Not Found + '500': + description: Internal Server Error + /dictionary/terms: + post: + tags: + - Terms + summary: Create a New Dictionary Term + operationId: Terms_createNewTerm + description: > + This endpoint allows you to create a new dictionary term with the + specified data. The `title` will map to the dictionary term name, and + the definition of the term can be added to the `definition` field. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/TermResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Terms + summary: List Dictionary Terms + operationId: Terms_getListByTitle + description: > + This endpoint allows you to retrieve a list of dictionary terms with + optional filtering by name of the term (title). + parameters: + - description: Filter terms by title (optional) + in: query + name: title + schema: + type: string + example: Sample Dictionary Term + responses: + '200': + description: List of dictionary terms. + content: + application/json: + schema: + $ref: '#/components/schemas/TermsGetListByTitleResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /dictionary/terms/{term_id}: + get: + tags: + - Terms + summary: Get Dictionary Term by ID + operationId: Terms_getById + description: > + This endpoint allows you to retrieve a single dictionary term by its + unique identifier (term_id). + parameters: + - description: The unique identifier of the dictionary term + in: path + name: term_id + required: true + schema: + type: string + example: 61ce0a34-ce90-4f1a-a135-f122dcbed242 + responses: + '200': + description: Dictionary term retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/TermResponse' + '404': + description: Term not found + '500': + description: Internal Server Error + patch: + tags: + - Terms + summary: Edit Dictionary Term by ID + operationId: Terms_updateById + description: > + This endpoint allows you to edit the metadata of a dictionary term by + its unique identifier (term_id). + parameters: + - description: The unique identifier of the dictionary term to edit + in: path + name: term_id + required: true + schema: + type: string + example: 61ce0a34-ce90-4f1a-a135-f122dcbed24 + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: Description updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/TermResponse' + '400': + description: Bad Request + '404': + description: Term not found + '500': + description: Internal Server Error + delete: + tags: + - Terms + summary: Delete Dictionary Term by ID + operationId: Terms_deleteById + description: > + This endpoint allows you to delete a dictionary term by its unique + identifier (term_id). + parameters: + - description: The unique identifier of the dictionary term to delete + in: path + name: term_id + required: true + schema: + type: string + example: 61ce0a34-ce90-4f1a-a135-f122dcbed242 + responses: + '204': + description: Term deleted successfully + '404': + description: Term not found + '500': + description: Internal Server Error + /collection/collections: + post: + tags: + - Collections + summary: Create a New Collection + operationId: Collections_createNewCollection + description: > + This endpoint allows you to create a new collection. Note, adding + resources to a collection through the API must be done on the resource + that is added (by adding the collection_id to the `collections` + parameter). Related resources cannot be added using the + `/collection/collections` endpoints. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/CollectionResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Collections + summary: List Collections + operationId: Collections_listCollectionsByTitle + description: > + This endpoint allows you to retrieve a list of collections. You can + optionally filter the collections by title using the "title" query + parameter. + parameters: + - description: Filter collections by title (optional) + in: query + name: title + schema: + type: string + example: Sample Collection + responses: + '200': + description: List of collections. + content: + application/json: + schema: + $ref: '#/components/schemas/CollectionsListCollectionsByTitleResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /collection/collections/{collection_id}: + get: + tags: + - Collections + summary: Get Collection by ID + operationId: Collections_getById + description: > + This endpoint allows you to retrieve a collection by its unique + identifier (collection_id). + parameters: + - description: The unique identifier of the collection + in: path + name: collection_id + required: true + schema: + type: string + example: 3ea9a7c2-9538-46a0-899d-b2018c80113c + responses: + '200': + description: Collection retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/CollectionResponse' + '404': + description: Collection not found + '500': + description: Internal Server Error + patch: + tags: + - Collections + summary: Edit Collection by ID + operationId: Collections_updateById + description: >- + Use this endpoint to update collections. Note, adding resources to a + collection through the API must be done on the resource that is added + (by adding the collection_id to the `collections` parameter). Related + resources cannot be added using the `/collection/collections` endpoints. + parameters: + - description: The unique identifier of the collection to edit + in: path + name: collection_id + required: true + schema: + type: string + example: 3ea9a7c2-9538-46a0-899d-b2018c80113c + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: Description updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/CollectionResponse' + '400': + description: Bad Request + '404': + description: Collection not found + '500': + description: Internal Server Error + delete: + tags: + - Collections + summary: Delete Collection by ID + operationId: Collections_deleteById + description: > + This endpoint allows you to delete a collection by its unique identifier + (collection_id). + parameters: + - description: The unique identifier of the collection to delete + in: path + name: collection_id + required: true + schema: + type: string + example: 3ea9a7c2-9538-46a0-899d-b2018c80113c + responses: + '204': + description: Collection deleted successfully + '404': + description: Collection not found + '500': + description: Internal Server Error + /question/questions: + post: + tags: + - Questions + summary: Create a New Question + operationId: Questions_createNewQuestion + description: > + This endpoint allows you to create a new question. The answer to the + question can be set in the answer field, or added as a reply to the + `question/replies` endpoint. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/QuestionResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Questions + summary: List Questions + operationId: Questions_getList + description: | + This endpoint allows you to retrieve a list of questions. + responses: + '200': + description: List of questions. + content: + application/json: + schema: + $ref: '#/components/schemas/QuestionsGetListResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /question/questions/{question_id}: + get: + tags: + - Questions + summary: Get Question by ID + operationId: Questions_getById + description: > + This endpoint allows you to retrieve a question by its unique identifier + (question_id). + parameters: + - description: The unique identifier of the question + in: path + name: question_id + required: true + schema: + type: string + example: 7795133a-6e36-4ef2-b95a-664babb99b71 + responses: + '200': + description: Question retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/QuestionResponse' + '404': + description: Question not found + '500': + description: Internal Server Error + patch: + tags: + - Questions + summary: Edit Question by ID + operationId: Questions_updateById + description: > + This endpoint allows you to edit the metadata of a question by its + unique identifier (question_id). + parameters: + - description: The unique identifier of the question to edit + in: path + name: question_id + required: true + schema: + type: string + example: 7795133a-6e36-4ef2-b95a-664babb99b71 + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: Definition updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/QuestionResponse' + '400': + description: Bad Request + '404': + description: Question not found + '500': + description: Internal Server Error + delete: + tags: + - Questions + summary: Delete Question by ID + operationId: Questions_deleteById + description: > + This endpoint allows you to delete a question by its unique identifier + (question_id). + parameters: + - description: The unique identifier of the question to delete + in: path + name: question_id + required: true + schema: + type: string + example: 4272310f-0129-4982-8849-4b20edd3f2d5 + responses: + '204': + description: Question deleted successfully + '404': + description: Question not found + '500': + description: Internal Server Error + /question/replies: + post: + tags: + - Questions + summary: Create a New Question Reply + operationId: Questions_createNewReply + description: > + This endpoint allows you to create a new reply to a specified question + (indicated by the parent_id). + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/QuestionsCreateNewReplyRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/ReplyResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Questions + summary: List Question Replies + operationId: Questions_listReplies + description: > + This endpoint allows you to retrieve a list of replies. You can + optionally filter the replies by question_id using the "question_id" + query parameter. + parameters: + - description: Filter replies by question_id (optional) + in: query + name: question_id + schema: + type: string + example: 7795133a-6e36-4ef2-b95a-664babb99b71 + responses: + '200': + description: List of replies. + content: + application/json: + schema: + $ref: '#/components/schemas/QuestionsListRepliesResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /question/replies/{reply_id}: + get: + tags: + - Questions + summary: Get Question Reply by ID + operationId: Questions_getReplyById + description: > + This endpoint allows you to retrieve a reply by its unique identifier + (reply_id). + parameters: + - description: The unique identifier of the reply + in: path + name: reply_id + required: true + schema: + type: string + example: 47f9d5ab-4ae1-4eea-a8b8-6d3847829b3f + responses: + '200': + description: Reply retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/ReplyResponse' + '404': + description: Reply not found + '500': + description: Internal Server Error + patch: + tags: + - Questions + summary: Edit Question Reply by ID + operationId: Questions_editReplyById + description: > + This endpoint allows you to edit the content of a reply by its unique + identifier (reply_id). You can also use this endoint to set this reply + as the accepted answer. + parameters: + - description: The unique identifier of the reply to edit + in: path + name: reply_id + required: true + schema: + type: string + example: 47f9d5ab-4ae1-4eea-a8b8-6d3847829b3f + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/QuestionsEditReplyByIdRequest' + responses: + '200': + description: Definition updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/ReplyResponse' + '400': + description: Bad Request + '404': + description: Reply not found + '500': + description: Internal Server Error + delete: + tags: + - Questions + summary: Delete Question Reply by ID + operationId: Questions_deleteReplyById + description: > + This endpoint allows you to delete a reply by its unique identifier + (reply_id). + parameters: + - description: The unique identifier of the reply to delete + in: path + name: reply_id + required: true + schema: + type: string + example: 47f9d5ab-4ae1-4eea-a8b8-6d3847829b3f + responses: + '204': + description: Reply deleted successfully + '404': + description: Reply not found + '500': + description: Internal Server Error + /document: + post: + tags: + - Documents + summary: Create a New Document + operationId: Documents_createNewDocument + description: > + This endpoint allows you to create a new document with the specified + data. The document content is pulled from the `definition` parameter. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/DocumentResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Documents + summary: List Documents + operationId: Documents_listDocumentsByTitle + description: > + This endpoint allows you to retrieve a list of documents. You can + optionally filter the documents by title using the "title" query + parameter. + parameters: + - description: Filter documents by title (optional) + in: query + name: title + schema: + type: string + example: Sample Document + responses: + '200': + description: List of documents. + content: + application/json: + schema: + $ref: '#/components/schemas/DocumentsListDocumentsByTitleResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /document/{document_id}: + get: + tags: + - Documents + summary: Get Document by ID + operationId: Documents_getById + description: > + This endpoint allows you to retrieve a document by its unique identifier + (document_id). + parameters: + - description: The unique identifier of the document + in: path + name: document_id + required: true + schema: + type: string + example: 1f5c76c3-e7a3-406f-b51e-7ba220244f1b + responses: + '200': + description: Document retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/DocumentResponse' + '404': + description: Document not found + '500': + description: Internal Server Error + patch: + tags: + - Documents + summary: Edit Document by ID + operationId: Documents_updateById + description: > + This endpoint allows you to edit the definition of a document by its + unique identifier (document_id). The definition of the document maps to + the visible content of the document itself. + parameters: + - description: The unique identifier of the document to edit + in: path + name: document_id + required: true + schema: + type: string + example: 1f5c76c3-e7a3-406f-b51e-7ba220244f1b + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: Definition updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/DocumentResponse' + '400': + description: Bad Request + '404': + description: Document not found + '500': + description: Internal Server Error + delete: + tags: + - Documents + summary: Delete Document by ID + operationId: Documents_deleteById + description: > + This endpoint allows you to delete a document by its unique identifier + (document_id). + parameters: + - description: The unique identifier of the document to delete + in: path + name: document_id + required: true + schema: + type: string + example: 1f5c76c3-e7a3-406f-b51e-7ba220244f1b + responses: + '204': + description: Document deleted successfully + '404': + description: Document not found + '500': + description: Internal Server Error + /query/queries: + get: + tags: + - Queries + summary: List Queries + operationId: Queries_getList + description: > + This endpoint allows you to retrieve a list of all queries in the + workspace. No filtering is available at this time. + responses: + '200': + description: List of queries. + content: + application/json: + schema: + $ref: '#/components/schemas/QueriesGetListResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /query/queries/{query_id}: + get: + tags: + - Queries + summary: Get Query by ID + operationId: Queries_getById + description: > + This endpoint allows you to retrieve a query by its unique identifier + (query_id). + parameters: + - description: The unique identifier of the query + in: path + name: query_id + required: true + schema: + type: string + example: 871fc00d-828b-4348-9353-c635313ee459 + responses: + '200': + description: Query retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/QueryResponse' + '404': + description: Query not found + '500': + description: Internal Server Error + /monitors/monitors: + get: + tags: + - Monitors + summary: List Monitors + operationId: Monitors_listMonitors + description: > + This endpoint allows you to retrieve a list of all the monitors in your + workspace. + responses: + '200': + description: List of Monitors. + content: + application/json: + schema: + $ref: '#/components/schemas/MonitorsListMonitorsResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /monitors/monitors/{monitor_id}: + get: + tags: + - Monitors + summary: Get Monitor by ID + operationId: Monitors_getById + description: > + This endpoint allows you to retrieve a monitors by it's ID. You can find + the ID in the URL of the monitor when accessing it from the Secoda UI. + parameters: + - description: The unique identifier of the monitor + in: path + name: monitor_id + required: true + schema: + type: string + example: 871fc00d-828b-4348-9353-c635313ee459 + responses: + '200': + description: Monitor retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/MonitorResponse' + '404': + description: Monitor not found + '500': + description: Internal Server Error + /monitors/incidents: + get: + tags: + - Monitors + summary: List Incidents + operationId: Monitors_listIncidents + description: > + This endpoint allows you to retrieve a list of all the incidents in your + workspace. + responses: + '200': + description: List of Incidents. + content: + application/json: + schema: + $ref: '#/components/schemas/MonitorsListIncidentsResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /monitors/incident/{incident_id}: + get: + tags: + - Monitors + summary: Get Incident by ID + operationId: Monitors_getIncidentById + description: | + This endpoint allows you to retrieve an incident by it's ID. + parameters: + - description: The unique identifier of the incident + in: path + name: incident_id + required: true + schema: + type: string + example: 871fc00d-828b-4348-9353-c635313ee459 + responses: + '200': + description: Monitor retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentResponse' + '404': + description: Incident not found + '500': + description: Internal Server Error + /monitors/measurements: + get: + tags: + - Monitors + summary: List Measurements + operationId: Monitors_listMeasurements + description: > + This endpoint allows you to retrieve a list of all the measurements in + your workspace filtered by a Monitor or Incident. A query param of + either the Monitor ID or Incident ID is required. + + + If using monitoring in automatic mode, thresholds will take some time to + populate as the system learnins the appropriate range for your data. + parameters: + - description: The unique identifier of the monitor + in: query + name: monitor + schema: + type: string + example: 871fc00d-828b-4348-9353-c635313ee459 + - description: The unique identifier of the incident + in: query + name: incident_id + schema: + type: string + example: 40b3e4d3-3bf8-4ec4-ae87-56d1e738ca76 + responses: + '200': + description: List of Measurements. + content: + application/json: + schema: + $ref: '#/components/schemas/MonitorsListMeasurementsResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /event/category: + post: + tags: + - Event Categories + summary: Create a New Event Category + operationId: EventCategories_createNewCategory + description: >- + Use this endpoint to create a new event category. This will be the + parent of events. The category must be associated to an integration. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EventCategoriesCreateNewCategoryRequest' + responses: + '201': + description: Event category created + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Event Categories + summary: List Event Categories + operationId: EventCategories_list + description: >- + List all the event categories in the workspace. Optional filter by + title. + parameters: + - description: Filter event categories by title + in: query + name: title + schema: + type: string + example: Landing Page + responses: + '200': + description: List of event categories. + content: + application/json: + schema: + $ref: '#/components/schemas/EventCategoriesListResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /event/category/{event_category_id}: + get: + tags: + - Event Categories + summary: Get Event Category by Id + operationId: EventCategories_getById + description: Retrieve the information of a specific event category. + parameters: + - description: ID of the event category to retrieve + name: event_category_id + required: true + in: path + schema: + type: string + example: 43d7c33dad744dfbbfadc172f6701afb + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + /event/events: + post: + tags: + - Events + summary: Create a new Event + operationId: Events_createNewEvent + description: >- + Create a new event with the provided data. Events must have a Category + as a parent, and be associated with an integration. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Event created + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Events + summary: List Events + operationId: Events_listEventsByFiltering + description: >- + Retrieve a list of events with optional filtering using the + integration_id, parent_id (the event category), and title. + parameters: + - description: Filter by integration ID + name: integration_id + in: query + schema: + type: string + example: cf103b4785764467ad34384cd523abd9 + - description: Filter by parent ID + name: parent_id + in: query + schema: + type: string + example: 43d7c33dad744dfbbfadc172f6701afb + - description: Filter by title + name: title + in: query + schema: + type: string + example: Clicked + responses: + '200': + description: List of events. + content: + application/json: + schema: + $ref: '#/components/schemas/EventsListEventsByFilteringResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /event/events/{event_id}: + get: + tags: + - Events + summary: Get Event by ID + operationId: Events_getById + description: Retrieve a specific event by its ID. + parameters: + - description: The ID of the event to retrieve. + name: event_id + in: path + required: true + schema: + type: string + example: 226dc8aafa8d46468b116652cdc64065 + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + patch: + tags: + - Events + summary: Update an Event by ID + operationId: Events_updateById + description: Use this endpoint to partially update event metadata. + parameters: + - description: The ID of the event to update. + name: event_id + in: path + required: true + schema: + type: string + example: 226dc8aafa8d46468b116652cdc64065 + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + delete: + tags: + - Events + summary: Delete Event by ID + operationId: Events_deleteById + description: Delete a specific event by it's ID. + parameters: + - description: The ID of the event to delete. + name: event_id + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + /event/event_properties: + post: + tags: + - Event Properties + summary: Create a new Event Property + operationId: EventProperties_createNewProperty + description: >- + Create a new event property with the provided data. Event properties + must have an Event as a parent, and be associated with an integration. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResourceRequest' + responses: + '200': + description: Event property created. + content: + application/json: + schema: + $ref: '#/components/schemas/EventPropertyResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + get: + tags: + - Event Properties + summary: List Event Properties + operationId: EventProperties_listEventProperties + description: >- + Retrieve a list of events with optional filtering using the + integration_id, parent_id (the event), and title. + parameters: + - description: Filter by integration ID + name: integration_id + in: query + schema: + type: string + example: cf103b4785764467ad34384cd523abd9 + - description: Filter by parent ID + name: parent_id + in: query + schema: + type: string + example: 43d7c33dad744dfbbfadc172f6701afb + - description: Filter by title + name: title + in: query + schema: + type: string + example: 'true' + responses: + '200': + description: List of event properties. + content: + application/json: + schema: + $ref: >- + #/components/schemas/EventPropertiesListEventPropertiesResponse + '400': + description: Bad Request + '500': + description: Internal Server Error + /event/event_properties/{event_property_id}: + get: + tags: + - Event Properties + summary: Get Event Property by ID + operationId: EventProperties_getById + description: Retrieve a specific event property by its ID. + parameters: + - description: The ID of the event property to retrieve. + name: event_property_id + in: path + required: true + schema: + type: string + example: 226dc8aafa8d46468b116652cdc64065 + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/EventPropertyResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + patch: + tags: + - Event Properties + summary: Update an Event Property by ID + operationId: EventProperties_updateByIdentifier + description: Use this endpoint to partially update event metadata. + parameters: + - description: The ID of the event property to update. + name: event_property_id + in: path + required: true + schema: + type: string + example: 226dc8aafa8d46468b116652cdc64065 + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/EventPropertyResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + delete: + tags: + - Event Properties + summary: Delete Event Property by ID + operationId: EventProperties_deleteById + description: Delete a specific event property by it's ID. + parameters: + - description: The ID of the event property to delete. + name: event_property_id + in: path + required: true + schema: + type: string + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/EventPropertyResponse' + '404': + description: Not Found + '500': + description: Internal Server Error +components: + securitySchemes: + ApiKeyAuth: + type: http + scheme: bearer + bearerFormat: string + schemas: + UserGroupResponse: + type: object + properties: + description: + description: The description of the group. + type: string + example: >- + Group of users that are responsible for keeping documentation + updated. + id: + description: The ID of the group. + type: string + example: f3bdd4f8-d6ea-4f9b-8384-e179fa8eb3da + created_at: + description: The creation timestamp of the group. + type: string + example: '2023-05-10T14:27:23.797657Z' + updated_at: + description: The last update timestamp of the group. + type: string + example: '2023-10-20T13:53:06.088248Z' + users: + description: List of user IDs of the members in the group. + type: array + items: + type: string + example: + - 33733f42-8ff7-460b-9e20-50a2133d3bb0 + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + name: + description: The name of the group. + type: string + example: Data Stewards + icon: + description: The icon associated with the group. + type: string + example: 🧪 + workspace_id: + description: The ID of the workspace associated with the grop. + type: string + example: f71585fa-251c-4102-8d81-c97c57c8d435 + snowflake_role: + description: This field can be ignored. + MonitorResponse: + type: object + properties: + id: + description: The unique identifier of the monitor. + type: string + example: 886337a0-f298-4259-84dc-710879c826de + created_at: + description: The timestamp when the monitor was created. + type: string + example: '2023-10-12T14:59:58.781935Z' + updated_at: + description: The timestamp when the data was last updated. + type: string + example: '2023-10-12T15:06:19.251573Z' + integration: + description: The identifier of the integration associated with the resource. + type: string + example: 337c5803-b484-4128-a24d-dcc55dee2ea2 + target: + description: The identifier of the resource that the monitor is watching. + type: string + example: 11db7782-4030-4acf-93e4-85aff3b860a1 + workspace: + description: The identifier of the workspace. + type: string + example: e051db43-cda6-42dc-8a69-12d1aefc3a91 + metric_type: + description: The type of metric. + type: string + enum: + - row_count + - cardinality + - mean + - max + - min + - unique_percentage + - null_percentage + - freshness + - custom_sql + example: null_percentage + metric_config: + description: Configuration for the metric. + type: string + frequency: + description: The frequency with which this monitor is run. + type: integer + example: 24 + name: + description: >- + The full name of the monitor, includes the metric type and target + resource. + type: string + example: Null percentage in amount + is_enabled: + description: Whether the monitor is enabled. + type: boolean + example: true + last_attempted_at: + description: The timestamp of the last attempted monitor. + type: string + example: '2023-10-12T15:03:40.693728Z' + last_success_at: + description: >- + The timestamp of the last check on Secoda's access and ability to + read the data source on which this monitor is set. This is + connctivity check - not a data quality check. + type: string + format: date-time + example: '2023-09-29T17:46:22.552345Z' + last_error_at: + description: The timestamp of the last error, if any. + type: string + example: null + last_error_message: + description: The message associated with the last error, if any. + type: string + example: '' + condition_auto_sensitivity: + description: The automatic sensitivity condition. + type: integer + example: 5 + condition_manual_min: + description: The manual minimum condition if set by the user. + type: integer + example: .nan + condition_manual_max: + description: The manual maximum condition if set by the user. + type: integer + example: .nan + status: + description: The status of the monitor. + type: string + enum: + - normal + - incident + - error + - learning + - inactive + example: incident + display_metadata: + description: >- + This is an internally used object that provides additional + information about the incident. This can be ignored by customers. + type: object + properties: + target: + type: object + properties: + icon: + description: Icon associated with the target resource, if one exists. + type: string + example: null + label: + description: Title of the target resource. + type: string + example: amount + entity_type: + description: The type of the target resource (e.g., column). + type: string + example: column + integration: + description: >- + The UUID of the integration from which the target resource + is extracted. + type: string + example: 337c5803-b484-4128-a24d-dcc55dee2ea2 + integration_type: + description: The type of integration. + type: string + example: redshift + last_measurement_value: + description: The last measured value if one is available. + type: number + example: 1234.56 + last_incident: + description: >- + The UUID of the last active incident. If there are no active + incidents (if the last incident has been closed), the field is set + to null. + type: string + example: 102ac399-6e3a-42dd-a710-dbbb6b2addbe + last_measurement: + description: The identifier of the last measurement. + type: string + example: 5d6ad413-5f74-41d6-b2f5-870b6f04de5c + next_run_at: + description: >- + The timestamp for the next run. Note, the run may occur shortly + after the time set, but never before. + type: string + example: '2023-10-13T15:03:40.693728Z' + IncidentResponse: + type: object + properties: + summary: + description: An automatically generated short summary of the incident. + type: string + example: Unique percentage incident + acknowledged_at: + description: >- + The time that the incident was acknowledged at. This will be null if + an incident hasn't been acknowledged yet. + type: string + format: date-time + example: '2023-11-10T19:20:44.975657Z' + actions: + description: A list of actions associated with the incident. + type: array + example: + - type: notification_initial + user_id: e1250ab7-c4dc-4b9c-8963-105fa73d4ba5 + user_name: John Doe + items: + type: object + properties: + type: + type: string + enum: + - notification_initial + - notification_reminder + - notification_resolved + - acknowledged + - resolved + user_id: + type: string + user_name: + type: string + created_at: + description: When the incident was created. + type: string + format: date-time + example: '2023-10-10T19:20:44.975657Z' + display_metadata: + description: >- + This is an internally used object that provides additional + information about the incident. This can be ignored by customers. + type: object + properties: + monitor: + type: object + properties: + label: + type: string + example: Unique percentage on extraction_completed_at + target: + type: object + properties: + entity_type: + description: The type of resource the incident is associated with. + type: string + example: column + icon: + type: string + integration: + description: The UUID of the integration associated with the resource. + type: string + example: 0c6f8b1a-0c8f-4fdf-b95d-57da8f80ef82 + integration_type: + description: >- + The type of the integration that the resource is extracted + from. + type: string + example: snowflake + label: + type: string + first_seen_at: + description: The first time this incident was observed. + type: string + format: date-time + example: '2023-10-10T19:20:44.973632Z' + id: + description: The UUID of the incident. + type: string + example: 6ac1bff0-b85f-47e8-84fb-8dca29614785 + last_notified_at: + description: The time of the last notification sent about this incident. + type: string + format: date-time + example: '2023-10-10T19:20:45.047056Z' + last_seen_at: + description: The most recent occurence about this incident. + type: string + format: date-time + example: '2023-10-10T19:20:45.047056Z' + monitor: + description: The UUID of the associated monitor. + type: string + example: b45bc798-763d-4ca5-863a-c12a882967c9 + name: + description: >- + The name of the incident, which indicates the type of metric set for + the monitor. + type: string + example: Unique percentage incident + resolved_at: + description: >- + The time that the incident was resolved. Will be null if the + incident has not yet been resolved. + type: string + format: date-time + status: + description: The status of the incident. + type: string + enum: + - acknowledged + - expired + - resolved + - active + example: active + target: + description: The UUID of the target resource being monitored for anomolies. + type: string + example: c332407c-cfa4-47c9-8d83-31df72b30c20 + updated_at: + description: The last updated time for the incident. + type: string + format: date-time + example: '2023-10-10T19:20:45.047238Z' + value: + description: The value of the measurement at the time of incident creation. + type: number + example: 86.4081806 + MeasurementResponse: + type: object + properties: + id: + description: The UUID of the measurement. + type: string + example: 6ac1bff0-b85f-47e8-84fb-8dca29614785 + created_at: + description: Timestamp of when the measurement was created. + type: string + format: date-time + example: '2023-10-03T04:46:24.290765Z' + updated_at: + description: Timestamp of the when the measurement was updated. + type: string + format: date-time + example: '2023-10-03T04:46:24.290765Z' + incident: + description: >- + The UUID of the associated incident, if it exists. Otherwise, this + is set to null. + type: string + nullable: true + example: 102ac399-6e3a-42dd-a710-dbbb6b2addbe + incident_metadata: + description: Additional information about the incident. + type: string + monitor: + description: The UUID of the associated monitor. + type: string + example: 102ac399-6e3a-42dd-a710-dbbb6b2addbe + upper_threshold: + description: > + The upper threshold of the measurement. A value crossing this + threshold will trigger an incident. The threshold will be set to + null when one is not configured, or the monitor is still learning + the thresholds. + type: number + example: 90.64496791804484 + lower_threshold: + description: > + The lower threshold of the measurement. A value crossing this + threshold will trigger an incident. The threshold will be set to + null when one is not configured, or the monitor is still learning + the thresholds. + type: number + example: 87.83219024929676 + value: + description: The exact value at the time of measurement. + type: number + example: 90.81823317519981 + TermResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + parent_id: + description: Indicates the UUID of the parent of terms. + type: string + example: None + base_entity_id: + description: >- + Indicates the UUID of the highest level ancestor of the + document. + type: string + example: 1f5c76c3-e7a3-406f-b51e-7ba220244f1b + sql: + description: Represents the sql query associated with the term. + type: string + example: select * from sample_table + last_run: + description: >- + Indicates the last time the query was ran in UTC format. This + could be the same as the scheduled last run. If this value is + different, it indicates the the last extraction was triggered + manually. + type: string + format: date-time + example: '2023-08-16T23:12:53.245493Z' + scheduled_delta: + description: Represents the time difference between last run and next run. + type: string + example: 4 + scheduled_next_run: + description: Indicates the next time the query will be run in UTC format. + type: string + format: date-time + example: '2023-08-20T23:12:53.245493Z' + scheduled_last_run: + description: >- + Indicates the scheduled last run time of the extraction in UTC + format. + type: string + example: '2023-08-20T14:12:53.245493Z' + results: + description: Specifies the results of the query of the terms. + type: array + items: + description: >- + WARNING: Missing items property in array schema. Missing items + property has been filled with this AnyType schema. + chart_config: + description: Defines chart configuration for the query of the term. + type: object + properties: + title: + type: object + properties: + text: + description: Defines the details of the title + type: string + example: Chart title + grid: + description: controls the visibility of gridlines on a chart. + type: object + properties: + top: + type: integer + example: 32 + left: + type: string + example: 10% + show: + type: boolean + example: false + right: + type: integer + example: 32 + bottom: + type: string + example: 10% + color: + type: array + items: + description: Defines the different colors of the terms. + type: string + example: '#198B9A' + xAxis: + description: Customizes and control xAxis parameters of charts. + type: object + properties: + name: + type: string + type: + type: string + example: category + nameGap: + type: integer + example: 32 + axisLabel: + description: Customize and control the labels on the axes of a chart. + type: object + properties: + interval: + type: integer + nameLocation: + type: string + example: middle + yAxis: + description: Customizes and control yAxis parameters of charts. + type: object + example: null + properties: + name: + type: string + example: null + type: + type: string + example: category + nameGap: + type: integer + example: 32 + nameLocation: + type: string + example: middle + nameTextStyle: + description: >- + Represents a set of settings and attributes that control + the visual appearance and styling of text + type: object + properties: + padding: + type: array + items: + type: integer + example: -30 + legend: + description: >- + Indicates the legend associated with the chart if a chart + was generated. + type: object + series: + type: array + items: + description: >- + Represents the series associated with the chart if a chart + was generated. + type: object + properties: + type: + type: string + example: line + encode: + type: object + properties: + x: + type: integer + example: 0 + 'y': + type: integer + example: 1 + smooth: + type: boolean + example: false + dataset: + type: array + items: + type: object + properties: + source: + description: >- + Refers to data source that serves as the basis for + creating a chart. + type: string + toolbox: + type: object + properties: + show: + type: boolean + example: true + feature: + type: object + properties: + dataZoom: + type: object + properties: + show: + type: boolean + example: true + saveAsImage: + type: object + properties: + show: + type: boolean + example: true + tooltip: + type: object + properties: + show: + type: boolean + example: false + CollectionResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + pinned: + description: Refers to whether the resource has been pinned by user. + type: boolean + example: false + resource_count: + description: Indicates how many resources are part of the collection. + type: integer + example: 0 + QuestionResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + status: + description: >- + Indicates the status of the question. Values can be -
  • + Answered
  • Unanswered
+ type: string + example: UNANSWERED + priority: + description: Indicates the priority of the question or request. + type: string + example: High + reactions: + description: Represents the emoji reactions to a question. + type: array + items: + type: string + example: + - 👍 + answer: + description: Represents the verified answer of the question. + type: string + example: This is the answer to the question. + assigned_to: + description: Represents the user whom the question is assigned to. + type: string + example: 33733f42-8ff7-460b-9e20-50a2133d3bb0 + votes_sum: + description: Indicates the amount of votes for the quesion. + type: integer + example: 5 + current_user_vote: + description: Represents the vote number of the current user. + type: integer + example: 4 + ReplyResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + reactions: + description: Represents the emoji reactions to a question. + type: array + items: + type: string + example: + - 👍 + accepted_answer: + description: >- + Indicates if the answer is accepted or not. Values can be -
    +
  • True
  • False
+ type: boolean + example: false + DocumentResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + parent_id: + description: >- + Indicates the UUID of the parent of the document, which is + always another document. + type: string + example: 1f5c76c3-e7a3-406f-b51e-7ba220244f1b + base_entity_id: + description: >- + Indicates the UUID of the highest level ancestor of the + document. + type: string + example: 1f5c76c3-e7a3-406f-b51e-7ba220244f1b + QueryResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + type: + description: Indicates the type of query. Currently this is returned as None. + type: string + example: None + freq: + description: >- + Represents the frequency with which the query is running. + Currently this will be returned as 0. + type: integer + example: 0 + LineageResponse: + type: object + properties: + id: + description: The unique identifier of the resource. + type: string + example: d935a76c-2125-4c30-9389-ef42fa7e23bb + created_at: + description: The timestamp when the resource was created in Secoda in UTC format. + type: string + format: date-time + example: '2023-08-16T23:12:53.245493Z' + updated_at: + description: >- + The timestamp when the resource was last updated in Secoda in UTC + format. + type: string + format: date-time + example: '2023-08-16T23:12:53.245507Z' + from_entity: + description: Indicates the source resource of the lineage. + type: string + example: 7879886b-9e0e-4d02-8b37-c7d3c496a587 + to_entity: + description: Indicates the destination resource of the lineage. + type: string + example: b500ef23-c9b4-4259-a87d-d77b8b588f06 + direction: + description: >- + Represents the flow of data between the source and destination. + Values can be -
  • Upstream
  • Downstream
+ type: string + enum: + - UPSTREAM + - DOWNSTREAM + example: DOWNSTREAM + is_manual: + description: >- + Represents if data lineage is manually created or not. Values can be + -
  • True
  • False
+ type: boolean + example: true + TagsResponse: + type: object + properties: + description: + description: Indicates the description of the tag. + type: string + example: This is a sample tag. + id: + description: The unique identifier of the resource. + type: string + example: 69e0b863-8bb8-47e1-b566-8b8d57441c70 + created_at: + description: The timestamp when the resource was created in Secoda in UTC format. + type: string + format: date-time + example: '2023-09-05T17:32:56.571134Z' + updated_at: + description: >- + The timestamp when the resource was last updated in Secoda in UTC + format. + type: string + format: date-time + example: '2023-09-05T17:32:56.571151Z' + name: + description: Indicates the name of the tag. + type: string + example: Sample Tag + color: + description: Defines the different colors of the tags in HEX format. + type: string + example: '#4299E1' + integration_id: + description: >- + The unique identifier of the integration the tag is pulled from. + Null if the tag is created manually in Secoda. + type: string + example: 69e0b863-8bb8-47e1-b566-8b8d57441c70 + workspace_id: + description: Indiactes the workspace ID where the tag belongs. + type: string + example: f71585fa-251c-4102-8d81-c97c57c8d435 + TeamsResponse: + type: object + properties: + description: + description: Description of the team. + type: string + example: This is the best team in this workspace. + id: + description: Indicates the UUID of the team. + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + created_at: + description: The timestamp when the team was created in Secoda in UTC format. + type: string + format: date-time + example: '2023-09-22T15:30:00Z' + updated_at: + description: The timestamp when the team was last updated in Secoda UTC format. + type: string + format: date-time + example: '2023-09-22T15:30:00Z' + name: + description: Indicates the name of the team. + type: string + example: Test Team + icon: + description: Indicates the icon of the team. + type: string + example: 😀 + type: + description: >- + Indicates the type of the team. If a team is Open, this means it is + Public and can be joined by anyone in the workspace. If a team is + Closed, the team is private and only admins can invite members into + the team. Values can be -
  • OPEN
  • CLOSED
+ type: string + example: OPEN + sidebar_settings: + description: >- + Use these settings to toggle which pages should be shown to team + members in the side bar. + type: object + properties: + home: + description: Whether to show the home page to team members. + type: boolean + example: true + catalog: + description: Whether to show the catalog page to team members. + type: boolean + example: true + documents: + description: Whether to show the documents page to team members. + type: boolean + example: true + questions: + description: Whether to show the questions page to team members. + type: boolean + example: true + dictionary: + description: Whether to show the dictionary page to team members. + type: boolean + example: true + collections: + description: Whether to show the collections page to team members. + type: boolean + example: true + workspace_id: + description: Indicates the workspace ID of the user. + type: string + example: f71585fa-251c-4102-8d81-c97c57c8d435 + archived: + description: Indicates if the team has been deleted. + type: boolean + example: false + is_default_team: + description: >- + Indicates if the team is the default team. Any resource without a + specified team will automatically get added to this team. + type: boolean + example: true + onboarding_complete: + description: This field will be deprecated. + type: boolean + example: true + UsersResponse: + type: object + properties: + id: + description: Indicates the UUID of the user. + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + first_name: + description: Indicates the first name of the user. + type: string + example: Sample + last_name: + description: Indicates the last name of the user. + type: string + example: User + email: + description: Indicates the email id of the user. + type: string + example: sample@sample.com + role: + description: >- + Indicates the role of the user. Values can be -
  • Admin
  • + Editor
  • Viewer
+ type: string + example: editor + _role: + description: >- + Indicates the role of the user. Is the same value as the `role` + parameter. Values can be -
  • Admin
  • Editor
  • Viewer +
+ type: string + example: editor + workspace_id: + description: Indicates the workspace ID of the user. + type: string + example: f71585fa-251c-4102-8d81-c97c57c8d435 + secoda_is_superuser: + description: >- + Represents if the user is super user or not. Values can be -
    +
  • True
  • False
+ type: boolean + example: false + profile_picture: + description: Indicates the file name of the profile picture for the user. + type: string + example: image.jpg + pending: + description: >- + Represents if the user has been invited to the space but not + accepted yet. Values can be -
  • "True"
  • "False"
+ type: boolean + example: true + viewer_mode: + description: >- + Indicates if the user is in Preview mode. Values can be -
    +
  • True
  • False
+ type: boolean + example: false + user_groups: + description: A list of UUIDs of groups the user belongs to. + type: array + items: + type: string + example: + - f71585fa-251c-4102-8d81-c97c57c8d435 + bookmarks: + description: Represents the resorces that the user has bookmarked. + type: array + items: + type: string + example: + - f71585fa-251c-4102-8d81-c97c57c8d435 + workspace: + description: Indicates the workspace of the user. + type: string + example: f71585fa-251c-4102-8d81-c97c57c8d435 + is_service_account: + description: >- + Indicates if the user account is a service account or not. Values + can be -
  • True
  • False
+ type: boolean + example: false + service_account_count_popularity: + description: >- + Indicates if the account counts towards popularity calculations. + Values can be -
  • True
  • False
+ type: boolean + example: true + last_login: + description: >- + Indicates the last time account was logged in to Secoda in UTC + format. + type: string + format: date-time + example: None + new_feature_acknowledged: + description: >- + Indicates if the new feature has been acknowleged or not. Values can + be -
  • True
  • False
+ type: boolean + example: true + disabled: + description: >- + Represents if the account is disabled or not. Values can be -
    +
  • True
  • False
+ type: boolean + example: false + DashboardGroupResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + visible: + description: This is a deprecated field. + type: boolean + DashboardResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + group: + description: Indicates the name of the group. + type: string + example: Samples + product: + description: Indicates the name of the integration. + type: string + example: tableau + ChartResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + product: + description: Indicates the name of the integration. + type: string + example: tableau + ListResponse: + type: object + properties: + links: + description: Indicates Links to associated pages. + type: object + properties: + next: + description: The link to the next page (null if there are no more pages). + type: string + example: https://api.secoda.co/resource/all/?page=2 + previous: + description: The link to the previous page (null if on the first page). + type: string + example: None + meta: + description: Reprents the meta data of the response. + type: object + properties: + page: + description: The current page number. + type: integer + example: 1 + previous_page: + description: The previous page number (null if on the first page). + type: integer + example: .nan + next_page: + description: The next page number (null if on the last page). + type: integer + example: 2 + count: + description: The total count of items returned. + type: integer + example: 315 + total_pages: + description: The total number of pages. + type: integer + example: 7 + IntegrationResponse: + type: object + properties: + id: + description: The ID of the created integration. + type: string + example: 740904fe-e87d-44f8-8a91-b13631ff2812 + created_at: + description: >- + The timestamp when the integration was created in Secoda in UTC + format. + type: string + format: date-time + example: '2023-09-22T15:30:00Z' + updated_at: + description: >- + The timestamp when the integration was last updated in Secoda UTC + format. + type: string + format: date-time + example: '2023-09-22T15:30:00Z' + name: + description: The name of the integration. + type: string + example: Tableau + type: + description: The type of integration. + type: string + example: tableau + credentials: + description: >- + The actual credentials of the integration will NOT be returned. Can + you find the easter egg in this response parameter for native + integrations? + type: object + example: {} + workspace_id: + description: The ID of the associated workspace. + type: string + example: f71585fa-251c-4102-8d81-c97c57c8d435 + ssh_tunnel: + description: Information about SSH tunnel if one is set update. + type: string + example: None + execute_access: + description: List of IDs that have the permission to trigger the extracton. + type: array + items: + type: string + example: + - f71585fa-251c-4102-8d81-c97c57c8d435 + scheduled_extractions_hour: + description: Hour for scheduled extractions. Will be null for custom extractions. + type: integer + example: 3 + scheduled_extractions_frequency: + description: >- + Frequency in days of scheduled extractions. Will be null for custom + extractions. + type: integer + example: 7 + scheduled_extractions_next_run: + description: >- + Next scheduled extraction run time. Will be null for custom + extractions. + type: string + format: date-time + example: '2023-10-15T09:45:00Z' + scheduled_extractions_last_run: + description: Last scheduled extraction run time (null in this response). + type: string + example: '2023-10-15T09:45:00Z' + properties: + description: Additional properties associated with the integration. + type: object + preview_access_users: + description: >- + List of users IDs with access to preview the data in the + integration. + type: array + items: + type: string + example: + - f71585fa-251c-4102-8d81-c97c57c8d435 + preview_access_roles: + description: >- + List of roles that are allowed to preview the data in the + integration.
  • Admin
  • Editor
  • Viewer
+ type: array + items: + type: string + example: + - Admin + - Editor + preview_access_groups: + description: >- + List of users group IDs with access to preview the data in the + integration. + type: array + items: + type: string + example: + - f71585fa-251c-4102-8d81-c97c57c8d435 + teams: + description: List of team IDs associated with the integration. + type: array + items: + type: string + example: + - e8ac09ed-e51e-4e61-8eaf-59942c98c260 + ColumnResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + data_type: + description: Indicates the data type of the column. + type: string + example: integer + sort_order: + description: >- + Indicates the order the column should be in amongst the other + columns + type: integer + example: 3 + is_pk: + description: Whether the column is a primary key. + type: boolean + example: true + hidden: + description: This is a deprecated field. + type: boolean + table_cluster: + description: This is a deprecated field. + type: string + table_database: + description: Indicates the name of the database that the column belongs to. + type: string + example: aws-datacatalog + table_schema: + description: Indicates the name of the schema that the column belongs to. + type: string + example: secoda-glue + table_title: + description: Indicates the name of the table that the column belongs to. + type: string + example: customers + TableResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + database: + description: Indicates the name of the database that the table belongs to. + type: string + example: awsdatacatalog + schema: + description: Indicates the name of the schema that the table belongs to. + type: string + example: secoda-glue + cluster: + description: This is a deprecated field. + type: string + creation_query: + description: >- + If the table is a view, this indicates the query written to + generate the view. + type: string + example: select * from customers where country=='CAN' + CustomProperties: + type: object + properties: + name: + description: The name of the custom property. + type: string + example: Custom Property + type: + description: The type of the custom property. + type: string + enum: + - string + - number + - multiselect + - checkbox + - user + - resource + - date + example: string + order: + description: The order of the custom property. + type: integer + example: 1 + value: + description: The value of the custom property. + type: string + example: TestValue + BaseResponse: + type: object + properties: + tags: + description: List of tag IDs added to the resource. + type: array + items: + type: string + example: + - f7466f09-33bf-4ac2-9ff2-165fb4b8bdc2 + - a17f4ed0-0e5a-45a9-92c0-6c93c0b8242c + title: + description: The title of the resource. + type: string + example: Sample Table + description: + description: A description of the resource. + type: string + example: This is a description for a sample table. + id: + description: The unique identifier of the resource. + type: string + example: d935a76c-2125-4c30-9389-ef42fa7e23bb + created_at: + description: The timestamp when the resource was created in Secoda in UTC format. + type: string + format: date-time + example: '2023-08-16T23:12:53.245493Z' + updated_at: + description: >- + The timestamp when the resource was last updated in Secoda in UTC + format. + type: string + format: date-time + example: '2023-08-16T23:12:53.245507Z' + entity_type: + description: The type of resource in Secoda. + type: string + example: table + native_type: + description: >- + The native type of the resource as it is referred to in the + integration. + type: string + example: Dataset + bookmarked_by: + description: List of member IDs that have bookmarked the resource. + type: array + items: + type: string + example: + - d935a76c-2125-4c30-9389-ef42fa7e23bb + - 33733f42-8ff7-460b-9e20-50a2133d3bb0 + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + icon: + description: The icon associated with the resource. + type: string + example: icon-url.png + title_full: + description: The full title of the resource. This is a generated field + type: string + example: Sample Database.Sample Schema.Sample Table + title_cased: + description: The title in a cased format. + type: string + example: sampleTable + definition: + description: The documentation of the resource, written in Mark Down format. + type: string + format: markdown + definition_version: + description: The version of the resource's documentation. + type: integer + example: 1 + multiplayers: + description: >- + List of members who have opened or worked with the resource + recently. + type: array + items: + type: string + example: + - 429693a2-a5e7-4525-b413-ece5e96bc5b3 + - f71585fa-251c-4102-8d81-c97c57c8d435 + multiplayer_last_modified_by: + description: The last member who modified this resource. + type: string + example: 429693a2-a5e7-4525-b413-ece5e96bc5b3 + multiplayer_last_modified: + description: The timestamp when the multiplayer was last modified in UTC format. + type: string + format: date-time + example: '2023-08-16T23:12:53.245507Z' + owners: + description: List of owner IDs for the resource. + type: array + items: + type: string + example: + - 429693a2-a5e7-4525-b413-ece5e96bc5b3 + - f71585fa-251c-4102-8d81-c97c57c8d435 + owners_groups: + description: List of owner group IDs for the resource. + type: array + items: + type: string + example: + - 3b2c7185-fb5d-4d94-89d4-3dae08e093a9 + collections: + description: >- + List of IDs representing the collection(s) that the resource has + been added to. + type: array + items: + type: string + example: + - e8ac09ed-e51e-4e61-8eaf-59942c98c260 + workspace_id: + description: The ID of the workspace. + type: string + example: f71585fa-251c-4102-8d81-c97c57c8d435 + total_usage: + description: The total usage count for the resource. + type: integer + example: 483 + published: + description: Indicates if the resource is published and can be seen by Viewers. + type: boolean + example: false + archived: + description: Indicates if the resource is deleted. + type: boolean + example: false + pii: + description: >- + Indicates if the resource contains Personally Identifiable + Information (PII). Values can be -
  • True
  • False
+ type: boolean + example: true + verified: + description: >- + Indicates if the resource is verified. Values can be -
  • True +
  • False
+ type: boolean + example: false + url: + description: The URL associated with the resource. + type: string + example: https://example.com/sample-table + parent: + description: The parent resource's ID. + type: string + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + children_count: + description: The count of children entities of the resource. + type: integer + example: 2 + integration: + description: The integration ID associated with the resource. + type: string + example: ca529385-fbc9-4934-afae-e372affe795b + external_updated_at: + description: The timestamp of the last update for the resource in the source. + type: string + format: date-time + example: '2023-08-16T23:12:53.245507Z' + internal_usage: + description: The internal usage count for the resource. + type: integer + example: 3 + internal_users: + description: List of internal user IDs for the resource. + type: array + items: + type: string + example: + - 04654d61-4f64-4f08-b697-3915b5137c49 + external_users: + description: >- + List of external user IDs for the resource extracted from the + integration. + type: array + items: + type: string + example: + - 33733f42-8ff7-460b-9e20-50a2133d3bb0 + external_usage: + description: >- + The external usage count for the resource extracted from the source + source. This is what is used to calculate Popularity of a resource. + type: integer + example: 38 + databuilder_id: + description: >- + The databuilder ID associated with the resource. This is a generated + field. + type: string + example: b818280a-ae1a-43bf-90d3-dbccf812b025.x68605bd2 + search_metadata: + description: Metadata related to indexing the resource for optimizing search. + type: object + example: + cluster: glue + database: awsdatacatalog + schema: secoda-glue + type: table + sources: + description: >- + List of other integrations associated with the resource. For + example, if a description is pulled in from DBT for a Snowflake + table, this field will reference DBT. + type: array + items: + type: string + example: + - 8a3af948-026c-45d6-983d-3873f6156f86 + subscribers: + description: List of User IDs who subscribe to the resource. + type: array + items: + type: string + example: + - 33733f42-8ff7-460b-9e20-50a2133d3bb0 + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + teams: + description: List of team IDs associated with the resource. + type: array + items: + type: string + example: + - 8680f886-97d2-4f4e-92c8-c80b46a3017d + stale: + description: >- + Indicates if the resource is stale. This means this resource no + longer exists in the source, as of the last extraction. + type: boolean + example: false + current_user_permissions: + description: Permissions of the current user for this resource. + type: object + properties: + read: + type: boolean + example: true + write: + type: boolean + example: true + execute: + type: boolean + example: false + properties: + description: A list of custom properties associated with the resource. + type: object + properties: + custom: + type: array + items: + $ref: '#/components/schemas/CustomProperties' + BaseResourceRequest: + type: object + properties: + tags: + description: A list of tag IDs associated with the resources. + type: array + items: + type: string + example: + - 04654d61-4f64-4f08-b697-3915b5137c49 + - 429693a2-a5e7-4525-b413-ece5e96bc5b3 + title: + description: The title of the resource. + type: string + example: Sample Title + description: + description: A description of the resource. + type: string + example: This is a description for a sample table. + integration: + description: The integration ID associated with the resource, if one exists. + type: string + example: ca529385-fbc9-4934-afae-e372affe795b + definition: + description: Mark down documentation to be added to the resource. + type: string + example: \n# Castae illa\n\n## Finemque aequore\n\nLorem markdownum motus + parent: + description: >- + The ID of the parent resource. Please keep the resource heirarchy in + mind when setting the parent. + type: string + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + pii: + description: >- + Indicates whether the resource contains personally identifiable + information (PII). Values can be -
  • True
  • False
+ type: boolean + example: false + verified: + description: >- + Indicates whether the resource has been set as verified. Values can + be -
  • True
  • False
+ type: boolean + example: true + published: + description: >- + Indicates if the resource is visible to viewers or not. Values can + be -
  • True
  • False
+ type: boolean + example: true + teams: + description: A list of team IDs that the resource belongs to. + type: array + items: + type: string + example: + - e8ac09ed-e51e-4e61-8eaf-59942c98c260 + - cca810f1-11c1-4117-bc23-20ae8020897f + owners: + description: A list of owner user IDs for the resource. + type: array + items: + type: string + example: + - 33733f42-8ff7-460b-9e20-50a2133d3bb0 + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + collections: + description: A list of collection IDs the resource belongs to. + type: array + items: + type: string + example: + - 3b2c7185-fb5d-4d94-89d4-3dae08e093a9 + subscribers: + description: >- + A list of user IDs that have been subscribed to the resource. Anyone + subscribed will be notified of any changes. + type: array + items: + type: string + example: + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + properties: + description: A list of custom properties associated with the resource. + type: object + properties: + custom: + type: array + items: + $ref: '#/components/schemas/CustomProperties' + BasePatchRequest: + type: object + properties: + tags: + description: A list of tag IDs associated with the resources. + type: array + items: + type: string + example: + - 04654d61-4f64-4f08-b697-3915b5137c49 + - 429693a2-a5e7-4525-b413-ece5e96bc5b3 + description: + description: A description of the resource. + type: string + example: This is a description for a sample table. + definition: + description: Mark down documentation to be added to the resource. + type: string + example: \n# Castae illa\n\n## Finemque aequore\n\nLorem markdownum motus + pii: + description: >- + Indicates whether the resource contains personally identifiable + information (PII). Values can be -
  • True
  • False
+ type: boolean + example: false + verified: + description: >- + Indicates whether the table has been set as verified. Values can be + -
  • True
  • False
+ type: boolean + example: true + published: + description: >- + Indicates if the resource is visible to viewers or not. Values can + be -
  • True
  • False
+ type: boolean + example: true + teams: + description: A list of team IDs that the resource belongs to. + type: array + items: + type: string + example: + - e8ac09ed-e51e-4e61-8eaf-59942c98c260 + - cca810f1-11c1-4117-bc23-20ae8020897f + owners: + description: A list of owner user IDs for the resource. + type: array + items: + type: string + example: + - 33733f42-8ff7-460b-9e20-50a2133d3bb0 + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + collections: + description: A list of collection IDs the resource belongs to. + type: array + items: + type: string + example: + - 3b2c7185-fb5d-4d94-89d4-3dae08e093a9 + subscribers: + description: >- + A list of the added user IDs that have been subscribed to the + resource. Anyone subscribed will be notified of any changes. + type: array + items: + type: string + example: + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + properties: + description: A list of custom properties to add to the resource. + type: object + properties: + custom: + type: array + items: + $ref: '#/components/schemas/CustomProperties' + EventPropertyResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + type: + description: >- + The type of property associated with the event. Examples include + string, enum, integer, etc. + type: string + example: enum + enum: + description: >- + If the property type is enum, this field indicates the various + enum values. + type: string + example: red, green, yellow + is_required: + description: Set this to true if the property is required. + type: boolean + IntegrationsCreateNewIntegrationRequest: + type: object + properties: + name: + description: Represents the name of the integration data source or tool. + type: string + example: Sample Integration + type: + description: This indicates the type of integration (e.g., "custom"). + type: string + example: custom + teams: + description: >- + Indicates the teams associated with this integration. The access can + be edited in the UI. + type: array + items: + type: string + example: + - 4c0e07c0-306a-4f4e-8b2b-6a8d7a33d251 + - a5423e2e-93b8-4b2c-af3c-7b7f0eefea14 + credentials: + description: >- + If you are adding a custom integration, the value of this parameter + should always be empty {}. + type: object + example: {} + IntegrationsUploadMetadataCsvRequest: + type: object + properties: + file: + description: >- + The path to the CSV file containing your metadata and resources. The + format of the CSV file can be found + [here](https://docs.secoda.co/integrations/custom-integration/import-your-resources/create-your-csv). + type: string + format: binary + example: path/to/your/file.csv + IntegrationsUploadJsonlMetadataRequest: + type: object + required: + - resources_file + properties: + resources_file: + description: >- + The path to the your resources file. The expected formatting of this + file can be found + [here](https://docs.secoda.co/integrations/custom-integration/import-your-resources/create-your-jsonl-file). + type: string + format: binary + example: path/to/your/resources_file.jsonl + lineages_file: + description: >- + The path to the your lineages file. The expected formatting of this + file can be found + [here](https://docs.secoda.co/integrations/custom-integration/import-your-resources/create-your-jsonl-file). + type: string + format: binary + example: path/to/your/lineages_file.jsonl + LineageCreateNewLineageManuallyRequest: + type: object + properties: + from_entity: + description: Indicates the source of the resource data. + type: string + example: 7879886b-9e0e-4d02-8b37-c7d3c496a587 + to_entity: + description: >- + Points to the final destination of the resouce data through various + transformations and entities. + type: string + example: b500ef23-c9b4-4259-a87d-d77b8b588f06 + direction: + description: >- + Represents the flow of the resource data. Values can be -
  • + Upstream
  • Downstream
+ type: string + example: DOWNSTREAM + TagsCreateNewTagRequest: + type: object + properties: + description: + description: Indicates the description of the tag. + type: string + example: This is a sample tag. + name: + description: Indicates the name of the tag. + type: string + example: Sample Tag + color: + description: Defines the different colors of the tags. + type: string + example: '#4299E1' + TagsUpdateByIdRequest: + type: object + properties: + color: + description: Represents the color of the tags. + type: string + example: '#316650' + required: + - color + UsersCreateNewUserRequest: + type: object + properties: + first_name: + description: Indicates the first name of the user. + type: string + example: Sample + last_name: + description: Indicates the last name of the user. + type: string + example: User + email: + description: Indicates the email id of the user. + type: string + example: sample@sample.com + role: + description: >- + Indicates the role of the user. Values can be -
  • Admin
  • + Editor
  • Viewer
+ type: string + example: editor + _role: + description: >- + Indicates the role of the user. Values can be -
  • Admin
  • + Editor
  • Viewer
+ type: string + example: editor + UsersUpdateByIdRequest: + type: object + properties: + first_name: + description: Indicates the first name of the user. + type: string + example: Sample + last_name: + description: Indicates the last name of the user. + type: string + example: User + TeamsCreateNewTeamRequest: + type: object + properties: + description: + description: Description of the team. + type: string + example: This is the best team in this workspace. + name: + description: Indicates the name of the team. + type: string + example: Test Team + icon: + description: Indicates the icon of the team. + type: string + example: 😀 + type: + description: >- + Indicates the type of the team. If a team is Open, this means it is + Public and can be joined by anyone in the workspace. If a team is + Closed, the team is private and only admins can invite members into + the team. Values can be -
  • OPEN
  • CLOSED
+ type: string + example: OPEN + sidebar_settings: + description: >- + Use these settings to toggle which pages should be shown to team + members in the side bar. + type: object + properties: + home: + description: Whether to show the home page to team members. + type: boolean + example: true + catalog: + description: Whether to show the catalog page to team members. + type: boolean + example: true + documents: + description: Whether to show the documents page to team members. + type: boolean + example: true + questions: + description: Whether to show the questions page to team members. + type: boolean + example: true + dictionary: + description: Whether to show the dictionary page to team members. + type: boolean + example: true + collections: + description: Whether to show the collections page to team members. + type: boolean + example: true + TeamsUpdateByIdRequest: + type: object + properties: + name: + description: Indicates the name of the team. + type: string + example: New Team + UserGroupsCreateNewGroupRequest: + type: object + properties: + description: + description: Description of the group. + type: string + example: Users responsible for keeping documentation up to date. + name: + description: Indicates the name of the group. + type: string + example: Data Stewards + icon: + description: Indicates the icon of the team. + type: string + example: 😀 + users: + description: A list of user IDs that are part of this group. + type: array + example: + - 33733f42-8ff7-460b-9e20-50a2133d3bb0 + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + items: + type: string + UserGroupsUpdateByIdRequest: + type: object + properties: + name: + description: Indicates the name of the group. + type: string + example: New Group + QuestionsCreateNewReplyRequest: + type: object + properties: + definition: + description: The answer of the reply + type: string + example: Replying to the question + accepted_answer: + description: >- + Indicates if the answer is accepted or not. Values can be -
    +
  • True
  • False
+ type: boolean + example: false + parent: + description: The unique identifier of the parent question + type: string + example: 7795133a-6e36-4ef2-b95a-664babb99b71 + owners: + type: array + items: + description: Defines the UUIDs that are the owners of the replies. + type: string + example: 33733f42-8ff7-460b-9e20-50a2133d3bb0 + QuestionsEditReplyByIdRequest: + type: object + properties: + definition: + description: The updated definition for the reply + type: string + example: Changing the answer. + accepted_answer: + description: >- + Indicates if the answer is accepted or not. Values can be -
    +
  • True
  • False
+ type: boolean + example: false + EventCategoriesCreateNewCategoryRequest: + type: object + properties: + title: + description: The name of the category. + type: string + example: Landing Page + integration: + description: The UUID of the associated integration. + type: string + teams: + description: The teams the category belongs to. + type: array + example: + - e8ac09ede51e4e618eaf59942c98c260 + items: + description: >- + WARNING: Missing items property in array schema. Missing items + property has been filled with this AnyType schema. + IntegrationsListActiveResponse: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/IntegrationResponse' + DatabasesListAllActiveResponse: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/BaseResponse' + SchemasListWithFilterResponse: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/BaseResponse' + TablesListTablesByFilterResponse: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/TableResponse' + ColumnsGetListResponse: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/ColumnResponse' + DashboardGroupsListResponse: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/DashboardGroupResponse' + DashboardsListWithFilterResponse: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/DashboardResponse' + ChartsListResponse: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/ChartResponse' + LineageListObjectsWithFilteringResponse: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/LineageResponse' + TagsListResponse: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/TagsResponse' + UsersListResponse: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/UsersResponse' + TeamsGetListResponse: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/TeamsResponse' + UserGroupsListResponse: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/UserGroupResponse' + TermsGetListByTitleResponse: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/TermResponse' + CollectionsListCollectionsByTitleResponse: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/CollectionResponse' + QuestionsGetListResponse: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/QuestionResponse' + QuestionsListRepliesResponse: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/ReplyResponse' + DocumentsListDocumentsByTitleResponse: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/DocumentResponse' + QueriesGetListResponse: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/QueryResponse' + MonitorsListMonitorsResponse: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/MonitorResponse' + MonitorsListIncidentsResponse: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/IncidentResponse' + MonitorsListMeasurementsResponse: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/MeasurementResponse' + EventCategoriesListResponse: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/BaseResponse' + EventsListEventsByFilteringResponse: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/BaseResponse' + EventPropertiesListEventPropertiesResponse: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/EventPropertyResponse' +security: + - ApiKeyAuth: [] diff --git a/sdks/db/fixed-specs/sellsy-fixed-spec.yaml b/sdks/db/fixed-specs/sellsy-fixed-spec.yaml new file mode 100644 index 000000000..29bb8eb54 --- /dev/null +++ b/sdks/db/fixed-specs/sellsy-fixed-spec.yaml @@ -0,0 +1,38914 @@ +openapi: 3.0.2 +info: + title: Sellsy API + description: >- + Find out the [Postman collections](dist/postman/CollectionsApiV2.json) with + the required [environment variables](dist/postman/Environment.json) + + + Find out the [Changelog](changelog.html) + + # Errors + + + The errors are returned in JSON with the following format: + + ``` + + { + "error": { + "code": HTTP_CODE, + "message": "Error message", + "context": "Error context code" + "details": { + "FIELD": "Error message" + } + } + + ``` + + + The `details` field can contain an object that details the error. It is used + in particular during validation to return the invalid fields + + + + | HTTP Code | Description | + + | ------------- | ------------- | + + | 400 | Validation and logic errors | + + | 401 | Authentification errors | + + | 402 | Quotas limit reached or limit of feature reached on your + current plan | + + | 403 | Insufficient privileges | + + | 404 | Page not found | + + | 409 | A request conflicts with the current state of the server | + + | 413 | Payload is too large | + + | 429 | Quotas of requests reached (See quotas section) | + + | 5xx | Server errors | + + + + # Versioning + + + This API is versioned, the modifications carried out on this one should not + generate regression if you respect the following recommendations: + + + - A new field can be added, your code must authorize this + + - A new error code can be added, your code must deal with unknown errors + + - On lists, values can be added + + - A missing field is not equal to `null` + + + To target a specific **major** version of the API, just precise the number + in the url: `{url}/v2/{endpoint}` + + + # Quotas + + + A limit on the number of requests per second, minute, day and/or month is + applied to each user account. + + + A 429 error will be sent if at least one of the quotas has reached zero. + + + You can know your remaining quota through the headers of the response: + + - `X-Quota-Remaining-By-Second` + + - `X-Quota-Remaining-By-Minute` + + - `X-Quota-Remaining-By-Day` + + - `X-Quota-Remaining-By-Month` + + + The quotas are counted on each request, even in the event of an error. On + the scripts generating a lot of requests, it is therefore necessary to check + these values before returning requests. + + + A new 402 error code has created. This error appears when you try to create + ressources like a pipeline or custom fields and the quota limit has been + reached. + + + # Pagination on list and search requests + + On list and search requests, the pagination offset can be typed as either an + int or a string, depending on the pagination method used. + + + We provide 2 ways to interact with the pagination. + + ### 1. "Seek" method + + The offset value represents the LAST object in the response list, it's the + default one used. + + + **We recommend to use the "seek" method, it has better performance and + includes optimizations.** + + ``` + + GET {{url}}/comments?limit=1 { + "data": [ + { + "id": 1 + } + ], + "pagination": { + "limit": 1, + "count": 1, + "total": 13, + "offset": "WyIxMSJd" + } + } + + --- + + GET {{url}}/comments?limit=1&offset=WyIxMSJd { + "data": [ + { + "id": 2 + } + ], + "pagination": { + "limit": 1, + "count": 1, + "total": 13, + "offset": "SoIxNyJd" + } + } + + ``` + + ### 2. Numeric offset method + + The second method, more classical, where the offset corresponds to the + number of the result page, it must be explicitly specified in the first + request. + + + **We have applied a limit to the first 100 000 results on this method, for + performance purposes.** + + ``` + + GET {{url}}/comments?limit=1&offset=0 { + "data": [ + { + "id": 1 + } + ], + "pagination": { + "limit": 1, + "count": 1, + "total": 13, + "offset": 0 + } + } + + --- + + GET {{url}}/comments?limit=1&offset=1 { + "data": [ + { + "id": 2 + } + ], + "pagination": { + "limit": 1, + "count": 1, + "total": 13, + "offset": 1 + } + } + + ``` + + # Embed objects + + Additional objects can be included in the result, and are specified on each + endpoint under the `embed` parameter. Those objects may require different + OAuth2 scopes than the main endpoint, and will automatically be `null` if + the scopes are not respected. Usually, the scopes are listed in the + description of the parameter. + version: 2.126.0 + contact: + email: api@sellsy.com + x-logo: + url: ./resources/sellsy.png + x-konfig-ignore: + object-with-no-properties: true + potential-incorrect-type: true +servers: + - url: https://api.sellsy.com/v2 +tags: + - description: Invoices documents + name: Invoices + - description: Opportunity Management + name: Opportunities + - name: Credit Notes + - description: Client, prospect and supplier management + name: Companies + - description: Individuals management + name: Individuals + - description: Estimates documents + name: Estimates + - description: Orders managemenm + name: Orders + - description: Contacts management + name: Contacts + - description: Api management + name: API Management + - description: Custom Activities management + name: Custom Activities + - description: Items management + name: Items + - description: Files endpoint + name: Files + - description: Staffs management + name: Staffs + - description: Taxes management + name: Taxes + - description: Accounting management + name: Accounting + - name: Subscriptions + - description: Calendar management + name: Calendar + - description: Document models management + name: Document Models + - description: Emails management + name: Emails + - description: Notifications management + name: Notifications + - description: Payments management + name: Payments + - description: Tasks management + name: Tasks + - description: Webhooks + name: Webhooks + - description: Comments + name: Comments + - description: Discount Including Taxes + name: Discount Including Taxes + - description: PhoneCalls management + name: PhoneCalls + - description: Rate categories management + name: Rate Categories + - description: CRM Activity management + name: CRM Activities + - description: Custom Fields management + name: Custom Fields + - description: Ocr management + name: Purchase (OCR) + - description: Activities management + name: Activities + - description: Invoicing conformities management + name: Conformities + - description: Smart-tags management + name: Smart Tags + - description: Batch requests + name: Batch + - description: Countries management + name: Countries + - description: Currency management + name: Currencies + - description: Document layouts on the account + name: Document Layouts + - description: Invoices and credit notes on the account + name: Documents + - description: Fiscal year endpoint + name: Fiscal Year + - description: Language management + name: Language + - description: Listings management + name: Listings + - description: Quotas management + name: Quotas + - description: Units management + name: Units + - name: Subscription + - name: Declinations + - description: Corporations management + name: Corporations + - description: Electronic signature management + name: Electronic Signature + - description: Imports management + name: Imports + - description: Marketing management + name: Marketing + - description: Masquerade management + name: Masquerade + - description: Objectives management + name: Objectives + - description: Onboarding Management + name: Onboarding + - description: Search documents + name: Search Documents + - description: Two factor authentication management + name: Two Factor Authentication +paths: + /comments: + get: + tags: + - Comments + summary: Comments List + operationId: Comments_getList + security: + - oauth2: + - comments.read + description: Get a list of comments + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/commentItemEmbed' + - $ref: '#/components/parameters/commentOrder' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/CommentsGetListResponse' + post: + tags: + - Comments + summary: Create a comment + operationId: Comments_createComment + security: + - oauth2: + - comments.write + description: Create a comment + parameters: + - $ref: '#/components/parameters/commentItemEmbed' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/verify' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CommentCreateItem' + responses: + '201': + description: Comment created + content: + application/json: + schema: + $ref: '#/components/schemas/CommentItem' + '204': + $ref: '#/components/schemas/Verify' + /comments/{id}: + parameters: + - description: Comment id + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Comments + summary: Get comment details + operationId: Comments_getDetails + security: + - oauth2: + - comments.read + description: Fetch comment details + parameters: + - $ref: '#/components/parameters/commentItemEmbed' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Comment fetched + content: + application/json: + schema: + $ref: '#/components/schemas/CommentItem' + put: + tags: + - Comments + summary: Update a comment + operationId: Comments_updateComment + security: + - oauth2: + - comments.write + description: Udate a comment + parameters: + - $ref: '#/components/parameters/commentItemEmbed' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/verify' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CommentUpdateItem' + responses: + '200': + description: Comment updated + content: + application/json: + schema: + $ref: '#/components/schemas/CommentItem' + '204': + $ref: '#/components/schemas/Verify' + delete: + tags: + - Comments + summary: Delete a comment + operationId: Comments_removeComment + security: + - oauth2: + - comments.write + description: Remove a comment + responses: + '204': + description: Comment deleted + /comments/search: + post: + tags: + - Comments + summary: Search comments + operationId: Comments_searchComments + security: + - oauth2: + - comments.read + description: Search through comments + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/commentItemEmbed' + - $ref: '#/components/parameters/commentOrder' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CommentFilters' + responses: + '200': + description: Comments list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/CommentsSearchCommentsResponse' + /companies: + post: + tags: + - Companies + summary: Create a company + operationId: Companies_createNewCompany + security: + - oauth2: + - companies.write + description: Create a company + parameters: + - description: > + Example : `embed[]=invoicing_contact&embed[]=cf.1542&embed[]=acl` +
Additional object included in the result.

Each + embed object may require different oauth2 scopes than the main + endpoint:
- opportunities: `opportunities.read`
- + main_contact, dunning_contact, invoicing_contact: `contacts.read`
- estimates,invoices,orders,deliveries: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is + limited to the 20 first results sorted in alphabetical order.
+ in: query + name: embed + schema: + type: array + items: + oneOf: + - title: standards + description: The standards embeds + type: string + enum: + - invoicing_address + - delivery_address + - main_contact + - dunning_contact + - invoicing_contact + - opportunities + - estimates + - invoices + - orders + - deliveries + - acl + - smart_tags + - title: custom-fields + description: >- + Each custom field value can be requested as an embed object + by passing the custom field identifier in the query, + prefixed with the "cf." string. Such as `embed[]=cf.123` for + the value of the custom field of identifier `123` + type: string + pattern: ^cf.\d+$ + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/verify' + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/CompaniesCreateNewCompanyRequest' + responses: + '201': + description: Company created + content: + application/json: + schema: + $ref: '#/components/schemas/CompaniesCreateNewCompanyResponse' + '204': + $ref: '#/components/schemas/Verify' + get: + tags: + - Companies + summary: Companies List + operationId: Companies_getList + security: + - oauth2: + - companies.read + description: Get a list of companies + parameters: + - description: The order field + in: query + name: order + schema: + type: string + example: id + enum: + - name + - id + - created_at + - updated_at + - $ref: '#/paths/~1companies/post/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Companies list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/CompaniesGetListResponse' + /companies/search: + post: + tags: + - Companies + summary: Search companies + operationId: Companies_searchCompanies + security: + - oauth2: + - companies.read + description: Search companies + parameters: + - $ref: '#/paths/~1companies/get/parameters/0' + - $ref: '#/paths/~1companies/post/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CompaniesSearchCompaniesRequest' + responses: + '200': + description: Companies list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/CompaniesSearchCompaniesResponse' + /companies/favourite-filters: + get: + tags: + - Companies + summary: List companies favourite filters + operationId: Companies_listFavouriteFilters + security: + - oauth2: + - companies.read + description: > + List favourite filters for faster access to specific companies
> + Favourite filters can be applied directly to company search endpoints +
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + $ref: '#/components/schemas/CompaniesListFavouriteFiltersResponse' + /companies/{id}: + parameters: + - description: Company id + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Companies + summary: Get Company + operationId: Companies_getInformations + security: + - oauth2: + - companies.read + description: Fetch company informations + parameters: + - $ref: '#/paths/~1companies/post/parameters/0' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Company fetched + content: + application/json: + schema: + $ref: >- + #/paths/~1companies/post/responses/201/content/application~1json/schema + put: + tags: + - Companies + summary: Update Company + operationId: Companies_updateInformation + security: + - oauth2: + - companies.write + description: Update Company informations + parameters: + - $ref: '#/paths/~1companies/post/parameters/0' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/verify' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CompaniesUpdateInformationRequest' + responses: + '200': + description: Company updated + content: + application/json: + schema: + $ref: >- + #/paths/~1companies/post/responses/201/content/application~1json/schema + '204': + $ref: '#/components/schemas/Verify' + delete: + tags: + - Companies + summary: Delete company + operationId: Companies_removeCompany + security: + - oauth2: + - companies.write + description: Remove a company + responses: + '204': + description: Company deleted + /companies/{companyId}/addresses: + parameters: + - description: Company id + schema: + type: integer + name: companyId + in: path + required: true + get: + tags: + - Companies + summary: Get company addresses + operationId: Companies_getAddresses + security: + - oauth2: + - companies.read + responses: + '200': + description: Addresses fetched + content: + application/json: + schema: + $ref: '#/components/schemas/CompaniesGetAddressesResponse' + post: + tags: + - Companies + summary: Create a company address + operationId: Companies_addAddress + security: + - oauth2: + - companies.write + parameters: + - $ref: '#/components/parameters/verify' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddressCreate' + responses: + '201': + description: Address created + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + '204': + $ref: '#/components/schemas/Verify' + /companies/{companyId}/addresses/{id}: + parameters: + - description: Company id + schema: + type: integer + name: companyId + in: path + required: true + - description: Address id + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Companies + summary: Get a company address + operationId: Companies_getAddress + security: + - oauth2: + - companies.read + responses: + '200': + description: Address fetched + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + put: + tags: + - Companies + summary: Update a company address + operationId: Companies_updateAddress + security: + - oauth2: + - companies.write + parameters: + - $ref: '#/components/parameters/verify' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddressUpdate' + responses: + '200': + description: Address updated + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + '204': + $ref: '#/components/schemas/Verify' + delete: + tags: + - Companies + summary: Delete a company address + operationId: Companies_deleteAddress + security: + - oauth2: + - companies.write + responses: + '204': + description: Address deleted + /companies/{id}/payments: + parameters: + - description: Company identifier + schema: + type: integer + name: id + in: path + required: true + post: + tags: + - Companies + summary: Record payment on a company + operationId: Companies_recordPayment + security: + - oauth2: + - companies.read + - payments.write + description: > + Record a payment on a company
This route is available + in open beta.
Please note that its specifications may be + subject to significant and breaking changes in the coming weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreatePayment' + responses: + '201': + description: Payment created + content: + application/json: + schema: + $ref: '#/components/schemas/Payment' + /companies/{id}/contacts: + parameters: + - description: Company id + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Companies + summary: Get a company contacts + operationId: Companies_getContacts + security: + - oauth2: + - companies.read + - contacts.read + parameters: + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/contactEmbed' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List fetched + content: + application/json: + schema: + $ref: '#/components/schemas/CompaniesGetContactsResponse' + /companies/{companyId}/contacts/{contactId}: + parameters: + - description: Company id + schema: + type: integer + name: companyId + in: path + required: true + - description: Contact id + schema: + type: integer + name: contactId + in: path + required: true + post: + tags: + - Companies + summary: Link a contact at one company + operationId: Companies_linkContact + security: + - oauth2: + - companies.write + - contacts.read + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LinkCompanyContact' + responses: + '200': + description: Contact already linked + '201': + description: Contact linked + put: + tags: + - Companies + summary: Update a contact of company link + operationId: Companies_updateContactOfCompanyLink + security: + - oauth2: + - companies.write + - companies.read + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateLinkCompanyContact' + responses: + '200': + description: Contact updated + delete: + tags: + - Companies + summary: Unlink a contact of company + operationId: Companies_unlinkContact + security: + - oauth2: + - companies.write + - contacts.read + responses: + '204': + description: Contact unlinked + /companies/{id}/custom-fields: + parameters: + - description: Company id + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Companies + summary: Company custom fields List + operationId: Companies_getCustomFieldsList + security: + - oauth2: + - companies.read + - custom-fields.read + description: Get list of custom fields for a company + parameters: + - description: The order field + in: query + name: order + schema: + type: string + example: id + enum: + - id + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List fetched + content: + application/json: + schema: + $ref: '#/components/schemas/CompaniesGetCustomFieldsListResponse' + put: + tags: + - Companies + summary: Update Company custom fields + operationId: Companies_updateCustomFields + security: + - oauth2: + - companies.write + - custom-fields.write + description: Update list of custom fields for a company + parameters: + - $ref: '#/components/parameters/verify' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CompaniesUpdateCustomFieldsRequest' + responses: + '200': + description: Company's custom fields updated + '204': + $ref: '#/components/schemas/Verify' + /companies/{companyId}/smart-tags: + parameters: + - description: Company id + schema: + type: integer + name: companyId + in: path + required: true + get: + tags: + - Companies + summary: Company smart tags List + operationId: Companies_getSmartTagsList + security: + - oauth2: + - companies.read + - smart-tags.read + description: Get list of smart tags for a company + responses: + '200': + description: List fetched + content: + application/json: + schema: + $ref: '#/components/schemas/CompaniesGetSmartTagsListResponse' + post: + tags: + - Companies + summary: Link smart tags to company + operationId: Companies_linkSmartTags + security: + - oauth2: + - smart-tags.write + - companies.write + description: Link a list of smart tag to a company + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CompaniesLinkSmartTagsRequest' + responses: + '200': + description: Smart tag linked + content: + application/json: + schema: + $ref: '#/components/schemas/CompaniesLinkSmartTagsResponse' + /companies/{companyId}/files: + parameters: + - description: Company id + name: companyId + in: path + schema: + type: integer + required: true + post: + tags: + - Companies + summary: Attach file to a company + operationId: Companies_attachFileToCompany + security: + - oauth2: + - companies.read + - files.write + description: >- + Attach file to a company
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + responses: + '201': + description: File uploaded + content: + application/json: + schema: + $ref: '#/components/schemas/FileOuput' + get: + tags: + - Companies + summary: List directories and files of a company + operationId: Companies_listFiles + security: + - oauth2: + - companies.read + - files.read + description: >- + List directories and files attached to a company
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ responses: + '200': + description: List fetched + content: + application/json: + schema: + $ref: '#/components/schemas/CompaniesListFilesResponse' + /contacts/{id}/companies: + get: + tags: + - Contacts + summary: Companies contact + operationId: Contacts_getCompanies + security: + - oauth2: + - companies.read + - contacts.read + description: Get the companies of a contact + parameters: + - description: Contact id + schema: + type: integer + name: id + in: path + required: true + responses: + '200': + description: Companies list linked to the contact + content: + application/json: + schema: + $ref: '#/components/schemas/ContactsGetCompaniesResponse' + /smart-tags/{linkedtype}/autocomplete: + parameters: + - description: Linked type of smart tags searched + schema: + type: string + enum: + - company + - contact + - individual + name: linkedtype + in: path + required: true + - description: Word for the research of autocomplete + schema: + type: string + name: q + in: query + required: true + get: + tags: + - Smart Tags + summary: Smart tags autocomplete + operationId: SmartTags_autocompleteGet + security: + - oauth2: + - smart-tags.read + description: Autocompled for smart tags + responses: + '200': + description: Smart tags find + content: + application/json: + schema: + $ref: '#/components/schemas/SmartTagsAutocompleteGetResponse' + /smart-tags/{id}: + parameters: + - description: Smart tags ID + schema: + type: integer + name: id + in: path + required: true + delete: + tags: + - Smart Tags + summary: Delete a smart tags + operationId: SmartTags_deleteSmartTag + security: + - oauth2: + - smart-tags.write + description: >- + Delete a smart tags

Note that deleting a smart tags will also + remove it's presence on any object he was linked to.
To unlink a + smart-tag (without deleting it), please use the "Link smart-tags to ..." + endpoint
+ responses: + '200': + description: Smart tags deleted + /custom-fields: + get: + tags: + - Custom Fields + summary: Custom Fields List + operationId: CustomFields_getList + security: + - oauth2: + - custom-fields.read + description: Get a list of custom fields + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Custom fields fetched + content: + application/json: + schema: + $ref: '#/components/schemas/CustomFieldsGetListResponse' + /custom-fields/{id}: + parameters: + - description: Custom field id + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Custom Fields + summary: Get custom field + operationId: CustomFields_getInformation + security: + - oauth2: + - custom-fields.read + description: Fetch a custom field informations + parameters: + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Custom field fetched + content: + application/json: + schema: + $ref: '#/components/schemas/CustomFieldsGetInformationResponse' + /custom-fields/search: + post: + tags: + - Custom Fields + summary: Custom Fields Search + operationId: CustomFields_search + security: + - oauth2: + - custom-fields.read + description: Search custom fields + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomFieldsSearchRequest' + responses: + '200': + description: Custom fields fetched + content: + application/json: + schema: + $ref: '#/components/schemas/CustomFieldsSearchResponse' + /estimates: + get: + tags: + - Estimates + summary: Get all estimates + operationId: Estimates_getAll + security: + - oauth2: + - estimates.read + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/SaleEmbed' + - $ref: '#/components/parameters/SaleOrder' + responses: + '200': + description: Get a list of estimate + content: + application/json: + schema: + $ref: '#/components/schemas/EstimateCollection' + post: + tags: + - Estimates + summary: Create estimate + operationId: Estimates_createNewEstimate + security: + - oauth2: + - estimates.write + description: Create an estimate + parameters: + - $ref: '#/components/parameters/SaleEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/EstimateCreate' + examples: {} + responses: + '201': + description: Estimate created + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/EstimatesCreateNewEstimateResponse' + /estimates/search: + post: + tags: + - Estimates + summary: Search estimates + operationId: Estimates_searchEstimates + security: + - oauth2: + - estimates.read + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/SaleEmbed' + - $ref: '#/components/parameters/SaleOrder' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EstimateFilters' + responses: + '200': + description: Get a list of estimate + content: + application/json: + schema: + $ref: '#/components/schemas/EstimatesSearchEstimatesResponse' + '400': + description: Validation and logic errors + /estimates/{id}/custom-fields: + parameters: + - description: Estimate id + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Estimates + summary: Estimate custom fields List + operationId: Estimates_listCustomFields + security: + - oauth2: + - estimates.read + - custom-fields.read + description: Get list of custom fields for an Estimate + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List fetched + content: + application/json: + schema: + $ref: '#/components/schemas/EstimatesListCustomFieldsResponse' + put: + tags: + - Estimates + summary: Update Estimate custom fields + operationId: Estimates_updateCustomFields + security: + - oauth2: + - estimates.write + - custom-fields.write + description: Update list of custom fields for an estimate + parameters: + - $ref: '#/components/parameters/verify' + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/put/requestBody/content/application~1json/schema + responses: + '200': + description: Estimate's custom fields updated + '204': + $ref: '#/components/schemas/Verify' + /estimates/favourite-filters: + get: + tags: + - Estimates + summary: List estimates favourite filters + operationId: Estimates_listFavouriteFilters + security: + - oauth2: + - estimates.read + description: > + List favourite filters for faster access to specific estimates
> + Favourite filters can be applied directly to estimate search endpoints +
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + $ref: '#/components/schemas/EstimatesListFavouriteFiltersResponse' + /estimates/{id}: + parameters: + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/EstimateOneEmbed' + - description: Estimate id + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Estimates + summary: Get an estimate + operationId: Estimates_getById + security: + - oauth2: + - estimates.read + responses: + '200': + description: get an estimate + content: + application/json: + schema: + $ref: '#/components/schemas/EstimatesGetByIdResponse' + '404': + description: Estimate no found + put: + tags: + - Estimates + summary: Update estimate + operationId: Estimates_updateEstimate + security: + - oauth2: + - estimates.write + description: Update an estimate + parameters: + - $ref: '#/components/parameters/SaleEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/EstimateUpdate' + examples: {} + responses: + '200': + description: Estimate updated + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/EstimatesUpdateEstimateResponse' + /estimates/{id}/status: + parameters: + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/SaleEmbed' + - description: Estimate id + schema: + type: integer + name: id + in: path + required: true + put: + tags: + - Estimates + summary: Update estimate status + operationId: Estimates_updateStatus + security: + - oauth2: + - estimates.write + description: Update an estimate status + parameters: + - $ref: '#/components/parameters/SaleEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/EstimateStatusUpdate' + examples: {} + responses: + '200': + description: Estimate step updated + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/EstimatesUpdateStatusResponse' + /estimates/compute: + post: + tags: + - Estimates + summary: Compute an estimate + operationId: Estimates_computeEstimate + security: + - oauth2: + - estimates.read + description: Compute an estimate + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/EstimateCreate' + examples: {} + responses: + '200': + description: Estimate computed successfully + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/EstimateCompute' + /estimates/{documentId}/files: + parameters: + - description: Document id + name: documentId + in: path + schema: + type: integer + required: true + post: + tags: + - Estimates + summary: Attach file to an estimate + operationId: Estimates_attachFile + security: + - oauth2: + - estimates.read + - files.write + description: >- + Attach file to an estimate
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + responses: + '201': + description: File uploaded + content: + application/json: + schema: + $ref: '#/components/schemas/FileOuput' + get: + tags: + - Estimates + summary: List directories and files of an estimate + operationId: Estimates_getFilesForEstimate + security: + - oauth2: + - estimates.read + - files.read + description: >- + List directories and files attached to an estimate
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ responses: + '200': + description: List fetched + content: + application/json: + schema: + $ref: '#/components/schemas/EstimatesGetFilesForEstimateResponse' + /estimates/{id}/payments: + parameters: + - description: Estimate ID + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Estimates + summary: Estimate payments list + operationId: Estimates_getPaymentsList + security: + - oauth2: + - estimates.read + - payments.read + description: >- + Get list of payments for an estimate
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '200': + description: Payments list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/EstimatesGetPaymentsListResponse' + /estimates/{documentId}/payments/{paymentId}: + parameters: + - description: Estimate identifier + name: documentId + in: path + required: true + schema: + type: integer + - description: Payment identifier + name: paymentId + in: path + required: true + schema: + type: integer + post: + tags: + - Estimates + summary: Link payment to estimate + operationId: Estimates_linkPaymentToEstimate + security: + - oauth2: + - estimates.write + - payments.write + description: > + Link a payment to an estimate
This route is available + in open beta.
Please note that its specifications may be + subject to significant and breaking changes in the coming weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LinkPaymentToDocument' + responses: + '201': + description: Payments list attached to the estimate + content: + application/json: + schema: + $ref: '#/components/schemas/EstimatesLinkPaymentToEstimateResponse' + delete: + tags: + - Estimates + summary: Unlink payment from estimate + operationId: Estimates_unlinkPayment + security: + - oauth2: + - estimates.write + - payments.write + description: > + Unlink a payment from an estimate
This route is + available in open beta.
Please note that its specifications may + be subject to significant and breaking changes in the coming + weeks.
+ responses: + '204': + description: Payment unlinked + /estimates/{id}/smart-tags: + parameters: + - description: Estimate ID + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Estimates + summary: Estimate smart-tags list + operationId: Estimates_getSmartTagsList + security: + - oauth2: + - estimates.read + - smart-tags.read + description: Get list of smart-tags for an estimate + responses: + '200': + description: Smart-tags list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/EstimatesGetSmartTagsListResponse' + post: + tags: + - Estimates + summary: Link smart tags to estimate + operationId: Estimates_linkSmartTags + security: + - oauth2: + - estimates.write + - smart-tags.write + description: Link a list of smart-tags to an estimate + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/post/requestBody/content/application~1json/schema + responses: + '200': + description: Smart-tags list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/EstimatesLinkSmartTagsResponse' + /estimates/{estimateId}/primes/{primeId}: + parameters: + - description: Estimate identifier + schema: + type: integer + name: estimateId + in: path + required: true + - description: Prime identifier + schema: + type: integer + name: primeId + in: path + required: true + post: + tags: + - Estimates + summary: Link prime to estimate + operationId: Estimates_linkPrimeToEstimate + security: + - oauth2: + - primes.read + - estimates.write + description: > + Link a prime to an estimate
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesDocumentInput' + responses: + '201': + description: Prime linked + '403': + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + deprecated: true + delete: + tags: + - Estimates + summary: Unlink a prime from an estimate + operationId: Estimates_unlinkPrime + security: + - oauth2: + - primes.read + - estimates.write + description: > + Unlink a prime from an estimate
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '204': + description: Prime unlinked + '403': + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + '404': + description: Requested prime was not applied on the document + deprecated: true + /estimates/{estimateId}/discount-incl-taxes/{discountId}: + parameters: + - description: Estimate identifier + schema: + type: integer + name: estimateId + in: path + required: true + - description: Discount including taxes identifier + schema: + type: integer + name: discountId + in: path + required: true + post: + tags: + - Estimates + summary: Link discount including taxes to estimate + operationId: Estimates_linkDiscountIncludingTaxes + security: + - oauth2: + - discount-incl-taxes.read + - estimates.write + description: > + Link a discount including taxes to an estimate
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesDocumentInput' + responses: + '201': + description: Discount linked + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + delete: + tags: + - Estimates + summary: Unlink a discount including taxes from an estimate + operationId: Estimates_unlinkDiscountInclTaxes + security: + - oauth2: + - discount-incl-taxes.read + - estimates.write + description: > + Unlink a discount including taxes from an estimate
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ responses: + '204': + description: Discount unlinked + '403': + description: >- + Either Discounts on documents are not activated on your account or + you don't have the required privileges + '404': + description: Requested discount was not applied on the document + /orders: + get: + tags: + - Orders + summary: Get all orders + operationId: Orders_getAll + security: + - oauth2: + - orders.read + description: > + Get all orders
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/orderEmbed' + - $ref: '#/components/parameters/orderOrder' + responses: + '200': + description: Orders list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/OrdersGetAllResponse' + post: + tags: + - Orders + summary: Create an order + operationId: Orders_createOrder + security: + - oauth2: + - orders.write + description: > + Create an order
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ parameters: + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/orderEmbedOne' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrderCreate' + responses: + '201': + description: Order created + content: + application/json: + schema: + $ref: '#/components/schemas/OrderOne' + /orders/compute: + post: + tags: + - Orders + summary: Compute an order + operationId: Orders_calculateOrder + security: + - oauth2: + - orders.read + description: > + Compute an order
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrderCreate' + responses: + '200': + description: Order computed successfully + content: + application/json: + schema: + $ref: '#/components/schemas/OrderCompute' + /orders/{id}: + parameters: + - description: Order ID + schema: + type: integer + name: id + in: path + required: true + - $ref: '#/components/parameters/orderEmbedOne' + get: + tags: + - Orders + summary: Get order + operationId: Orders_getById + security: + - oauth2: + - orders.read + description: > + Get an order by ID
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '200': + description: Order fetched + content: + application/json: + schema: + $ref: '#/components/schemas/OrderOne' + put: + tags: + - Orders + summary: Update an order + operationId: Orders_updateById + security: + - oauth2: + - orders.write + description: > + Update a given order
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrderUpdate' + responses: + '200': + description: Order updated + content: + application/json: + schema: + $ref: '#/components/schemas/OrderOne' + /orders/search: + post: + tags: + - Orders + summary: Search orders + operationId: Orders_searchOrders + security: + - oauth2: + - orders.read + description: > + Search orders
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/orderEmbed' + - $ref: '#/components/parameters/orderOrder' + requestBody: + content: + application/json: + schema: + description: Orders filters + $ref: '#/components/schemas/OrderFilters' + responses: + '200': + description: Orders list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/OrdersSearchOrdersResponse' + /orders/{id}/payments: + parameters: + - description: Order ID + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Orders + summary: Order payments list + operationId: Orders_getPaymentsList + security: + - oauth2: + - orders.read + - payments.read + description: > + Get list of payments for an order
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '200': + description: Payments list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/OrdersGetPaymentsListResponse' + /orders/{id}/smart-tags: + parameters: + - description: Order id + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Orders + summary: Order smart tags List + operationId: Orders_listSmartTags + security: + - oauth2: + - orders.read + - smart-tags.read + description: Get list of smart tags for an order + responses: + '200': + description: List fetched + content: + application/json: + schema: + $ref: '#/components/schemas/OrdersListSmartTagsResponse' + post: + tags: + - Orders + summary: Link smart tags to an order + operationId: Orders_linkSmartTags + security: + - oauth2: + - smart-tags.write + - orders.write + description: Link a list of smart tag to an order + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/post/requestBody/content/application~1json/schema + responses: + '200': + description: Smart tag linked + content: + application/json: + schema: + $ref: '#/components/schemas/OrdersLinkSmartTagsResponse' + /orders/{id}/custom-fields: + parameters: + - description: Order id + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Orders + summary: Order custom fields List + operationId: Orders_getCustomFieldsList + security: + - oauth2: + - orders.read + - custom-fields.read + description: Get list of custom fields for an order + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List fetched + content: + application/json: + schema: + $ref: '#/components/schemas/OrdersGetCustomFieldsListResponse' + put: + tags: + - Orders + summary: Update Order custom fields + operationId: Orders_updateCustomFields + security: + - oauth2: + - orders.write + - custom-fields.write + description: Update list of custom fields for an order + parameters: + - $ref: '#/components/parameters/verify' + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/put/requestBody/content/application~1json/schema + responses: + '200': + description: Order's custom fields updated + '204': + $ref: '#/components/schemas/Verify' + /orders/favourite-filters: + get: + tags: + - Orders + summary: List orders favourite filters + operationId: Orders_listFavouriteFilters + security: + - oauth2: + - orders.read + description: > + List favourite filters for faster access to specific orders
> + Favourite filters can be applied directly to order search endpoints
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + $ref: '#/components/schemas/OrdersListFavouriteFiltersResponse' + /orders/{documentId}/payments/{paymentId}: + parameters: + - description: Order identifier + name: documentId + in: path + required: true + schema: + type: integer + - description: Payment identifier + name: paymentId + in: path + required: true + schema: + type: integer + post: + tags: + - Orders + summary: Link payment to order + operationId: Orders_linkPaymentToOrder + security: + - oauth2: + - orders.write + - payments.write + description: >- + Link a payment to an order
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LinkPaymentToDocument' + responses: + '201': + description: Payments list attached to the order + content: + application/json: + schema: + $ref: '#/components/schemas/OrdersLinkPaymentToOrderResponse' + delete: + tags: + - Orders + summary: Unlink payment from order + operationId: Orders_unlinkPayment + security: + - oauth2: + - orders.write + - payments.write + description: >- + Unlink a payment from an order
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '204': + description: Payment unlinked + /orders/{documentId}/files: + parameters: + - description: Document id + name: documentId + in: path + schema: + type: integer + required: true + post: + tags: + - Orders + summary: Attach file to an order + operationId: Orders_attachFileToOrder + security: + - oauth2: + - orders.read + - files.write + description: >- + Attach file to an order
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + responses: + '201': + description: File uploaded + content: + application/json: + schema: + $ref: '#/components/schemas/FileOuput' + get: + tags: + - Orders + summary: List directories and files of an orders + operationId: Orders_listFiles + security: + - oauth2: + - orders.read + - files.read + description: >- + List directories and files attached to an orders
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ responses: + '200': + description: List fetched + content: + application/json: + schema: + $ref: '#/components/schemas/OrdersListFilesResponse' + /orders/{orderId}/primes/{primeId}: + parameters: + - description: Order identifier + schema: + type: integer + name: orderId + in: path + required: true + - description: Prime identifier + schema: + type: integer + name: primeId + in: path + required: true + post: + tags: + - Orders + summary: Link prime to order + operationId: Orders_linkPrimeToOrder + security: + - oauth2: + - primes.read + - orders.write + description: > + Link a prime to an order
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesDocumentInput' + responses: + '201': + description: Prime linked + '403': + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + deprecated: true + delete: + tags: + - Orders + summary: Unlink a prime from an order + operationId: Orders_unlinkPrime + security: + - oauth2: + - primes.read + - orders.write + description: > + Unlink a prime from an order
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '204': + description: Prime unlinked + '403': + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + '404': + description: Requested prime was not applied on the document + deprecated: true + /orders/{orderId}/discount-incl-taxes/{discountId}: + parameters: + - description: Order identifier + schema: + type: integer + name: orderId + in: path + required: true + - description: Discount including taxes identifier + schema: + type: integer + name: discountId + in: path + required: true + post: + tags: + - Orders + summary: Link discount including taxes to order + operationId: Orders_linkDiscountInclTaxes + security: + - oauth2: + - discount-incl-taxes.read + - orders.write + description: > + Link a discount including taxes to an order
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesDocumentInput' + responses: + '201': + description: Discount linked + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + delete: + tags: + - Orders + summary: Unlink a discount including taxes from an order + operationId: Orders_unlinkDiscountInclTaxes + security: + - oauth2: + - discount-incl-taxes.read + - orders.write + description: > + Unlink a discount including taxes from an order
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ responses: + '204': + description: Discount unlinked + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + '404': + description: Requested discount was not applied on the document + /individuals: + get: + tags: + - Individuals + summary: Individuals List + operationId: Individuals_getList + security: + - oauth2: + - individuals.read + description: Get a list of individuals + parameters: + - description: The order field + in: query + name: order + schema: + type: string + example: id + enum: + - name + - id + - created_at + - updated_at + - description: > + Example : `embed[]=invoicing_address&embed[]=cf.1542&embed[]=acl` +
Additional object included in the result.

Each + embed object may require different oauth2 scopes than the main + endpoint:
- opportunities: `opportunities.read`
- + main_contact, dunning_contact, invoicing_contact: `contacts.read`
- estimates,invoices,orders,deliveries: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is + limited to the 20 first results sorted in alphabetical order.
+ in: query + name: embed + schema: + type: array + items: + oneOf: + - title: standards + description: The standards embeds + type: string + enum: + - invoicing_address + - delivery_address + - main_contact + - dunning_contact + - invoicing_contact + - opportunities + - estimates + - invoices + - orders + - deliveries + - acl + - smart_tags + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Individuals list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/IndividualsGetListResponse' + post: + tags: + - Individuals + summary: Create an individual + operationId: Individuals_createNewIndividual + security: + - oauth2: + - individuals.write + description: Create an individual + parameters: + - $ref: '#/paths/~1individuals/get/parameters/1' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/verify' + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/IndividualsCreateNewIndividualRequest' + examples: {} + responses: + '201': + description: Individual created + headers: {} + content: + application/json: + schema: + $ref: >- + #/paths/~1individuals/get/responses/200/content/application~1json/schema/properties/data/items + '204': + $ref: '#/components/schemas/Verify' + /individuals/search: + post: + tags: + - Individuals + summary: Search individuals + operationId: Individuals_searchResults + security: + - oauth2: + - individuals.read + description: Search individuals + parameters: + - $ref: '#/paths/~1individuals/get/parameters/0' + - $ref: '#/paths/~1individuals/get/parameters/1' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/IndividualsSearchResultsRequest' + responses: + '200': + description: Individuals list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/IndividualsSearchResultsResponse' + /individuals/favourite-filters: + get: + tags: + - Individuals + summary: List individuals favourite filters + operationId: Individuals_listFavouriteFilters + security: + - oauth2: + - individuals.read + description: > + List favourite filters for faster access to specific individuals
> + Favourite filters can be applied directly to individual search endpoints +
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + $ref: '#/components/schemas/IndividualsListFavouriteFiltersResponse' + /individuals/{individualId}/files: + parameters: + - description: Individual id + name: individualId + in: path + schema: + type: integer + required: true + post: + tags: + - Individuals + summary: Attach file to an individual + operationId: Individuals_attachFile + security: + - oauth2: + - individuals.read + - files.write + description: >- + Attach file to an individual
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + responses: + '201': + description: File uploaded + content: + application/json: + schema: + $ref: '#/components/schemas/FileOuput' + get: + tags: + - Individuals + summary: List directories and files of an individual + operationId: Individuals_listFilesOfIndividual + security: + - oauth2: + - individuals.read + - files.read + description: >- + List directories and files attached to an individual
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ responses: + '200': + description: List fetched + content: + application/json: + schema: + $ref: '#/components/schemas/IndividualsListFilesOfIndividualResponse' + /individuals/{id}/smart-tags: + parameters: + - description: Individual id + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Individuals + summary: Individual smart tags List + operationId: Individuals_getSmartTagsList + security: + - oauth2: + - individuals.read + - smart-tags.read + description: Get list of smart tags for an individual + responses: + '200': + description: List fetched + content: + application/json: + schema: + $ref: '#/components/schemas/IndividualsGetSmartTagsListResponse' + post: + tags: + - Individuals + summary: Link smart tags to individual + operationId: Individuals_linkSmartTags + security: + - oauth2: + - smart-tags.write + - individuals.write + description: Link a list of smart tag to an individual + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/post/requestBody/content/application~1json/schema + responses: + '200': + description: Smart tag linked + content: + application/json: + schema: + $ref: '#/components/schemas/IndividualsLinkSmartTagsResponse' + /individuals/{id}: + parameters: + - description: Individual id + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Individuals + summary: Get Individual + operationId: Individuals_getInfo + security: + - oauth2: + - individuals.read + description: Fetch individual informations + parameters: + - $ref: '#/paths/~1individuals/get/parameters/1' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Individual fetched + content: + application/json: + schema: + $ref: >- + #/paths/~1individuals/get/responses/200/content/application~1json/schema/properties/data/items + put: + tags: + - Individuals + summary: Update Individual + operationId: Individuals_updateInfo + security: + - oauth2: + - individuals.write + description: Update Individual informations + parameters: + - $ref: '#/paths/~1individuals/get/parameters/1' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/verify' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/IndividualsUpdateInfoRequest' + responses: + '200': + description: Individual updated + content: + application/json: + schema: + $ref: >- + #/paths/~1individuals/get/responses/200/content/application~1json/schema/properties/data/items + '204': + $ref: '#/components/schemas/Verify' + delete: + tags: + - Individuals + summary: Delete Individual + operationId: Individuals_removeIndividual + security: + - oauth2: + - individuals.write + description: Remove a individual + responses: + '204': + description: Individual deleted + /individuals/{individualId}/addresses: + parameters: + - description: Individual id + schema: + type: integer + name: individualId + in: path + required: true + get: + tags: + - Individuals + summary: Get individual addresses + operationId: Individuals_getAddresses + security: + - oauth2: + - individuals.read + responses: + '200': + description: Addresses list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/IndividualsGetAddressesResponse' + post: + tags: + - Individuals + summary: Create an individual address + operationId: Individuals_createAddress + security: + - oauth2: + - individuals.write + parameters: + - $ref: '#/components/parameters/verify' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddressCreate' + responses: + '201': + description: Address created + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + '204': + $ref: '#/components/schemas/Verify' + /individuals/{individualId}/addresses/{id}: + parameters: + - description: Individual id + schema: + type: integer + name: individualId + in: path + required: true + - description: Address id + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Individuals + summary: Get an individual address + operationId: Individuals_getAddress + security: + - oauth2: + - individuals.read + responses: + '200': + description: Address fetched + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + put: + tags: + - Individuals + summary: Update an individual address + operationId: Individuals_updateAddress + security: + - oauth2: + - individuals.write + parameters: + - $ref: '#/components/parameters/verify' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddressUpdate' + responses: + '200': + description: Address updated + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + '204': + $ref: '#/components/schemas/Verify' + delete: + tags: + - Individuals + summary: Delete an individual address + operationId: Individuals_deleteAddress + security: + - oauth2: + - individuals.write + responses: + '204': + description: Address deleted + /individuals/{id}/payments: + parameters: + - description: Individual identifier + schema: + type: integer + name: id + in: path + required: true + post: + tags: + - Individuals + summary: Record payment on an individual + operationId: Individuals_recordPayment + security: + - oauth2: + - individuals.read + - payments.write + description: > + Record a payment on an individual
This route is + available in open beta.
Please note that its specifications may + be subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreatePayment' + responses: + '201': + description: Payment created + content: + application/json: + schema: + $ref: '#/components/schemas/Payment' + /individuals/{id}/contacts: + parameters: + - description: Individual id + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Individuals + summary: Get an individual contacts + operationId: Individuals_getContacts + security: + - oauth2: + - individuals.read + - contacts.read + parameters: + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/contactEmbed' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List fetched + content: + application/json: + schema: + $ref: '#/components/schemas/IndividualsGetContactsResponse' + /individuals/{individualId}/contacts/{contactId}: + parameters: + - description: Individual id + schema: + type: integer + name: individualId + in: path + required: true + - description: Contact id + schema: + type: integer + name: contactId + in: path + required: true + post: + tags: + - Individuals + summary: Link contact to individual + operationId: Individuals_linkContactToIndividual + security: + - oauth2: + - individuals.write + - contacts.read + responses: + '200': + description: Contact already link + '201': + description: Contact was link to individual + delete: + tags: + - Individuals + summary: Delete link between contact and individual + operationId: Individuals_deleteLinkBetweenContactAndIndividual + security: + - oauth2: + - individuals.write + - contacts.read + responses: + '204': + description: Delete link between contact and individual + /individuals/{id}/custom-fields: + parameters: + - description: Individual id + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Individuals + summary: Individual custom fields List + operationId: Individuals_getCustomFields + security: + - oauth2: + - individuals.read + - custom-fields.read + description: Get list of custom fields for an individual + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List fetched + content: + application/json: + schema: + $ref: '#/components/schemas/IndividualsGetCustomFieldsResponse' + put: + tags: + - Individuals + summary: Update Individual custom fields + operationId: Individuals_updateCustomFields + security: + - oauth2: + - custom-fields.write + - individuals.write + description: Update list of custom fields for an individual + parameters: + - $ref: '#/components/parameters/verify' + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/put/requestBody/content/application~1json/schema + responses: + '200': + description: Individual's custom fields updated + '204': + $ref: '#/components/schemas/Verify' + /activities/crm: + get: + tags: + - CRM Activities + summary: Get the CRM activity + operationId: CrmActivities_getActivity + security: + - oauth2: + - activities.read + description: Get the activity + parameters: + - $ref: '#/components/parameters/crmActivityOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/crmActivityEmbed' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/CrmActivitiesGetActivityResponse' + /activities/crm/search: + post: + tags: + - CRM Activities + summary: Search in CRM activity + operationId: CrmActivities_searchActivity + security: + - oauth2: + - activities.read + description: Search the activity + parameters: + - $ref: '#/components/parameters/crmActivityOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/crmActivityEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CrmActivityFilters' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/CrmActivitiesSearchActivityResponse' + '206': + description: Partial content if the due_date range is too wide + content: + application/json: + schema: + $ref: '#/components/schemas/CrmActivitiesSearchActivity206Response' + headers: + X-Partial-Content: + schema: + description: Detail of the partial content reason + type: string + /activities/crm/export: + post: + tags: + - CRM Activities + summary: Export the CRM activity + operationId: CrmActivities_exportActivitySearch + security: + - oauth2: + - activities.read + description: Search the activity + parameters: + - $ref: '#/components/parameters/crmActivityOrder' + - $ref: '#/components/parameters/direction' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CrmActivitiesExportActivitySearchRequest' + responses: + '202': + description: Accepted + /activities/crm/metas: + get: + tags: + - CRM Activities + summary: Get meta informations for activity + operationId: CrmActivities_getMetaInfo + security: + - oauth2: + - activities.read + description: >- + Get metadata, ie everything you need to build the form (filter labels, + static values aso..) + parameters: [] + responses: + '200': + description: Context object + content: + application/json: + schema: + $ref: '#/components/schemas/CrmActivityMetas' + /custom-activities/{id}: + parameters: + - description: Custom Activity ID + schema: + type: string + name: id + in: path + required: true + get: + tags: + - Custom Activities + summary: Get Custom Activity + operationId: CustomActivities_getInformation + security: + - oauth2: + - custom-activities.read + description: Fetch custom activity informations + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivity' + put: + tags: + - Custom Activities + summary: Update Custom Activity + operationId: CustomActivities_editCustomActivity + security: + - oauth2: + - custom-activities.write + description: Edit a custom activity + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivity' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivity' + delete: + tags: + - Custom Activities + summary: Delete Custom Activity + operationId: CustomActivities_deleteCustomActivity + security: + - oauth2: + - custom-activities.write + description: Delete a custom activity + responses: + '204': + description: No Content + /custom-activities: + get: + tags: + - Custom Activities + summary: Customs Activities List + operationId: CustomActivities_getList + security: + - oauth2: + - custom-activities.read + description: Get a list of custom activities + parameters: + - $ref: '#/components/parameters/direction' + - description: The order field + in: query + name: order + schema: + type: string + example: date + enum: + - date + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivitiesGetListResponse' + post: + tags: + - Custom Activities + summary: Create Custom Activity + operationId: CustomActivities_createActivity + security: + - oauth2: + - custom-activities.write + description: Create a custom activity + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivity' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivity' + /custom-activities/search: + post: + tags: + - Custom Activities + summary: Search Custom Activities + operationId: CustomActivities_performSearch + security: + - oauth2: + - custom-activities.read + description: Search Custom Activities + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivityFilters' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivitiesPerformSearchResponse' + /custom-activity-types/{id}: + parameters: + - description: Custom activity type ID + schema: + type: string + name: id + in: path + required: true + get: + tags: + - Custom Activities + summary: Get Custom Activity Type + operationId: CustomActivities_getType + security: + - oauth2: + - custom-activities.read + description: Get a custom activity type + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivityType' + put: + tags: + - Custom Activities + summary: Update Custom Activity Type + operationId: CustomActivities_updateType + security: + - oauth2: + - custom-activities.write + description: Update a custom activity type + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivityType' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivityType' + /custom-activity-types: + post: + tags: + - Custom Activities + summary: Create Custom Activity Type + operationId: CustomActivities_createType + security: + - oauth2: + - custom-activities.write + description: Create a custom activity type + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivityType' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivityType' + get: + tags: + - Custom Activities + summary: Custom Activity Types List + operationId: CustomActivities_getList + security: + - oauth2: + - custom-activities.read + description: Get a list of custom actvity types + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivitiesGetList200Response' + /scopes: + get: + tags: + - API Management + summary: Scopes List + operationId: ApiManagement_listScopes + security: + - oauth2: + - scopes.read + description: Get list of scopes + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ApiManagementListScopesResponse' + /scopes/tree: + get: + tags: + - API Management + summary: Get Scopes Tree + operationId: ApiManagement_getScopesTree + security: + - oauth2: + - scopes.read + description: Get tree of scopes + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ApiManagementGetScopesTreeResponse' + examples: {} + /clients: + post: + tags: + - API Management + summary: Create OAuth client + operationId: ApiManagement_createOAuthClient + security: + - oauth2: + - clients.write + description: Create OAuth2 client for API + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ClientCreate' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ClientWSecret' + get: + tags: + - API Management + summary: List OAuth clients + operationId: ApiManagement_listClients + security: + - oauth2: + - clients.read + description: List the OAuth clients for API + parameters: + - $ref: '#/components/parameters/offset' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ApiManagementListClientsResponse' + /clients/{id}: + parameters: + - description: OAuth client id + schema: + type: string + name: id + in: path + required: true + get: + tags: + - API Management + summary: Get OAuth client + operationId: ApiManagement_getOAuthClient + security: + - oauth2: + - clients.read + description: Fetch OAuth 2 client for API + responses: + '200': + description: OAuth client + content: + application/json: + schema: + $ref: '#/components/schemas/Client' + put: + tags: + - API Management + summary: Update OAuth client + operationId: ApiManagement_updateOAuthClient + security: + - oauth2: + - clients.write + description: Update OAuth2 client for API + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ClientUpdate' + responses: + '200': + description: OAuth client + content: + application/json: + schema: + $ref: '#/components/schemas/Client' + delete: + tags: + - API Management + summary: Delete OAuth client + operationId: ApiManagement_deleteOAuthClient + security: + - oauth2: + - clients.write + description: Delete OAuth 2 client for API + responses: + '204': + description: Client deleted + /personal-access-tokens: + get: + tags: + - API Management + summary: List personal access tokens + operationId: ApiManagement_listPersonalAccessTokens + security: + - oauth2: + - access-tokens.read + description: List the personal access tokens for API + parameters: + - $ref: '#/components/parameters/offset' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: >- + #/components/schemas/ApiManagementListPersonalAccessTokensResponse + deprecated: true + post: + tags: + - API Management + summary: Create personal access token + operationId: ApiManagement_createPersonalAccessToken + security: + - oauth2: + - access-tokens.write + description: Create OAuth2 personal access token for API + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PersonalAccessTokenCreateItem' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: >- + #/components/schemas/ApiManagementCreatePersonalAccessTokenResponse + deprecated: true + /personal-access-tokens/metas: + get: + tags: + - API Management + summary: Get meta informations for personal access tokens + operationId: ApiManagement_getPersonalAccessTokensMeta + security: + - oauth2: + - access-tokens.read + description: 'Get metadata, ie everything you need to build the form ' + parameters: [] + responses: + '200': + description: Context object + content: + application/json: + schema: + $ref: '#/components/schemas/PersonalAccessTokenMetas' + deprecated: true + /personal-access-tokens/{id}: + parameters: + - description: Personal access token id + schema: + type: string + name: id + in: path + required: true + get: + tags: + - API Management + summary: Get personal access token + operationId: ApiManagement_getOAuthToken + security: + - oauth2: + - access-tokens.read + description: Fetch OAuth2 personal access token for API + responses: + '200': + description: Personal access token + content: + application/json: + schema: + $ref: '#/components/schemas/PersonalAccessTokenItem' + deprecated: true + delete: + tags: + - API Management + summary: Delete personal access token + operationId: ApiManagement_deletePersonalAccessToken + security: + - oauth2: + - access-tokens.write + description: Delete OAuth2 personal access token for API + responses: + '204': + description: Personal access token deleted + deprecated: true + /accounting-codes: + get: + tags: + - Accounting + summary: Get accounting codes + operationId: Accounting_getCodes + security: + - oauth2: + - accounting-codes.read + description: Get list of accounting codes + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/accountingOrder' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/AccountingGetCodesResponse' + post: + tags: + - Accounting + summary: Create an accounting code + operationId: Accounting_createCode + security: + - oauth2: + - accounting-codes.write + description: Create an accounting code + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AccountingCodeCreate' + responses: + '201': + description: Accounting code created + content: + application/json: + schema: + $ref: '#/components/schemas/AccountingCode' + '400': + description: Code already exists + '403': + description: Module is not accessible + /accounting-codes/{id}: + parameters: + - description: ID of the accounting code + schema: + type: integer + name: id + in: path + required: true + delete: + tags: + - Accounting + summary: Delete an accounting code + operationId: Accounting_deleteCode + security: + - oauth2: + - accounting-codes.write + description: Delete an accounting code + responses: + '204': + description: Accounting code deleted + '403': + description: Module is not accessible + /accounting-codes/search: + post: + tags: + - Accounting + summary: Search accounting codes + operationId: Accounting_searchCodes + security: + - oauth2: + - accounting-codes.read + description: Search in list of accouting codes + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/accountingOrder' + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/AccountingSearchCodesRequest' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/AccountingSearchCodesResponse' + application/xml: + schema: + $ref: '#/components/schemas/AccountingSearchCodes200Response' + /accounting-journal/{type}: + parameters: + - description: Type of accounting journal to fetch + schema: + type: string + enum: + - sells + - purchases + - bank + - cashtill + - misc + name: type + in: path + required: true + get: + tags: + - Accounting + summary: Get accounting journal + operationId: Accounting_journalList + security: + - oauth2: + - accounting-entry.read + description: Get list of accounting journal + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/accountingEmbed' + responses: + '200': + description: Accounting journal + content: + application/json: + schema: + $ref: '#/components/schemas/AccountingJournalListResponse' + /accounting-journal/{type}/search: + parameters: + - description: Type of accounting journal to fetch + schema: + type: string + enum: + - sells + - purchases + - bank + - cashtill + - misc + name: type + in: path + required: true + post: + tags: + - Accounting + summary: Search accounting journal + operationId: Accounting_journalSearch + security: + - oauth2: + - accounting-entry.read + description: Search in list of accounting journal + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/accountingEmbed' + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/AccountingJournalSearchRequest' + responses: + '200': + description: Accounting journal + content: + application/json: + schema: + $ref: '#/components/schemas/AccountingJournalSearchResponse' + /accounting-journal/{type}/metas: + parameters: + - description: Type of accounting journal to fetch + schema: + type: string + enum: + - sells + - purchases + - bank + - cashtill + - misc + name: type + in: path + required: true + get: + tags: + - Accounting + summary: Get meta informations for accounting journal + operationId: Accounting_journalMetaGet + security: + - oauth2: + - accounting-entry.read + parameters: [] + responses: + '200': + description: Context object + content: + application/json: + schema: + $ref: '#/components/schemas/AccountingMetas' + /accounting-journal/{type}/export: + parameters: + - description: Type of accounting journal to fetch + schema: + type: string + enum: + - sells + - purchases + - bank + - cashtill + - misc + name: type + in: path + required: true + post: + tags: + - Accounting + summary: Export accounting journal + operationId: Accounting_journalExport + security: + - oauth2: + - accounting-entry.read + description: Export list of accounting journal + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AccountingJournalExportRequest' + responses: + '202': + description: Accepted + /taxes: + get: + tags: + - Taxes + summary: Taxes list + operationId: Taxes_getList + security: + - oauth2: + - taxes.read + description: Get list of taxes + parameters: + - description: The order field + in: query + name: order + schema: + type: string + example: id + enum: + - id + - rank + - description: | + Additional object included in the result. + in: query + name: embed + schema: + type: array + items: + type: string + enum: + - acl + - translations + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - description: Include ecotaxes in the response + in: query + name: include_ecotax + schema: + type: boolean + allowEmptyValue: true + responses: + '200': + description: Taxes list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/TaxesGetListResponse' + post: + tags: + - Taxes + summary: Create tax + operationId: Taxes_createTax + security: + - oauth2: + - taxes.write + description: Create a tax + parameters: + - $ref: '#/paths/~1taxes/get/parameters/1' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TaxesCreateTaxRequest' + responses: + '201': + description: Tax created + content: + application/json: + schema: + $ref: >- + #/paths/~1taxes/get/responses/200/content/application~1json/schema/properties/data/items + /taxes/search: + post: + tags: + - Taxes + summary: Search taxes + operationId: Taxes_searchTaxes + security: + - oauth2: + - taxes.read + description: Search taxes + parameters: + - $ref: '#/paths/~1taxes/get/parameters/0' + - $ref: '#/paths/~1taxes/get/parameters/1' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TaxFilter' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/TaxesSearchTaxesResponse' + /taxes/{id}: + parameters: + - description: Tax id + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Taxes + summary: Get Tax + operationId: Taxes_getTaxInfo + security: + - oauth2: + - taxes.read + description: Fetch tax informations + parameters: + - $ref: '#/paths/~1taxes/get/parameters/1' + - $ref: '#/components/parameters/fields' + - $ref: '#/paths/~1taxes/get/parameters/6' + responses: + '200': + description: Tax fetched + content: + application/json: + schema: + $ref: >- + #/paths/~1taxes/get/responses/200/content/application~1json/schema/properties/data/items + put: + tags: + - Taxes + summary: Update tax + operationId: Taxes_updateTaxInfo + security: + - oauth2: + - taxes.write + description: Update Tax informations + parameters: + - $ref: '#/paths/~1taxes/get/parameters/1' + - $ref: '#/components/parameters/fields' + - $ref: '#/paths/~1taxes/get/parameters/6' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TaxesUpdateTaxInfoRequest' + responses: + '200': + description: Tax updated + content: + application/json: + schema: + $ref: >- + #/paths/~1taxes/get/responses/200/content/application~1json/schema/properties/data/items + delete: + tags: + - Taxes + summary: Delete tax + operationId: Taxes_removeTax + security: + - oauth2: + - taxes.write + description: Remove a tax + responses: + '204': + description: Tax deleted + /taxes/accounting-codes: + get: + tags: + - Taxes + summary: Taxes accounting codes list + operationId: Taxes_getAccountingCodes + security: + - oauth2: + - taxes.read + description: Get list of accounting codes + parameters: + - $ref: '#/paths/~1taxes/get/parameters/0' + - $ref: '#/paths/~1taxes/get/parameters/1' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Taxes accounting codes list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/TaxesGetAccountingCodesResponse' + /taxes/{id}/accounting-codes: + parameters: + - description: Tax id + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Taxes + summary: Tax accounting codes list + operationId: Taxes_getAccountingCodesList + security: + - oauth2: + - taxes.read + description: Get tax accounting codes + parameters: + - $ref: '#/paths/~1taxes/get/parameters/0' + - $ref: '#/paths/~1taxes/get/parameters/1' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Tax accounting codes list fetched + content: + application/json: + schema: + $ref: >- + #/paths/~1taxes~1accounting-codes/get/responses/200/content/application~1json/schema/properties/data/items + put: + tags: + - Taxes + summary: Update tax accounting codes + operationId: Taxes_updateAccountingCodes + security: + - oauth2: + - taxes.write + description: Update tax accounting codes + parameters: + - $ref: '#/paths/~1taxes/get/parameters/1' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TaxesUpdateAccountingCodesRequest' + responses: + '200': + description: Tax updated + content: + application/json: + schema: + $ref: >- + #/paths/~1taxes~1accounting-codes/get/responses/200/content/application~1json/schema/properties/data/items + /rate-categories: + get: + tags: + - Rate Categories + summary: Rate categories list + operationId: RateCategories_getList + security: + - oauth2: + - rate-categories.read + description: Get list of rate categories + parameters: + - description: The order field + in: query + name: order + schema: + type: string + example: id + enum: + - id + - description: | + Additional object included in the result. + in: query + name: embed + schema: + type: array + items: + type: string + enum: + - currency + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Rate categories list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/RateCategoriesGetListResponse' + post: + tags: + - Rate Categories + summary: Create rate category + operationId: RateCategories_createCategory + security: + - oauth2: + - rate-categories.write + description: Create a rate category + parameters: + - $ref: '#/paths/~1rate-categories/get/parameters/1' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RateCategoriesCreateCategoryRequest' + responses: + '201': + description: Rate category created + content: + application/json: + schema: + $ref: >- + #/paths/~1rate-categories/get/responses/200/content/application~1json/schema/properties/data/items + '402': + description: Quotas limit reached on your current plan + /rate-categories/{id}: + parameters: + - description: Rate category id + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Rate Categories + summary: Get rate category + operationId: RateCategories_getCategory + security: + - oauth2: + - rate-categories.read + description: Fetch a rate category + parameters: + - $ref: '#/paths/~1rate-categories/get/parameters/1' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Rate category fetched + content: + application/json: + schema: + $ref: >- + #/paths/~1rate-categories/get/responses/200/content/application~1json/schema/properties/data/items + put: + tags: + - Rate Categories + summary: Update a rate category + operationId: RateCategories_updateRateCategory + security: + - oauth2: + - rate-categories.write + description: Update a rate category + parameters: + - $ref: '#/paths/~1rate-categories/get/parameters/1' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RateCategoriesUpdateRateCategoryRequest' + responses: + '200': + description: Rate category updated + content: + application/json: + schema: + $ref: >- + #/paths/~1rate-categories/get/responses/200/content/application~1json/schema/properties/data/items + delete: + tags: + - Rate Categories + summary: Delete Rate category + operationId: RateCategories_removeCategory + security: + - oauth2: + - rate-categories.write + description: Remove a rate category + responses: + '204': + description: Rate category deleted + /payments/methods/{id}: + get: + tags: + - Payments + summary: Get the payment method + operationId: Payments_getMethod + security: + - oauth2: + - payments.read + description: List of all payment methods + parameters: + - description: Payment method id + schema: + type: string + name: id + in: path + required: true + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentMethod' + /payments/methods: + get: + tags: + - Payments + summary: List of all payment methods + operationId: Payments_getMethods + security: + - oauth2: + - payments.read + description: List of all payment methods + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/paymentMethodOrder' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentsGetMethodsResponse' + /payments/methods/search: + post: + tags: + - Payments + summary: Search methods of payment + operationId: Payments_searchMethods + security: + - oauth2: + - payments.read + description: Search method of payment + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/paymentMethodOrder' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentsSearchMethodsRequest' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentsSearchMethodsResponse' + /ocr/pur-invoice: + get: + tags: + - Purchase (OCR) + summary: Ocr List - Purchase invoices + operationId: PurchaseOcr_listPurchaseInvoices + security: + - oauth2: + - ocr.read + description: Get list of OCR documents for purchase invoices + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/ocrOrder' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/PurchaseOcrListPurchaseInvoicesResponse' + /ocr/pur-invoice/search: + post: + tags: + - Purchase (OCR) + summary: Search OCR - Purchase invoices + operationId: PurchaseOcr_searchDocument + security: + - oauth2: + - ocr.read + description: Search OCR document of purchase invoices + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/ocrOrder' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PurchaseOcrSearchDocumentRequest' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/PurchaseOcrSearchDocumentResponse' + /ocr/pur-invoice/metas: + get: + tags: + - Purchase (OCR) + summary: Get Metadata for purchase invoice OCR + operationId: PurchaseOcr_getMetadata + security: + - oauth2: + - scopes.read + description: Get metadata + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/OcrPurInvoiceMetas' + /contacts: + post: + tags: + - Contacts + summary: Create a contact + operationId: Contacts_createContact + security: + - oauth2: + - contacts.write + description: Create a contact + parameters: + - $ref: '#/components/parameters/contactEmbed' + - $ref: '#/components/parameters/verify' + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/ContactCreateItem' + responses: + '201': + description: Contact created + content: + application/json: + schema: + $ref: '#/components/schemas/ContactItem' + '204': + $ref: '#/components/schemas/Verify' + get: + tags: + - Contacts + summary: Contacts List + operationId: Contacts_getList + security: + - oauth2: + - contacts.read + description: Get a list of contacts + parameters: + - $ref: '#/components/parameters/contactOrders' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/contactEmbed' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Contacts list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/ContactsGetListResponse' + /contacts/search: + post: + tags: + - Contacts + summary: Search contacts + operationId: Contacts_searchContacts + security: + - oauth2: + - contacts.read + description: Search contacts + parameters: + - $ref: '#/components/parameters/contactOrders' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/contactEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContactFilters' + responses: + '200': + description: Contacts list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/ContactsSearchContactsResponse' + /contacts/favourite-filters: + get: + tags: + - Contacts + summary: List contacts favourite filters + operationId: Contacts_listFavouriteFilters + security: + - oauth2: + - contacts.read + description: > + List favourite filters for faster access to specific contacts
> + Favourite filters can be applied directly to contact search endpoints +
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + $ref: '#/components/schemas/ContactsListFavouriteFiltersResponse' + /contacts/{id}: + parameters: + - description: Contact id + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Contacts + summary: Get contact + operationId: Contacts_getInformations + security: + - oauth2: + - contacts.read + description: Fetch contact informations + parameters: + - $ref: '#/components/parameters/contactEmbed' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Contact fetched + content: + application/json: + schema: + $ref: '#/components/schemas/ContactItem' + put: + tags: + - Contacts + summary: Update contact + operationId: Contacts_updateContactInfo + security: + - oauth2: + - contacts.write + description: Update contact informations + parameters: + - $ref: '#/components/parameters/contactEmbed' + - $ref: '#/components/parameters/verify' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContactUpdateItem' + responses: + '200': + description: Contact updated + content: + application/json: + schema: + $ref: '#/components/schemas/ContactItem' + '204': + $ref: '#/components/schemas/Verify' + delete: + tags: + - Contacts + summary: Delete contact + operationId: Contacts_removeContact + security: + - oauth2: + - contacts.write + description: Remove a contact + responses: + '204': + description: Contact deleted + /contacts/{contactId}/addresses: + parameters: + - description: Contact id + schema: + type: integer + name: contactId + in: path + required: true + get: + tags: + - Contacts + summary: Get contact addresses + operationId: Contacts_getAddresses + security: + - oauth2: + - contacts.read + responses: + '200': + description: Addresses fetched + content: + application/json: + schema: + $ref: '#/components/schemas/ContactsGetAddressesResponse' + post: + tags: + - Contacts + summary: Create a contact address + operationId: Contacts_createAddress + security: + - oauth2: + - contacts.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddressCreate' + responses: + '201': + description: Address created + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + /contacts/{contactId}/addresses/{id}: + parameters: + - description: Contact id + schema: + type: integer + name: contactId + in: path + required: true + - description: Address id + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Contacts + summary: Get a contact address + operationId: Contacts_getAddressById + security: + - oauth2: + - contacts.read + responses: + '200': + description: Address fetched + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + put: + tags: + - Contacts + summary: Update a contact address + operationId: Contacts_updateAddress + security: + - oauth2: + - contacts.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddressUpdate' + responses: + '200': + description: Address updated + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + delete: + tags: + - Contacts + summary: Delete a contact address + operationId: Contacts_deleteAddress + security: + - oauth2: + - contacts.write + responses: + '204': + description: Address deleted + /contacts/{contactId}/custom-fields: + parameters: + - description: Contact id + schema: + type: integer + name: contactId + in: path + required: true + get: + tags: + - Contacts + summary: Contact custom fields List + operationId: Contacts_getCustomFields + security: + - oauth2: + - custom-fields.read + - contacts.read + description: Get list of custom fields for a contact + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List fetched + content: + application/json: + schema: + $ref: '#/components/schemas/ContactsGetCustomFieldsResponse' + put: + tags: + - Contacts + summary: Update contact custom fields + operationId: Contacts_updateCustomFields + security: + - oauth2: + - custom-fields.write + - contacts.write + description: Update list of custom fields for a contact + parameters: + - $ref: '#/components/parameters/verify' + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/put/requestBody/content/application~1json/schema + responses: + '200': + description: Contact's custom fields updated + '204': + $ref: '#/components/schemas/Verify' + /contacts/{contactId}/files: + parameters: + - description: Contact id + name: contactId + in: path + schema: + type: integer + required: true + get: + tags: + - Contacts + summary: List directories and files of a contact + operationId: Contacts_listDirectoriesAndFiles + security: + - oauth2: + - contacts.read + - files.read + description: >- + List directories and files attached to a contact
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ responses: + '200': + description: List fetched + content: + application/json: + schema: + $ref: '#/components/schemas/ContactsListDirectoriesAndFilesResponse' + post: + tags: + - Contacts + summary: Attach file to a contact + operationId: Contacts_attachFileToContact + security: + - oauth2: + - contacts.read + - files.write + description: >- + Attach file to a contact
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + responses: + '201': + description: File uploaded + /contacts/{contactId}/smart-tags: + parameters: + - description: Contact id + schema: + type: integer + name: contactId + in: path + required: true + get: + tags: + - Contacts + summary: Contact smart tags List + operationId: Contacts_getSmartTags + security: + - oauth2: + - smart-tags.read + - contacts.read + description: Get list of smart tags for a contact + responses: + '200': + description: List fetched + content: + application/json: + schema: + $ref: '#/components/schemas/ContactsGetSmartTagsResponse' + post: + tags: + - Contacts + summary: Link smart tags to contact + operationId: Contacts_linkSmartTags + security: + - oauth2: + - smart-tags.write + - contacts.write + description: Link a list of smart tag to a contact + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/post/requestBody/content/application~1json/schema + responses: + '200': + description: Smart tag linked + content: + application/json: + schema: + $ref: '#/components/schemas/ContactsLinkSmartTagsResponse' + /accounts/conformities: + get: + tags: + - Conformities + summary: Retrieve invoicing conformity state + operationId: Conformities_getInvoicingState + security: + - oauth2: + - accounts.read + description: Get invoicing conformity state + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicingConformityState' + post: + tags: + - Conformities + summary: Activate invoice conformity (Definitively) + operationId: Conformities_activateInvoiceConformity + security: + - oauth2: + - accounts.write + description: Definitively activate invoice conformity + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/ConformitiesActivateInvoiceConformityRequest + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicingConformityState' + '403': + description: Conformity has already been activated + /document-layouts: + get: + tags: + - Document Layouts + summary: Get all document layouts + operationId: DocumentLayouts_getAllLayouts + security: + - oauth2: + - document-layouts.read + description: Get all document layouts + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/DocumentLayoutsCollection' + /accounts/documents: + get: + tags: + - Documents + summary: Get your invoices and credit notes + operationId: Documents_getInvoicesAndCreditNotes + security: + - oauth2: + - accounts.read + description: Get your invoices and credit notes + parameters: + - $ref: '#/components/parameters/accountDocumentOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/AccountDocumentCollection' + /opportunities/{id}: + parameters: + - description: ID of opportunity + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Opportunities + summary: Get Opportunity + operationId: Opportunities_getOpportunity + security: + - oauth2: + - opportunities.read + description: Get an opportunity + parameters: + - $ref: '#/components/parameters/opportunityEmbed' + - description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- + `field[]=address.id`: Return the `id` field of the `address` + object
- `field[]=addresses[].id`: Return the `id` field of + the `address` objects

On endpoints that implement the + `embed` query parameter, if you specified embeds in your call, you + will need to request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ in: query + name: field + schema: + type: array + items: + type: string + pattern: ^[A-Za-z0-9\.\[\]_-]+$ + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunityItem' + put: + tags: + - Opportunities + summary: Update Opportunity + operationId: Opportunities_updateInformation + security: + - oauth2: + - opportunities.write + description: Update Opportunity informations + parameters: + - $ref: '#/components/parameters/opportunityEmbed' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/verify' + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunityUpdate' + responses: + '200': + description: Opportunity updated + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunityItem' + '204': + $ref: '#/components/schemas/Verify' + delete: + tags: + - Opportunities + summary: Delete an Opportunity + operationId: Opportunities_removeOpportunity + security: + - oauth2: + - opportunities.write + description: Delete an opportunity + responses: + '204': + description: Opportunity deleted + /opportunities/{id}/step-rank: + parameters: + - description: ID of opportunity + schema: + type: integer + name: id + in: path + required: true + patch: + tags: + - Opportunities + summary: Update opportunity's rank and/or step + operationId: Opportunities_updateRankStep + security: + - oauth2: + - opportunities.write + description: > + Update opportunity's rank in its pipeline step or in a new step
> + To apply new rank according to the sibling, we consider to be in the + default ascending sort on opportunities rank + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunityRankUpdate' + responses: + '204': + description: Opportunity's rank updated + /opportunities: + post: + tags: + - Opportunities + summary: Create an opportunity + operationId: Opportunities_createNewOpportunity + security: + - oauth2: + - opportunities.write + description: Create an opportunity + parameters: + - $ref: '#/components/parameters/opportunityEmbed' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/verify' + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunityCreate' + responses: + '201': + description: Opportunity created + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunityItem' + '204': + $ref: '#/components/schemas/Verify' + get: + tags: + - Opportunities + summary: Get Opportunities + operationId: Opportunities_getList + security: + - oauth2: + - opportunities.read + description: Get list of opportunities + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/opportunityEmbedWithAggregations' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/opportunityOrder' + responses: + '200': + description: Opportunities list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunitiesGetListResponse' + /opportunities/{opportunityId}/files: + parameters: + - description: Opportunity id + name: opportunityId + in: path + schema: + type: integer + required: true + post: + tags: + - Opportunities + summary: Attach file to an opportunity + operationId: Opportunities_attachFileToOpportunity + security: + - oauth2: + - opportunities.read + - files.write + description: >- + Attach file to an opportunity
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + responses: + '201': + description: File uploaded + content: + application/json: + schema: + $ref: '#/components/schemas/FileOuput' + get: + tags: + - Opportunities + summary: List directories and files of an opportunity + operationId: Opportunities_listFiles + security: + - oauth2: + - opportunities.read + - files.read + description: >- + List directories and files attached to an opportunity
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ responses: + '200': + description: List fetched + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunitiesListFilesResponse' + /opportunities/search: + post: + tags: + - Opportunities + summary: Search Opportunities + operationId: Opportunities_searchOpportunities + security: + - oauth2: + - opportunities.read + description: Search opportunities + parameters: + - $ref: '#/components/parameters/opportunityOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/opportunityEmbedWithAggregations' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunityFilters' + responses: + '200': + description: Opportunities list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunitiesSearchOpportunitiesResponse' + /opportunities/favourite-filters: + get: + tags: + - Opportunities + summary: List opportunities favourite filters + operationId: Opportunities_listFavouriteFilters + security: + - oauth2: + - opportunities.read + description: > + List favourite filters for faster access to specific opportunities
> Favourite filters can be applied directly to opportunity search + endpoints
This route is available in open beta.
Please note that its specifications are potentially subject to + significant and breaking changes in the coming weeks.
+ parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunitiesListFavouriteFiltersResponse' + /opportunities/sources: + get: + tags: + - Opportunities + summary: Get Opportunity Sources + operationId: Opportunities_getSourcesList + security: + - oauth2: + - opportunities.read + description: Get list of opportunity sources + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/opportunitySourceOrder' + responses: + '200': + description: Opportunity sources list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunitiesGetSourcesListResponse' + /opportunities/sources/search: + post: + tags: + - Opportunities + summary: Search Opportunity Sources + operationId: Opportunities_searchSources + security: + - oauth2: + - opportunities.read + description: Search opportunity sources + parameters: + - $ref: '#/components/parameters/opportunitySourceOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunitySourceFilters' + responses: + '200': + description: Opportunity sources list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunitiesSearchSourcesResponse' + /opportunities/categories/{sourceCategoryId}/sources: + parameters: + - description: ID of Opportunity Sources Category + schema: + type: integer + name: sourceCategoryId + in: path + required: true + get: + tags: + - Opportunities + summary: Get Opportunity Category Sources + operationId: Opportunities_listCategorySources + security: + - oauth2: + - opportunities.read + description: Get list of opportunity category sources + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/opportunitySourceOrder' + responses: + '200': + description: Opportunity category sources list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunitiesListCategorySourcesResponse' + /opportunities/pipelines: + get: + tags: + - Opportunities + summary: Get Opportunity Pipelines + operationId: Opportunities_listPipelines + security: + - oauth2: + - opportunities.read + description: Get list of opportunity pipelines + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/opportunityPipelineOrder' + responses: + '200': + description: Opportunity pipelines list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunitiesListPipelinesResponse' + /opportunities/pipelines/search: + post: + tags: + - Opportunities + summary: Search Opportunity Pipelines + operationId: Opportunities_searchPipelines + security: + - oauth2: + - opportunities.read + description: Search opportunity pipelines + parameters: + - $ref: '#/components/parameters/opportunityPipelineOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunityPipelineFilters' + responses: + '200': + description: Opportunity pipelines list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunitiesSearchPipelinesResponse' + /opportunities/pipelines/{pipelineId}/steps: + parameters: + - description: Pipeline id + schema: + type: integer + name: pipelineId + in: path + required: true + get: + tags: + - Opportunities + summary: Get Opportunity Pipeline Steps + operationId: Opportunities_getPipelineSteps + security: + - oauth2: + - opportunities.read + description: Get list of opportunity pipeline steps + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/pipelineStepOrder' + - $ref: '#/components/parameters/pipelineStepEmbed' + responses: + '200': + description: Opportunity pipeline steps list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunitiesGetPipelineStepsResponse' + /opportunities/pipelines/{pipelineId}/steps/search: + parameters: + - description: Pipeline id + schema: + type: integer + name: pipelineId + in: path + required: true + post: + tags: + - Opportunities + summary: Search Opportunity Pipeline Steps + operationId: Opportunities_searchPipelineSteps + security: + - oauth2: + - opportunities.read + description: Search opportunity pipeline steps + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/pipelineStepOrder' + - $ref: '#/components/parameters/pipelineStepEmbed' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PipelineStepFilters' + responses: + '200': + description: Opportunity pipeline steps list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunitiesSearchPipelineStepsResponse' + /opportunities/steps/search: + post: + tags: + - Opportunities + summary: Search All Opportunity Pipeline Steps + operationId: Opportunities_searchPipelineSteps + security: + - oauth2: + - opportunities.read + description: Search all opportunity pipeline steps + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/pipelineStepOrder' + - $ref: '#/components/parameters/pipelineStepEmbed' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PipelineStepFilters' + responses: + '200': + description: Opportunity steps list fetched + content: + application/json: + schema: + $ref: >- + #/components/schemas/OpportunitiesSearchPipelineSteps200Response + /opportunities/categories: + get: + tags: + - Opportunities + summary: Get Opportunities Categories List + operationId: Opportunities_listCategories + security: + - oauth2: + - opportunities.read + description: Get list of opportunities categories + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/opportuntiyCategoryEmbed' + responses: + '200': + description: Opportunities Categories List + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunitiesListCategoriesResponse' + /opportunities/categories/{id}: + parameters: + - description: Opportunities category id + schema: + type: integer + name: id + in: path + required: true + - $ref: '#/components/parameters/opportuntiyCategoryEmbed' + get: + tags: + - Opportunities + summary: Get Opportunities Category + operationId: Opportunities_getCategory + security: + - oauth2: + - opportunities.read + responses: + '200': + description: Opportunity category fetched + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunitiesCategoryItem' + /opportunities/{id}/custom-fields: + parameters: + - description: Opportunity id + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Opportunities + summary: Opportunity custom fields List + operationId: Opportunities_getCustomFields + security: + - oauth2: + - opportunities.read + - custom-fields.read + description: Get list of custom fields for an opportunity + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List fetched + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunitiesGetCustomFieldsResponse' + put: + tags: + - Opportunities + summary: Update opportunity custom fields + operationId: Opportunities_updateCustomFields + security: + - oauth2: + - custom-fields.write + - opportunities.write + description: Update list of custom fields for an opportunity + parameters: + - $ref: '#/components/parameters/verify' + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/put/requestBody/content/application~1json/schema + responses: + '200': + description: Opportunity's custom fields updated + '204': + $ref: '#/components/schemas/Verify' + /opportunities/{id}/smart-tags: + parameters: + - description: Opportunity ID + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Opportunities + summary: Opportunity smart-tags list + operationId: Opportunities_getSmartTags + security: + - oauth2: + - opportunities.read + - smart-tags.read + description: Get list of smart-tags for an opportunity + responses: + '200': + description: Smart-tags list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunitiesGetSmartTagsResponse' + post: + tags: + - Opportunities + summary: Link smart tags to opportunity + operationId: Opportunities_linkSmartTags + security: + - oauth2: + - opportunities.write + - smart-tags.write + description: Link a list of smart-tags to an opportunity + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/post/requestBody/content/application~1json/schema + responses: + '200': + description: Smart-tags list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunitiesLinkSmartTagsResponse' + /tasks/{id}: + parameters: + - description: Task id + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Tasks + summary: Get a task + operationId: Tasks_getById + security: + - oauth2: + - tasks.read + parameters: + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/taskEmbed' + responses: + '200': + description: Task fetched + content: + application/json: + schema: + $ref: '#/components/schemas/TaskItem' + put: + tags: + - Tasks + summary: Update a task + operationId: Tasks_updateTaskById + security: + - oauth2: + - tasks.write + parameters: + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/taskEmbed' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TaskUpdateItem' + responses: + '200': + description: Task updated + content: + application/json: + schema: + $ref: '#/components/schemas/TaskItem' + delete: + tags: + - Tasks + summary: Delete a task + operationId: Tasks_removeTask + security: + - oauth2: + - tasks.write + responses: + '204': + description: Task deleted + /tasks: + post: + tags: + - Tasks + summary: Create a task + operationId: Tasks_createTask + security: + - oauth2: + - tasks.write + parameters: + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/taskEmbed' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TaskCreateItem' + responses: + '201': + description: Task created + content: + application/json: + schema: + $ref: '#/components/schemas/TaskItem' + get: + tags: + - Tasks + summary: Tasks List + operationId: Tasks_getList + security: + - oauth2: + - tasks.read + description: Get a list of tasks + parameters: + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/taskEmbed' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Tasks list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/TasksGetListResponse' + /tasks/search: + post: + tags: + - Tasks + summary: Search Tasks + operationId: Tasks_searchTasks + security: + - oauth2: + - tasks.read + description: Search tasks + parameters: + - $ref: '#/components/parameters/taskOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/taskEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TaskFilter' + responses: + '200': + description: Tasks list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/TasksSearchTasksResponse' + /tasks/labels: + get: + tags: + - Tasks + summary: Get tasks labels + operationId: Tasks_getLabels + security: + - oauth2: + - tasks.read + description: Get all tasks labels available + parameters: + - $ref: '#/components/parameters/labelOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/TasksGetLabelsResponse' + /calendar-events/labels: + get: + tags: + - Calendar + summary: Get calendar events labels + operationId: Calendar_getLabels + security: + - oauth2: + - calendars.read + description: Get all calendar events labels available + parameters: + - $ref: '#/components/parameters/labelOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/CalendarGetLabelsResponse' + /staffs/{id}: + parameters: + - description: >- + Numerical identifier of the Staff. The logged-in Staff can also be + retrieved by using the "/me" alias + in: path + name: id + schema: + type: string + pattern: ^([0-9]+|me)$ + required: true + get: + tags: + - Staffs + summary: Get Staff + operationId: Staffs_getStaff + security: + - oauth2: + - staffs.read + description: Get a staff + parameters: + - $ref: '#/paths/~1opportunities~1%7Bid%7D/get/parameters/1' + - $ref: '#/components/parameters/staffItemEmbed' + responses: + '200': + description: >- + Schema content depends on current user level of visibility on + staffs, a restricted version could be return + content: + application/json: + schema: + $ref: '#/components/schemas/StaffsGetStaffResponse' + '404': + description: Staff not found. Depending on your subscription plan + put: + tags: + - Staffs + summary: Update Staff + operationId: Staffs_updateInformation + security: + - oauth2: + - staffs.write + description: Update staff informations + parameters: + - $ref: '#/paths/~1opportunities~1%7Bid%7D/get/parameters/1' + - $ref: '#/components/parameters/staffEmbed' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StaffUpdateItem' + responses: + '200': + description: >- + Staff updated, schema content depends on current user level of + visibility on staffs, a restricted version could be return + content: + application/json: + schema: + $ref: '#/components/schemas/StaffsUpdateInformationResponse' + /staffs: + post: + tags: + - Staffs + summary: Create a staff + operationId: Staffs_createStaff + security: + - oauth2: + - staffs.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StaffCreateItem' + responses: + '201': + description: >- + Staff created, schema content depends on current user level of + visibility on staffs, a restricted version could be return + content: + application/json: + schema: + $ref: '#/components/schemas/StaffsCreateStaffResponse' + get: + tags: + - Staffs + summary: Get Staffs + operationId: Staffs_getList + security: + - oauth2: + - staffs.read + description: > + Get a list of staffs.
The response may contain only your own staff, + depending on your subscription plan. + parameters: + - $ref: '#/paths/~1opportunities~1%7Bid%7D/get/parameters/1' + - $ref: '#/components/parameters/staffEmbed' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/staffOrder' + responses: + '200': + description: >- + Schema content depends on current user level of visibility on + staffs, a restricted version could be return + content: + application/json: + schema: + $ref: '#/components/schemas/StaffsGetListResponse' + /staffs/search: + post: + tags: + - Staffs + summary: Search Staffs + operationId: Staffs_searchList + security: + - oauth2: + - staffs.read + description: > + Search list of staffs.
The response may contain only your own + staff, depending on your subscription plan. + parameters: + - $ref: '#/paths/~1opportunities~1%7Bid%7D/get/parameters/1' + - $ref: '#/components/parameters/staffEmbed' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/staffOrder' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StaffFilters' + responses: + '200': + description: >- + Schema content depends on current user level of visibility on + staffs, a restricted version could be return + content: + application/json: + schema: + $ref: '#/components/schemas/StaffsSearchListResponse' + /teams: + get: + tags: + - Staffs + summary: Team List + operationId: Staffs_listTeams + security: + - oauth2: + - staffs.read + description: Get a list of team + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + responses: + '200': + description: Teams list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/StaffsListTeamsResponse' + /profiles: + get: + tags: + - Staffs + summary: Profiles list + operationId: Staffs_getProfilesList + security: + - oauth2: + - staffs.read + description: Get profiles list + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/profileOrder' + - $ref: '#/components/parameters/direction' + responses: + '200': + description: Profiles list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/StaffsGetProfilesListResponse' + /files/{id}: + parameters: + - description: File identifier + schema: + type: integer + name: id + in: path + required: true + delete: + tags: + - Files + summary: Delete file + operationId: Files_removeFile + security: + - oauth2: + - files.write + description: > + Delete a file
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '204': + description: File deleted + patch: + tags: + - Files + summary: Move a file to a new directory + operationId: Files_moveFileToDirectory + security: + - oauth2: + - files.write + description: > + Move a file to a new directory. The target specified could be as either + a folder or a direct entity, such as "company".
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MoveFileInput' + responses: + '204': + description: File moved + '409': + description: Conflict + get: + tags: + - Files + summary: Get file + operationId: Files_getById + security: + - oauth2: + - files.read + description: > + Get a file
This route is available in open beta.
Please note that its specifications are potentially subject to + significant and breaking changes in the coming weeks.
+ responses: + '200': + description: File fetched + content: + application/json: + schema: + $ref: '#/components/schemas/FileOuput' + /search: + get: + tags: + - Listings + summary: Search + operationId: Listings_searchObjects + security: + - oauth2: + - search.read + description: Search for objects + parameters: + - $ref: '#/components/parameters/autocomplete' + - $ref: '#/components/parameters/searchType' + - description: >- + The pagination limit. On a default search (without the `type` + parameter), the limit parameter is not used because the limit is + automatically calculated in relation to the relevance of the search + results. + in: query + name: limit + schema: + description: Pagination limit + type: integer + default: 25 + maximum: 100 + minimum: 0 + responses: + '200': + description: Search result + content: + application/json: + schema: + $ref: '#/components/schemas/ListingsSearchObjectsResponse' + /calendar-events: + post: + tags: + - Calendar + summary: Create a calendar event + operationId: Calendar_createEvent + security: + - oauth2: + - calendars.write + parameters: + - $ref: '#/paths/~1opportunities~1%7Bid%7D/get/parameters/1' + - $ref: '#/components/parameters/calendarEventEmbed' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CalendarEventCreateItem' + responses: + '201': + description: Calendar event created + content: + application/json: + schema: + $ref: '#/components/schemas/CalendarEventItem' + get: + tags: + - Calendar + summary: Calendar events List + operationId: Calendar_getEventsList + security: + - oauth2: + - calendars.read + description: Get a list of calendar event + parameters: + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/calendarEventEmbed' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Calendar events list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/CalendarGetEventsListResponse' + /calendar-events/{id}: + parameters: + - description: Calendar event id + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Calendar + summary: Get calendar event + operationId: Calendar_getEvent + security: + - oauth2: + - calendars.read + parameters: + - $ref: '#/paths/~1opportunities~1%7Bid%7D/get/parameters/1' + - $ref: '#/components/parameters/calendarEventEmbed' + responses: + '200': + description: Calendar event fetched + content: + application/json: + schema: + $ref: '#/components/schemas/CalendarEventItem' + put: + tags: + - Calendar + summary: Update calendar event + operationId: Calendar_updateEvent + security: + - oauth2: + - calendars.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CalendarEventUpdateItem' + responses: + '200': + description: Calendar event updated + content: + application/json: + schema: + $ref: '#/components/schemas/CalendarEventItem' + delete: + tags: + - Calendar + summary: Delete calendar event + operationId: Calendar_deleteEvent + security: + - oauth2: + - calendars.write + responses: + '204': + description: Calendar event deleted + /calendar-events/search: + post: + tags: + - Calendar + summary: Search calendar event + operationId: Calendar_searchEvent + security: + - oauth2: + - calendars.read + description: Search calendar events + parameters: + - $ref: '#/components/parameters/calendarEventOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/calendarEventEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CalendarEventFilters' + responses: + '200': + description: Calendar events list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/CalendarSearchEventResponse' + /activities/search: + post: + tags: + - Activities + summary: Search in activity + operationId: Activities_performSearch + security: + - oauth2: + - activities.read + description: Search in activity + parameters: + - $ref: '#/components/parameters/activityOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/activityEmbed' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesPerformSearchRequest' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesPerformSearchResponse' + /timeline/{type}/{id}/search: + parameters: + - description: Object identifier + in: path + name: id + schema: + type: string + required: true + - description: Object type + in: path + name: type + schema: + type: string + enum: + - individual + - company + - contact + - opportunity + required: true + post: + tags: + - Activities + summary: Timeline search + operationId: Activities_searchTimelineActivity + security: + - oauth2: + - activities.read + description: Search in timeline activity of an object + parameters: + - $ref: '#/components/parameters/activityOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/activityEmbed' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityFilters' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesSearchTimelineActivityResponse' + /phone-calls/{id}: + parameters: + - description: Numerical identifier of phone call + in: path + name: id + schema: + type: integer + required: true + get: + tags: + - PhoneCalls + summary: Get a phoneCall + operationId: PhoneCalls_getPhoneCall + security: + - oauth2: + - phonecalls.read + description: Get a phoneCall + parameters: + - $ref: '#/components/parameters/phoneCallEmbed' + - $ref: '#/paths/~1opportunities~1%7Bid%7D/get/parameters/1' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/PhoneCallItem' + put: + tags: + - PhoneCalls + summary: Update a phoneCall + operationId: PhoneCalls_updatePhoneCall + security: + - oauth2: + - phonecalls.write + description: Update a phoneCall + parameters: + - $ref: '#/components/parameters/phoneCallEmbed' + - $ref: '#/paths/~1opportunities~1%7Bid%7D/get/parameters/1' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PhoneCallUpdateItem' + responses: + '200': + description: PhoneCall updated + content: + application/json: + schema: + $ref: '#/components/schemas/PhoneCallItem' + delete: + tags: + - PhoneCalls + summary: Delete a phoneCall + operationId: PhoneCalls_deletePhoneCall + security: + - oauth2: + - phonecalls.write + responses: + '204': + description: PhoneCall deleted + /phone-calls: + get: + tags: + - PhoneCalls + summary: PhoneCalls List + operationId: PhoneCalls_getList + security: + - oauth2: + - phonecalls.read + description: Get a list of phoneCalls + parameters: + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/phoneCallEmbed' + responses: + '200': + description: Phonecalls list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/PhoneCallsGetListResponse' + post: + tags: + - PhoneCalls + summary: Create a phone call + operationId: PhoneCalls_createPhoneCall + security: + - oauth2: + - phonecalls.write + parameters: + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/phoneCallEmbed' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PhoneCallCreateItem' + responses: + '201': + description: PhoneCall created + content: + application/json: + schema: + $ref: '#/components/schemas/PhoneCallItem' + /phone-calls/search: + post: + tags: + - PhoneCalls + summary: Search phoneCalls + operationId: PhoneCalls_searchList + security: + - oauth2: + - phonecalls.read + description: Search a list of phoneCalls + parameters: + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/phoneCallEmbed' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PhoneCallFilter' + responses: + '200': + description: Phonecalls list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/PhoneCallsSearchListResponse' + /emails/{id}: + parameters: + - description: identifier of email + in: path + name: id + schema: + type: string + required: true + get: + tags: + - Emails + summary: Get Email + operationId: Emails_getDetails + security: + - oauth2: + - emails.read + description: Get an Email + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/EmailItem' + '206': + description: Partial content if the email provider is unreachable + content: + application/json: + schema: + $ref: '#/components/schemas/EmailItem' + headers: + X-Mail-Provider-Error: + schema: + $ref: '#/components/schemas/PartialEmailHeader' + /emails/threads/{id}: + parameters: + - description: Identifier of email thread + in: path + name: id + schema: + type: string + required: true + get: + tags: + - Emails + summary: Get Emails Thread + operationId: Emails_getThreadEmails + security: + - oauth2: + - emails.read + description: Get the emails list of a thread + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/EmailsGetThreadEmailsResponse' + /email/authenticate: + parameters: + - description: email whose domain should be authenticated + in: query + name: email + schema: + type: string + format: email + required: true + example: jonh.doe@email.com + get: + tags: + - Emails + summary: Get email's domain DNS data + operationId: Emails_getDnsData + security: + - oauth2: + - emails.settings + description: Get DNS data for the domain extracted from the email + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/EmailAuthenticationItem' + /email/domain/validate: + post: + tags: + - Emails + summary: Validate email's DNS + operationId: Emails_validateDns + security: + - oauth2: + - emails.settings + description: Validate an email DNS + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EmailsValidateDnsRequest' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/EmailValidationItem' + '400': + description: Bad Request + /webhooks: + get: + tags: + - Webhooks + summary: Get Webhooks + operationId: Webhooks_getList + security: + - oauth2: + - webhooks.read + description: Get list of webhooks + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Webhooks list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/WebhooksGetListResponse' + post: + tags: + - Webhooks + summary: Create Webhook + operationId: Webhooks_createWebhook + security: + - oauth2: + - webhooks.write + description: Create a webhook + parameters: + - $ref: '#/components/parameters/fields' + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookCreateItem' + responses: + '201': + description: Webhook created + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookReadItem' + /webhooks/search: + post: + tags: + - Webhooks + summary: Search Webhooks + operationId: Webhooks_searchWebhooksList + security: + - oauth2: + - webhooks.read + description: Get list of webhooks + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookFilters' + responses: + '200': + description: Webhooks list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/WebhooksSearchWebhooksListResponse' + /webhooks/{id}: + parameters: + - description: ID of webhook + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Webhooks + summary: Get Webhook + operationId: Webhooks_getWebhook + security: + - oauth2: + - webhooks.read + description: Get a webhook + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookReadItem' + put: + tags: + - Webhooks + summary: Update Webhook + operationId: Webhooks_updateInformation + security: + - oauth2: + - webhooks.write + description: Update Webhook informations + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookEditItem' + responses: + '200': + description: Webhook updated + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookReadItem' + delete: + tags: + - Webhooks + summary: Delete Webhook + operationId: Webhooks_deleteWebhook + security: + - oauth2: + - webhooks.write + description: Delete a webhook + responses: + '204': + description: Webhook deleted + /webhooks/events: + get: + tags: + - Webhooks + summary: List Webhook Events + operationId: Webhooks_listEvents + security: + - oauth2: + - webhooks.read + description: List all events' name available for a webhook + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookEventsList' + /units: + get: + tags: + - Units + summary: Get Units + operationId: Units_getAll + security: + - oauth2: + - accounts.read + description: Get all units of the corp + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/UnitsGetAllResponse' + /currencies: + get: + tags: + - Currencies + summary: Get currencies + operationId: Currencies_getAll + security: + - oauth2: + - accounts.read + description: Get all currencies of the corp + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/CurrenciesGetAllResponse' + /countries: + get: + tags: + - Countries + summary: Get countries list + operationId: Countries_getList + security: + - oauth2: + - accounts.read + description: Get a list of countries + parameters: + - $ref: '#/components/parameters/language' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/CountriesGetListResponse' + /settings/subscription: + get: + tags: + - Subscription + summary: Get my Sellsy subscription informations + operationId: Subscription_getDetails + security: + - oauth2: + - accounts.read + description: Retrieve the details of my Sellsy subscription + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Subscription' + /items: + get: + tags: + - Items + summary: Items List + operationId: Items_getList + security: + - oauth2: + - items.read + description: Get a list of items + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/itemOrder' + responses: + '200': + description: Items list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/ItemsGetListResponse' + post: + tags: + - Items + summary: Create an item + operationId: Items_createItem + security: + - oauth2: + - items.write + description: Create an item + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateItem' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/ItemReadItem' + /items/search: + post: + tags: + - Items + summary: Search items + operationId: Items_searchItems + security: + - oauth2: + - items.read + description: Search items + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/itemOrder' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ItemsSearchItemsRequest' + responses: + '200': + description: Items list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/ItemsSearchItemsResponse' + /items/favourite-filters: + get: + tags: + - Items + summary: List items favourite filters + operationId: Items_listFavouriteFilters + security: + - oauth2: + - items.read + description: > + List favourite filters for faster access to specific items
> + Favourite filters can be applied directly to item search endpoints
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + $ref: '#/components/schemas/ItemsListFavouriteFiltersResponse' + /items/{id}: + parameters: + - description: ID of item + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Items + summary: Get an item + operationId: Items_getById + security: + - oauth2: + - items.read + description: Get an item + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ItemReadItem' + put: + tags: + - Items + summary: Update an item + operationId: Items_updateItem + security: + - oauth2: + - items.write + description: Update an item + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateItem' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ItemReadItem' + delete: + tags: + - Items + summary: Delete item + operationId: Items_removeItem + security: + - oauth2: + - items.write + description: Delete an item + responses: + '204': + description: Item deleted + /items/{id}/prices: + parameters: + - description: ID of item + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Items + summary: Get item prices + operationId: Items_getPricesList + security: + - oauth2: + - items.read + description: Get prices list for an item + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ItemsGetPricesListResponse' + put: + tags: + - Items + summary: Update item prices + operationId: Items_updatePricesList + security: + - oauth2: + - items.write + description: Update prices list for an item + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ItemsUpdatePricesListRequest' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ItemsUpdatePricesListResponse' + /items/{id}/declinations: + parameters: + - description: ID of item + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Items + - Declinations + summary: Declinations List + operationId: Items_getDeclinationsList + security: + - oauth2: + - items.read + description: Get the declination's list + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ItemsGetDeclinationsListRequest' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DeclinationRead' + /staffs/{id}/licenses: + parameters: + - description: ID of staff + schema: + type: integer + name: id + in: path + required: true + put: + tags: + - Staffs + summary: Put staff licenses + operationId: Staffs_updateLicenses + security: + - oauth2: + - accounts.write + description: >- + Put staff licenses. Need to pass all existing licenses if you want to + keep licenses. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LicenseEdit' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/LicenseRead' + delete: + tags: + - Staffs + summary: Delete licenses + operationId: Staffs_removeLicenses + security: + - oauth2: + - accounts.write + description: Delete staff licenses + responses: + '204': + description: licenses deleted + /quotas: + get: + tags: + - Quotas + summary: Get Quotas + operationId: Quotas_getCorpQuotas + security: + - oauth2: + - accounts.read + description: Get quotas of the corp + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Quotas' + /batch: + post: + tags: + - Batch + summary: Batch request + operationId: Batch_requestCreate + security: + - oauth2: [] + description: Create a batch request + requestBody: + content: + text/plain: + schema: + $ref: '#/components/schemas/BatchRequestCreateRequest' + examples: + example1: + summary: PUT example + value: | + {"uri": "/comments/83", "method": "PUT"} + {"description": "description updated !"} + {"uri": "/comments/84", "method": "PUT"} + {"description": "description updated !"} + example2: + summary: GET example + value: | + {"uri": "/comments", "method": "GET", "query": {"limit": 2}} + {} + {"uri": "/companies", "method": "GET", "query": {"limit": 3}} + {} + example3: + summary: UUID usage + value: > + {"uri": "/companies", "method": "POST", "uuid": + "6e9dbe21-2967-4762-a035-f2d2effbc433"} + + {"type": "client", "name": "Company Name"} + + {"uri": + "/companies/6e9dbe21-2967-4762-a035-f2d2effbc433/addresses", + "method": "POST", "uuid": + "2ca47a9d-b41b-4f3f-b8c4-fafc54380a66"} + + {"name": "Main office", "address_line_1": "57 rue lucile", + "postal_code":"75012", "city": "Paris", "country": "France", + "country_code": "FR"} + + {"uri": + "/companies/6e9dbe21-2967-4762-a035-f2d2effbc433/addresses/2ca47a9d-b41b-4f3f-b8c4-fafc54380a66", + "method": "PUT"} + + {"name": "Main office updated"} + responses: + '207': + description: Batch response + content: + application/json: + schema: + $ref: '#/components/schemas/BatchRequestCreateResponse' + /notifications: + get: + tags: + - Notifications + summary: Get User Notifications + operationId: Notifications_getUserNotifications + security: + - oauth2: + - notifications.read + description: Get notifications related to current user + responses: + '200': + description: Notifications list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationsGetUserNotificationsResponse' + /notifications/search: + post: + tags: + - Notifications + summary: Search User Notifications + operationId: Notifications_searchUserNotifications + security: + - oauth2: + - notifications.read + description: Search notifications related to current user + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationFilters' + responses: + '200': + description: Notifications list fetched + content: + application/json: + schema: + $ref: >- + #/components/schemas/NotificationsSearchUserNotificationsResponse + /notifications/{id}: + parameters: + - description: ID of notification + schema: + type: integer + name: id + in: path + required: true + delete: + tags: + - Notifications + summary: Delete notification + operationId: Notifications_deleteNotification + security: + - oauth2: + - notifications.write + description: Delete a notification + responses: + '204': + description: notification deleted + /notifications/{id}/mark-as-read: + parameters: + - description: ID of notification + schema: + type: integer + name: id + in: path + required: true + patch: + tags: + - Notifications + summary: Mark notification as read + operationId: Notifications_markAsRead + security: + - oauth2: + - notifications.write + description: Mark a notification as read or unread + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationMarkAsRead' + responses: + '204': + description: notification read status updated + /notifications/mark-all-as-read: + patch: + tags: + - Notifications + summary: Mark all unread notifications as read + operationId: Notifications_markAllAsRead + security: + - oauth2: + - notifications.write + description: Mark all unread notifications as read + responses: + '204': + description: notifications read status updated + /notifications/settings: + get: + tags: + - Notifications + summary: Get Notifications settings + operationId: Notifications_getSettings + security: + - oauth2: + - notifications.read + description: Get notifications settings + responses: + '200': + description: Notification settings response + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationSettingsOutput' + put: + tags: + - Notifications + summary: Update Notifications settings + operationId: Notifications_updateSettings + security: + - oauth2: + - notifications.write + description: Update notifications settings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationSettingsInput' + responses: + '200': + description: Notification settings updated response + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationSettingsOutput' + /invoices/{id}: + parameters: + - description: Invoice ID + schema: + type: integer + name: id + in: path + required: true + - $ref: '#/components/parameters/invoiceOneEmbed' + get: + tags: + - Invoices + summary: Get invoice + operationId: Invoices_getById + security: + - oauth2: + - invoices.read + description: >- + Get an invoice by ID
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '200': + description: Invoice fetched + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceOne' + put: + tags: + - Invoices + summary: Update invoice + operationId: Invoices_updateInvoiceById + security: + - oauth2: + - invoices.write + description: >- + Update an invoice
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceUpdate' + examples: {} + responses: + '200': + description: Invoice updated + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceOne' + /invoices: + get: + tags: + - Invoices + summary: Invoices List + operationId: Invoices_list + security: + - oauth2: + - invoices.read + description: >- + Get a list of invoices
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/invoiceEmbed' + - $ref: '#/components/parameters/invoiceOrder' + responses: + '200': + description: Invoices list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesListResponse' + post: + tags: + - Invoices + summary: Create invoice + operationId: Invoices_createNewInvoice + security: + - oauth2: + - invoices.write + description: >- + Create an invoice
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ parameters: + - $ref: '#/components/parameters/invoiceOneEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceCreate' + examples: {} + responses: + '201': + description: Invoice created + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceOne' + /invoices/search: + post: + tags: + - Invoices + summary: Search invoices + operationId: Invoices_searchInvoices + security: + - oauth2: + - invoices.read + description: >- + Search invoices
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/invoiceEmbed' + - $ref: '#/components/parameters/invoiceOrder' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceFilters' + responses: + '200': + description: Invoices list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesSearchInvoicesResponse' + /invoices/favourite-filters: + get: + tags: + - Invoices + summary: List invoices favourite filters + operationId: Invoices_listFavouriteFilters + security: + - oauth2: + - invoices.read + description: > + List favourite filters for faster access to specific invoices
> + Favourite filters can be applied directly to invoice search endpoints +
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesListFavouriteFiltersResponse' + /invoices/compute: + post: + tags: + - Invoices + summary: Compute an invoice + operationId: Invoices_computeInvoice + security: + - oauth2: + - invoices.read + description: > + Compute an invoice
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceCreate' + examples: {} + responses: + '200': + description: Invoice computed successfully + headers: {} + content: + application/json: + schema: + type: object + $ref: '#/components/schemas/InvoiceCompute' + /invoices/{id}/smart-tags: + parameters: + - description: Invoice ID + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Invoices + summary: Invoice smart-tags list + operationId: Invoices_getSmartTagsList + security: + - oauth2: + - invoices.read + - smart-tags.read + description: Get list of smart-tags for an invoice + responses: + '200': + description: Smart-tags list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesGetSmartTagsListResponse' + post: + tags: + - Invoices + summary: Link smart tags to invoice + operationId: Invoices_linkSmartTags + security: + - oauth2: + - invoices.write + - smart-tags.write + description: Link a list of smart-tags to an invoice + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/post/requestBody/content/application~1json/schema + responses: + '200': + description: Smart-tags list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesLinkSmartTagsResponse' + /invoices/{id}/validate: + parameters: + - description: Invoice ID + schema: + type: integer + name: id + in: path + required: true + post: + tags: + - Invoices + summary: Validate Invoice + operationId: Invoices_validateInvoice + security: + - oauth2: + - invoices.write + description: > + Validate an invoice, which is in draft status, into due status. + After validation, the invoice can no longer be + edited.
You could provide a date if you want to change the + invoice date.
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.

+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ValidateInvoice' + responses: + '200': + description: Invoice validated + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceOne' + /invoices/{id}/credit-notes: + parameters: + - description: Invoice id + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Invoices + summary: Get credit notes linked to invoice + operationId: Invoices_getCreditNotes + security: + - oauth2: + - credit-notes.read + - invoices.read + description: > + Get list of credit notes linked to an invoice
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.

+ parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List of credit notes linked to invoice + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesGetCreditNotesResponse' + /invoices/{invoiceId}/credit-notes/{creditNoteId}: + parameters: + - description: Invoice identifier + schema: + type: integer + name: invoiceId + in: path + required: true + - description: Credit note identifier + schema: + type: integer + name: creditNoteId + in: path + required: true + post: + tags: + - Invoices + summary: Link a credit note to an invoice + operationId: Invoices_linkCreditNote + security: + - oauth2: + - credit-notes.read + - invoices.read + description: > + Link a credit note to an invoice for a specific amount
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesLinkCreditNoteRequest' + responses: + '200': + description: Credit note linked to invoice + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNote' + delete: + tags: + - Invoices + summary: Unlink a credit note from an invoice + operationId: Invoices_unlinkCreditNote + security: + - oauth2: + - credit-notes.write + - invoices.write + description: > + Unlink a credit note from an invoice
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '204': + description: Document unlinked + /invoices/{id}/payments: + parameters: + - description: Invoice ID + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Invoices + summary: Invoice payments list + operationId: Invoices_getPaymentsList + security: + - oauth2: + - invoices.read + - payments.read + description: >- + Get list of payments for an invoice
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '200': + description: Payments list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesGetPaymentsListResponse' + /invoices/{documentId}/payments/{paymentId}: + parameters: + - description: Invoice identifier + name: documentId + in: path + required: true + schema: + type: integer + - description: Payment identifier + name: paymentId + in: path + required: true + schema: + type: integer + post: + tags: + - Invoices + summary: Link payment to invoice + operationId: Invoices_linkPaymentToInvoice + security: + - oauth2: + - invoices.write + - payments.write + description: > + Link a payment to an invoice
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LinkPaymentToDocument' + responses: + '201': + description: Payments list attached to the invoice + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesLinkPaymentToInvoiceResponse' + delete: + tags: + - Invoices + summary: Unlink payment from invoice + operationId: Invoices_unlinkPayment + security: + - oauth2: + - invoices.write + - payments.write + description: > + Unlink a payment from an invoice
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '204': + description: Payment unlinked + /invoices/{documentId}/files: + parameters: + - description: Document id + name: documentId + in: path + schema: + type: integer + required: true + post: + tags: + - Invoices + summary: Attach file to an invoice + operationId: Invoices_attachFile + security: + - oauth2: + - invoices.read + - files.write + description: >- + Attach file to an invoice
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + responses: + '201': + description: File uploaded + content: + application/json: + schema: + $ref: '#/components/schemas/FileOuput' + get: + tags: + - Invoices + summary: List directories and files of an invoice + operationId: Invoices_listFiles + security: + - oauth2: + - invoices.read + - files.read + description: >- + List directories and files attached to an invoice
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ responses: + '200': + description: List fetched + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesListFilesResponse' + /invoices/{id}/custom-fields: + parameters: + - description: Invoice id + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Invoices + summary: Invoice custom fields List + operationId: Invoices_getCustomFields + security: + - oauth2: + - invoices.read + - custom-fields.read + description: Get list of custom fields for an invoice + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List fetched + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesGetCustomFieldsResponse' + put: + tags: + - Invoices + summary: Update Invoice custom fields + operationId: Invoices_updateCustomFields + security: + - oauth2: + - invoices.write + - custom-fields.write + description: Update list of custom fields for an invoice + parameters: + - $ref: '#/components/parameters/verify' + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/put/requestBody/content/application~1json/schema + responses: + '200': + description: Invoice's custom fields updated + '204': + $ref: '#/components/schemas/Verify' + /invoices/{invoiceId}/primes/{primeId}: + parameters: + - description: Invoice identifier + schema: + type: integer + name: invoiceId + in: path + required: true + - description: Prime identifier + schema: + type: integer + name: primeId + in: path + required: true + post: + tags: + - Invoices + summary: Link prime to invoice + operationId: Invoices_linkPrimeToInvoice + security: + - oauth2: + - primes.read + - invoices.write + description: > + Link a prime to an invoice
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesDocumentInput' + responses: + '201': + description: Prime linked + '403': + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + deprecated: true + delete: + tags: + - Invoices + summary: Unlink a prime from an invoice + operationId: Invoices_unlinkPrime + security: + - oauth2: + - primes.read + - invoices.write + description: > + Unlink a prime from an invoice
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '204': + description: Prime unlinked + '403': + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + '404': + description: Requested prime was not applied on the document + deprecated: true + /invoices/{invoiceId}/discount-incl-taxes/{discountId}: + parameters: + - description: Invoice identifier + schema: + type: integer + name: invoiceId + in: path + required: true + - description: Discount including taxes identifier + schema: + type: integer + name: discountId + in: path + required: true + post: + tags: + - Invoices + summary: Link discount including taxes to invoice + operationId: Invoices_linkDiscountIncludingTaxes + security: + - oauth2: + - discount-incl-taxes.read + - invoices.write + description: > + Link a discount including taxes to an invoice
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesDocumentInput' + responses: + '201': + description: Discount linked + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + delete: + tags: + - Invoices + summary: Unlink a discount including taxes from an invoice + operationId: Invoices_unlinkDiscountIncludingTaxes + security: + - oauth2: + - discount-incl-taxes.read + - invoices.write + description: > + Unlink a discount including from an invoice
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '204': + description: Discount unlinked + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + '404': + description: Requested discount was not applied on the document + /credit-notes/{id}: + parameters: + - description: Credit Note ID + schema: + type: integer + name: id + in: path + required: true + - $ref: '#/components/parameters/creditNoteOneEmbed' + get: + tags: + - Credit Notes + summary: Get credit note + operationId: CreditNotes_getById + security: + - oauth2: + - credit-notes.read + description: >- + Get a credit note by ID
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '200': + description: Credit note fetched + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNoteOne' + put: + tags: + - Credit Notes + summary: Update credit note + operationId: CreditNotes_updateNote + security: + - oauth2: + - credit-notes.write + description: > + Update a credit note
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNoteUpdate' + examples: {} + responses: + '200': + description: Credit note updated + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNoteOne' + /credit-notes: + get: + tags: + - Credit Notes + summary: Credit notes List + operationId: CreditNotes_getList + security: + - oauth2: + - credit-notes.read + description: >- + Get a list of credit notes
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/creditNoteEmbed' + - $ref: '#/components/parameters/creditNoteOrder' + responses: + '200': + description: Credit notes list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNotesGetListResponse' + post: + tags: + - Credit Notes + summary: Create credit note + operationId: CreditNotes_createCreditNote + security: + - oauth2: + - credit-notes.write + description: > + Create a credit note
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ parameters: + - $ref: '#/components/parameters/creditNoteOneEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNoteCreate' + examples: {} + responses: + '201': + description: Credit note created + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNoteOne' + /credit-notes/search: + post: + tags: + - Credit Notes + summary: Search credit notes + operationId: CreditNotes_searchCreditNotes + security: + - oauth2: + - credit-notes.read + description: >- + Search credit notes
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/creditNoteEmbed' + - $ref: '#/components/parameters/creditNoteOrder' + requestBody: + content: + application/json: + schema: + description: Credit notes filters + type: object + $ref: '#/components/schemas/CreditNoteFilters' + responses: + '200': + description: Credit notes list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNotesSearchCreditNotesResponse' + /credit-notes/favourite-filters: + get: + tags: + - Credit Notes + summary: List credit-notes favourite filters + operationId: CreditNotes_listFavouriteFilters + security: + - oauth2: + - credit-notes.read + description: > + List favourite filters for faster access to specific credit-notes
> Favourite filters can be applied directly to credit-note search + endpoints
This route is available in open beta.
Please note that its specifications are potentially subject to + significant and breaking changes in the coming weeks.
+ parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNotesListFavouriteFiltersResponse' + /credit-notes/compute: + post: + tags: + - Credit Notes + summary: Compute a credit note + operationId: CreditNotes_computeCreditNote + security: + - oauth2: + - credit-notes.read + description: > + Compute a credit note
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNoteCreate' + examples: {} + responses: + '200': + description: Credit note computed successfully + headers: {} + content: + application/json: + schema: + type: object + $ref: '#/components/schemas/CreditNoteCompute' + /credit-notes/{id}/smart-tags: + parameters: + - description: Credit note ID + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Credit Notes + summary: Credit note smart-tags list + operationId: CreditNotes_getSmartTagsList + security: + - oauth2: + - credit-notes.read + - smart-tags.read + description: Get list of smart-tags for a credit note + responses: + '200': + description: Smart-tags list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNotesGetSmartTagsListResponse' + post: + tags: + - Credit Notes + summary: Link smart tags to credit note + operationId: CreditNotes_linkSmartTags + security: + - oauth2: + - credit-notes.write + - smart-tags.write + description: Link a list of smart-tags to a credit note + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/post/requestBody/content/application~1json/schema + responses: + '200': + description: Smart-tags list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNotesLinkSmartTagsResponse' + /credit-notes/{id}/validate: + parameters: + - description: Credit note ID + schema: + type: integer + name: id + in: path + required: true + post: + tags: + - Credit Notes + summary: Validate credit note + operationId: CreditNotes_validateCreditNote + security: + - oauth2: + - credit-notes.write + description: > + Validate a credit note in status draft. Update the status to due. You + could provide a date if you want to change the credit note date.
+ Credit note can not be updated after validation.
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNoteValidate' + responses: + '200': + description: Credit note validated + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNoteOne' + /credit-notes/{id}/custom-fields: + parameters: + - description: Credit note id + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Credit Notes + summary: Credit note custom fields List + operationId: CreditNotes_listCustomFields + security: + - oauth2: + - credit-notes.read + - custom-fields.read + description: Get list of custom fields for a credit note + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List fetched + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNotesListCustomFieldsResponse' + put: + tags: + - Credit Notes + summary: Update credit note custom fields + operationId: CreditNotes_updateCustomFields + security: + - oauth2: + - credit-notes.write + - custom-fields.write + description: Update list of custom fields for a credit note + parameters: + - $ref: '#/components/parameters/verify' + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/put/requestBody/content/application~1json/schema + responses: + '200': + description: Credit note's custom fields updated + '204': + $ref: '#/components/schemas/Verify' + /credit-notes/{id}/invoices: + parameters: + - description: Credit note id + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Credit Notes + summary: Get invoices linked to credit note + operationId: CreditNotes_getLinkedInvoices + security: + - oauth2: + - credit-notes.read + - invoices.read + description: > + Get list of invoices linked to a credit note
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List of invoices linked to credit note + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNotesGetLinkedInvoicesResponse' + /credit-notes/{creditNoteId}/invoices/{invoiceId}: + parameters: + - description: Credit note identifier + schema: + type: integer + in: path + name: creditNoteId + required: true + - description: Invoice identifier + schema: + type: integer + in: path + name: invoiceId + required: true + post: + tags: + - Credit Notes + summary: Link an invoice to a credit note + operationId: CreditNotes_linkInvoice + security: + - oauth2: + - credit-notes.read + - invoices.read + description: > + Link an invoice to a credit note for a specific amount
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1invoices~1%7BinvoiceId%7D~1credit-notes~1%7BcreditNoteId%7D/post/requestBody/content/application~1json/schema + responses: + '200': + description: Invoice linked to credit note + content: + application/json: + schema: + $ref: '#/components/schemas/Invoice' + delete: + tags: + - Credit Notes + summary: Unlink an invoice from a credit note + operationId: CreditNotes_unlinkInvoice + security: + - oauth2: + - credit-notes.write + - invoices.write + description: > + Unlink an invoice from a credit note
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '204': + description: Document unlinked + /credit-notes/{id}/payments: + parameters: + - description: Credit note ID + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Credit Notes + summary: Credit note payments list + operationId: CreditNotes_getPaymentsList + security: + - oauth2: + - credit-notes.read + - payments.read + description: >- + Get list of payments for an credit note
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '200': + description: Payments list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNotesGetPaymentsListResponse' + /credit-notes/{documentId}/payments/{paymentId}: + parameters: + - description: Credit note identifier + name: documentId + in: path + required: true + schema: + type: integer + - description: Payment identifier + name: paymentId + in: path + required: true + schema: + type: integer + post: + tags: + - Credit Notes + summary: Link payment to credit note + operationId: CreditNotes_linkPayment + security: + - oauth2: + - credit-notes.write + - payments.write + description: > + Link a payment to a credit note
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LinkPaymentToDocument' + responses: + '201': + description: Payments list attached to the credit note + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNotesLinkPaymentResponse' + delete: + tags: + - Credit Notes + summary: Unlink payment from credit note + operationId: CreditNotes_unlinkPayment + security: + - oauth2: + - credit-notes.write + - payments.write + description: > + Unlink a payment from a credit note
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '204': + description: Payment unlinked + /credit-notes/{documentId}/files: + parameters: + - description: Document id + name: documentId + in: path + schema: + type: integer + required: true + post: + tags: + - Credit Notes + summary: Attach file to an credit note + operationId: CreditNotes_attachFileToCreditNote + security: + - oauth2: + - credit-notes.read + - files.write + description: >- + Attach file to an credit note
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + responses: + '201': + description: File uploaded + content: + application/json: + schema: + $ref: '#/components/schemas/FileOuput' + get: + tags: + - Credit Notes + summary: List directories and files of a credit note + operationId: CreditNotes_getDirectoryFiles + security: + - oauth2: + - credit-notes.read + - files.read + description: >- + List directories and files attached to an credit note
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ responses: + '200': + description: List fetched + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNotesGetDirectoryFilesResponse' + /credit-notes/{creditNoteId}/primes/{primeId}: + parameters: + - description: Credit note identifier + schema: + type: integer + name: creditNoteId + in: path + required: true + - description: Prime identifier + schema: + type: integer + name: primeId + in: path + required: true + post: + tags: + - Credit Notes + summary: Link prime to credit note + operationId: CreditNotes_linkPrimeToCreditNote + security: + - oauth2: + - primes.read + - credit-notes.write + description: > + Link a prime to a credit note
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesDocumentInput' + responses: + '201': + description: Prime linked + '403': + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + deprecated: true + delete: + tags: + - Credit Notes + summary: Unlink a prime from a credit note + operationId: CreditNotes_unlinkPrimeFromNote + security: + - oauth2: + - primes.read + - credit-notes.write + description: > + Unlink a prime from a credit note
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '204': + description: Prime unlinked + '403': + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + '404': + description: Requested prime was not applied on the document + deprecated: true + /credit-notes/{creditNoteId}/discount-incl-taxes/{discountId}: + parameters: + - description: Credit note identifier + schema: + type: integer + name: creditNoteId + in: path + required: true + - description: Discount including taxes identifier + schema: + type: integer + name: discountId + in: path + required: true + post: + tags: + - Credit Notes + summary: Link discount including taxes to credit note + operationId: CreditNotes_linkDiscountToCreditNote + security: + - oauth2: + - discount-incl-taxes.read + - credit-notes.write + description: > + Link a discount including taxes to a credit note
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesDocumentInput' + responses: + '201': + description: Discount linked + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + delete: + tags: + - Credit Notes + summary: Unlink a discount including taxes from a credit note + operationId: CreditNotes_unlinkDiscountInclTaxes + security: + - oauth2: + - discount-incl-taxes.read + - credit-notes.write + description: > + Unlink a discount including taxes from a credit note
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ responses: + '204': + description: Discount unlinked + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + '404': + description: Requested discount was not applied on the document + /payments/{id}: + parameters: + - description: Payment identifier + schema: + type: integer + name: id + in: path + required: true + - description: Optional objects added through the embed parameter + in: query + name: embed + schema: + type: array + items: + type: string + enum: + - acl + - company + - individual + get: + tags: + - Payments + summary: Get a payment + operationId: Payments_getPaymentById + security: + - oauth2: + - payments.read + description: > + Get a payment
This route is available + in open beta.
Please note that its specifications may be + subject to significant and breaking changes in the coming weeks.
+ responses: + '200': + description: Payment fetched + content: + application/json: + schema: + $ref: '#/components/schemas/Payment' + delete: + tags: + - Payments + summary: Delete payment + operationId: Payments_deletePayment + security: + - oauth2: + - payments.write + description: > + Delete a payment that is not linked to a document
This route is available in open beta.
Please note + that its specifications may be subject to significant and breaking + changes in the coming weeks.
+ responses: + '204': + description: Payment deleted + /payments: + get: + tags: + - Payments + summary: Get payments + operationId: Payments_getList + security: + - oauth2: + - payments.read + description: > + Get a list of payments
This route is available + in open beta.
Please note that its specifications may be + subject to significant and breaking changes in the coming weeks.
+ parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/paths/~1payments~1%7Bid%7D/parameters/1' + - description: The order field + in: query + name: order + schema: + type: string + example: paid_date + enum: + - id + - paid_date + responses: + '200': + description: List fetched + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentsGetListResponse' + /payments/search: + post: + tags: + - Payments + summary: Search payments + operationId: Payments_searchPayments + security: + - oauth2: + - payments.read + description: > + Search through payments
This route is available + in open beta.
Please note that its specifications may be + subject to significant and breaking changes in the coming weeks.
+ parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/paths/~1payments~1%7Bid%7D/parameters/1' + - $ref: '#/paths/~1payments/get/parameters/5' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentsSearchPaymentsRequest' + responses: + '200': + description: Payments list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentsSearchPaymentsResponse' + /settings/email: + get: + tags: + - Emails + summary: Get email settings + operationId: Emails_getSettings + security: + - oauth2: + - emails.settings + description: Get email settings + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/EmailSettings' + put: + tags: + - Emails + summary: Update email settings + operationId: Emails_updateSettings + security: + - oauth2: + - emails.settings + description: Update email settings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EmailSettingsInput' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/EmailSettings' + /settings/email/tags: + get: + tags: + - Emails + summary: Get available tags for email signature settings + operationId: Emails_getAvailableTagsForSettings + security: + - oauth2: + - emails.settings + description: Get available tags for email signature settings + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/EmailsGetAvailableTagsForSettingsResponse' + /fiscal-years: + get: + tags: + - Fiscal Year + summary: Get fiscal years + operationId: FiscalYear_getList + security: + - oauth2: + - accounts.read + description: Get list of fiscal years of account + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List fetched + content: + application/json: + schema: + $ref: '#/components/schemas/FiscalYearGetListResponse' + /languages: + get: + tags: + - Language + summary: Get the account languages + operationId: Language_getAccountLanguages + security: + - oauth2: + - accounts.read + description: Get the account languages + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/LanguageCollection' + /directories: + post: + tags: + - Files + summary: Create directory + operationId: Files_createDirectory + security: + - oauth2: + - files.write + description: >- + Create a new directory and attach it to the provided parent entity
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateDirectory' + responses: + '201': + description: Directory created + content: + application/json: + schema: + $ref: '#/components/schemas/FilesCreateDirectoryResponse' + '404': + description: Parent not found + '409': + description: Directory already exists + /directories/{id}: + parameters: + - description: Id of directory + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Files + summary: Get directory + operationId: Files_getDirectory + security: + - oauth2: + - files.read + description: > + Fetch directory informations
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ parameters: + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Directory fetched + content: + application/json: + schema: + $ref: >- + #/paths/~1directories/post/responses/201/content/application~1json/schema + put: + tags: + - Files + summary: Update directory + operationId: Files_updateDirectory + security: + - oauth2: + - files.write + description: >- + Update a directory
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateDirectory' + responses: + '200': + description: Directory updated + content: + application/json: + schema: + $ref: >- + #/paths/~1directories/post/responses/201/content/application~1json/schema + '403': + description: Cannot modify this directory + '409': + description: Directory already exists + delete: + tags: + - Files + summary: Delete the directory and all items attached + operationId: Files_deleteDirectoryAndItems + security: + - oauth2: + - files.write + description: > + Delete the directory and all items attached
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '204': + description: Directory deleted + '403': + description: Cannot delete this directory + /directories/{id}/files: + parameters: + - description: Id of directory + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Files + summary: List directories and files in a directory + operationId: Files_listDirectoryContents + security: + - oauth2: + - files.read + description: >- + List directories and files belonging to a directory
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List fetched + content: + application/json: + schema: + $ref: '#/components/schemas/FilesListDirectoryContentsResponse' + post: + tags: + - Files + summary: Attach file to a directory + operationId: Files_attachToDirectory + security: + - oauth2: + - files.write + description: >- + Attach file to a directory
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + responses: + '201': + description: File uploaded + /subscriptions: + post: + tags: + - Subscriptions + summary: Create a subscription + operationId: Subscriptions_createNewSubscription + security: + - oauth2: + - subscriptions.write + description: > + Create a subscription
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionCreate' + responses: + '201': + description: Subscription created + headers: {} + content: + application/json: + schema: + type: object + $ref: '#/components/schemas/SubscriptionOne' + get: + tags: + - Subscriptions + summary: Fetch list of subscriptions + operationId: Subscriptions_getList + security: + - oauth2: + - subscriptions.read + description: > + Fetch list of subscriptions
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '200': + description: Fetched + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionsGetListResponse' + /subscriptions/search: + post: + tags: + - Subscriptions + summary: Search subscriptions + operationId: Subscriptions_searchSubscriptions + security: + - oauth2: + - subscriptions.read + description: > + Search subscriptions
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/order' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionsSearchSubscriptionsRequest' + responses: + '200': + description: Fetched + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionsSearchSubscriptionsResponse' + /subscriptions/{id}: + parameters: + - description: Subscription identifier + name: id + in: path + schema: + type: integer + required: true + delete: + tags: + - Subscriptions + summary: Delete a subscription + operationId: Subscriptions_deleteSubscription + security: + - oauth2: + - subscriptions.write + description: > + Delete a subscription and all future payment installments
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '204': + description: Subscription deleted + get: + tags: + - Subscriptions + summary: Get subscription + operationId: Subscriptions_getSubscriptionById + security: + - oauth2: + - subscriptions.read + description: > + Get a subscription
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '200': + description: Fetched + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionOne' + /subscriptions/{id}/payment-installments: + parameters: + - description: Subscription identifier + name: id + in: path + schema: + type: integer + required: true + patch: + tags: + - Subscriptions + summary: Add payment installment for a subscription + operationId: Subscriptions_addPaymentInstallment + security: + - oauth2: + - subscriptions.write + description: > + Allows to add a certain number of payment installment to an existing + subscription. The new payment installment will take the frequency + defined on the subscription and will follow the date of the last + existing payment installment
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionsAddPaymentInstallmentRequest' + responses: + '201': + description: Payment installment added for subscription + '422': + description: >- + It is not allowed to add payment installment if the next calculated + date for the 1st payment installment is not in the future. The + subscription is considered completed. + /subscriptions/payment-installments: + get: + tags: + - Subscriptions + summary: Get all payment installments of subscriptions + operationId: Subscriptions_getPaymentInstallments + security: + - oauth2: + - subscriptions.read + description: > + Get all payment installments of subscriptions
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ parameters: + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: >- + #/components/schemas/SubscriptionsGetPaymentInstallmentsResponse + /subscriptions/payment-installments/search: + post: + tags: + - Subscriptions + summary: Search payment installments of subscriptions + operationId: Subscriptions_searchPaymentInstallments + security: + - oauth2: + - subscriptions.read + description: > + Search payment installments of subscriptions
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ parameters: + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/SubscriptionsSearchPaymentInstallmentsRequest + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: >- + #/components/schemas/SubscriptionsSearchPaymentInstallmentsResponse + /documents/models: + post: + tags: + - Document Models + summary: Create a document model + operationId: DocumentModels_createModel + security: + - oauth2: + - models.write + description: > + Create a document model
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateModel' + responses: + '201': + description: Document model created + content: + application/json: + schema: + $ref: '#/components/schemas/ModelOne' + get: + tags: + - Document Models + summary: List document models + operationId: DocumentModels_list + security: + - oauth2: + - models.read + description: > + Fetch a list of document models
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Model' + /documents/models/{id}: + parameters: + - description: Model identifier + name: id + in: path + schema: + type: integer + required: true + get: + tags: + - Document Models + summary: Get document model + operationId: DocumentModels_getById + security: + - oauth2: + - models.read + description: > + Get a document model
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ModelOne' + put: + tags: + - Document Models + summary: Update document model + operationId: DocumentModels_updateModel + security: + - oauth2: + - models.write + description: > + Update a document model
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DocumentModelsUpdateModelRequest' + responses: + '200': + description: Updated + content: + application/json: + schema: + $ref: '#/components/schemas/ModelOne' + /documents/models/search: + post: + tags: + - Document Models + summary: Search document models + operationId: DocumentModels_searchModels + security: + - oauth2: + - models.read + description: Search document models + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/ModelOrder' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DocumentModelsSearchModelsRequest' + responses: + '200': + description: Model list fetched + content: + application/json: + schema: + $ref: '#/components/schemas/DocumentModelsSearchModelsResponse' + /documents/models/{id}/convert: + parameters: + - description: Document model identifier + name: id + in: path + schema: + type: integer + required: true + post: + tags: + - Document Models + summary: Convert a document model into a document + operationId: DocumentModels_convertDocumentModel + security: + - oauth2: + - models.read + description: > + Build the request body expected by document create endpoint with + prefilled properties from the document model
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DocumentModelsConvertDocumentModelRequest' + responses: + '200': + description: ok + content: + application/json: + schema: + $ref: >- + #/components/schemas/DocumentModelsConvertDocumentModelResponse + /documents/models/tags: + get: + tags: + - Document Models + summary: Get available tags for document models + operationId: DocumentModels_getAvailableTags + security: + - oauth2: + - models.read + description: > + Get available tags that could be used on a document model, as variable, + that will be replaced when compute a concrete document.
Tag could be + used on subject and row's descriptions
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/DocumentModelsGetAvailableTagsResponse' + /primes: + get: + tags: + - Discount Including Taxes + summary: Get list of primes + operationId: DiscountIncludingTaxes_getPrimesList + security: + - oauth2: + - primes.read + description: >- + Get primes list
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '200': + description: OK + content: + application/json: + schema: + $ref: >- + #/components/schemas/DiscountIncludingTaxesGetPrimesListResponse + deprecated: true + /discount-incl-taxes: + get: + tags: + - Discount Including Taxes + summary: Get list of discounts including taxes + operationId: DiscountIncludingTaxes_list + security: + - oauth2: + - discount-incl-taxes.read + description: >- + Get discounts including taxes list
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountIncludingTaxesListResponse' + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + post: + tags: + - Discount Including Taxes + summary: Create a discount including taxes + operationId: DiscountIncludingTaxes_createDiscount + security: + - oauth2: + - discount-incl-taxes.write + description: >- + Create a discount including taxes
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesInput' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesOutput' + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + /discount-incl-taxes/{id}: + parameters: + - description: Discount including taxes id + schema: + type: integer + name: id + in: path + required: true + get: + tags: + - Discount Including Taxes + summary: Get a discount including taxes + operationId: DiscountIncludingTaxes_getById + security: + - oauth2: + - discount-incl-taxes.read + description: >- + Get a discount including taxes
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesOutput' + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + put: + tags: + - Discount Including Taxes + summary: Update a discount including taxes + operationId: DiscountIncludingTaxes_updateWithId + security: + - oauth2: + - discount-incl-taxes.write + description: >- + Update a discount including taxes
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateDiscountInclTaxes' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesOutput' + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + delete: + tags: + - Discount Including Taxes + summary: Delete a discount including taxes + operationId: DiscountIncludingTaxes_delete + security: + - oauth2: + - discount-incl-taxes.write + description: >- + Delete a discount including taxes
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '204': + description: Discount deleted + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges +components: + parameters: + ModelOrder: + description: Order field + in: query + name: order + schema: + type: string + example: id + enum: + - id + - number + - created + commentOrder: + description: The order field + in: query + name: order + schema: + type: string + example: id + enum: + - id + - updated + - created + commentItemEmbed: + description: > + Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + company: `companies.read`
- individual: `individuals.read`
- + owner: `staffs.read`
- contact: `contacts.read`
- related: + by object type. Check the entire documentation to verify the usual + scopes requested for the types returned + in: query + name: embed + schema: + type: array + items: + type: string + enum: + - owner + - related + - company + - individual + - contact + - acl + contactEmbed: + description: > + Example : `embed[]=delivery_address&embed[]=cf.1542&embed[]=acl`
+ Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + opportunities: `opportunities.read`
- + estimates,invoices,orders,deliveries: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is limited + to the 20 first results sorted in alphabetical order.
+ in: query + name: embed + schema: + type: array + items: + oneOf: + - title: standards + description: The standards embeds + type: string + enum: + - invoicing_address + - delivery_address + - opportunities + - estimates + - invoices + - orders + - deliveries + - acl + - smart_tags + - title: custom-fields + description: >- + Each custom field value could be requested as an embed object by + specifiying it identifier in the query, prefixed by "cf." + string. _(example: `embed[]=cf.123` for the value of the custom + field of identifier `123`)
`custom-fields.read` oauth2 scope + is required_ + type: string + pattern: ^cf.[\d]+$ + crmActivityOrder: + description: The order field + in: query + name: order + schema: + type: string + example: date + enum: + - date + - due_date + - event + - author + - more.label + dealsActivityOrder: + description: The order field + in: query + name: order + schema: + type: string + example: due_date + enum: + - due_date + - event + - label + accountDocumentOrder: + description: The order field + in: query + name: order + schema: + type: string + example: date + enum: + - date + crmActivityEmbed: + description: >- + Additional object included in the result.
Aggregations by + date only works with due_date filter :
- For + aggregations.by_day_and_event, maximum interval of due_date is 90 days +
- For aggregations.by_month_and_event, maximum interval of + due_date is 365 days + in: query + name: embed + schema: + type: array + items: + type: string + enum: + - aggregations + - aggregations.by_event + - aggregations.by_month_and_event + - aggregations.by_day_and_event + - aggregations.by_week_and_event + - aggregations.by_author_and_event + - aggregations.by_author_and_label + opportunityEmbed: + description: > + Example : `embed[]=assigned_staffs&embed[]=cf.1542&embed[]=acl`
+ Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + company: `companies.read`
- individual: `individuals.read`
- + assigned_staffs: `staffs.read`
- contacts: `contacts.read`
- + estimates, invoices, orders, deliveries, proformas, creditnotes: + `invoicing.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags + embed is limited to the 20 first results sorted in alphabetical order. +
+ in: query + name: embed + schema: + type: array + items: + oneOf: + - title: standards + description: The standards embeds + type: string + enum: + - estimates + - individual + - invoices + - orders + - deliveries + - proformas + - creditnotes + - assigned_staffs + - company + - contacts + - acl + - currency + - smart_tags + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + opportunityEmbedWithAggregations: + description: > + Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + company: `companies.read`
- individual: `individuals.read`
- + assigned_staffs: `staffs.read`
- contacts: `contacts.read`
- + estimates, invoices, orders, deliveries, proformas, creditnotes: + `invoicing.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags + embed is limited to the 20 first results sorted in alphabetical order. +
+ in: query + name: embed + schema: + type: array + items: + oneOf: + - title: standards + description: The standards embeds + type: string + enum: + - estimates + - individual + - invoices + - orders + - deliveries + - proformas + - creditnotes + - assigned_staffs + - company + - contacts + - acl + - currency + - aggregations + - aggregations.amount_sum + - aggregations.amount_sum_by_status + - aggregations.amount_sum_by_status_due_at_seven + - aggregations.number_by_pipeline_and_step + - smart_tags + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + opportunityOrder: + description: The order field + in: query + name: order + schema: + type: string + example: id + enum: + - id + - created + - step_rank + - due_date + staffEmbed: + description: > + Additional object included in the result.

If current user + visibility on staffs is restricted, embed will not be available.

Each embed object may require different oauth2 scopes than the + main endpoint:
- licenses: `accounts.read` + in: query + name: embed + schema: + type: array + items: + type: string + enum: + - preferences + - acl + - licenses + - preferences_calendar + staffItemEmbed: + description: > + Additional object included in the result.

If current user + visibility on staffs is restricted, embed will not be available.

Each embed object may require different oauth2 scopes than the + main endpoint:
- licenses: `accounts.read`
- profile: + `staffs.read`
- account: `staffs.read`
- user: + `staffs.read`
- subscriptions: `accounts.read`
- features: + `accounts.read` + in: query + name: embed + schema: + type: array + items: + type: string + enum: + - preferences + - acl + - licenses + - preferences_calendar + - intercom_hash + - profile + - account + - user + - subscriptions + - features + opportunitySourceOrder: + description: The order field + in: query + name: order + schema: + type: string + example: id + enum: + - id + - rank + default: rank + opportunityPipelineOrder: + description: The order field + in: query + name: order + schema: + type: string + example: id + enum: + - id + - rank + default: rank + pipelineStepOrder: + description: The order field + in: query + name: order + schema: + type: string + example: id + enum: + - id + - rank + - probability + default: rank + pipelineStepEmbed: + description: > + Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + opportunities_number: `opportunities.read` + in: query + name: embed + schema: + type: array + items: + type: string + enum: + - opportunities_number + fields: + description: > + Filters the fields returned in the response

Example:
+ - `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- `field[]=_embed`: + Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` embed
+ - `field[]=_embed.company.name`: Return the `name` field from the + `company` embed
+ in: query + name: field + schema: + type: array + items: + type: string + pattern: ^[A-Za-z0-9\.\[\]_-]+$ + favouriteFiltersOrder: + description: The order field + in: query + name: order + schema: + type: string + example: id + enum: + - name + - id + SaleEmbed: + description: > + Example : `embed[]=payment_method_ids&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
+ - payment_method_ids: `payments.read`
- company: + `companies.read`
- individual: `individuals.read`
- contact: + `contacts.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags + embed is limited to the 20 first results sorted in alphabetical order. +
- related: by object type. Check the entire documentation to + verify the usual scopes requested for the types returned

+ Aggregations on amounts only works in addition with the currency + filter + in: query + name: embed + schema: + type: array + items: + oneOf: + - title: standards + description: The standards embeds + type: string + enum: + - company + - individual + - contact + - invoicing_address + - delivery_address + - currency + - acl + - payment_method_ids + - aggregations + - aggregations.amount_sum_by_status + - aggregations.count_by_status + - fiscal_year + - smart_tags + - payment_terms + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + EstimateOneEmbed: + description: > + Example : `embed[]=payment_method_ids&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
+ - payment_method_ids: `payments.read`
- company: + `companies.read`
- individual: `individuals.read`
- contact: + `contacts.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
- discount_incl_taxes: + `discount-incl-taxes.read`
Additionnally, the smart_tags embed is + limited to the 20 first results sorted in alphabetical order.
- + related: by object type. Check the entire documentation to verify the + usual scopes requested for the types returned

+ Aggregations on amounts only works in addition with the currency + filter + in: query + name: embed + schema: + type: array + items: + oneOf: + - title: standards + description: The standards embeds + type: string + enum: + - company + - individual + - contact + - invoicing_address + - delivery_address + - currency + - acl + - payment_method_ids + - aggregations + - aggregations.amount_sum_by_status + - aggregations.count_by_status + - fiscal_year + - smart_tags + - payment_terms + - discount_incl_taxes + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + SaleOrder: + description: >- + The order field + + > Value `numero` is deprecated and will be deleted on the July 1st 2022. + Use `number` instead. + in: query + name: order + schema: + type: string + example: id + enum: + - id + - numero + - created + - date + - expiry_date + - number + - amount + taskEmbed: + description: > + Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + company: `companies.read`
- individual: `individuals.read`
- + owner, assigned_staffs: `staffs.read`
- contact: + `contacts.read`
- related: by object type. Check the entire + documentation to verify the usual scopes requested for the types + returned + in: query + name: embed + schema: + type: array + items: + type: string + enum: + - owner + - assigned_staffs + - related + - company + - individual + - contact + - acl + taskOrder: + description: The order field + in: query + name: order + schema: + type: string + example: id + enum: + - id + - due_date + labelOrder: + description: The order field + in: query + name: order + schema: + type: string + example: rank + enum: + - rank + - id + autocomplete: + description: The search field + in: query + name: q + schema: + type: string + example: John + required: true + searchType: + description: | + Filter search by object type or subtype. + - `ex with types: type[]=contact&type[]=company` + - `ex with subtypes: type[]=company.client&type[]=item.product` + - `ex with both: type[]=company&type[]=item.product` + in: query + name: type + explode: true + schema: + type: array + items: + type: string + enum: + - company + - company.client + - company.prospect + - company.supplier + - individual + - individual.client + - individual.prospect + - individual.supplier + - contact + - opportunity + - purchase + - purchase.purInvoice + - purchase.purDelivery + - purchase.purOrder + - purchase.purCreditNote + - item + - item.product + - item.packaging + - item.shipping + - item.service + - declination + - declination.product + - declination.declination + - document + - document.estimate + - document.invoice + - document.delivery + - document.order + - document.proforma + - document.creditnote + - staff + - ticket + - redactor + - redactor.document + - redactor.template + activityOrder: + description: The order field + in: query + name: order + schema: + type: string + example: due_date + enum: + - due_date + activityEmbed: + description: > + Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + company: `companies.read`
- individual: `individuals.read`
- + author: `staffs.read`
- object_related: by object type. Check the + entire documentation to verify the usual scopes requested for the types + returned + in: query + name: embed + schema: + type: array + items: + type: string + enum: + - object_related + - author + - individual + - company + - acl + phoneCallEmbed: + description: > + Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + company: `companies.read`
- individual: `individuals.read`
- + owner: `staffs.read`
- contact: `contacts.read`
- related: + by object type. Check the entire documentation to verify the usual + scopes requested for the types returned + in: query + name: embed + schema: + type: array + items: + type: string + enum: + - company + - individual + - contact + - related + - owner + - acl + reportEmbed: + description: Additional object included in the result. + in: query + name: embed + schema: + type: array + items: + type: string + enum: + - aggregations + - aggregations.cumulio + contactOrders: + description: The order field + in: query + name: order + schema: + type: string + example: id + enum: + - id + - name + - created_at + direction: + description: The order direction + in: query + name: direction + schema: + type: string + enum: + - asc + - desc + default: asc + order: + description: The order field + in: query + name: order + schema: + type: string + example: id + limit: + description: The pagination limit + in: query + name: limit + schema: + description: Pagination limit + type: integer + default: 25 + maximum: 100 + minimum: 0 + offset: + description: The pagination offset + in: query + name: offset + schema: + oneOf: + - type: integer + minimum: 0 + example: 25 + - type: string + example: WzIwMTQtMDEtMDEsNTk4XQ== + language: + description: translation of the country name + in: query + name: language + schema: + description: language code + type: string + enum: + - fr + - en + default: fr + customActivityOrder: + description: The order field + in: query + name: order + schema: + type: string + example: date + enum: + - date + ocrOrder: + description: The order field + in: query + name: order + schema: + type: string + example: completed_at + enum: + - created_at + - completed_at + paymentMethodOrder: + description: The order field + in: query + name: order + schema: + type: string + example: rank + enum: + - id + - rank + accountingOrder: + description: The order field + in: query + name: order + schema: + type: string + example: code + enum: + - code + calendarEventEmbed: + description: > + Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + company: `companies.read`
- individual: `individuals.read`
- + owner: `staffs.read`
- contact: `contacts.read`
- related, + participants: by object type. Check the entire documentation to verify + the usual scopes requested for the types returned + in: query + name: embed + schema: + type: array + items: + type: string + enum: + - company + - contact + - individual + - owner + - related + - participants + - acl + calendarEventOrder: + description: The order field + in: query + name: order + schema: + type: string + example: id + enum: + - id + - due_date + profileOrder: + description: The order field + in: query + name: order + schema: + type: string + example: id + enum: + - name + - id + staffOrder: + description: Field on which to sort the data + in: query + name: order + schema: + type: string + example: id + enum: + - id + - name + verify: + description: >- + Flag to trigger validation only (set to true to validate payload without + persisting data) + in: query + name: verify + schema: + type: boolean + accountingEmbed: + description: >- + Additional object included in the result.
Aggregations by + date only works with due_date filter :
- For + aggregations.by_day_and_event, maximum interval of due_date is 90 days +
- For aggregations.by_month_and_event, maximum interval of + due_date is 365 days + in: query + name: embed + schema: + type: array + items: + type: string + enum: + - aggregations + - aggregations.credit_debit + opportuntiyCategoryEmbed: + description: Additional object included in the result + in: query + name: embed + schema: + type: array + items: + type: string + enum: + - sources + corporationStaffEmbed: + description: Additional object included in the result + in: query + name: embed + schema: + type: array + items: + type: string + enum: + - predicted_licenses + - aggregations.count_licenses + invoiceEmbed: + description: Additional object included in the result + in: query + name: embed + schema: + type: array + items: + oneOf: + - type: string + enum: + - acl + - owner + - related + - contact + - individual + - company + - fiscal_year + - currency + - smart_tags + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + invoiceOneEmbed: + description: Additional object included in the result + in: query + name: embed + schema: + type: array + items: + oneOf: + - title: standards + description: The standards embeds + type: string + enum: + - acl + - payment_terms + - owner + - related + - contact + - individual + - company + - fiscal_year + - currency + - automatic_dunning + - smart_tags + - discount_incl_taxes + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + invoiceOrder: + description: Order field + in: query + name: order + schema: + type: string + example: id + enum: + - id + - number + - created + - date + - amount + - due_date + creditNoteEmbed: + description: Additional object included in the result + in: query + name: embed + schema: + type: array + items: + oneOf: + - type: string + enum: + - fiscal_year + - related + - contact + - company + - individual + - currency + - owner + - acl + - smart_tags + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + creditNoteOneEmbed: + description: Additional object included in the result + in: query + name: embed + schema: + type: array + items: + oneOf: + - title: standards + description: The standards embeds + type: string + enum: + - fiscal_year + - related + - contact + - company + - individual + - currency + - owner + - acl + - smart_tags + - discount_incl_taxes + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + creditNoteOrder: + description: Order field + in: query + name: order + schema: + type: string + example: id + enum: + - id + - number + - created + - date + - amount + itemOrder: + description: Order field + in: query + name: order + schema: + type: string + example: id + enum: + - id + - created_at + importType: + description: Type of import + in: path + name: type + required: true + schema: + type: string + enum: + - product + - product-variation + - company + - service + - service-price + - product-price + orderEmbed: + description: Additional object included in the result + in: query + name: embed + schema: + type: array + items: + oneOf: + - type: string + enum: + - acl + - related + - contact + - individual + - company + - fiscal_year + - currency + - smart_tags + - owner + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + orderEmbedOne: + description: Additional object included in the result + in: query + name: embed + schema: + type: array + items: + oneOf: + - type: string + enum: + - acl + - related + - contact + - individual + - company + - fiscal_year + - currency + - smart_tags + - owner + - payment_terms + - discount_incl_taxes + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + orderOrder: + description: Order field + in: query + name: order + schema: + type: string + example: id + enum: + - id + - number + - created + - date + - amount + - due_date + - order_status + objectiveOrder: + description: The order field + in: query + name: order + schema: + type: string + example: id + enum: + - id + - name + - date_start + - date_end + - created_at + - updated_at + - progress + - expected_amount + - period + - duration + - assignee + - item + objectiveEmbed: + description: > + Example : `embed[]=created_by&embed[]=modified_by`
Additional + object included in the result.

Each embed object may require + different oauth2 scopes than the main endpoint:
- created_by: + `staffs.read`
- modified_by: `staffs.read`
+ in: query + name: embed + schema: + type: array + items: + title: Embed + description: The embeds + type: string + enum: + - created_by + - modified_by + - objective_results + objectiveCategory: + description: filter specific objective categories + in: query + name: category + schema: + type: array + items: + title: Category + description: The category + type: string + enum: + - turnover + schemas: + PredictPlan: + title: Predict + type: object + properties: + predicted_plan: + description: Plan predicted. If the pricing version is < 4, return `null` + type: string + example: essential + nullable: true + predicted_marketing_plan: + description: >- + Marketing plan predicted. If the pricing version is < 5, return + `null` + type: string + example: pack_marketing_starter + nullable: true + CreateModel: + title: Create model + type: object + properties: + number: + description: Name of model + type: string + maxLength: 100 + example: model#1 + created: + description: Created date of model + type: string + format: date-time + example: '2018-02-21T12:00:00Z' + subject: + description: > + Subject of model

Note: Date variables, called "tag", + can be integrated in this property, they will be replaced by the + real value when converting the document template to a document
> + Refer to endpoint's description of list available tags for document + model. + type: string + example: Subject + currency: + description: Currency code of the model + type: string + example: EUR + discount: + description: Global discount applied on the model + type: object + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + description: value of discount + type: string + example: '25.20' + owner_id: + description: Invoice's owner (staff id) + type: integer + example: 145 + minimum: 1 + rows: + type: array + nullable: true + items: + type: object + oneOf: + - title: Single Row + type: object + allOf: + - type: object + properties: + description: + description: > + Row description

Note: Date variables, + called "tag", can be integrated in this property, they + will be replaced by the real value when converting the + document template to a document
> Refer to + endpoint's description of list available tags for + document model. + type: + type: string + enum: + - single + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/0/allOf/1 + - title: Shipping/Packaging Row + description: By default take value of related item + type: object + properties: + description: + description: No row description for this type + type: string + nullable: true + example: Aluminium rail 4x3m + deprecated: true + id: + description: Row Identifier + type: integer + readOnly: true + type: + type: string + enum: + - shipping + - packaging + related: + description: Related shipping or packaging + type: object + properties: + id: + description: item identifier + type: integer + type: + description: Type of item + type: string + enum: + - shipping + - packaging + unit_amount: + description: Unit amount without tax. + type: string + example: '90.22' + tax_id: + description: Tax identifier + type: integer + example: 12 + quantity: + description: Quantity + type: string + example: '7.2' + reference: + description: Row reference - get name of shipping/packaging + type: string + example: MB880174910 + deprecated: true + discount: + description: Discount applied on the row + type: object + nullable: true + properties: + type: + description: >- + Type of the discount. Express her in percentage or + with an amount + type: string + enum: + - percent + - amount + example: amount + value: + oneOf: + - description: >- + value of discount (Expressed in amount or percent + depending choosen type) + type: string + example: '20.5' + total: + description: Total of all discount for this row + type: string + example: '400' + readOnly: true + accounting_code_id: + description: Accouting code id of row + type: integer + example: 7576 + analytic_code: + description: Analytic code of row + type: string + nullable: true + example: divers + tax_rate: + description: Tax rate + type: string + readOnly: true + example: '20.00' + tax_amount: + description: Tax amount + type: string + readOnly: true + example: '23.44' + tax_label: + description: Tax label + type: string + readOnly: true + example: tva + amount_tax_inc: + description: total amount of row tax included + type: string + readOnly: true + example: '1229.93' + amount_tax_exc: + description: total amount of row without tax + type: string + readOnly: true + example: '445.33' + is_optional: + description: > + If row is optional
The special feature of these lines + is that they are not taken into account in the calculation + of the document. + type: boolean + example: true + required: + - related + - quantity + - type + - title: Catalog Item Row + type: object + allOf: + - type: object + properties: + description: + description: > + Row description

Note: Date variables, + called "tag", can be integrated in this property, they + will be replaced by the real value when converting the + document template to a document
> Refer to + endpoint's description of list available tags for + document model. + type: + type: string + enum: + - catalog + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/2/allOf/1 + - title: Comment Row + type: object + allOf: + - type: object + properties: + type: + type: string + enum: + - comment + text: + description: > + Comment content

Note: Date variables, + called "tag", can be integrated in this property, they + will be replaced by the real value when converting the + document template to a document
> Refer to + endpoint's description of list available tags for + document model. + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/3/allOf/1 + - title: Title Row + type: object + properties: + id: + description: Row Identifier + type: integer + readOnly: true + type: + type: string + enum: + - title + text: + type: string + required: + - type + - title: Sub Total Row + type: object + properties: + id: + description: Row Identifier + type: integer + readOnly: true + type: + type: string + enum: + - sub-total + amount: + description: Amount of the sub-total + type: string + readOnly: true + required: + - type + - title: Break Line Row + type: object + properties: + id: + description: Row Identifier + type: integer + readOnly: true + type: + type: string + enum: + - break-line + required: + - type + - title: Break Page Row + type: object + properties: + id: + description: Row Identifier + type: integer + readOnly: true + type: + type: string + enum: + - break-page + required: + - type + rate_category_id: + description: Rate Category to apply on document + type: integer + example: 777 + required: + - number + - rate_category_id + Model: + title: Model + type: object + properties: + id: + description: Identifier of model + type: integer + example: 7 + number: + description: Name of model + type: string + maxLength: 100 + example: model#1 + created: + description: Created date of model + type: string + format: date-time + example: '2018-02-21T12:00:00Z' + subject: + description: > + Subject of model
> the property can include custom tags, the + list of available ones is available on response for endpoint + `get./documents/models/tags` + type: string + example: Subject + amounts: + description: Amounts of invoice, with and without taxes + type: object + readOnly: true + properties: + total_raw_excl_tax: + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + type: string + example: '60' + total_after_discount_excl_tax: + description: >- + Total discounted without tax. Does not include transport and + packaging costs + type: string + example: '50' + total_packaging: + description: Total amount of packaging costs. + type: string + example: '15.96' + total_shipping: + description: Total amount of shipping costs. + type: string + example: '13.90' + total_excl_tax: + description: >- + Total net without tax. Including transport and packaging costs. + Discount is applied if any. + type: string + example: '79.86' + total_incl_tax: + description: Total with tax + type: string + example: '95.83' + currency: + description: Currency code of the model + type: string + example: EUR + taxes: + description: List of taxes used on the invoice + type: array + readOnly: true + items: + description: Tax used + type: object + properties: + id: + type: integer + label: + type: string + rate: + type: string + amount: + type: string + required: + - id + - label + - rate + - amount + discount: + description: Global discount applied on the invoice + type: object + nullable: true + properties: + percent: + description: Percentage of the discount + type: string + example: '12.00' + amount: + description: Amount of the discount + type: string + example: '111.97' + type: + description: Type of the global discount as defined on the document + type: string + enum: + - amount + - percent + payment_conditions_acceptance: + description: Acceptance of terms and conditions + type: object + readOnly: true + properties: + enabled: + description: Acceptance is required to pay or sign the document + type: boolean + owner: + allOf: + - type: object + properties: + id: + description: Unique ID + type: integer + readOnly: true + example: 6657 + type: + description: Type of owner + type: string + readOnly: true + example: staff + - description: Invoice's owner + type: object + readOnly: true + pdf_link: + description: >- + Link to the pdf of document. /!\ Link is regenerate after an update + of document + type: string + format: uri + nullable: true + readOnly: true + decimal_number: + description: Precision for decimal numbers + type: object + readOnly: true + properties: + unit_price: + description: Precision of unit price + type: integer + nullable: true + quantity: + description: Precision of quantity + type: integer + nullable: true + main: + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + type: integer + rate_category_id: + description: Rate Category applied on document + type: integer + example: 777 + assigned_staff_id: + description: The staff linked + type: integer + nullable: false + readOnly: true + example: 2 + ModelOne: + allOf: + - title: Model + type: object + properties: + id: + description: Identifier of model + type: integer + example: 7 + number: + description: Name of model + type: string + maxLength: 100 + example: model#1 + created: + description: Created date of model + type: string + format: date-time + example: '2018-02-21T12:00:00Z' + subject: + description: > + Subject of model
> the property can include custom tags, + the list of available ones is available on response for endpoint + `get./documents/models/tags` + type: string + example: Subject + amounts: + description: Amounts of invoice, with and without taxes + type: object + readOnly: true + properties: + total_raw_excl_tax: + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + type: string + example: '60' + total_after_discount_excl_tax: + description: >- + Total discounted without tax. Does not include transport and + packaging costs + type: string + example: '50' + total_packaging: + description: Total amount of packaging costs. + type: string + example: '15.96' + total_shipping: + description: Total amount of shipping costs. + type: string + example: '13.90' + total_excl_tax: + description: >- + Total net without tax. Including transport and packaging + costs. Discount is applied if any. + type: string + example: '79.86' + total_incl_tax: + description: Total with tax + type: string + example: '95.83' + currency: + description: Currency code of the model + type: string + example: EUR + taxes: + description: List of taxes used on the invoice + type: array + readOnly: true + items: + description: Tax used + type: object + properties: + id: + type: integer + label: + type: string + rate: + type: string + amount: + type: string + required: + - id + - label + - rate + - amount + discount: + description: Global discount applied on the invoice + type: object + nullable: true + properties: + percent: + description: Percentage of the discount + type: string + example: '12.00' + amount: + description: Amount of the discount + type: string + example: '111.97' + type: + description: Type of the global discount as defined on the document + type: string + enum: + - amount + - percent + payment_conditions_acceptance: + description: Acceptance of terms and conditions + type: object + readOnly: true + properties: + enabled: + description: Acceptance is required to pay or sign the document + type: boolean + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + - description: Invoice's owner + type: object + readOnly: true + pdf_link: + description: >- + Link to the pdf of document. /!\ Link is regenerate after an + update of document + type: string + format: uri + nullable: true + readOnly: true + decimal_number: + description: Precision for decimal numbers + type: object + readOnly: true + properties: + unit_price: + description: Precision of unit price + type: integer + nullable: true + quantity: + description: Precision of quantity + type: integer + nullable: true + main: + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + type: integer + rate_category_id: + description: Rate Category applied on document + type: integer + example: 777 + assigned_staff_id: + description: The staff linked + type: integer + nullable: false + readOnly: true + example: 2 + - type: object + properties: + rows: + type: array + items: + type: object + oneOf: + - title: Single Row + type: object + allOf: + - type: object + properties: + description: + description: > + Row description
> the property can include + custom tags, the list of available ones is + available on response for endpoint + `get./documents/models/tags` + type: string + nullable: true + example: Aluminium rail 4x3m + - title: Single Row + type: object + properties: + description: + description: Row description + type: string + nullable: true + example: Aluminium rail 4x3m + id: + description: Row Identifier + type: integer + readOnly: true + type: + type: string + enum: + - single + unit_id: + description: Id of unit of measurement of quantity + type: integer + purchase_amount: + description: Purchase amount + type: string + unit_amount: + description: Unit amount without tax. + type: string + example: '22.20' + tax_id: + description: Tax identifier + type: integer + example: 12 + quantity: + description: Quantity + type: string + example: '7.2' + reference: + description: Row reference + type: string + example: MB880174910 + discount: + description: Discount applied on the row + type: object + nullable: true + properties: + type: + description: >- + Type of the discount. Express her in + percentage or with an amount + type: string + enum: + - percent + - amount + example: amount + value: + oneOf: + - description: >- + Value of discount (Expressed in amount or + percent depending choosen type) + type: string + example: '20.5' + total: + description: Total of all discount for this row + type: string + example: '400' + readOnly: true + tax_rate: + description: Tax rate + type: string + readOnly: true + example: '20.00' + tax_amount: + description: Tax amount + type: string + readOnly: true + example: '23.44' + tax_label: + description: Tax label + type: string + readOnly: true + example: tva + amount_tax_inc: + description: Total amount of row tax included + type: string + readOnly: true + example: '1229.93' + amount_tax_exc: + description: Total amount of row without tax + type: string + readOnly: true + example: '445.33' + accounting_code_id: + description: Accounting code id of row + type: integer + example: 7576 + analytic_code: + description: Analytic code of row + type: string + nullable: true + example: divers + is_optional: + description: > + If row is optional
The special feature of + these lines is that they are not taken into + account in the calculation of the document. + type: boolean + example: true + required: + - quantity + - unit_amount + - type + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/1 + - title: Catalog Item Row + description: By default take value of related item + type: object + allOf: + - type: object + properties: + description: + description: > + Row description
> the property can include + custom tags, the list of available ones is + available on response for endpoint + `get./documents/models/tags` + type: string + nullable: true + example: Aluminium rail 4x3m + - title: Catalog Item Row + description: By default take value of related item + type: object + properties: + description: + description: Row description + type: string + nullable: true + example: Aluminium rail 4x3m + id: + description: Row Identifier + type: integer + readOnly: true + type: + type: string + enum: + - catalog + related: + description: Related product or service + type: object + properties: + id: + description: item identifier + type: integer + type: + description: Type of item + type: string + enum: + - product + - service + declination_id: + description: declination identifier + type: integer + nullable: true + unit_amount: + description: Unit amount + type: string + example: '29.28' + eco_tax: + description: Eco tax applied on the row + type: object + nullable: true + properties: + type: + type: string + enum: + - inc + - excl + value: + type: string + example: '22.44' + purchase_amount: + description: Purchase amount + type: string + unit_id: + description: Id of unit of measurement of quantity + type: integer + warehouse_id: + description: Warehouse identifier + type: integer + nullable: true + sku_id: + description: Bar code id + nullable: true + type: integer + tax_id: + description: Tax identifier + type: integer + example: 12 + quantity: + description: Quantity + type: string + example: '7.2' + reference: + description: Row reference + type: string + example: MB880174910 + discount: + description: Discount applied on the row + type: object + nullable: true + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + oneOf: + - description: value of discount + type: string + example: '25.20' + total: + description: Total of all discount for this row + type: string + example: '400' + readOnly: true + tax_rate: + description: Tax rate + type: string + readOnly: true + example: '20.00' + tax_amount: + description: Tax amount + type: string + readOnly: true + example: '23.44' + tax_label: + description: Tax label + type: string + readOnly: true + example: tva + amount_tax_inc: + description: total amount of row tax included + type: string + readOnly: true + example: '1229.93' + amount_tax_exc: + description: total amount of row without tax + type: string + readOnly: true + example: '445.33' + accounting_code_id: + description: Accouting code id of row + type: integer + example: 7576 + analytic_code: + description: Analytic code of row + type: string + nullable: true + example: divers + is_optional: + description: > + If row is optional
The special feature of + these lines is that they are not taken into + account in the calculation of the document. + type: boolean + example: true + required: + - related + - quantity + - type + - title: Comment Row + type: object + allOf: + - type: object + properties: + text: + description: > + Comment
> the property can include custom + tags, the list of available ones is available on + response for endpoint + `get./documents/models/tags` + type: string + example: Aluminium rail 4x3m + - title: Comment Row + type: object + properties: + id: + description: Row Identifier + type: integer + readOnly: true + type: + type: string + enum: + - comment + text: + type: string + required: + - type + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/4 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/5 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/6 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/7 + AccountDocumentCollection: + title: Account document collection + type: object + properties: + pagination: + title: pagination + description: The pagination + type: object + properties: + limit: + type: integer + example: 25 + minimum: 0 + maximum: 100 + total: + type: integer + example: 152 + minimum: 0 + count: + type: integer + example: 25 + minimum: 0 + offset: + anyOf: + - type: integer + minimum: 0 + example: 25 + - type: string + example: WzIwMTQtMDEtMDEsNTk4XQ== + required: + - limit + - total + - count + - offset + data: + type: array + items: + allOf: + - type: object + properties: + date: + description: Date of the document + type: string + format: date + status: + description: Status of the invoice and credit note + type: string + readOnly: true + example: draft + enum: + - due + - payinprogress + - paid + - late + - stored + - partialspend + - spent + - cancelled + number: + description: Document number + type: string + example: INV-20210611-0010 + amount: + description: Total amount with taxes + type: string + example: '898.97' + public_link: + description: Public link of document + type: string + nullable: true + readOnly: true + pdf_link: + description: >- + Link to the pdf of document. /!\ Link is regenerate after + an update of document + type: string + format: uri + readOnly: true + required: + - date + - status + - amount + - public_link + - pdf_link + required: + - pagination + - data + DocumentLayoutsCollection: + title: Document layouts collection + type: object + properties: + pagination: + $ref: '#/components/schemas/AccountDocumentCollection/properties/pagination' + data: + type: array + items: + allOf: + - type: object + properties: + id: + type: integer + example: 1 + label: + description: Name of the document layout + type: string + example: Document Layout no. 42 + is_default: + description: True if the document layout is the default one + type: boolean + example: true + required: + - id + - label + - is_default + required: + - pagination + - data + CommentItem: + title: CommentItem + description: Contains all properties + _embed for an Item endpoint + type: object + allOf: + - title: CommentBaseItem + description: >- + Contains all properties that are shared between an Item endpoint and + a Collection Item endpoint, except _embed property + type: object + properties: + description: + description: Comment content + type: string + id: + description: Internal Comment ID + type: integer + readOnly: true + example: 1 + owner: + description: Owner of the comment + type: object + properties: + id: + type: integer + example: 123 + type: + type: string + example: staff + enum: + - staff + - contact + updated: + description: Modification date of the comment + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + created: + description: Creation date of the comment + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + parent_id: + description: Comment parent ID + type: integer + nullable: true + related: + description: Main object related to the comment (limit to 1) + type: array + minItems: 0 + maxItems: 1 + items: + description: Main object related to the comment + type: object + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - item + - estimate + - creditnote + - order + - delivery + - proforma + - invoice + - model + - purchase-order + - purchase-delivery + - purchase-invoice + - purchase-creditnote + - redactor-template + - redactor-document + - campaign + company_id: + description: Company linked to the comment + type: integer + example: 123 + nullable: true + individual_id: + description: Individual linked to the comment + type: integer + example: 123 + nullable: true + contact_id: + description: Contact linked to the comment + type: integer + example: 123 + nullable: true + timetracking: + nullable: true + allOf: + - title: Timetracking + description: Timetracking details (requires the timetracking plugin) + type: object + properties: + duration: + description: Timetracking duration in seconds + type: integer + example: 3600 + minimum: 1 + service: + description: Timetracking service ID related + type: integer + example: 6352439 + name: + description: Timetracking service name + type: string + nullable: true + example: Service name + - type: object + properties: + _embed: + allOf: + - description: Objects add to response. Use embed parameter + type: object + readOnly: true + properties: + owner: + title: Owner (staff) assigned to the comment + allOf: + - $ref: >- + #/components/schemas/Activity/properties/_embed/properties/author + - title: Owner (staff) assigned to the comment + type: object + nullable: true + related: + description: Objects linked to the comment + type: array + minItems: 0 + maxItems: 1 + nullable: false + items: + anyOf: + - title: Company + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + - title: Individual + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + - title: Contact + $ref: '#/components/schemas/ContactItem/allOf/0' + - title: Opportunity + $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/1 + - title: Task + $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/2 + company: + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + - title: Company linked to the comment + type: object + nullable: true + individual: + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + - title: Individual linked to the comment + type: object + nullable: true + contact: + allOf: + - $ref: '#/components/schemas/ContactItem/allOf/0' + - title: Contact linked to the comment + type: object + nullable: true + acl: + allOf: + - description: Comment ACL + type: object + - $ref: >- + #/components/schemas/Activity/properties/_embed/properties/acl/oneOf/4 + CommentFilters: + title: CommentFilters + description: The Comment filters + type: object + properties: + filters: + type: object + properties: + owners: + title: Owners + description: Filter the comments list by owners + type: array + items: + type: integer + example: 1 + created: + title: Created at + description: Filter the comments list by creation date + type: object + properties: + start: + type: string + format: date-time + example: '2021-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2021-02-01T00:00:00+01:00' + updated: + title: Updated at + description: Filter the comments list by modification date + type: object + properties: + start: + type: string + format: date-time + example: '2021-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2021-02-01T00:00:00+01:00' + parent_id: + title: Parent ID + description: Filter the comments list by parent ID + type: integer + example: 123 + related_objects: + title: Related Objects + description: Filter the comments list by related objects + type: array + items: + type: object + properties: + type: + type: string + example: opportunity + id: + type: integer + example: 123 + companies: + title: Companies + description: Filter the comments list by companies + type: array + items: + type: integer + individuals: + title: Individuals + description: Filter the comments list by individuals + type: array + items: + type: integer + contacts: + title: Contacts + description: Filter the comments list by contacts + type: array + items: + type: integer + required: + - filters + CommentCreateItem: + title: Comment + description: Comment creation object + type: object + x-examples: {} + allOf: + - title: Comment + description: Comment update object + type: object + x-examples: {} + properties: + description: + description: Comment content + type: string + example: Lorem ipsum dolor sit amet, consectetur adipiscing elit. + nullable: false + timetracking: + description: >- + if null provided, it'll delete existing timetracking entry for + existing comment + nullable: true + allOf: + - $ref: >- + #/components/schemas/CommentUpdateItem/properties/timetracking/allOf/0 + - type: object + required: + - description + - type: object + properties: + related: + description: Main object related to the comment (limit to 1) + type: array + minItems: 1 + maxItems: 1 + items: + description: Main object related to the comment + type: object + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - item + - estimate + - creditnote + - order + - delivery + - proforma + - invoice + - model + - purchase-order + - purchase-delivery + - purchase-invoice + - purchase-creditnote + - redactor-template + - redactor-document + - campaign + parent_id: + description: Comment parent ID + type: integer + mentioned_staff_ids: + description: Ids of staffs mentioned in the comment + type: array + uniqueItems: true + nullable: true + items: + type: integer + example: 12329 + created: + description: Date of creation of the comment + type: string + format: date-time + CommentUpdateItem: + title: Comment + description: Comment update object + type: object + x-examples: {} + properties: + description: + description: Comment content + type: string + example: Lorem ipsum dolor sit amet, consectetur adipiscing elit. + nullable: false + timetracking: + description: >- + if null provided, it'll delete existing timetracking entry for + existing comment + nullable: true + allOf: + - title: Timetracking + description: Timetracking details (requires the timetracking plugin) + type: object + required: + - service + - duration + properties: + duration: + description: Timetracking duration in seconds + type: integer + example: 3600 + minimum: 1 + service: + description: Timetracking service ID related + type: integer + example: 6352439 + ContactItem: + title: Contact + allOf: + - title: Contact + description: '' + type: object + x-examples: {} + properties: + id: + description: Unique ID + type: integer + readOnly: true + example: 6657 + civility: + description: Civility of staff + type: string + example: mrs + nullable: true + enum: + - mr + - mrs + - ms + first_name: + description: Contact first name + type: string + example: John + nullable: true + maxLength: 200 + last_name: + description: Contact name + type: string + example: Doe + maxLength: 200 + nullable: true + email: + description: Contact email + type: string + format: email + example: john.doe@example-company.com + nullable: true + website: + description: Contact website + type: string + format: url + example: http://example-john-doe.com + nullable: true + phone_number: + description: Contact phone number + type: string + example: '+33100000000' + nullable: true + mobile_number: + description: Contact mobile number + type: string + example: '+33600000000' + nullable: true + fax_number: + description: Contact Fax number + type: string + example: '+33100000000' + nullable: true + position: + description: Contact job + type: string + nullable: true + example: Financial + birth_date: + description: Contact birth date + type: string + example: '2000-05-29' + nullable: true + avatar: + description: Contact avatar + type: string + format: url + example: http://example-john-doe.com/avatar + nullable: true + note: + description: Note on contact + type: string + example: An handed-written note describing this contact + invoicing_address_id: + description: Invoicing address unique ID + type: integer + nullable: true + minimum: 1 + example: 9987 + readOnly: true + delivery_address_id: + description: Delivery address unique ID + type: integer + nullable: true + minimum: 1 + example: 6547 + readOnly: true + social: + $ref: >- + #/paths/~1companies/post/requestBody/content/application~1json/schema/properties/social + sync: + type: object + properties: + mailchimp: + description: Activate the mailchimp synchronization + type: boolean + nullable: false + mailjet: + description: Activate the mailjet synchronization + type: boolean + nullable: false + simplemail: + description: Activate the simplemail synchronization + type: boolean + nullable: false + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + created: + description: Datetime of creating contact + type: string + nullable: false + example: '2020-05-29T11:22:03+02:00' + updated: + description: Datetime of updating contact + type: string + nullable: false + example: '2020-05-29T11:22:03+02:00' + readOnly: true + is_archived: + description: Status archived or not + type: boolean + nullable: false + example: false + marketing_campaigns_subscriptions: + description: list of campaign type subcribed + type: array + items: + type: string + enum: + - sms + - phone + - email + - postal_mail + - custom + uniqueItems: true + x-konfig-properties: + owner: + readOnly: true + - type: object + properties: + _embed: + allOf: + - title: itemEmbed.yaml + allOf: + - description: Objects add to response. Use embed parameter + readOnly: true + allOf: + - type: object + properties: + invoicing_address: + description: Invoicing address + nullable: true + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + delivery_address: + description: Delivery address + nullable: true + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + opportunities: + description: Count of opportunities + nullable: true + type: integer + example: 2 + estimates: + description: Count of estimates + nullable: true + type: integer + example: 2 + invoices: + description: Count of invoices + nullable: true + type: integer + example: 2 + orders: + description: Count of orders + nullable: true + type: integer + example: 2 + deliveries: + description: Count of deliveries + nullable: true + type: integer + example: 2 + smart_tags: + description: Smart-tags linked + nullable: true + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/2 + - type: object + properties: + acl: + description: Contact ACL + nullable: true + allOf: + - $ref: >- + #/components/schemas/Activity/properties/_embed/properties/acl/oneOf/1 + ContactCollectionItem: + title: ContactCollectionItem.yaml + type: object + allOf: + - $ref: '#/components/schemas/ContactItem/allOf/0' + - type: object + properties: + _embed: + allOf: + - $ref: >- + #/components/schemas/ContactItem/allOf/1/properties/_embed/allOf/0/allOf/0 + ContactCreateItem: + title: contactCreateItem.yaml + allOf: + - title: Contact + allOf: + - $ref: '#/components/schemas/ContactItem/allOf/0' + - type: object + properties: + _embed: + $ref: >- + #/components/schemas/ContactItem/allOf/1/properties/_embed/allOf/0 + x-konfig-properties: {} + - type: object + properties: + last_name: + description: Contact name + type: string + example: Doe + maxLength: 200 + owner_id: + description: Owner of the contact (Staff id expected) + type: integer + nullable: true + example: 112 + minimum: 1 + required: + - last_name + ContactUpdateItem: + title: updateItem.yaml + allOf: + - $ref: '#/components/schemas/ContactCreateItem/allOf/0' + - type: object + properties: + last_name: + description: Contact name + type: string + example: Doe + maxLength: 200 + created: + description: Datetime of creating contact + type: string + nullable: false + example: '2020-05-29T11:22:03+02:00' + readOnly: true + owner_id: + description: Owner of the contact (Staff id expected) + type: integer + nullable: true + example: 112 + minimum: 1 + ContactFilters: + title: contactFilters + description: The contact filters + type: object + properties: + filters: + description: contact filters + type: object + properties: + companies: + title: Companies + description: Filter the contacts list by companies ID + type: array + items: + type: integer + example: + - 12 + - 22 + individuals: + title: Individuals + description: Filter the contacts list by individuals ID + type: array + items: + type: integer + example: + - 12 + - 22 + created: + title: Created at + description: Filter the contact list by creation date + type: object + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + updated: + title: Updated at + description: Filter the contact list by last update date + type: object + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + last_name: + title: Lastname + description: Filter the contact list by lastname (exact search) + type: string + example: John Doe + birth_date: + title: Birth date + description: Filter the contact list by birth date-time + type: object + properties: + start: + type: string + format: date + example: '2020-01-01' + end: + type: string + format: date + example: '2020-02-01' + email: + title: Email + description: Filter the contact list by email (exact search) + type: string + example: john.doe@example.com + phone_number: + title: Phone number + description: Filter the contact list by phone number (exact search) + type: string + example: '+33100000000' + mobile_number: + title: Mobile phone + description: Filter contact list by mobile number (exact search) + type: string + example: '+33100000000' + id: + title: Contacts + description: Filter the contacts list by contacts ID + type: array + items: + type: integer + example: + - 12 + - 22 + favourite_filter: + title: Favourite filters + description: > + Id of favourite filters
(see endpoint to list favourite + filters) + type: integer + example: 10 + is_linked: + title: Is linked to a company or an individual + description: >- + Filter contacts according to whether or not they are related to + companies and individuals + type: boolean + example: false + country_code: + title: Country code + description: Filter the contacts list by country code (main address only) + type: string + example: FR + postal_code: + title: Postal code + description: Filter the contacts list by postal code (main address only) + type: array + items: + type: string + example: + - '17001' + - '17002' + required: + - filters + Estimate: + title: Estimate + allOf: + - type: object + properties: + date: + description: Date of the estimate + type: string + format: date + related: + description: | + Objects linked to the estimate : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only of type `client` or `prospect` + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + type: array + minItems: 1 + items: + description: >- + Object linked to the estimate (at least a Company or an + Individual) + type: object + properties: + type: + type: string + enum: + - company + - individual + - opportunity + id: + type: integer + required: + - type + - id + contact_id: + description: Contact of company linked to the estimate + type: integer + nullable: true + assigned_staff_id: + description: Staff in charge of the estimate + type: integer + status: + description: Status of the estimate (draft if not provided at the creation) + type: string + readOnly: true + example: draft + enum: + - draft + - sent + - read + - accepted + - refused + - expired + - advanced + - partialinvoiced + - invoiced + - cancelled + number: + description: Estimate number + type: string + example: EST-20210611-0010 + amounts: + description: Amounts of estimate with and without taxe + type: object + readOnly: true + properties: + shipping: + description: Total shipping amount + type: string + example: '128.54' + packaging: + description: Total packaging amount + type: string + example: '40.24' + total_raw_excl_tax: + description: Total without tax and without global discount + type: string + example: '933.07' + total_after_discount_excl_tax: + description: Total without tax and after discount applied + type: string + example: '821.10' + total_excl_tax: + description: Total net without tax + type: string + example: '843.10' + total: + description: Total amount with taxes + type: string + example: '898.97' + total_primes_incl_tax: + description: Total of primes added on document + type: string + example: '10.00' + required: + - shipping + - packaging + - total_raw_excl_tax + - total_after_discount_excl_tax + - total_excl_tax + - total + currency: + description: Currency code of estimate + type: string + subject: + description: Subject of estimate + type: string + public_link: + description: Public link of estimate + type: string + nullable: true + readOnly: true + public_link_enabled: + description: Public link is enabled + type: boolean + payment_method_ids: + description: payments methods allowed on the estimate + type: array + nullable: true + items: + type: integer + decimal_number: + description: Precision for decimal numbers + readOnly: true + type: object + properties: + unit_price: + description: Precision of unit price + type: integer + nullable: true + quantity: + description: Precision of quantity + type: integer + nullable: true + main: + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + type: integer + pdf_link: + description: >- + Link to the pdf of estimate. /!\ Link is regenerate after an + update of estimate + type: string + format: uri + readOnly: true + expiry_date: + description: Expiry date of the estimate + type: string + format: date + payment_conditions_acceptance: + description: Acceptance of terms and conditions + type: object + readOnly: true + properties: + enabled: + description: Acceptance is required to pay or sign the document* + type: boolean + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + delivery_address_id: + description: >- + Shipping address, by default take shipping address of + company/individual. + type: integer + note: + description: Notes of the estimate + type: string + example: This estimate is very important
+ shipping_date: + description: Date of the shipping + type: string + format: date + nullable: true + example: '2024-01-31' + - type: object + properties: + id: + description: Document ID + type: integer + readOnly: true + example: 6657 + owner: + type: object + properties: + type: + type: string + id: + type: integer + required: + - type + - id + created: + description: Date of creation of document + type: string + format: date-time + discount: + description: Global discount applied on the document + nullable: true + type: object + properties: + percent: + description: Percentage of the discount + type: string + example: '12.00' + amount: + description: Amount of the discount + type: string + example: '111.97' + type: + description: Type of the global discount as defined on the document + type: string + enum: + - amount + - percent + fiscal_year_id: + description: ID of the estimate's fiscal year + type: integer + nullable: true + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + readOnly: true + delivery_address_id: + description: >- + Shipping address, by default take shipping address of + company/individual. + type: integer + readOnly: true + taxes: + description: List of taxes used on the estimate + type: array + items: + description: Tax used + type: object + properties: + label: + type: string + id: + type: integer + rate: + type: string + amount: + type: string + required: + - label + - id + - rate + - amount + rate_category_id: + description: Rate Category applied on document + type: integer + example: 777 + service_dates: + description: Service dates on the document if enabled + type: object + nullable: true + properties: + start: + description: Start date for service + type: string + format: date + example: '2023-01-01' + end: + description: End date for service + type: string + format: date + example: '2023-01-31' + shipping_date: + description: Date of the shipping + type: string + format: date + nullable: true + required: + - id + - owner + - created + - date + - related + - contact_id + - invoicing_address_id + - delivery_address_id + - assigned_staff_id + - status + - number + - amounts + - currency + - subject + - public_link + - public_link_enabled + - payment_method_ids + - fiscal_year_id + EstimateCreate: + allOf: + - $ref: '#/components/schemas/Estimate/allOf/0' + - type: object + properties: + owner_id: + description: Owner of the estimate (staff id) + type: integer + minimum: 1 + rows: + description: Document's rows + type: array + nullable: true + items: + type: object + oneOf: + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/0/allOf/1 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/1 + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/2/allOf/1 + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/3/allOf/1 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/4 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/5 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/6 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/7 + discount: + description: Global discount applied on the estimate + type: object + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + description: value of discount + type: string + example: '25.20' + parent: + nullable: true + oneOf: + - title: Model + type: object + properties: + type: + type: string + enum: + - model + id: + description: Parent object id + type: integer + rate_category_id: + description: >- + Rate Category to apply on document (By default, the + rate_category_id will be that of company) + type: integer + example: 777 + service_dates: + description: Service dates on the document if enabled + type: object + nullable: true + properties: + start: + description: Start date for service + type: string + format: date + example: '2023-01-01' + end: + description: >- + End date for service

End date must be greater + than start date + type: string + format: date + example: '2023-01-31' + required: + - related + EstimateUpdate: + allOf: + - $ref: '#/components/schemas/Estimate/allOf/0' + - type: object + properties: + service_dates: + description: Service dates on the document if enabled + type: object + nullable: true + properties: + start: + description: Start date for service + type: string + format: date + example: '2023-01-01' + end: + description: >- + End date for service

End date must be greater + than start date + type: string + format: date + example: '2023-01-31' + rows: + type: array + nullable: true + items: + type: object + anyOf: + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/0/allOf/1 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/1 + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/2/allOf/1 + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/3/allOf/1 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/4 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/5 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/6 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/7 + - title: Update Single Row + type: object + properties: + description: + description: Row description + type: string + nullable: true + example: Aluminium rail 4x3m + id: + description: Row Identifier + type: integer + unit: + description: Id of unit of measurement of quantity + type: integer + purchase_amount: + description: Purchase amount + type: string + unit_amount: + description: Unit amount without tax. + type: string + example: '22.20' + tax_id: + description: Tax identifier + type: integer + example: 12 + tax: + description: >- + Tax identifier. This field will be removed on 1 July + 2022, use tax_id instead + deprecated: true + type: integer + example: 12 + quantity: + description: Quantity + type: string + example: 7 + reference: + description: Row reference + type: string + example: MB880174910 + discount: + description: Discount applied on the row + type: object + nullable: true + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + oneOf: + - description: value of discount + type: string + example: '25.20' + accounting_code: + description: Accouting code of row + type: integer + example: 7576 + analytic_code: + description: Analytic code of row + type: string + nullable: true + example: divers + is_optional: + description: > + If row is optional
The special feature of these + lines is that they are not taken into account in the + calculation of the document. + type: boolean + example: true + required: + - id + - title: Update Shipping/Packaging Row + type: object + properties: + description: + description: Row description + type: string + nullable: true + example: Aluminium rail 4x3m + id: + description: Row Identifier + type: integer + unit_amount: + description: Unit amount without tax. + type: string + example: '90.22' + tax_id: + description: Tax identifier + type: integer + example: 12 + quantity: + description: Quantity + type: string + example: 7 + reference: + description: Row reference + type: string + example: MB880174910 + discount: + description: Discount applied on the row + type: object + nullable: true + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + oneOf: + - description: value of discount + type: string + example: '25.20' + tax_rate: + description: Tax rate + type: string + readOnly: true + example: '20.00' + tax_amount: + description: Tax amount + type: string + readOnly: true + example: '23.44' + amount_tax_inc: + description: total amount of row tax included + type: string + readOnly: true + example: '1229.93' + amount_tax_exc: + description: total amount of row without tax + type: string + readOnly: true + example: '445.33' + accounting_code_id: + description: Accouting code id of row + type: integer + example: 7576 + analytic_code: + description: Analytic code of row + type: string + nullable: true + example: divers + is_optional: + description: > + If row is optional
The special feature of these + lines is that they are not taken into account in the + calculation of the document. + type: boolean + example: true + required: + - related + - quantity + - title: Update Catalog Item Row + type: object + properties: + description: + description: Row description + type: string + nullable: true + example: Aluminium rail 4x3m + id: + description: Row Identifier + type: integer + unit_amount: + description: Unit amount + type: string + example: '29.28' + eco_tax: + description: Eco tax applied on the row + type: object + nullable: true + properties: + type: + type: string + enum: + - inc + - excl + value: + type: string + example: '22.44' + purchase_amount: + description: Purchase amount + type: string + unit: + description: Id of unit of measurement of quantity + type: integer + warehouse_id: + description: Warehouse identifier + type: integer + nullable: true + sku_id: + description: Bar code id + nullable: true + type: integer + tax_id: + description: Tax identifier + type: integer + example: 12 + tax: + description: >- + Tax identifier. This field will be removed on 1 July + 2022, use tax_id instead + deprecated: true + type: integer + example: 12 + quantity: + description: Quantity + type: string + example: 7 + reference: + description: Row reference + type: string + example: MB880174910 + discount: + description: Discount applied on the row + type: object + nullable: true + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + oneOf: + - description: value of discount + type: string + example: '25.20' + accounting_code: + description: Accouting code of row + type: integer + example: 7576 + analytic_code: + description: Analytic code of row + type: string + nullable: true + example: divers + is_optional: + description: > + If row is optional
The special feature of these + lines is that they are not taken into account in the + calculation of the document. + type: boolean + example: true + required: + - id + - title: Update Comment Row + type: object + properties: + id: + description: Row Identifier + type: integer + text: + type: string + required: + - id + - title: Update Title Row + type: object + properties: + id: + description: Row Identifier + type: integer + text: + type: string + required: + - id + - title: Update Sub Total Row + type: object + properties: + id: + description: Row Identifier + type: integer + required: + - id + - title: Update Break Line Row + type: object + properties: + id: + description: Row Identifier + type: integer + required: + - id + - title: Update Break Page Row + type: object + properties: + id: + description: Row Identifier + type: integer + required: + - id + x-konfig-properties: + '0': + title: New Single Row + type: object + '1': + title: New Packaging/Shipping Row + type: object + '2': + title: New Catalog Item Row + type: object + '3': + title: New Comment Row + type: object + '4': + title: New Title Row + type: object + '5': + title: New Sub-Total Row + type: object + '6': + title: New Break Line Row + type: object + '7': + title: New Break Page Row + type: object + EstimateStatusUpdate: + type: object + properties: + status: + description: Status of the estimate + type: string + example: sent + enum: + - draft + - sent + - read + - accepted + - refused + - expired + - partialinvoiced + - invoiced + - cancelled + EstimateCollection: + title: Estimate collection item + type: object + properties: + pagination: + $ref: '#/components/schemas/AccountDocumentCollection/properties/pagination' + data: + type: array + items: + allOf: + - $ref: '#/components/schemas/EstimateOne/allOf/0' + - title: Embed for Estimate + description: Objects add to response. Use embed parameter + x-examples: {} + type: object + properties: + _embed: + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/0 + - type: object + properties: + company: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + individual: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + contact: + $ref: '#/components/schemas/ContactItem/allOf/0' + invoicing_address: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + delivery_address: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + currency: + nullable: true + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/currency + acl: + title: EstimateAcl + description: '' + type: object + x-examples: {} + properties: + can_be_updated: + description: Document can be updated + type: boolean + nullable: true + example: true + can_be_deleted: + description: Document can be deleted + type: boolean + nullable: true + example: true + payment_method_ids: + type: array + items: + title: Payment method object + type: object + properties: + id: + description: Payment method identifier + type: integer + label: + description: Payment method label + type: string + fiscal_year: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/fiscal_year + smart_tags: + description: Smart-tags linked + nullable: true + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/2 + required: + - pagination + - data + EstimateAggregations: + title: Document aggregations + type: object + properties: + amount_sum_by_status: + description: Total amount of document by status, require `currency` filter + type: object + count_by_status: + description: Number of document by status + type: object + EstimateOne: + allOf: + - title: Estimate + allOf: + - $ref: '#/components/schemas/Estimate/allOf/0' + - type: object + properties: + id: + description: Document ID + type: integer + readOnly: true + example: 6657 + owner: + type: object + properties: + type: + type: string + id: + type: integer + required: + - type + - id + created: + description: Date of creation of document + type: string + format: date-time + discount: + description: Global discount applied on the document + nullable: true + type: object + properties: + percent: + description: Percentage of the discount + type: string + example: '12.00' + amount: + description: Amount of the discount + type: string + example: '111.97' + type: + description: Type of the global discount as defined on the document + type: string + enum: + - amount + - percent + fiscal_year_id: + description: ID of the estimate's fiscal year + type: integer + nullable: true + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + readOnly: true + delivery_address_id: + description: >- + Shipping address, by default take shipping address of + company/individual. + type: integer + readOnly: true + taxes: + description: List of taxes used on the estimate + type: array + items: + description: Tax used + type: object + properties: + label: + type: string + id: + type: integer + rate: + type: string + amount: + type: string + required: + - label + - id + - rate + - amount + rate_category_id: + description: Rate Category applied on document + type: integer + example: 777 + service_dates: + description: Service dates on the document if enabled + type: object + nullable: true + properties: + start: + description: Start date for service + type: string + format: date + example: '2023-01-01' + end: + description: End date for service + type: string + format: date + example: '2023-01-31' + shipping_date: + description: Date of the shipping + type: string + format: date + nullable: true + required: + - id + - owner + - created + - date + - related + - contact_id + - invoicing_address_id + - delivery_address_id + - assigned_staff_id + - status + - number + - amounts + - currency + - subject + - public_link + - public_link_enabled + - payment_method_ids + - fiscal_year_id + - type: object + properties: + rows: + type: array + items: + $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/rows/items + required: + - id + - owner + - created + - date + - related + - contact_id + - invoicing_address_id + - delivery_address_id + - assigned_staff_id + - status + - number + - amounts + - currency + - subject + - public_link + - public_link_enabled + - rows + EstimateCompute: + type: object + properties: + owner: + type: object + properties: + type: + type: string + id: + type: integer + required: + - type + - id + rows: + type: array + items: + type: object + anyOf: + - title: Single Row + type: object + properties: + description: + description: Row description + type: string + nullable: true + example: Aluminium rail 4x3m + type: + type: string + enum: + - single + unit_id: + description: Id of unit of measurement of quantity + type: integer + purchase_amount: + description: Purchase amount + type: string + unit_amount: + description: Unit amount without tax. + type: string + example: '22.20' + tax_id: + description: Tax identifier + type: integer + example: 12 + quantity: + description: Quantity + type: string + example: '7.2' + reference: + description: Row reference + type: string + example: MB880174910 + discount: + description: Discount applied on the row + type: object + nullable: true + properties: + type: + description: >- + Type of the discount. Express her in percentage or + with an amount + type: string + enum: + - percent + - amount + example: amount + value: + oneOf: + - description: >- + value of discount (Expressed in amount or percent + depending choosen type) + type: string + example: '20.5' + total: + description: Total of all discount for this row + type: string + example: '400' + tax_rate: + description: Tax rate + type: string + readOnly: true + example: '20.00' + tax_amount: + description: Tax amount + type: string + readOnly: true + example: '23.44' + tax_label: + description: Tax label + type: string + readOnly: true + example: tva + amount_tax_inc: + description: total amount of row tax included + type: string + readOnly: true + example: '1229.93' + amount_tax_exc: + description: total amount of row without tax + type: string + readOnly: true + example: '445.33' + accounting_code_id: + description: Accouting code id of row + type: integer + example: 7576 + analytic_code: + description: Analytic code of row + type: string + nullable: true + example: divers + required: + - quantity + - unit_amount + - type + - title: Shipping/Packaging Row + description: By default take value of related item + type: object + properties: + description: + description: Row description + type: string + nullable: true + example: Aluminium rail 4x3m + deprecated: true + type: + type: string + enum: + - shipping + - packaging + related: + description: Related shipping or packaging + type: object + properties: + id: + description: item identifier + type: integer + type: + description: Type of item + type: string + enum: + - shipping + - packaging + unit_amount: + description: Unit amount without tax. + type: string + example: '90.22' + tax_id: + description: Tax identifier + type: integer + example: 12 + quantity: + description: Quantity + type: string + example: '7.2' + reference: + description: Row reference + type: string + example: MB880174910 + deprecated: true + discount: + description: Discount applied on the row + type: object + nullable: true + properties: + type: + description: >- + Type of the discount. Express her in percentage or + with an amount + type: string + enum: + - percent + - amount + example: amount + value: + oneOf: + - description: >- + value of discount (Expressed in amount or percent + depending choosen type) + type: string + example: '20.5' + total: + description: Total of all discount for this row + type: string + example: '400' + accounting_code_id: + description: Accouting code id of row + type: integer + example: 7576 + analytic_code: + description: Analytic code of row + type: string + nullable: true + example: divers + tax_rate: + description: Tax rate + type: string + readOnly: true + example: '20.00' + tax_amount: + description: Tax amount + type: string + readOnly: true + example: '23.44' + tax_label: + description: Tax label + type: string + readOnly: true + example: tva + amount_tax_inc: + description: total amount of row tax included + type: string + readOnly: true + example: '1229.93' + amount_tax_exc: + description: total amount of row without tax + type: string + readOnly: true + example: '445.33' + required: + - related + - quantity + - type + - title: Catalog Item Row + description: By default take value of related item + type: object + properties: + description: + description: Row description + type: string + nullable: true + example: Aluminium rail 4x3m + type: + type: string + enum: + - catalog + related: + description: Related product or service + type: object + properties: + id: + description: item identifier + type: integer + type: + description: Type of item + type: string + enum: + - product + - service + unit_amount: + description: Unit amount + type: string + example: '29.28' + eco_tax: + description: Eco tax applied on the row + type: object + nullable: true + properties: + type: + type: string + enum: + - inc + - excl + value: + type: string + example: '22.44' + purchase_amount: + description: Purchase amount + type: string + unit_id: + description: Id of unit of measurement of quantity + type: integer + warehouse_id: + description: Warehouse identifier + type: integer + nullable: true + sku_id: + description: Bar code id + nullable: true + type: integer + tax_id: + description: Tax identifier + type: integer + example: 12 + quantity: + description: Quantity + type: string + example: '7.2' + reference: + description: Row reference + type: string + example: MB880174910 + discount: + description: Discount applied on the row + type: object + nullable: true + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + oneOf: + - description: value of discount + type: string + example: '25.20' + total: + description: Total of all discount for this row + type: string + example: '400' + tax_rate: + description: Tax rate + type: string + readOnly: true + example: '20.00' + tax_amount: + description: Tax amount + type: string + readOnly: true + example: '23.44' + tax_label: + description: Tax label + type: string + readOnly: true + example: tva + amount_tax_inc: + description: total amount of row tax included + type: string + readOnly: true + example: '1229.93' + amount_tax_exc: + description: total amount of row without tax + type: string + readOnly: true + example: '445.33' + accounting_code_id: + description: Accouting code id of row + type: integer + example: 7576 + analytic_code: + description: Analytic code of row + type: string + nullable: true + example: divers + required: + - related + - quantity + - type + - title: Comment Row + type: object + properties: + type: + type: string + enum: + - comment + text: + type: string + required: + - type + - title: Title Row + type: object + properties: + type: + type: string + enum: + - title + text: + type: string + required: + - type + - title: Sub Total Row + type: object + properties: + type: + type: string + enum: + - sub-total + amount: + description: Amount of the sub-total + type: string + readOnly: true + required: + - type + - title: Break Line Row + type: object + properties: + type: + type: string + enum: + - break-line + required: + - type + - title: Break Page Row + type: object + properties: + type: + type: string + enum: + - break-page + required: + - type + date: + description: Date of the estimate + type: string + format: date + related: + description: | + Objects linked to the estimate : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only of type `client` or `prospect` + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + type: array + minItems: 1 + maxItems: 1 + items: + description: Object linked to the estimate (a Company or an Individual) + type: object + properties: + type: + type: string + enum: + - company + - individual + id: + type: integer + required: + - type + - id + contact_id: + description: Contact of company linked to the estimate + type: integer + nullable: true + assigned_staff_id: + description: Staff in charge of the estimate + type: integer + status: + description: Status of the estimate (draft if not provided at the creation) + type: string + readOnly: true + example: draft + enum: + - draft + - sent + - read + - accepted + - refused + - expired + - advanced + - partialinvoiced + - invoiced + - cancelled + number: + description: Estimate number + type: string + example: EST-20210611-0010 + amounts: + description: Amounts of estimate with and without taxe + type: object + readOnly: true + properties: + shipping: + description: Total shipping amount + type: string + example: '128.54' + packaging: + description: Total packaging amount + type: string + example: '40.24' + total_raw_excl_tax: + description: Total without tax and without global discount + type: string + example: '933.07' + total_after_discount_excl_tax: + description: Total without tax and after discount applied + type: string + example: '821.10' + total_excl_tax: + description: Total net without tax + type: string + example: '843.10' + total: + description: Total amount with taxes + type: string + example: '898.97' + required: + - shipping + - packaging + - total_raw_excl_tax + - total_after_discount_excl_tax + - total_excl_tax + - total + currency: + description: Currency code of estimate + type: string + subject: + description: Subject of estimate + type: string + public_link: + description: Public link of estimate + type: string + nullable: true + readOnly: true + public_link_enabled: + description: Public link is enabled + type: boolean + payment_method_ids: + description: payments methods allowed on the estimate + type: array + nullable: true + items: + type: integer + decimal_number: + description: Precision for decimal numbers + readOnly: true + type: object + properties: + unit_price: + description: Precision of unit price + type: integer + nullable: true + quantity: + description: Precision of quantity + type: integer + nullable: true + main: + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + type: integer + pdf_link: + description: >- + Link to the pdf of estimate. /!\ Link is regenerate after an update + of estimate + type: string + format: uri + readOnly: true + expiry_date: + description: Expiry date of the estimate + type: string + format: date + nullable: true + taxes: + description: List of taxes used on the estimate + type: array + items: + description: Tax used + type: object + properties: + label: + type: string + id: + type: integer + rate: + type: string + amount: + type: string + required: + - label + - id + - rate + - amount + discount: + description: Global discount applied on the document + nullable: true + type: object + properties: + percent: + description: Percentage of the discount + type: string + example: '12.00' + amount: + description: Amount of the discount + type: string + example: '111.97' + type: + description: Type of the global discount as defined on the document + type: string + enum: + - amount + - percent + required: + - owner + - date + - related + - contact_id + - assigned_staff_id + - status + - number + - amounts + - currency + - subject + - public_link + - public_link_enabled + - payment_method_ids + EstimateFilters: + title: estimate filters + description: The estimates filters + type: object + properties: + filters: + description: estimates filters + type: object + properties: + created: + title: Created at + description: Filter the estimate list by creation date + type: object + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + owners: + title: Owners + description: Filter the estimate list by owner (staff id) + type: array + items: + type: integer + date: + title: Document date + description: Filter the estimate list by date + type: object + properties: + start: + type: string + format: date + example: '2020-01-01' + end: + type: string + format: date + example: '2020-02-01' + related_objects: + title: Related Objects + type: array + items: + type: object + properties: + type: + type: string + enum: + - company + - individual + - opportunity + example: company + id: + type: integer + example: 22 + contacts: + title: Contact + description: Filter the estimate list by contact (contact id) + type: array + items: + type: integer + assigned_staff_ids: + title: Assigned staffs + description: Filter the estimate list by assigned staffs (staff id) + type: array + items: + type: integer + status: + title: Status + description: Filter the estimate list by status + example: + - draft + - sent + - read + type: array + items: + type: string + enum: + - draft + - sent + - read + - accepted + - refused + - expired + - advanced + - partialinvoiced + - invoiced + - cancelled + number: + title: number + description: Filter the estimate list by number (exact search) + type: string + example: DEVIS-0001 + currency: + title: currency + description: Currency code (exact search) + type: string + example: EUR + favourite_filter: + $ref: >- + #/components/schemas/ContactFilters/properties/filters/properties/favourite_filter + required: + - filters + SaleEmbed: + title: Embed for Estimate + description: Objects add to response. Use embed parameter + x-examples: {} + type: object + properties: + _embed: + allOf: + - type: object + properties: + payment_terms: + title: Document Payment Terms + description: Terms of payment of document + allOf: + - type: object + properties: + settings: + title: Payment terms configuration + description: >- + Description payment configuration applied to the + document + type: object + properties: + type: + description: Type of payment terms generation method + type: string + enum: + - settings + value: + description: Parameters of payment terms + type: object + properties: + id: + description: Id of payment terms setting + type: integer + label: + description: label of payment terms setting + type: string + example: Deadlines + x_days: + description: >- + Number of days added to document date for + determine the due date + type: integer + end_of_month: + description: >- + Does the due date have to be fixed to the + end of the month? (After the addition of + x_days) + type: boolean + override_date: + description: >- + Can the due date be overwritten in addition + to the parameters ? + type: boolean + required: + - id + - label + - type: object + properties: + computed_instalment_plan: + description: >- + List of deadlines computed with the payment terms + settings + type: array + items: + type: object + properties: + date: + description: due date + type: string + format: date + amount: + description: Total amount + type: string + - type: object + properties: + company: + title: Company + description: '' + type: object + x-examples: {} + properties: + id: + description: Unique ID + type: integer + example: 6657 + type: + type: string + enum: + - prospect + - client + - supplier + name: + description: Company name + type: string + example: Example company + maxLength: 250 + email: + description: Company email + type: string + format: email + example: contact@example-company.com + nullable: true + website: + description: Company website + type: string + format: url + example: http://example-company.com + nullable: true + phone_number: + description: Company phone number + type: string + example: '+33100000000' + nullable: true + mobile_number: + description: Company mobile number + type: string + example: '+33600000000' + nullable: true + fax_number: + description: Company Fax number + type: string + example: '+33100000000' + nullable: true + legal_france: + $ref: >- + #/paths/~1contacts~1%7Bid%7D~1companies/get/responses/200/content/application~1json/schema/properties/data/items/properties/legal_france + capital: + description: Company Capital + type: string + nullable: true + example: '4000' + reference: + description: Company reference + type: string + example: CLI-1654 + nullable: true + note: + description: Note on company + type: string + example: An handed-written note describing this company + auxiliary_code: + description: Auxiliary code + type: string + example: 0EX11C + nullable: true + social: + $ref: >- + #/paths/~1companies/post/requestBody/content/application~1json/schema/properties/social + rate_category_id: + description: Company Rate category id + type: integer + nullable: true + example: 9956 + main_contact_id: + description: Main contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + dunning_contact_id: + description: Dunning contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + invoicing_contact_id: + description: Invoicing contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + invoicing_address_id: + description: Invoicing address unique ID + type: integer + nullable: true + minimum: 1 + example: 9987 + delivery_address_id: + description: Delivery address unique ID + type: integer + nullable: true + minimum: 1 + example: 6547 + accounting_code_id: + description: Company accounting code id + type: integer + nullable: true + example: 12345 + accounting_purchase_code_id: + description: Company accouting purchase code id + type: integer + nullable: true + example: 98556 + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + created: + description: Datetime of creating company + type: string + format: date-time + nullable: false + example: '2020-05-29T11:22:03+02:00' + updated_at: + description: Datetime of the last update of the company + type: string + format: date-time + nullable: false + example: '2020-05-29T11:22:03+02:00' + is_archived: + description: Status archived or not + type: boolean + nullable: false + example: false + business_segment: + description: Company business segment + type: object + nullable: true + properties: + id: + type: integer + example: 3 + label: + type: string + example: Software publisher / Digital services company + number_of_employees: + description: Number of employees of company + type: object + nullable: true + properties: + id: + type: integer + example: 1 + label: + type: string + example: From 1 to 5 + marketing_campaigns_subscriptions: + description: list of campaign type subcribed + type: array + items: + type: string + enum: + - sms + - phone + - email + - postal_mail + - custom + uniqueItems: true + individual: + title: Individual + description: '' + type: object + x-examples: {} + properties: + id: + description: Unique ID + type: integer + example: 6657 + type: + type: string + enum: + - prospect + - client + - supplier + last_name: + description: Individual contact lastname + type: string + example: Martin + maxLength: 200 + first_name: + description: Individual contact firstname + type: string + example: Jean + nullable: true + civility: + description: Civility of individual + type: string + example: mr + nullable: true + enum: + - mr + - mrs + - ms + email: + description: Individual email + type: string + format: email + example: jean.martin@personal-example.com + nullable: true + website: + description: Individual website + type: string + format: url + example: http://personal-example.com + nullable: true + phone_number: + description: Phone number + type: string + example: '+33100000000' + nullable: true + mobile_number: + description: Mobile number + type: string + example: '+33600000000' + nullable: true + fax_number: + description: Fax number + type: string + example: '+33100000000' + nullable: true + reference: + description: Internal reference + type: string + example: IND-1654 + nullable: true + note: + description: Note on individual + type: string + example: An handed-written note describing this individual + auxiliary_code: + description: Auxiliary code + type: string + example: 0EX11C + nullable: true + social: + $ref: >- + #/paths/~1companies/post/requestBody/content/application~1json/schema/properties/social + rate_category_id: + description: Rate category id + type: integer + nullable: true + example: 9956 + main_contact_id: + description: Main contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + dunning_contact_id: + description: Dunning contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + invoicing_contact_id: + description: Invoicing contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + invoicing_address_id: + description: Invoicing address unique ID + type: integer + nullable: true + minimum: 1 + example: 9987 + delivery_address_id: + description: Delivery address unique ID + type: integer + nullable: true + minimum: 1 + example: 6547 + accounting_code_id: + description: Accounting code id + type: integer + nullable: true + example: 12345 + accounting_purchase_code_id: + description: Accouting purchase code id + type: integer + nullable: true + example: 98556 + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + created: + description: Datetime of creation + type: string + format: date-time + nullable: false + example: '2020-05-29T11:22:03+02:00' + updated_at: + description: Datetime of the last update of the individual + type: string + format: date-time + nullable: false + example: '2020-05-29T11:22:03+02:00' + is_archived: + description: Status archived or not + type: boolean + nullable: false + example: false + marketing_campaigns_subscriptions: + description: list of campaign type subcribed + type: array + items: + type: string + enum: + - sms + - phone + - email + - postal_mail + - custom + uniqueItems: true + sync: + type: object + properties: + mailchimp: + description: Activate the mailchimp synchronization + type: boolean + nullable: false + mailjet: + description: Activate the mailjet synchronization + type: boolean + nullable: false + simplemail: + description: Activate the simplemail synchronization + type: boolean + nullable: false + contact: + $ref: '#/components/schemas/ContactItem/allOf/0' + invoicing_address: + title: Address + type: object + properties: + id: + description: Unique ID + type: integer + readOnly: true + example: 6657 + name: + description: Address name + type: string + example: Main office + minLength: 2 + address_line_1: + description: Address line one + type: string + example: 30 Commercial Road + nullable: true + address_line_2: + description: Address line two + type: string + example: Finance and Accounting + nullable: true + address_line_3: + description: Address line three + type: string + example: Lighthouse Promotions + nullable: true + address_line_4: + description: Address line four + type: string + example: PO Box 215 + nullable: true + postal_code: + description: Address postal code + type: string + nullable: true + example: '75012' + minLength: 2 + city: + description: Address city name + type: string + example: Paris + minLength: 2 + country: + description: Address country + type: string + nullable: true + example: France + minLength: 2 + country_code: + description: Address country code + type: string + example: FR + minLength: 2 + maxLength: 2 + is_invoicing_address: + readOnly: true + type: boolean + is_delivery_address: + readOnly: true + type: boolean + geocode: + type: object + properties: + lat: + type: number + nullable: true + example: 46.140862 + lng: + type: number + nullable: true + example: -1.168249 + delivery_address: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + currency: + title: Currency + type: object + properties: + id: + description: Currency Identifier + type: integer + readOnly: true + example: 13 + code: + description: Currency code (EUR, USD..) + type: string + readOnly: true + example: EUR + symbol: + description: Currency symbol (€, $) + type: string + example: € + readOnly: true + is_default: + description: Is default currency? + type: boolean + example: true + acl: + title: EstimateAcl + description: '' + type: object + x-examples: {} + properties: + can_be_updated: + description: Document can be updated + type: boolean + nullable: true + example: true + can_be_deleted: + description: Document can be deleted + type: boolean + nullable: true + example: true + payment_method_ids: + type: array + items: + title: Payment method object + type: object + properties: + id: + description: Payment method identifier + type: integer + label: + description: Payment method label + type: string + fiscal_year: + title: Fiscal year + type: object + properties: + id: + description: Fiscal year's ID + type: integer + start_at: + description: Start date of the fiscal yaer + type: string + format: date + end_at: + description: End date of the fiscal year + type: string + format: date + smart_tags: + description: Smart-tags linked + nullable: true + allOf: + - title: smart tag + type: array + items: + type: object + properties: + value: + description: value of smart tags + type: string + example: smart tag + id: + description: id of smart tags + type: integer + example: 55 + - type: object + properties: + custom_fields: + description: Custom-fields values requested + type: array + nullable: true + items: + anyOf: + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/1 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/2 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/3 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/4 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/5 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/6 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/7 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/8 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/9 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/10 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/11 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/12 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/13 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/14 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/15 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/16 + EstimateOneEmbed: + title: Embed for Estimate + description: Objects add to response. Use embed parameter + x-examples: {} + type: object + properties: + _embed: + allOf: + - $ref: '#/components/schemas/SaleEmbed/properties/_embed/allOf/0' + - type: object + properties: + discount_incl_taxes: + description: Discount including taxes of document + type: object + properties: + description: + description: Description visible on the document + type: string + minLength: 1 + maxLength: 1000 + example: For purchases made during the last five days of October + id: + description: identifier of discount + type: integer + readOnly: true + example: 31 + reference: + description: Reference of discount + type: string + minLength: 1 + maxLength: 250 + example: Halloween five last day + name: + description: Name of discount + type: string + minLength: 1 + maxLength: 250 + example: Halloween promotion + unit_id: + description: Unit id + type: integer + example: 31 + unit_amount: + description: Amount of unit + type: string + minLength: 0 + example: 31 + quantity: + description: Quantity of discounts + type: integer + example: 2 + total_amount: + description: Unit amount multiplied by quantity + type: string + example: 62 + accounting_code_id: + description: > +
  • If the accounting code is not empty, we use + it.
  • If the accounting code is empty AND if the + account has activated dedicated accounting codes for + discounts including VAT, we use it.
  • Otherwise, + we use the default accounting code for + companies.
+ type: integer + nullable: true + example: 31 + - type: object + properties: + company: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + individual: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + contact: + $ref: '#/components/schemas/ContactItem/allOf/0' + invoicing_address: {} + delivery_address: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + currency: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/currency + acl: + title: EstimateAcl + description: '' + type: object + x-examples: {} + properties: + can_be_updated: + description: Document can be updated + type: boolean + nullable: true + example: true + can_be_deleted: + description: Document can be deleted + type: boolean + nullable: true + example: true + payment_method_ids: + type: array + items: + title: Payment method object + type: object + properties: + id: + description: Payment method identifier + type: integer + label: + description: Payment method label + type: string + fiscal_year: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/fiscal_year + smart_tags: + description: Smart-tags linked + nullable: true + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + - $ref: '#/components/schemas/SaleEmbed/properties/_embed/allOf/2' + Address: + title: Address + type: object + properties: + id: + description: Unique ID + type: integer + readOnly: true + example: 6657 + name: + description: Address name + type: string + example: Main office + minLength: 2 + address_line_1: + description: Address line one + type: string + example: 30 Commercial Road + nullable: true + address_line_2: + description: Address line two + type: string + example: Finance and Accounting + nullable: true + address_line_3: + description: Address line three + type: string + example: Lighthouse Promotions + nullable: true + address_line_4: + description: Address line four + type: string + example: PO Box 215 + nullable: true + postal_code: + description: Address postal code + type: string + nullable: true + example: '75012' + minLength: 2 + city: + description: Address city name + type: string + example: Paris + minLength: 2 + country: + description: Address country + type: string + nullable: true + example: France + minLength: 2 + country_code: + description: Address country code + type: string + example: FR + minLength: 2 + maxLength: 2 + is_invoicing_address: + readOnly: true + type: boolean + is_delivery_address: + readOnly: true + type: boolean + geocode: + type: object + properties: + lat: + type: number + nullable: true + example: 46.140862 + lng: + type: number + nullable: true + example: -1.168249 + AddressCreate: + type: object + required: + - name + - address_line_1 + - postal_code + - city + - country_code + properties: + name: + description: Address name + type: string + example: Main office + minLength: 2 + nullable: false + address_line_1: + description: Address line one + type: string + example: 30 Commercial Road + nullable: false + address_line_2: + description: Address line two + type: string + example: Finance and Accounting + nullable: true + address_line_3: + description: Address line three + type: string + example: Lighthouse Promotions + nullable: true + address_line_4: + description: Address line four + type: string + example: PO Box 215 + nullable: true + postal_code: + description: Address postal code + type: string + nullable: false + example: '75012' + minLength: 2 + city: + description: Address city name + type: string + example: Paris + minLength: 2 + nullable: false + country_code: + description: Address country code + type: string + example: FR + minLength: 2 + maxLength: 2 + nullable: false + is_invoicing_address: + description: >- + default to true if no invoicing address is already defined, false + otherwise + type: boolean + is_delivery_address: + description: >- + default to true if no delivery address is already defined, false + otherwise + type: boolean + geocode: + type: object + properties: + lat: + type: number + nullable: true + example: 46.140862 + lng: + type: number + nullable: true + example: -1.168249 + AddressUpdate: + type: object + properties: + name: + description: Address name + type: string + example: Main office + minLength: 2 + nullable: false + address_line_1: + description: Address line one + type: string + example: 30 Commercial Road + nullable: false + address_line_2: + description: Address line two + type: string + example: Finance and Accounting + nullable: true + address_line_3: + description: Address line three + type: string + example: Lighthouse Promotions + nullable: true + address_line_4: + description: Address line four + type: string + example: PO Box 215 + nullable: true + postal_code: + description: Address postal code + type: string + nullable: false + example: '75012' + minLength: 2 + city: + description: Address city name + type: string + example: Paris + minLength: 2 + nullable: false + country_code: + description: Address country code + type: string + example: FR + minLength: 2 + maxLength: 2 + nullable: false + is_invoicing_address: + type: boolean + is_delivery_address: + type: boolean + geocode: + type: object + properties: + lat: + type: number + nullable: true + example: 46.140862 + lng: + type: number + nullable: true + example: -1.168249 + Staff: + title: Staff Schemas + description: Staff schemas according of current user level of visibility on staffs + allOf: + - title: Staff restricted visibility + type: object + properties: + id: + description: Unique ID + type: integer + readOnly: true + example: 6657 + lastname: + description: Staff last name + type: string + example: Smith + maxLength: 200 + nullable: true + firstname: + description: Staff first name + type: string + example: John + maxLength: 200 + nullable: true + email: + description: Staff email address + type: string + format: email + example: john@example-company.com + avatar: + description: Avatar url + type: string + nullable: true + format: uri + readOnly: true + status: + description: Staff status + type: string + enum: + - ok + - blocked + - deleted + readOnly: true + position: + description: Staff position + type: string + example: Sales manager + nullable: true + - type: object + properties: + phone_number: + description: Staff phone number + type: string + example: '+33100000000' + nullable: true + mobile_number: + description: Staff mobile number + type: string + example: '+33600000000' + nullable: true + fax_number: + description: Staff fax number + type: string + example: '+33500000000' + nullable: true + groups: + description: Staff groups + type: array + nullable: true + readOnly: true + items: + type: object + properties: + id: + type: integer + example: 1 + name: + type: string + example: Sales + civility: + description: Civility of staff + type: string + example: mrs + nullable: true + enum: + - mr + - mrs + - ms + created: + description: Creation date of the staff + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + readOnly: true + profile: + description: Staff privilège profile + type: integer + example: 3443 + team: + description: Staff team position + nullable: true + type: object + properties: + id: + type: integer + example: -1 + name: + type: string + example: Commercial + job: + description: Staff job + nullable: true + type: object + properties: + id: + type: integer + example: -1 + name: + type: string + example: Office manager + timezone: + description: Staff time zone + type: string + example: Europe/Paris + language: + description: Staff language + type: string + example: fr + StaffRestrictedView: + title: Staff restricted visibility + type: object + properties: + id: + description: Unique ID + type: integer + readOnly: true + example: 6657 + lastname: + description: Staff last name + type: string + example: Smith + maxLength: 200 + nullable: true + firstname: + description: Staff first name + type: string + example: John + maxLength: 200 + nullable: true + email: + description: Staff email address + type: string + format: email + example: john@example-company.com + avatar: + description: Avatar url + type: string + nullable: true + format: uri + readOnly: true + status: + description: Staff status + type: string + enum: + - ok + - blocked + - deleted + readOnly: true + position: + description: Staff position + type: string + example: Sales manager + nullable: true + StaffUpdateItem: + title: Staff + description: Staff update request body + type: object + properties: + lastname: + description: Staff last name + type: string + example: Smith + maxLength: 200 + nullable: false + firstname: + description: Staff first name + type: string + example: John + maxLength: 200 + nullable: false + email: + description: Staff email address + type: string + format: email + example: john@example-company.com + phone_number: + description: Staff phone number + type: string + example: '+33100000000' + nullable: true + mobile_number: + description: Staff mobile number + type: string + example: '+33600000000' + nullable: true + fax_number: + description: Staff fax number + type: string + example: '+33500000000' + nullable: true + civility: + description: Civility of staff + type: string + example: mrs + nullable: true + enum: + - mr + - mrs + - ms + position: + description: Staff position + type: string + example: Sales manager + maxLength: 200 + nullable: true + profile: + description: Staff privilège profile + type: integer + example: 3443 + team: + description: Staff team position + type: integer + example: -1 + job: + description: Staff job + type: integer + example: -1 + timezone: + description: Staff time zone + type: string + example: Europe/Paris + language: + description: Staff language + type: string + example: fr + licenses: + title: Licenses + type: array + minItems: 0 + maxItems: 1 + items: + type: object + properties: + id: + description: License identifier + type: string + example: 9998a80a-7b75-4616-96d5-7ccff7ac08e8 + is_active: + description: > + Status of the staff access
If your account contains licenses, + those already attached to this collaborator will remain so, you will + have to specify the "licenses" property to free the licenses + type: boolean + example: true + StaffPreferences: + title: Staff preferences + type: object + properties: + timezone: + description: Staff timezone + type: string + example: Europe/Paris + format_phone_number: + description: display phone number format + readOnly: true + type: string + enum: + - international + - national + example: international + format_date: + description: display date format + readOnly: true + type: string + example: DD-MM-YYYY + enum: + - MM-DD-YYYY + - DD-MM-YYYY + format_hour: + description: display hour format + readOnly: true + type: integer + example: 24 + enum: + - 12 + - 24 + currency: + description: current currency for staff + readOnly: true + type: string + example: EUR + StaffAcl: + title: Staff ACL + description: '' + type: object + x-examples: {} + properties: + view_companies: + description: Is allowed to view companies + type: boolean + nullable: false + example: true + create_companies: + description: Is allowed to create companies + type: boolean + nullable: false + example: true + update_companies: + description: Is allowed to update companies + type: boolean + nullable: false + example: true + delete_companies: + description: Is allowed to delete companies + type: boolean + nullable: false + example: true + view_individuals: + description: Is allowed to view individuals + type: boolean + nullable: false + example: true + create_individuals: + description: Is allowed to create individuals + type: boolean + nullable: false + example: true + update_individuals: + description: Is allowed to update individuals + type: boolean + nullable: false + example: true + delete_individuals: + description: Is allowed to delete individuals + type: boolean + nullable: false + example: true + view_clients: + description: Is allowed to view clients + type: boolean + nullable: false + example: true + create_clients: + description: Is allowed to create clients + type: boolean + nullable: false + example: true + update_clients: + description: Is allowed to update clients + type: boolean + nullable: false + example: true + delete_clients: + description: Is allowed to delete clients + type: boolean + nullable: false + example: true + view_prospects: + description: Is allowed to view prospects + type: boolean + nullable: false + example: true + create_prospects: + description: Is allowed to create prospects + type: boolean + nullable: false + example: true + update_prospects: + description: Is allowed to update prospects + type: boolean + nullable: false + example: true + delete_prospects: + description: Is allowed to delete prospects + type: boolean + nullable: false + example: true + view_suppliers: + description: Is allowed to view suppliers + type: boolean + nullable: false + example: true + create_suppliers: + description: Is allowed to create suppliers + type: boolean + nullable: false + example: true + update_suppliers: + description: Is allowed to update suppliers + type: boolean + nullable: false + example: true + delete_suppliers: + description: Is allowed to delete suppliers + type: boolean + nullable: false + example: true + view_contacts: + description: Is allowed to view contacts + type: boolean + nullable: false + example: true + create_contacts: + description: Is allowed to create contacts + type: boolean + nullable: false + example: true + update_contacts: + description: Is allowed to update contacts + type: boolean + nullable: false + example: true + delete_contacts: + description: Is allowed to delete contacts + type: boolean + nullable: false + example: true + view_opportunities: + description: Is allowed to view opportunities + type: boolean + nullable: false + example: true + create_opportunities: + description: Is allowed to create opportunities + type: boolean + nullable: false + example: true + update_opportunities: + description: Is allowed to update opportunities + type: boolean + nullable: false + example: true + delete_opportunities: + description: Is allowed to delete opportunities + type: boolean + nullable: false + example: true + view_estimates: + description: Is allowed to view estimates + type: boolean + nullable: false + example: true + create_estimates: + description: Is allowed to create estimates + type: boolean + nullable: false + example: true + update_estimates: + description: Is allowed to update estimates + type: boolean + nullable: false + example: true + delete_estimates: + description: Is allowed to delete estimates + type: boolean + nullable: false + example: true + view_phone_calls: + description: Is allowed to view phone calls + type: boolean + nullable: false + example: true + create_phone_calls: + description: Is allowed to create phone calls + type: boolean + nullable: false + example: true + update_phone_calls: + description: Is allowed to update phone calls + type: boolean + nullable: false + example: true + delete_phone_calls: + description: Is allowed to delete phone calls + type: boolean + nullable: false + example: true + view_document_models: + description: Is allowed to view document models + type: boolean + nullable: false + example: true + create_document_models: + description: Is allowed to create document models + type: boolean + nullable: false + example: true + update_document_models: + description: Is allowed to update document models + type: boolean + nullable: false + example: true + delete_document_models: + description: Is allowed to delete document models + type: boolean + nullable: false + example: true + view_invoices: + description: Is allowed to view invoices + type: boolean + nullable: false + example: true + create_invoices: + description: Is allowed to create invoices + type: boolean + nullable: false + example: true + update_invoices: + description: Is allowed to update invoices + type: boolean + nullable: false + example: true + delete_invoices: + description: Is allowed to delete invoices + type: boolean + nullable: false + example: true + validate_invoices: + description: Is allowed to validate invoices + type: boolean + nullable: false + view_credit_notes: + description: Is allowed to view credit notes + type: boolean + nullable: false + example: true + create_credit_notes: + description: Is allowed to create credit notes + type: boolean + nullable: false + example: true + update_credit_notes: + description: Is allowed to update credit notes + type: boolean + nullable: false + example: true + delete_credit_notes: + description: Is allowed to delete credit notes + type: boolean + nullable: false + example: true + validate_credit_notes: + description: Is allowed to validate credit notes + type: boolean + nullable: false + example: true + view_orders: + description: Is allowed to view orders + type: boolean + nullable: false + example: true + create_orders: + description: Is allowed to create orders + type: boolean + nullable: false + example: true + update_orders: + description: Is allowed to update orders + type: boolean + nullable: false + example: true + delete_orders: + description: Is allowed to delete orders + type: boolean + nullable: false + example: true + view_deliveries: + description: Is allowed to view deliveries + type: boolean + nullable: false + example: true + view_proformas: + description: Is allowed to view proformas + type: boolean + nullable: false + example: true + view_purchase_invoices: + description: Is allowed to view purchase invoices + type: boolean + nullable: false + example: true + view_purchase_credit_notes: + description: Is allowed to view purchase credit notes + type: boolean + nullable: false + example: true + view_purchase_deliveries: + description: Is allowed to view purchase deliveries + type: boolean + nullable: false + example: true + view_purchase_orders: + description: Is allowed to view purchase orders + type: boolean + nullable: false + example: true + view_items: + description: Is allowed to view items + type: boolean + nullable: false + example: true + create_items: + description: Is allowed to create items + type: boolean + nullable: false + example: true + update_items: + description: Is allowed to update items + type: boolean + nullable: false + example: true + delete_items: + description: Is allowed to delete items + type: boolean + nullable: false + example: true + view_payments: + description: Is allowed to view payments + type: boolean + example: true + create_payments: + description: Is allowed to create payments + type: boolean + example: true + update_payments: + description: Is allowed to update payments + type: boolean + example: true + delete_payments: + description: Is allowed to delete payments + type: boolean + example: true + attach_payments: + description: Is allowed to attach existing payments to objects + type: boolean + example: true + view_subscriptions: + description: Is allowed to view subscriptions + type: boolean + example: true + create_subscriptions: + description: Is allowed to create subscriptions + type: boolean + example: true + update_subscriptions: + description: Is allowed to update subscriptions + type: boolean + example: true + delete_subscriptions: + description: Is allowed to delete subscriptions + type: boolean + example: true + view_cashflow: + description: Is allowed to view cashflow + type: boolean + nullable: false + example: true + create_cashflow: + description: Is allowed to create cashflow + type: boolean + nullable: false + example: true + view_files: + description: Is allowed to view files + type: boolean + nullable: false + example: true + attach_files: + description: Is allowed to attach files + type: boolean + nullable: false + example: true + delete_files: + description: Is allowed to delete files + type: boolean + nullable: false + example: true + view_tickets: + description: Is allowed to view support tickets + type: boolean + nullable: false + example: true + StaffCreateItem: + title: Staff + description: Staff creation request body + type: object + properties: + lastname: + description: Staff last name + type: string + example: Smith + maxLength: 200 + nullable: false + firstname: + description: Staff first name + type: string + example: John + maxLength: 200 + nullable: false + email: + description: Staff email address + type: string + format: email + example: john@example-company.com + phone_number: + description: Staff phone number + type: string + example: '+33100000000' + nullable: true + mobile_number: + description: Staff mobile number + type: string + example: '+33600000000' + nullable: true + fax_number: + description: Staff fax number + type: string + example: '+33500000000' + nullable: true + civility: + description: Civility of staff + type: string + example: mrs + nullable: true + enum: + - mr + - mrs + - ms + position: + description: Staff position + type: string + example: Sales manager + maxLength: 200 + nullable: true + profile: + description: Staff privilège profile + type: integer + example: 3443 + team: + description: Staff team position + type: integer + example: -1 + job: + description: Staff job + type: integer + example: -1 + timezone: + description: Staff time zone + type: string + example: Europe/Paris + language: + description: Staff language + type: string + example: fr + first_connection_onboarding: + description: Staff onboarding on first connection + type: boolean + example: true + licenses: + title: Licenses + type: array + minItems: 0 + maxItems: 1 + items: + type: object + properties: + id: + description: License identifier + type: string + example: 9998a80a-7b75-4616-96d5-7ccff7ac08e8 + required: + - email + - civility + - lastname + - firstname + - profile + - team + - job + - timezone + - language + - first_connection_onboarding + StaffAutocompleteResultItem: + title: Staff search result + type: object + properties: + id: + description: Unique ID + type: string + readOnly: true + example: 6657 + object: + description: Main object + type: object + properties: + type: + type: string + default: staff + sub_type: + type: string + default: staff + nullable: true + id: + type: integer + example: 11 + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + created: + description: Created datetime of object + type: string + format: datetime + example: '2020-05-29T11:22:03+02:00' + readOnly: true + updated: + description: updated datetime of object + type: string + format: datetime + example: '2020-05-29T11:22:03+02:00' + readOnly: true + is_archived: + description: Staff status is archived + type: boolean + example: false + first_name: + description: Staff first name + type: string + format: text + example: John + nullable: true + last_name: + description: Staff last name + type: string + format: text + example: Doe + nullable: true + phone_number: + description: Staff phone number + type: string + example: '+33100000000' + nullable: true + mobile_number: + description: Staff mobile number + type: string + example: '+33100000000' + nullable: true + blocked: + description: Staff active status + type: boolean + email: + description: Staff email + type: string + format: email + example: john.doe@example-company.com + nullable: true + position: + description: Staff job + type: string + nullable: true + example: Financial + x-konfig-properties: + owner: + readOnly: true + Social: + type: object + properties: + twitter: + description: Twitter account + type: string + format: url + example: https://twitter.com/example + nullable: true + facebook: + description: Facebook account + type: string + format: url + example: https://facebook.com/example + nullable: true + linkedin: + description: Linkedin account + type: string + format: url + example: https://linkedin.com/example + nullable: true + viadeo: + description: Viadeo account + type: string + format: url + example: https://viadeo.com/example + nullable: true + Owner: + type: object + properties: + id: + description: Unique ID + type: integer + readOnly: true + example: 6657 + type: + description: Type of owner + type: string + readOnly: true + example: staff + Pagination: + title: pagination + description: The pagination + type: object + properties: + limit: + type: integer + example: 25 + minimum: 0 + maximum: 100 + total: + type: integer + example: 152 + minimum: 0 + count: + type: integer + example: 25 + minimum: 0 + offset: + anyOf: + - type: integer + minimum: 0 + example: 25 + - type: string + example: WzIwMTQtMDEtMDEsNTk4XQ== + required: + - limit + - total + - count + - offset + FavouriteFilters: + title: Favourite filters + description: Favourite filters for entity + type: array + items: + type: object + properties: + type: + description: Favourite filters name + type: string + example: Created this year + id: + description: Favourite filters id + type: integer + example: 1 + Deals: + description: The deals activity + type: object + properties: + id: + description: Id of activity + type: string + example: 2wto807ysxa + event: + description: Event type + type: string + example: task.created + author: + type: object + properties: + type: + type: string + enum: + - staff + example: staff + id: + type: integer + minimum: 1 + example: 1024 + event_date: + description: Date of activity + type: string + format: date-time + due_date: + description: Due date of activity + type: string + format: date-time + event_details: + description: Details of events + type: object + additionalProperties: true + event_more: + description: Additional informations + type: object + example: + old: client + new: prospect + additionalProperties: true + object: + description: Event object of activity + type: object + required: + - type + - id + properties: + type: + type: string + example: task + id: + oneOf: + - type: string + example: 1056 + minLength: 1 + - type: integer + example: 1056 + minimum: 1 + model: + nullable: true + oneOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + - title: Opportunity + description: Describe opportunity object + type: object + properties: + id: + description: Internal Opportunity ID + type: integer + readOnly: true + example: 1 + number: + description: External Opportunity ID + type: string + example: OPP-1155 + name: + description: Opportunity name + type: string + example: New website + source: + description: Source of opportunity creation + type: object + properties: + id: + type: integer + example: 1 + name: + type: string + example: Internal + due_date: + description: Due date of the opportunity + type: string + format: date + example: '1970-01-01' + nullable: true + created: + description: Creation date of the opportunity + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + updated_status: + description: Date of last opportunity status update + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + nullable: true + status: + description: Opportunity status + type: string + example: won + enum: + - open + - won + - lost + - cancelled + - closed + - late + amount: + description: Potential amount of the opportunity with the currency + type: object + properties: + value: + description: Amount + type: string + example: 72000.99 + currency: + description: Currency (ISO 4217) + type: string + example: EUR + pipeline: + description: Current pipeline + type: object + properties: + id: + type: integer + example: 9763 + name: + type: string + example: Commercial North + step: + description: Current step + type: object + properties: + id: + type: integer + example: 299 + name: + type: string + example: Prospection + probability: + description: Opportunity probability + type: integer + example: 75 + maximum: 100 + minimum: 0 + note: + description: Opportunity note + type: string + owner: + description: Staff owning the opportunity + type: object + properties: + id: + type: integer + example: 12 + type: + type: string + example: staff + enum: + - staff + - thirdcontact + assigned_staff_ids: + description: Staff(s) ID assigned to the opportunity + type: array + example: + - 133 + - 299 + items: + type: integer + nullable: true + contact_ids: + description: Contact(s) ID responsible for the opportunity + type: array + example: + - 222 + - 876 + items: + type: integer + nullable: true + company_id: + description: Company linked to the opportunity + type: integer + example: 1220 + nullable: true + individual_id: + description: Individual linked to the opportunity + type: integer + example: 299 + nullable: true + main_doc_id: + description: Internal ID of the main opportunity document + type: integer + nullable: true + example: 22 + related: + $ref: >- + #/components/schemas/OpportunityUpdate/properties/related + _embed: + $ref: '#/components/schemas/OpportunityItem/properties/_embed' + - title: Task + description: Task base object + type: object + x-examples: {} + properties: + title: + description: Task title + type: string + example: Meeting + nullable: true + description: + description: Task description + type: string + example: Monthly meeting with consulting team + nullable: true + id: + description: Task ID + type: integer + readOnly: true + example: 6657 + status: + description: Task status + type: string + example: todo + readOnly: true + enum: + - todo + - done + is_private: + description: Task is private or public + type: boolean + default: false + due_date: + description: due date and time of task + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + assigned_staff_ids: + type: array + nullable: true + items: + description: staffs assigned to the task + type: integer + example: 1 + label: + $ref: '#/components/schemas/LabelBaseItem/properties/label' + updated: + description: Updated date of task (system) + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + readOnly: true + created: + description: Created date of task (system) + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + readOnly: true + related: + description: Main object related to the task (limit to 1). + type: array + minItems: 0 + maxItems: 1 + nullable: false + items: + description: Main object related to the task + type: object + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - invoice + - creditnote + - estimate + - order + owner: + description: Owner of the task + type: object + properties: + type: + description: owner type + type: string + enum: + - staff + id: + description: Owner id + type: integer + example: 51 + company_id: + description: Company linked to the task + type: integer + example: 1 + readOnly: true + nullable: true + individual_id: + description: Individual linked to the task + type: integer + example: 92 + readOnly: true + nullable: true + contact_id: + description: Contact linked to the task + type: integer + example: 958 + readOnly: true + nullable: true + priority: + description: Priority level of the task + type: integer + example: 1 + minimum: 0 + maximum: 1 + - $ref: '#/components/schemas/ContactItem/allOf/0' + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + - title: Calendar Event + type: object + properties: + title: + description: Title of calendar event + type: string + description: + description: Description for calendar event + type: string + id: + description: Id of calendar event + type: integer + readOnly: true + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + is_private: + description: Calendar Event is private or public + type: boolean + all_day: + description: Calendar event is scheduled for the whole day + type: boolean + default: false + datetime_start: + description: Calendar Event starting date / hour + type: string + format: date-time + maxLength: 29 + example: '2020-01-01T00:00:00+01:00' + datetime_end: + description: Calendar Event ending date / hour + type: string + format: date-time + maxLength: 29 + example: '2020-01-01T00:00:00+01:00' + participants: + description: Participants (Staff, Contact or External Participants) + type: array + items: + description: Participant linked + type: object + properties: + id: + description: Id of participant + oneOf: + - type: integer + - type: string + type: + description: Type of participant + type: string + enum: + - staff + - contact + - external + label: + $ref: '#/components/schemas/LabelBaseItem/properties/label' + created: + description: Creation date / hour + type: string + format: date-time + example: '2020-05-29T11:22:03+02:00' + readOnly: true + updated: + description: Last update date / hour + type: string + format: date-time + example: '2020-05-29T11:22:03+02:00' + readOnly: true + provider_calendar: + description: Calendar + type: object + nullable: true + properties: + id: + type: string + name: + type: string + related: + description: Main object related to the calendar event (limit to 1). + type: array + minItems: 0 + maxItems: 1 + nullable: false + items: + description: Main object related to the calendar event + type: object + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - estimate + - invoice + - creditnote + - order + company_id: + description: Company linked to calendar event + type: integer + nullable: true + individual_id: + description: Individual linked to calendar event + type: integer + nullable: true + contact_id: + description: Contact linked to calendar event + type: integer + nullable: true + priority: + description: Priority level of the calendar event + type: integer + minimum: 0 + maximum: 1 + x-konfig-properties: {} + - title: Email + allOf: + - $ref: '#/components/schemas/EmailItem/allOf/0' + - type: object + properties: + snippet: + description: Short description + type: string + related: + description: List all direct and indirect relations of the activity’s main object + type: array + minItems: 0 + nullable: false + items: + oneOf: + - title: Company or Contact + description: Object related to the activity + type: object + properties: + id: + $ref: '#/components/schemas/Deals/properties/object/properties/id' + type: + description: related type + type: string + example: client + enum: + - prospect + - client + - supplier + - people + name: + description: related name + type: string + example: Customer + phone_number: + description: phone number + type: string + nullable: true + example: '+33100000000' + mobile_number: + description: mobile phone number + type: string + nullable: true + example: '+33600000000' + email: + description: email address + type: string + nullable: true + example: john@example-company.com + - title: Other related + description: Object related to the activity + type: object + properties: + id: + $ref: '#/components/schemas/Deals/properties/object/properties/id' + type: + description: related type + type: string + example: opportunity + name: + description: related name + type: string + example: OPP-003 + DealsFilters: + title: dealsFilter + description: The deals filters + type: object + properties: + filters: + description: Activity filters + type: object + properties: + due_date: + description: The filter by due date + type: object + nullable: true + properties: + start: + type: string + format: date-time + end: + type: string + format: date-time + entities: + description: The filter by entities + example: + - calendar_event + - task + - phonecall + type: array + items: + type: string + enum: + - calendar_event + - task + - phonecall + labels: + description: >- + Labels filters (will filter all activities with one of the + labels) + type: object + properties: + events: + description: The filter by event labels + type: array + minItems: 1 + nullable: true + example: + - 5 + - 15 + items: + type: integer + tasks: + description: The filter by task labels + type: array + minItems: 1 + nullable: true + example: + - 5 + - 15 + items: + type: integer + phonecalls: + description: The filter by phonecall labels + type: array + minItems: 1 + nullable: true + example: + - 5 + - 15 + items: + type: integer + completed: + description: The completed filter + type: boolean + nullable: true + example: true + staffs: + description: The filter by staffs + type: array + minItems: 1 + nullable: true + example: + - 5 + - 15 + items: + type: integer + required: + - filters + CrmActivity: + description: The CRM activity + type: object + properties: + id: + description: Id of activity + type: string + due_date: + description: Due date of activity + type: string + format: date-time + date: + description: Date of activity + type: string + format: date-time + related: + description: Related object of activity + type: object + nullable: true + required: + - type + - id + - name + properties: + type: + type: string + example: third + pattern: ^[a-zA-Z_-]+$ + name: + type: string + example: My companies + minLength: 1 + id: + oneOf: + - type: string + example: 1056 + minLength: 1 + - type: integer + example: 1056 + minimum: 1 + - type: array + items: + oneOf: + - type: string + example: 1056 + minLength: 1 + - type: integer + example: 1056 + minimum: 1 + companies: + description: Related companies of activity + type: array + minItems: 0 + items: + description: Company + type: object + required: + - type + - id + - name + properties: + type: + type: string + example: client + enum: + - prospect + - client + - supplier + id: + type: integer + example: 1056 + minimum: 1 + name: + type: string + example: My companies + minLength: 1 + people: + description: Related people of activity + type: object + nullable: true + required: + - id + - name + properties: + id: + type: integer + example: 1056 + minimum: 1 + name: + type: string + example: My companies + minLength: 1 + event: + description: Event type + type: string + enum: + - email.sent + - email.link.sent + - task.completed + - phonecall.created + - calendar_event.created + - email.scheduled.sent + author: + $ref: '#/components/schemas/Activity/properties/_embed/properties/author' + object: + description: Event object of activity + type: object + required: + - type + - id + properties: + type: + type: string + example: task + pattern: ^[a-zA-Z_-]+$ + id: + oneOf: + - type: string + example: 1056 + minLength: 1 + - type: integer + example: 1056 + minimum: 1 + - type: array + items: + oneOf: + - type: string + example: 1056 + minLength: 1 + - type: integer + example: 1056 + minimum: 1 + more: + description: Additional informations + type: object + example: + old: client + new: prospect + additionalProperties: true + required: + - id + - due_date + - date + - related + - people + - companies + - event + - author + - object + - more + CrmActivityFilters: + title: activityFilter + description: The activity filters + type: object + properties: + filters: + description: Activity filters + type: object + properties: + date: + description: The filter by date + type: object + nullable: true + properties: + start: + type: string + format: date-time + end: + type: string + format: date-time + due_date: + $ref: >- + #/components/schemas/DealsFilters/properties/filters/properties/due_date + events: + description: The filter by events + type: array + minItems: 1 + nullable: true + example: + - email.sent + - annotation.created + items: + type: string + authors: + description: The filter by authors + type: array + minItems: 1 + nullable: true + example: + - 5 + - 15 + items: + type: integer + companies: + description: The filter by companies + type: object + nullable: true + minProperties: 1 + properties: + match: + description: > + Search activities related to one or more companies. If + empty, search activities without related companies. + type: array + nullable: true + example: + - 58 + - 105 + items: + type: integer + minimum: 1 + not_match: + description: > + Search activities not related to one or more companies. If + empty, search activities with one or more related companies + type: array + nullable: true + example: [] + items: + type: integer + minimum: 1 + peoples: + description: The filter by peoples + type: object + nullable: true + minProperties: 1 + properties: + match: + description: > + Search activities related to one or more peoples. If empty, + search activities without related peoples. + type: array + nullable: true + example: + - 58 + - 105 + items: + type: integer + minimum: 1 + not_match: + description: > + Search activities not related to one or more peoples. If + empty, search activities with one or more related peoples + type: array + nullable: true + example: [] + items: + type: integer + minimum: 1 + event.labels: + $ref: >- + #/components/schemas/DealsFilters/properties/filters/properties/labels/properties/events + task.labels: + $ref: >- + #/components/schemas/DealsFilters/properties/filters/properties/labels/properties/tasks + phonecall.statuses: + description: The filter by phonecall statuses + type: array + minItems: 1 + nullable: true + example: + - busy + - wrongnumber + items: + type: string + phonecall.sources: + description: The filter by phonecall sources + type: array + minItems: 1 + nullable: true + example: + - incoming + - outcoming + items: + type: string + phonecall.labels: + $ref: >- + #/components/schemas/DealsFilters/properties/filters/properties/labels/properties/phonecalls + related.types: + description: The filter by related types + type: object + nullable: true + minProperties: 1 + properties: + match: + description: | + Search activities related to one or more types. + type: array + nullable: true + example: + - document + - third + items: + type: string + enum: + - document + - third + - opportunity + - people + not_match: + description: | + Search activities not related to one or more types. + type: array + nullable: true + example: [] + items: + type: string + enum: + - document + - third + - opportunity + - people + required: + - filters + CrmActivityAggregations: + title: activityAggregations + description: The activity aggregations + type: object + properties: + by_event: + description: Count activity by event + type: object + properties: + email.sent: + type: integer + example: 5 + minimum: 0 + email.link.sent: + type: integer + example: 5 + minimum: 0 + calendar_event.created: + type: integer + example: 1 + minimum: 0 + phonecall.created: + type: integer + example: 0 + minimum: 0 + task.completed: + type: integer + example: 6 + minimum: 0 + additionalProperties: true + by_month_and_event: + description: >- + Count activity by month and by event. Key are the first day of the + month + type: object + additionalProperties: true + example: + '2021-05-01': + event.created: 36 + email.sent: 75 + '2021-06-01': + event.created: 12 + email.sent: 25 + by_week_and_event: + description: >- + Count activity by week and by event. Key are the first day of the + week + type: object + additionalProperties: true + example: + '2021-05-24': + email.sent: 13 + task.completed: 27 + '2021-05-31': + email.sent: 8 + task.completed: 4 + by_day_and_event: + description: Count activity by day and by event. + type: object + additionalProperties: true + example: + '2021-06-29': + event.created: 2 + '2021-06-30': + email.sent: 6 + by_author_and_event: + description: Count activity by author and event. + type: object + additionalProperties: true + example: + '1': + phonecall.created: 57 + event.created: 24 + email.sent: 5 + '95': + task.completed: 1 + by_author_and_label: + description: Count activity by author and event then by label id. + type: object + additionalProperties: true + example: + '1': + event.created: + '0': 17 + '2377730': 1 + phonecall.created: [] + task.completed: + '5': 1 + '95': + task.completed: [] + CrmActivityMetas: + title: listingMeta + description: The listing meta + type: object + properties: + authors: + description: List of authors + type: array + minItems: 1 + items: + $ref: '#/components/schemas/CrmActivity/properties/author' + task: + description: The task metas + type: object + required: + - labels + properties: + labels: + description: List of event labels + type: array + minItems: 1 + items: + description: The label + type: object + required: + - id + - label + properties: + id: + description: Label identifier + type: integer + minimum: 1 + example: 156 + label: + description: Label + type: string + minLength: 1 + example: Remember + color: + description: Color of label + type: string + example: '#f7dcf5' + nullable: true + event: + description: The event metas + type: object + required: + - labels + properties: + labels: + description: List of event labels + type: array + minItems: 1 + items: + $ref: >- + #/components/schemas/CrmActivityMetas/properties/task/properties/labels/items + phonecall: + description: The phonecall metas + type: object + required: + - statuses + - labels + properties: + labels: + description: List of phonecall labels + type: array + minItems: 1 + items: + $ref: >- + #/components/schemas/CrmActivityMetas/properties/task/properties/labels/items + statuses: + description: List of statuses + type: array + minItems: 1 + items: + description: The status + type: object + required: + - id + - label + properties: + id: + description: Label identifier + type: string + example: connected + label: + description: Label + type: string + minLength: 1 + example: Remember + permissions: + description: The permissions + type: object + required: + - favorite + - export + properties: + favorite: + description: Can access to export + type: boolean + export: + description: Can access to favorite + type: boolean + working_days: + description: 'The working days (Sunday - Saturday : 0 - 6)' + type: array + minItems: 0 + maxItems: 7 + uniqueItems: true + example: + - 1 + - 2 + - 3 + - 4 + - 5 + items: + type: integer + minimum: 0 + maximum: 6 + working_hours: + description: The working hours + type: object + required: + - start_time + - end_time + properties: + start_time: + description: The start time + type: string + example: '09:00:00' + nullable: true + end_time: + description: The end time + type: string + example: '18:00:00' + nullable: true + required: + - permissions + - event + - task + - authors + - phonecall + - working_days + - working_hours + ExportParams: + title: exportParams + description: The output params + type: object + x-examples: + example-1: + output_format: csv + charset: UTF-8 + columns: + - date + - due_date + properties: + output_format: + description: Output format of file + default: pdf + enum: + - csv + - pdf + type: string + charset: + description: Output charset for export + default: UTF-8 + enum: + - UTF-8 + - ISO-8859-1 + type: string + columns: + description: List of specifics columns to export + nullable: true + type: array + items: + type: string + required: + - output_format + - charset + AccountingJournalExportParams: + title: exportParams + description: The output params + type: object + x-examples: + example-1: + output_format: csv + charset: UTF-8 + columns: + - date + - due_date + properties: + output_format: + description: Output format of file + default: csv + enum: + - csv + - fec + type: string + charset: + description: Output charset for export + default: UTF-8 + enum: + - UTF-8 + - ISO-8859-1 + type: string + columns: + description: List of specifics columns to export. + nullable: true + type: array + items: + type: string + enum: + - type + - document.public_link + - company-individual.reference + - document.service_end_date + - document.service_start_date + - document.currency + - date + - document.subject + - company-individual.name + - documents.linked + - code.label + - document.external_reference + - debit + - credit + - analytic_code + - analytic_plan + - code.value + - document.due_date + - auxiliary_code + - document.number + - label + - amount.direction + - amount.value + - accounting_type + required: + - output_format + - charset + ListingUserContext: + title: listingUserContext + description: The saved user context for listings + type: object + properties: + sorting: + description: The listing sorting + nullable: true + type: object + required: + - field + - direction + properties: + field: + type: string + direction: + type: string + enum: + - asc + - desc + pagination: + description: The listing pagination + nullable: true + type: object + required: + - current_page + - per_page + properties: + current_page: + type: integer + minimum: 1 + example: 1 + per_page: + type: integer + minimum: 1 + example: 15 + columns: + description: The listing selected columns + nullable: true + type: array + example: + - id + - name + items: + type: string + filters: + description: The listing filters + nullable: true + type: object + additionalProperties: true + example: + name: + mode: contain + value: search + columns_size: + description: The listing columns size + nullable: true + type: array + items: + type: object + required: + - name + - width + properties: + name: + type: string + minLength: 1 + example: name + width: + type: number + example: 534 + display: + description: The listing display + nullable: true + type: object + required: + - sorting + - pagination + - columns + - filters + - columns_size + - display + CustomActivity: + title: customActivity + description: Custom Activity Object + type: object + properties: + id: + type: string + readOnly: true + example: xZk348lb2 + type_id: + description: Activity type identifier + type: string + example: vJ340fF1 + action: + type: string + example: Jean-pierre has opened a new ticket on Xeno. + relation: + description: Object linked to custom activity + type: object + properties: + type: + type: string + enum: + - client + - prospect + - supplier + - opportunity + - contact + example: prospect + id: + type: integer + example: 123 + date: + description: Date of activity (ISO 8601) + type: string + default: Current datetime + format: date-time + example: '1970-01-01T00:00:00+00:00' + author: + description: Author of the custom activity + readOnly: true + type: object + properties: + type: + type: string + default: staff + enum: + - staff + id: + type: integer + example: 11 + created: + description: Creation date of custom activity (ISO 8601) + readOnly: true + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + updated: + description: Updated date of custom activity (ISO 8601) + readOnly: true + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + CustomActivityFilters: + title: customActivityFilters + description: Available filters for Custom Events Search + type: object + properties: + filters: + type: object + properties: + date: + type: object + properties: + start: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + end: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + type_id: + description: ID of custom activity type + type: string + example: Voluptates aspernatur + staff_id: + type: integer + example: 1 + required: + - filters + CustomActivityType: + title: customActivityType + description: Represents a type of custom activity + type: object + properties: + id: + description: Activity type identifier + type: string + readOnly: true + example: xZk348lb2 + minLength: 1 + name: + description: Activity type name + type: string + example: Xeni + minLength: 1 + created: + description: Creation date of custom activity type (ISO 8601) + readOnly: true + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + updated: + description: Updated date of custom activity type (ISO 8601) + readOnly: true + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + author: + description: Author of the custom activity type + readOnly: true + type: object + properties: + type: + type: string + default: staff + enum: + - staff + id: + type: integer + example: 11 + required: + - name + PersonalAccessTokenCreateItem: + title: personalAccessToken + description: The personal access token for api + type: object + x-examples: {} + properties: + name: + description: The personal access token name + type: string + example: MyToken + user_id: + description: The linked user + example: 1257 + oneOf: + - description: The staff id + type: integer + - description: The current staff + type: string + enum: + - me + scopes: + description: The allowed scopes + type: array + minItems: 1 + example: + - companies.read + - companies.write + items: + description: The scope + type: string + required: + - name + - scopes + - user_id + PersonalAccessTokenItem: + title: personalAccessTokenItem + allOf: + - title: accessTokenItem + description: The access token for API + type: object + x-examples: {} + properties: + id: + description: The access token id + type: string + example: >- + 091d4c6200421657090c8ef5e5349172e668f507050a13e6ae0e3f2ff4b743acf5092f48faa1f98d + client_id: + description: The OAuth client id + type: string + example: 670fadef-576e-47a1-9358-62784605c024 + user: + description: The linked user + type: object + properties: + id: + description: The user id + type: integer + example: 154 + type: + description: User type + type: string + enum: + - staff + required: + - id + - type + expiration: + description: The token expiration date + type: string + format: date-time + example: 2120-05-25T17:28:29+0100 + scopes: + description: The allowed scopes + type: array + minItems: 1 + example: + - companies.read + - companies.write + items: + description: The scope + type: string + required: + - id + - client_id + - user + - expiration + - scopes + - type: object + properties: + name: + description: The token name + type: string + example: My Token 7 + required: + - name + PersonalAccessTokenMetas: + title: listingMeta + description: The personal access tokens metas + type: object + properties: + staffs: + description: List of staffs + type: array + minItems: 1 + items: + $ref: '#/components/schemas/CrmActivity/properties/author' + permissions: + description: The permissions + type: object + required: + - favorite + - export + properties: + favorite: + description: Can access to export + type: boolean + export: + description: Can access to favorite + type: boolean + required: + - permissions + - staffs + Client: + title: client + description: The OAuth client for Sellsy API + type: object + x-examples: {} + allOf: + - type: object + properties: + type: + description: The OAuth client type + type: string + enum: + - public + - private + - personal + - personal_access_token + - title: OAuth2 client for Sellsy API + description: OAuth2 client for Sellsy API + type: object + x-examples: {} + properties: + id: + description: The OAuth client id + type: string + example: 670fadef-576e-47a1-9358-62784605c024 + readOnly: true + name: + description: OAuth client name + type: string + example: MyToken + redirect_uri: + description: Redirect URIs + type: array + items: + type: string + scopes: + description: Allowed scopes for OAuth client + type: array + minItems: 1 + example: + - companies.read + - companies.write + items: + description: The scope + type: string + delegated: + description: >- + For `personal` type only.

Indicates if the + token can impersonate other staffs using the `X-Switch-User` + header.
+ + For example, use the header `X-Switch-User: staff:1` to send API + requests on behalf of the staff with identifier = 1.

+ + Only administrators can create such accesses, and only active + staffs can be impersonated. Be careful by using this feature, as + it generates real actions for impersonated users. + type: boolean + default: false + nullable: true + single_login: + description: >- + For `public` or `private` type only.

If set + to `true`, generating an access token for this client will + revoke all previous tokens linked to this client and the current + user. + type: boolean + default: false + nullable: true + user: + description: The linked user + type: object + nullable: true + properties: + id: + description: The user id + type: integer + example: 154 + type: + description: User type + type: string + enum: + - staff + required: + - id + - type + readOnly: true + validated_at: + description: date the OAuth client was approved by Sellsy + type: string + format: date-time + nullable: true + readOnly: true + required: + - id + - name + - type + - user + - scopes + - redirect_uri + - validated_at + ClientWSecret: + title: API Client + allOf: + - title: client + description: The OAuth client for Sellsy API + type: object + x-examples: {} + allOf: + - type: object + properties: + type: + description: The OAuth client type + type: string + enum: + - public + - private + - personal + - personal_access_token + - $ref: '#/components/schemas/Client/allOf/1' + required: + - id + - name + - type + - user + - scopes + - redirect_uri + - validated_at + - type: object + properties: + secret: + description: > + Client secret
> This property is only exposed on + response for the create endpoint. Remember to save the + value. + type: string + example: 9f8d07fd0eb80016476c6fc283505b5d95bcbcf39f24eb4b506af256a280c272 + ClientCreate: + title: clientCreate + description: The OAuth client for API + type: object + x-examples: {} + allOf: + - type: object + properties: + type: + description: The OAuth client type + type: string + enum: + - public + - private + - personal + - personal_access_token + - title: clientUpdate + description: The OAuth client for API + type: object + x-examples: {} + allOf: + - type: object + properties: + user_id: + description: For `personal` type only, linked user id. + example: 1257 + nullable: true + oneOf: + - description: Staff id + type: integer + - description: Current staff + type: string + enum: + - me + - $ref: '#/components/schemas/Client/allOf/1' + required: + - name + - type + - redirect_uri + - user_id + - scopes + ClientUpdate: + title: clientUpdate + description: The OAuth client for API + type: object + x-examples: {} + allOf: + - type: object + properties: + user_id: + description: For `personal` type only, linked user id. + example: 1257 + nullable: true + oneOf: + - description: Staff id + type: integer + - description: Current staff + type: string + enum: + - me + - $ref: '#/components/schemas/Client/allOf/1' + AccountingCode: + type: object + properties: + id: + description: Id of accounting code + type: integer + readOnly: true + example: 6657 + code: + description: accounting code + type: string + example: 411000 + label: + description: Label of accounting code + type: string + example: Provision of services + views: + description: List of views where accounting code is usable + type: array + items: + type: string + enum: + - third + - purchase + - sell + - bank + - reconciliation + required: + - code + - label + - views + AccountingCodeCreate: + title: Accounting code + description: '' + type: object + properties: + code: + description: accounting code + type: string + example: '411000' + maxLength: 13 + label: + description: Label of accounting code + type: string + example: Provision of services + maxLength: 255 + views: + description: List of views where accounting code is usable + type: array + items: + type: string + enum: + - third + - purchase + - sell + - bank + - reconciliation + required: + - code + AccountingJournal: + title: Accounting Entry + type: object + properties: + id: + description: Id of accounting entry + type: integer + readOnly: true + example: 6657 + related: + description: Objects linked to the accounting entry + type: array + items: + type: object + properties: + type: + description: Object type + type: string + enum: + - company + - individual + - invoice + - creditnote + - purInvoice + - purCreditNote + - expense + - bankDeposit + id: + description: Object ID + type: integer + analytic_code: + description: Analytic code + type: string + nullable: true + amount: + description: Amount of the accounting entry + type: object + properties: + direction: + description: Direction of the accounting entry (debit or credit) + type: string + enum: + - debit + - credit + value: + description: Amount value of the accounting entry + type: string + example: '123.22' + code: + description: Accounting code + type: object + properties: + label: + description: Label of accounting code + type: string + example: Sales Income + value: + description: Accounting code + type: string + example: '4000' + type: + type: string + example: SALES + date: + description: Date of accounting entry + type: string + format: date + label: + description: Label of accounting entry + type: string + example: Invoice n°FACT-20210811-00362 - Acme Corporation + recorded: + description: Accounting entry has ben exported or not + type: boolean + accounting_type: + description: Type of accounting (for Sage export) + type: integer + enum: + - 1 + - 2 + analytic_plan: + description: Analytic plan number (for Sage export) + type: integer + enum: + - 1 + auxiliary_code: + description: Auxiliary code + type: string + nullable: true + example: 0EX11C + document: + deprecated: true + allOf: + - description: Document linked to the accounting entry + type: object + nullable: true + properties: + type: + description: Document type + type: string + example: invoice + enum: + - invoice + - creditnote + - purInvoice + - purCreditNote + id: + description: Unique ID + type: integer + example: 6657 + number: + description: Document number + type: string + example: INV-20210810-00331 + due_date: + type: string + example: Due date of document + format: date + subject: + description: Document Subject + type: string + example: null + public_link: + description: Public link of document + type: string + format: uri + nullable: true + service_start_date: + description: Service start date of document + type: string + format: date + nullable: true + service_end_date: + description: Service end date of document + type: string + format: date + nullable: true + currency: + description: Currency of document + type: string + example: € + external_reference: + description: External reference of document + type: string + nullable: true + example: EXT-INV-20210810-00331 + documents: + description: Documents linked to the accounting entry + nullable: true + type: array + items: + $ref: '#/components/schemas/AccountingJournal/properties/document/allOf/0' + companies: + description: Companies linked to the accounting entry + nullable: true + type: array + items: + type: object + properties: + name: + description: Name of company + type: string + example: Acme Corporation + reference: + description: Company reference + type: string + individuals: + description: Individuals linked to the accounting entry + nullable: true + type: array + items: + type: object + properties: + name: + description: Name of individual + type: string + example: Acme Corporation + reference: + description: Individual reference + type: string + TaxSettingsInput: + type: object + properties: + vat_id: + description: Id of taxe + type: integer + example: 6657 + vat_mode: + description: VAT Mode + type: string + enum: + - debit + - collection + example: debit + vat_mention: + description: VAT Mention + type: string + nullable: true + example: mention + display_tax_mention: + description: If true, show tax mention + type: boolean + example: true + rate_category_id: + description: Rate category ID + type: integer + example: 57 + discount: + description: Default discount + type: object + properties: + type: + description: Type of discount + type: string + enum: + - amount + - percent + example: percent + value: + description: Value of discount + type: string + example: 55 + by_rows: + description: If True, each row can have different discount + type: boolean + example: false + required: + - type + - value + - by_rows + use_ecotax: + description: If True, using ecotax + type: boolean + example: true + use_bonuses: + description: If True, using tax bonuses + type: boolean + example: false + required: + - vat_id + - vat_mode + - vat_mention + - display_tax_mention + - rate_category_id + - discount + - use_ecotax + - use_bonuses + TaxSettingsOutput: + type: object + properties: + vat_id: + description: Id of taxe + type: integer + example: 6657 + vat_mode: + description: VAT Mode + type: string + enum: + - debit + - collection + example: debit + vat_mention: + description: VAT Mention + type: string + nullable: true + example: mention + display_tax_mention: + description: If true, show tax mention + type: boolean + example: true + rate_category_id: + description: Rate category ID + type: integer + example: 57 + discount: + description: Default discount + type: object + properties: + type: + description: Type of discount + type: string + enum: + - amount + - percent + example: percent + value: + description: Value of discount + type: string + example: 55 + by_rows: + description: If True, each row can have different discount + type: boolean + example: false + required: + - type + - value + - by_rows + use_ecotax: + description: If True, using ecotax + type: boolean + example: true + use_bonuses: + description: If True, using tax bonuses + type: boolean + example: false + required: + - vat_id + - vat_mode + - vat_mention + - display_tax_mention + - rate_category_id + - discount + - use_ecotax + - use_bonuses + TaxFilter: + title: taxFilter + description: The tax filters + type: object + properties: + filters: + description: Tax filters + type: object + properties: + rate: + description: Filter the taxes list by rate amount + properties: + min: + description: Minimum tax rate amount + type: number + example: 10 + max: + description: Maximum tax rate amount + type: number + example: 20 + label: + description: Filter the taxes list by label + type: string + example: TVA UK + is_active: + description: Filter the taxes list by active state + type: boolean + example: true + RateCategoryMetadata: + title: Rate category Meta + description: '' + type: object + x-examples: {} + properties: + available_layouts: + description: Available layouts for the rate categories + type: array + uniqueItems: true + items: + type: string + enum: + - estimates + - invoices + - credit_notes + - models + - deliveries + - orders + - proformas + accounting: + title: Accounting + type: object + properties: + enabled: + description: if the plugin accounting if enabled + type: boolean + example: true + accounting_codes: + description: list of sell accounting codes + type: array + items: + type: object + properties: + label: + description: label of accounting code + type: string + example: Clients + value: + description: id of accounting code + type: integer + example: 1234567 + code: + description: accounting code + type: string + example: 445000 + use_specific_code_for_discount: + description: if specific code are used for discount + type: boolean + example: false + currencies: + description: List of currencies + type: array + minItems: 1 + uniqueItems: true + items: + type: object + properties: + label: + description: Label of currency + type: string + example: EUR + value: + description: Id of currency + type: integer + example: 12 + required: + - label + - value + document_layouts: + description: List of document layouts + type: array + minItems: 1 + uniqueItems: true + items: + type: object + properties: + label: + description: Label of the layout + type: string + example: Apparence par défaut + value: + description: Id of the layout + type: integer + example: 42 + required: + - label + - value + required: + - available_layouts + - accounting + - currencies + - document_layouts + Ocr: + title: ocr + description: Represents an OCR document + type: object + properties: + id: + type: integer + readOnly: true + example: 1 + minimum: 1 + staff_id: + description: ID of staff who created ocr document + type: integer + readOnly: true + example: 1 + minimum: 1 + file_name: + description: File name of uploaded OCR document + type: string + example: myfile.png + minLength: 1 + linked_type: + description: Type of linked object + type: string + enum: + - purInvoice + example: purInvoice + linked_id: + description: Id of linked object + type: integer + nullable: true + example: 123 + created_at: + description: Creation date of OCR document (ISO 8601) + type: string + default: Current datetime + format: date-time + example: '1970-01-01T00:00:00+00:00' + completed_at: + description: Completion date of OCR process (ISO 8601) + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + nullable: true + state: + description: state of OCR process + type: string + enum: + - pending + - processing + - completed + - error + error_code: + description: | + Error code + * `1` - Too many page error + * `2` - Technical error + * `3` - File error + type: string + enum: + - '1' + - '2' + - '3' + - null + nullable: true + OcrPurInvoiceMetas: + title: Metadata + type: object + properties: + user_can_validate_pur_invoice: + description: 'Use can validate a purchase invoice ' + type: boolean + required: + - user_can_validate_pur_invoice + InvoicingConformityState: + title: conformityState + description: Invoice conformity state informations + type: object + properties: + id: + description: Unique ID + type: integer + readOnly: true + example: 6657 + active: + description: Invoice conformity state + type: boolean + readOnly: true + activated_by: + allOf: + - $ref: '#/components/schemas/CrmActivity/properties/author' + readOnly: true + nullable: true + activated_at: + description: Activation date (ISO 8601) + type: string + default: Current datetime + format: date-time + example: '1970-01-01T00:00:00+00:00' + readOnly: true + nullable: true + pdf: + description: PDF url + type: string + nullable: true + format: uri + readOnly: true + OpportunityCreate: + title: Opportunity + type: object + allOf: + - title: Opportunity + description: Describe input body to update an Opportunity + type: object + properties: + name: + description: Opportunity name + type: string + example: New website + owner_id: + description: >- + Owner of the opportunity (staff id). If not provided, the ID of + the logged-in staff will be used by default. + type: integer + minimum: 1 + status: + description: Opportunity status + type: string + example: won + enum: + - open + - won + - lost + - cancelled + - closed + - late + default: open + pipeline: + description: Pipeline + type: integer + example: 9763 + step: + description: Pipeline Step + type: integer + example: 299 + amount: + description: >- + Potential Opportunity Amount (in the default currency selected + for the account) + type: string + example: '72000.99' + probability: + description: Opportunity probability + type: integer + example: 75 + maximum: 100 + minimum: 0 + source: + description: >- + Source of opportunity creation (null will use the default + defined in account preferences) + type: integer + example: 1 + due_date: + description: Due date of the opportunity + type: string + format: date + nullable: true + example: '2020-02-01' + note: + description: Opportunity note + type: string + main_doc_id: + description: Internal ID of the main opportunity document + type: integer + nullable: true + example: 22 + assigned_staff_ids: + description: > + Staff(s) ID assigned to the opportunity
The same staff + cannot be present more than once + type: array + uniqueItems: true + example: + - 133 + - 299 + items: + type: integer + nullable: true + contact_ids: + description: Contact(s) ID responsible for the opportunity + type: array + example: + - 222 + - 876 + items: + type: integer + nullable: true + related: + $ref: '#/components/schemas/OpportunityUpdate/properties/related' + - type: object + properties: + number: + description: Opportunity number + type: string + example: OPP-1155 + owner_id: + description: >- + Owner of the opportunity (staff id). If not provided, the ID of + the logged-in staff will be used by default. + type: integer + minimum: 1 + created: + description: Date of creation of the opportunity + type: string + format: date-time + required: + - name + - pipeline + - step + - related + OpportunityUpdate: + title: Opportunity + description: Describe input body to update an Opportunity + type: object + properties: + name: + description: Opportunity name + type: string + example: New website + owner_id: + description: >- + Owner of the opportunity (staff id). If not provided, the ID of the + logged-in staff will be used by default. + type: integer + minimum: 1 + status: + description: Opportunity status + type: string + example: won + enum: + - open + - won + - lost + - cancelled + - closed + - late + default: open + pipeline: + description: Pipeline + type: integer + example: 9763 + step: + description: Pipeline Step + type: integer + example: 299 + amount: + description: >- + Potential Opportunity Amount (in the default currency selected for + the account) + type: string + example: '72000.99' + probability: + description: Opportunity probability + type: integer + example: 75 + maximum: 100 + minimum: 0 + source: + description: >- + Source of opportunity creation (null will use the default defined in + account preferences) + type: integer + example: 1 + due_date: + description: Due date of the opportunity + type: string + format: date + nullable: true + example: '2020-02-01' + note: + description: Opportunity note + type: string + main_doc_id: + description: Internal ID of the main opportunity document + type: integer + nullable: true + example: 22 + assigned_staff_ids: + description: > + Staff(s) ID assigned to the opportunity
The same staff cannot + be present more than once + type: array + uniqueItems: true + example: + - 133 + - 299 + items: + type: integer + nullable: true + contact_ids: + description: Contact(s) ID responsible for the opportunity + type: array + example: + - 222 + - 876 + items: + type: integer + nullable: true + related: + title: Related + description: | + Related objects : + - There can be only one company or one individual at a time (required) + - Contact should be linked to company/individual linked + type: array + minItems: 1 + items: + type: object + properties: + id: + type: integer + example: 1 + type: + type: string + example: company + enum: + - company + - individual + - contact + required: + - id + - type + OpportunityItem: + title: Opportunity + description: Describe opportunity object + type: object + properties: + id: + description: Internal Opportunity ID + type: integer + readOnly: true + example: 1 + number: + description: External Opportunity ID + type: string + example: OPP-1155 + name: + description: Opportunity name + type: string + example: New website + source: + description: Source of opportunity creation + type: object + properties: + id: + type: integer + example: 1 + name: + type: string + example: Internal + due_date: + description: Due date of the opportunity + type: string + format: date + example: '1970-01-01' + nullable: true + created: + description: Creation date of the opportunity + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + updated_status: + description: Date of last opportunity status update + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + nullable: true + status: + description: Opportunity status + type: string + example: won + enum: + - open + - won + - lost + - cancelled + - closed + - late + amount: + description: Potential amount of the opportunity with the currency + type: object + properties: + value: + description: Amount + type: string + example: 72000.99 + currency: + description: Currency (ISO 4217) + type: string + example: EUR + pipeline: + description: Current pipeline + type: object + properties: + id: + type: integer + example: 9763 + name: + type: string + example: Commercial North + step: + description: Current step + type: object + properties: + id: + type: integer + example: 299 + name: + type: string + example: Prospection + probability: + description: Opportunity probability + type: integer + example: 75 + maximum: 100 + minimum: 0 + note: + description: Opportunity note + type: string + owner: + description: Staff owning the opportunity + type: object + properties: + id: + type: integer + example: 12 + type: + type: string + example: staff + enum: + - staff + - thirdcontact + assigned_staff_ids: + description: Staff(s) ID assigned to the opportunity + type: array + example: + - 133 + - 299 + items: + type: integer + nullable: true + contact_ids: + description: Contact(s) ID responsible for the opportunity + type: array + example: + - 222 + - 876 + items: + type: integer + nullable: true + company_id: + description: Company linked to the opportunity + type: integer + example: 1220 + nullable: true + individual_id: + description: Individual linked to the opportunity + type: integer + example: 299 + nullable: true + main_doc_id: + description: Internal ID of the main opportunity document + type: integer + nullable: true + example: 22 + related: + $ref: '#/components/schemas/OpportunityUpdate/properties/related' + _embed: + title: Opportunity embed + description: Opportunity embed + readOnly: true + allOf: + - type: object + properties: + assigned_staffs: + description: Staff(s) assigned to the opportunity + type: array + items: + $ref: '#/components/schemas/CrmActivity/properties/author' + company: + description: Company object related to opportunity + nullable: true + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + contacts: + description: Contact(s) responsible for the opportunity + type: array + items: + $ref: '#/components/schemas/ContactCreateItem/allOf/0' + estimates: + description: Number of linked estimates + type: integer + nullable: true + example: 2 + individual: + description: Individual object related to opportunity object + nullable: true + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + invoices: + description: Number of linked invoices + type: integer + nullable: true + example: 1 + orders: + description: Number of linked orders + type: integer + nullable: true + example: 0 + deliveries: + description: Number of linked deliveries + type: integer + nullable: true + example: 8 + credit_notes: + description: Number of linked credit notes + type: integer + nullable: true + example: 1 + proforma: + description: Number of linked proforma + type: integer + nullable: true + example: 0 + currency: + description: Currency object related to opportunity + nullable: true + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/currency + acl: + description: Opportunity ACL + nullable: true + $ref: >- + #/components/schemas/Activity/properties/_embed/properties/acl/oneOf/5 + smart_tags: + description: Smart-tags linked + nullable: true + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + - $ref: '#/components/schemas/SaleEmbed/properties/_embed/allOf/2' + OpportunityFilters: + title: OpportunityFilters + description: The opportunity filters + type: object + properties: + filters: + description: Opportunity filters + type: object + properties: + created: + title: Created at + description: Filter the opportunity list by creation date + type: object + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + updated_status: + title: Updated status + description: Filter the opportunity list by updated status date + type: object + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + due_date: + title: Due Date + description: Filter the opportunity list by due date + type: object + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + name: + title: Name + description: Filter the opportunity list by name + type: string + example: Website + pipeline: + title: Pipeline + description: Filter the opportunity list by pipeline ID + type: array + items: + type: integer + example: + - 12 + - 22 + step: + title: Step + description: Filter the opportunity list by step ID + type: array + items: + type: integer + example: + - 2 + - 7 + amount: + title: Amount + description: Filter the opportunity list by amount + type: object + properties: + min: + type: number + example: 10.5 + max: + type: number + example: 150 + related_objects: + description: Filter the opportunity list by an array of related objects + type: array + items: + type: object + properties: + type: + description: Type of related object + type: string + enum: + - company + - individual + id: + description: Identifier of related object + type: integer + example: 742 + assigned_staffs: + title: Assigned staffs + description: Filter by assigned staffs + type: array + items: + type: integer + example: 33 + statuses: + title: Filter the opportunity list by an array of statuses + type: array + nullable: true + minItems: 1 + items: + description: Opportunity status + type: string + example: won + enum: + - open + - won + - lost + - cancelled + - closed + - late + favourite_filter: + $ref: >- + #/components/schemas/ContactFilters/properties/filters/properties/favourite_filter + required: + - filters + OpportunitiesAggregations: + title: Opportunities aggregations + type: object + properties: + amount_sum_by_status: + description: Potential amount of opportunities by status + type: object + properties: + open: + description: Number and total amount of opportunities with status open + type: object + properties: + number: + description: number of opportunities + type: integer + amount: + description: Total amount of opportunities + type: object + properties: + value: + description: Amount + type: string + example: '38446.90' + currency: + description: Currency code + type: string + example: EUR + won: + description: Number and total amount of opportunities with status won + type: object + properties: + number: + description: number of opportunities + type: integer + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + lost: + description: Number and total amount of opportunities with status lost + type: object + properties: + number: + description: number of opportunities + type: integer + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + late: + description: Number and total amount of opportunities with status late + type: object + properties: + number: + description: number of opportunities + type: integer + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + cancelled: + description: Number and total amount of opportunities with status cancelled + type: object + properties: + number: + description: number of opportunities + type: integer + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + closed: + description: Number and total amount of opportunities with status closed + type: object + properties: + number: + description: number of opportunities + type: integer + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + example: + open: + number: 123 + amount: '14400.000000000' + won: + number: 89 + amount: '12300.000000000' + lost: + number: 78 + amount: '11200.000000000' + late: + number: 67 + amount: '9400.000000000' + cancelled: + number: 56 + amount: '8600.000000000' + closed: + number: 45 + amount: '7500.000000000' + amount_sum_by_status_due_at_seven: + description: Potential amount of opportunities by status due this week + type: object + properties: + open: + description: Number and total amount of opportunities with status "open" + type: object + properties: + number: + description: number of opportunities + type: integer + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + won: + description: Number and total amount of opportunities with status "won" + type: object + properties: + number: + description: number of opportunities + type: integer + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + lost: + description: Number and total amount of opportunities with status "lost" + type: object + properties: + number: + description: number of opportunities + type: integer + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + late: + description: Number and total amount of opportunities with status "late" + type: object + properties: + number: + description: number of opportunities + type: integer + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + cancelled: + description: Number and total amount of opportunities with status "cancelled" + type: object + properties: + number: + description: number of opportunities + type: integer + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + closed: + description: Number and total amount of opportunities with status "closed" + type: object + properties: + number: + description: number of opportunities + type: integer + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + example: + open: + number: 123 + amount: '14400.000000000' + won: + number: 89 + amount: '12300.000000000' + lost: + number: 78 + amount: '11200.000000000' + late: + number: 67 + amount: '9400.000000000' + cancelled: + number: 56 + amount: '8600.000000000' + closed: + number: 45 + amount: '7500.000000000' + number_by_pipeline_and_step: + description: number of opportunities by pipeline and step + type: object + additionalProperties: true + example: + '7923': + '8': 12 + '24': 25 + '12344': + '7': 245 + '12': 75 + amount_sum: + description: Potential amount of opportunities + type: object + properties: + number: + description: number of opportunities + type: integer + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + example: + number: 123 + amount: '14400.000000000' + OpportunitySourceCollectionItem: + title: OpportunitySourceCollectionItem + description: Represents an Opportunity Source + type: object + properties: + id: + description: Internal Opportunity Source ID + type: integer + readOnly: true + example: 1 + name: + description: Opportunity Source name + type: string + example: Showroom 2020 + is_default: + description: Is default source + type: boolean + nullable: false + example: true + is_hidden: + description: Is hidden source + type: boolean + nullable: false + example: true + category_id: + description: Source category + nullable: false + type: integer + example: 1 + minimum: 0 + rank: + description: Source rank + type: integer + example: 2 + minimum: 0 + OpportunitySourceFilters: + title: OpportunitySourceFilters + description: The opportunity sources filters + type: object + properties: + filters: + type: object + properties: + category_id: + title: Category + description: Filter the opportunity sources list by category + type: array + items: + type: integer + example: + - 10 + - 20 + required: + - filters + OpportunityPipelineCollectionItem: + title: OpportunityPipelineCollectionItem + description: Represents an Opportunity Pipeline + type: object + properties: + id: + description: Internal Opportunity Pipeline ID + type: integer + readOnly: true + example: 1 + name: + description: Opportunity Pipeline name + type: string + example: New website + is_default: + description: Is default pipeline define for account + type: boolean + nullable: false + example: true + step: + description: Count of steps + nullable: false + type: integer + example: 2 + minimum: 0 + rank: + description: Pipeline rank in preferences + type: integer + example: 2 + minimum: 0 + OpportunityPipelineFilters: + title: OpportunityPipelineFilters + description: The opportunity pipelines filters + type: object + properties: + filters: + description: Opportunity Pipelines filters + type: object + properties: + name: + title: Name + description: Filter the opportunity pipelines list by name + type: string + example: Website + is_default: + title: Is default opportunity pipeline + description: Filter the opportunity pipelines list by is_default + type: boolean + example: false + required: + - filters + OpportunitiesCategoryItem: + title: Opportunity Category + description: Opportunities Category + type: object + properties: + id: + description: Opportunities category id + type: integer + readOnly: true + example: 1 + label: + description: Opportunities category label + type: string + example: Event + color: + description: Opportunities category color + type: string + example: '#000000' + icon: + description: Opportunities category icon + type: string + example: fa-anchor + is_default: + description: True if this opportunity category contains the default source + type: boolean + example: false + _embed: + type: object + properties: + sources: + description: Sources of the category + type: array + nullable: true + items: + title: OpportunitySourceCollectionItem + description: Represents an Opportunity Source + type: object + properties: + id: + description: Internal Opportunity Source ID + type: integer + readOnly: true + example: 1 + name: + description: Opportunity Source name + type: string + example: Showroom 2020 + is_default: + description: Is default source + type: boolean + nullable: false + example: true + is_hidden: + description: Is hidden source + type: boolean + nullable: false + example: true + category_id: + description: Source category + nullable: false + type: integer + example: 1 + minimum: 0 + rank: + description: Source rank + type: integer + example: 2 + minimum: 0 + OpportunityRankUpdate: + title: Opportunity rank update + type: object + properties: + before_sibling: + description: > + ID of opportunity before which to place the opportunity specified in + query parameters
> if not specified, opportunity will be + placed at the last rank of the step + type: integer + nullable: true + example: 57 + step: + description: Pipeline Step + type: integer + example: 299 + required: + - step + PipelineStepFilters: + title: Step filters + description: The opportunity pipeline steps filters + type: object + properties: + filters: + description: Opportunity Pipeline Steps filters + type: object + properties: + name: + title: Name + description: Filter the opportunity pipeline steps list by name + type: string + example: Website + id: + title: Id + description: Filter the opportunity pipeline steps list by id + type: array + example: + - 45 + - 47 + minItems: 1 + items: + type: integer + required: + - filters + TaskItem: + title: Task Item + allOf: + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/2 + - type: object + properties: + _embed: + allOf: + - title: TaskItemEmbed + description: Objects add to response. Use embed parameter + type: object + x-examples: {} + readOnly: true + allOf: + - title: Embed for task + description: Objects add to response. Use embed parameter + type: object + x-examples: {} + readOnly: true + properties: + owner: + title: Owner of the task + $ref: >- + #/components/schemas/Activity/properties/_embed/properties/author + assigned_staffs: + title: Staffs assigned to the task + type: array + items: + $ref: >- + #/components/schemas/Activity/properties/_embed/properties/author + nullable: true + related: + description: Objects linked to the task + type: array + minItems: 0 + maxItems: 1 + nullable: false + items: + anyOf: + - title: Company + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + - title: Individual + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + - title: Contact + $ref: '#/components/schemas/ContactItem/allOf/0' + - title: Opportunity + $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/1 + - title: Invoice + $ref: '#/components/schemas/InvoiceOne/allOf/0' + - title: Credit note + $ref: '#/components/schemas/CreditNoteOne/allOf/0' + - title: Estimate + $ref: '#/components/schemas/EstimateOne/allOf/0' + company: + title: Company linked to the task + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + nullable: true + individual: + title: Individual linked to the task + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + nullable: true + contact: + title: Contact linked to the task + $ref: '#/components/schemas/ContactItem/allOf/0' + nullable: true + - type: object + properties: + acl: + description: Task ACL + nullable: true + allOf: + - $ref: >- + #/components/schemas/Activity/properties/_embed/properties/acl/oneOf/3 + TaskCollectionItem: + title: Task Collection Item + allOf: + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/2 + - type: object + properties: + _embed: + allOf: + - $ref: >- + #/components/schemas/TaskItem/allOf/1/properties/_embed/allOf/0/allOf/0 + TaskCreateItem: + title: TaskCreateItem + allOf: + - description: Task update object + type: object + x-examples: {} + properties: + title: + description: Task title + type: string + example: Meeting + nullable: true + description: + description: Task description + type: string + example: Monthly meeting with consulting team + nullable: true + is_private: + description: Task is private or public + type: boolean + default: false + due_date: + description: due date and time of task + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + status: + description: Task status + type: string + example: todo + enum: + - todo + - done + assigned_staff_ids: + type: array + nullable: true + items: + description: staffs assigned to the task + type: integer + example: 1 + label_id: + description: Task label + type: integer + related: + description: >- + Main object related to the task (limit to 1). If empty, the link + with the existing related object will be removed. + type: array + minItems: 0 + maxItems: 1 + nullable: false + items: + description: Main object related to the task + type: object + required: + - type + - id + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - estimate + - invoice + - creditnote + - order + owner_id: + description: Owner of the task (Staff id expected) + type: integer + minimum: 1 + priority: + description: Priority level of the task + type: integer + minimum: 0 + maximum: 1 + - description: Task create item + - type: object + required: + - label_id + - due_date + properties: + related: + description: Main object related to the task (limit to 1). + type: array + minItems: 0 + maxItems: 1 + nullable: false + items: + description: Main object related to the task + type: object + required: + - type + - id + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - estimate + - invoice + - creditnote + - order + created: + description: Date of creation of the calendar event + type: string + format: date-time + priority: + description: Priority level of the task + type: integer + default: 0 + minimum: 0 + maximum: 1 + required: + - related + TaskUpdateItem: + description: Task update object + type: object + x-examples: {} + properties: + title: + description: Task title + type: string + example: Meeting + nullable: true + description: + description: Task description + type: string + example: Monthly meeting with consulting team + nullable: true + is_private: + description: Task is private or public + type: boolean + default: false + due_date: + description: due date and time of task + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + status: + description: Task status + type: string + example: todo + enum: + - todo + - done + assigned_staff_ids: + type: array + nullable: true + items: + description: staffs assigned to the task + type: integer + example: 1 + label_id: + description: Task label + type: integer + related: + description: >- + Main object related to the task (limit to 1). If empty, the link + with the existing related object will be removed. + type: array + minItems: 0 + maxItems: 1 + nullable: false + items: + description: Main object related to the task + type: object + required: + - type + - id + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - estimate + - invoice + - creditnote + - order + owner_id: + description: Owner of the task (Staff id expected) + type: integer + minimum: 1 + priority: + description: Priority level of the task + type: integer + minimum: 0 + maximum: 1 + TaskFilter: + title: taskFilter + description: The task filters + type: object + properties: + filters: + description: task filters + type: object + properties: + created: + title: Created at + description: Filter the tasks list by creation date + type: object + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + due_date: + title: Due date + description: Filter the tasks list by due date + type: object + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + owners: + title: Owners + description: Filter the tasks list by owners + type: array + items: + type: integer + example: 77 + assigned_staffs: + title: Assigned staffs + description: Filter the tasks list by assigned staffs + type: array + items: + type: integer + example: 33 + statuses: + title: Statuses + description: Filter the tasks list by statuses + type: array + items: + type: string + example: todo + enum: + - todo + - done + labels: + title: Labels + description: Filter the tasks list by labels + type: array + items: + type: integer + example: 47 + related_objects: + title: Related Objects + description: Filter the tasks list by related objects + type: array + items: + type: object + properties: + type: + type: string + example: company + id: + type: integer + example: 22 + companies: + title: Companies + description: Filter the tasks list by companies + type: array + items: + type: integer + individuals: + title: Individuals + description: Filter the tasks list by individuals + type: array + items: + type: integer + contacts: + title: Contacts + description: Filter the tasks list by contacts + type: array + items: + type: integer + priority: + description: Priority level of tasks + type: object + properties: + min: + description: Inclusive minimum priority level of tasks + type: integer + example: 1 + minimum: 0 + maximum: 1 + max: + description: Inclusive maximum priority level of tasks + type: integer + example: 1 + minimum: 0 + maximum: 1 + required: + - filters + Label: + description: Label + type: object + x-examples: {} + properties: + id: + description: Label id + type: integer + readOnly: true + example: 6657 + name: + description: Label title + type: string + example: Reminder + color: + description: Color of label + type: string + example: '#f7dcf5' + nullable: true + is_active: + description: If label is active + type: boolean + example: true + rank: + description: Label rank + type: integer + example: 1 + LabelBaseItem: + title: Task + description: Task base object + type: object + x-examples: {} + properties: + title: + description: Task title + type: string + example: Meeting + nullable: true + description: + description: Task description + type: string + example: Monthly meeting with consulting team + nullable: true + id: + description: Task ID + type: integer + readOnly: true + example: 6657 + status: + description: Task status + type: string + example: todo + readOnly: true + enum: + - todo + - done + is_private: + description: Task is private or public + type: boolean + default: false + due_date: + description: due date and time of task + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + assigned_staff_ids: + type: array + nullable: true + items: + description: staffs assigned to the task + type: integer + example: 1 + label: + description: Label + type: object + x-examples: {} + properties: + id: + description: Label id + type: integer + readOnly: true + example: 6657 + name: + description: Label title + type: string + example: Reminder + color: + description: Color of label + type: string + example: '#f7dcf5' + nullable: true + is_active: + description: If label is active + type: boolean + example: true + rank: + description: Label rank + type: integer + example: 1 + updated: + description: Updated date of task (system) + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + readOnly: true + created: + description: Created date of task (system) + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + readOnly: true + related: + description: Main object related to the task (limit to 1). + type: array + minItems: 0 + maxItems: 1 + nullable: false + items: + description: Main object related to the task + type: object + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - invoice + - creditnote + - estimate + - order + owner: + description: Owner of the task + type: object + properties: + type: + description: owner type + type: string + enum: + - staff + id: + description: Owner id + type: integer + example: 51 + company_id: + description: Company linked to the task + type: integer + example: 1 + readOnly: true + nullable: true + individual_id: + description: Individual linked to the task + type: integer + example: 92 + readOnly: true + nullable: true + contact_id: + description: Contact linked to the task + type: integer + example: 958 + readOnly: true + nullable: true + priority: + description: Priority level of the task + type: integer + example: 1 + minimum: 0 + maximum: 1 + LanguageCollection: + title: Language Collection + type: object + properties: + pagination: + $ref: '#/components/schemas/AccountDocumentCollection/properties/pagination' + data: + type: array + items: + allOf: + - type: object + properties: + id: + description: Custom language ID + type: integer + example: 1 + lang: + description: Custom language name + type: string + example: Language name + flag: + description: Custom language flag label + type: string + example: fr + nullable: true + required: + - id + - lang + - flag + required: + - pagination + - data + SearchResult: + description: Search Result Object + type: array + x-examples: {} + items: + anyOf: + - title: Company search result + description: Company Search Result Object + type: object + allOf: + - type: object + properties: + id: + description: Unique ID + type: string + readOnly: true + example: 6657 + object: + description: Main object + type: object + properties: + type: + type: string + enum: + - contact + - company + - individual + - opportunity + - purchase + - item + - declination + - document + - staff + - redactor + nullable: false + id: + type: integer + example: 11 + nullable: false + sub_type: + type: string + enum: + - contact + - opportunity + - client + - prospect + - supplier + - purInvoice + - purDelivery + - purOrder + - purCreditNote + - product + - packaging + - shipping + - service + - declination + - invoice + - estimate + - creditnote + - order + - delivery + - proforma + - staff + - document + - template + nullable: false + nullable: false + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + created: + description: Created datetime of object + type: string + format: datetime + nullable: false + example: '2020-05-29T11:22:03+02:00' + readOnly: true + updated: + description: updated datetime of object + type: string + format: datetime + nullable: false + example: '2020-05-29T11:22:03+02:00' + readOnly: true + is_archived: + description: Status archived or not + type: boolean + nullable: false + example: false + x-konfig-properties: + owner: + readOnly: true + - type: object + properties: + name: + description: Company name + type: string + example: My company + mobile_number: + description: Company mobile number + type: string + example: '+33600000000' + nullable: true + fax_number: + description: Company fax number + type: string + example: '+33400000000' + nullable: true + phone_number: + description: Company phone number + type: string + example: '+33500000000' + nullable: true + email: + type: string + format: email + example: contact@my-company.com + nullable: true + invoicing_address: + title: Address + type: object + nullable: true + properties: + id: + description: Unique ID + type: integer + readOnly: true + example: 6657 + address_line_1: + description: Address line one + type: string + example: 30 Commercial Road + nullable: true + address_line_2: + description: Address line two + type: string + example: Finance and Accounting + nullable: true + address_line_3: + description: Address line three + type: string + example: Lighthouse Promotions + nullable: true + address_line_4: + description: Address line four + type: string + example: PO Box 215 + nullable: true + postal_code: + description: Address postal code + type: string + nullable: true + example: '75012' + minLength: 2 + city: + description: Address city name + type: string + example: Paris + minLength: 2 + country_code: + description: Address country code + type: string + example: FR + minLength: 2 + maxLength: 2 + delivery_address: + $ref: >- + #/components/schemas/SearchResult/items/anyOf/0/allOf/1/properties/invoicing_address + main_contact: + description: Company's main contact + type: object + nullable: true + properties: + id: + description: contact identifier + type: integer + example: 6830 + last_name: + description: Contact last name + type: string + example: Doe + first_name: + description: Contact first name + type: string + example: John + civility: + description: Civility of individual + type: string + example: mrs + enum: + - mr + - mrs + - ms + reference: + description: Company reference + type: string + example: My company reference + - title: Individual search result + type: object + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + first_name: + description: Individual first name + type: string + example: John + nullable: true + last_name: + description: Individual last name + type: string + example: Doe + civility: + description: Civility of individual + type: string + example: mrs + enum: + - mr + - mrs + - ms + mobile_number: + description: Individual mobile number + type: string + example: '+33600000000' + nullable: true + fax_number: + description: Individual fax number + type: string + example: '+33400000000' + nullable: true + phone_number: + description: Individual phone number + type: string + example: '+33500000000' + nullable: true + email: + type: string + format: email + example: jonh.doe@email.com + nullable: true + invoicing_address: + $ref: >- + #/components/schemas/SearchResult/items/anyOf/0/allOf/1/properties/invoicing_address + delivery_address: + $ref: >- + #/components/schemas/SearchResult/items/anyOf/0/allOf/1/properties/invoicing_address + reference: + description: Individual reference + type: string + example: The reference of individual + - title: Opportunity search result + type: object + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + number: + description: Opportunity ident + type: string + example: OPP-001 + nullable: false + name: + description: Opportunity name + type: string + example: Opportunity number one + nullable: false + status: + description: Opportunity status + type: string + example: won + enum: + - open + - won + - lost + - cancelled + - closed + - late + amount: + description: potential amount non formatted + type: number + example: 1450.45 + related: + type: object + allOf: + - type: object + properties: + id: + type: integer + - oneOf: + - title: Company + type: object + properties: + name: + description: company name + type: string + type: + type: string + enum: + - company + - title: Individual + type: object + properties: + type: + type: string + enum: + - individual + first_name: + description: Individual first name + type: string + example: John + last_name: + description: Individual last name + type: string + example: Doe + civility: + description: Civility of linked contact + type: string + example: mrs + enum: + - mr + - mrs + - ms + - title: Contact search result + type: object + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + first_name: + description: Contact first name + type: string + format: text + example: John + nullable: true + last_name: + description: Contact last name + type: string + format: text + example: Doe + nullable: true + civility: + description: Civility of contact + type: string + example: mrs + enum: + - mr + - mrs + - ms + email: + description: Contact email + type: string + format: email + example: john.doe@example-company.com + nullable: true + phone_number: + description: Contact phone number + type: string + example: '+33100000000' + nullable: true + mobile_number: + description: Contact mobile number + type: string + example: '+33100000000' + nullable: true + fax_number: + description: Contact fax number + type: string + example: '+33100000000' + nullable: true + position: + description: Contact job + type: string + nullable: true + example: Financial + companies: + type: array + items: + type: object + properties: + name: + description: Company name + type: string + format: text + example: This company + nullable: false + id: + description: Company id + type: integer + example: 5456 + nullable: false + minimum: 1 + invoicing_address: + $ref: >- + #/components/schemas/SearchResult/items/anyOf/0/allOf/1/properties/invoicing_address + delivery_address: + $ref: >- + #/components/schemas/SearchResult/items/anyOf/0/allOf/1/properties/invoicing_address + - title: Purchase search result + type: object + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + status: + description: Purchase status + type: string + example: read + enum: + - draft + - due + - payinprogress + - paid + - late + - cancelled + - sent + - read + - accepted + - expired + - partialInvoiced + - invoiced + - stored + - spent + - partialspend + number: + description: Purchase number + type: string + example: F_INV-20210303-00001 + external_number: + description: Purchase external number + type: string + example: FACT-2020W3-00001 + name: + description: Purchase subject + type: string + nullable: true + amount: + description: Total purchase amount, taxes included + type: number + format: float + example: 133.7 + currency: + description: Purchase currency + type: string + example: € + related: + type: object + allOf: + - type: object + properties: + id: + type: integer + - oneOf: + - title: Company + type: object + properties: + name: + description: company name + type: string + type: + type: string + enum: + - company + - title: Individual + type: object + properties: + type: + type: string + enum: + - individual + first_name: + description: Individual first name + type: string + example: John + last_name: + description: Individual last name + type: string + example: Doe + civility: + description: Civility of linked contact + type: string + example: mrs + enum: + - mr + - mrs + - ms + - title: Item search result + description: Item Search Result Object + type: object + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + description: + description: Item description + type: string + example: This is a product description + nullable: true + number: + description: Item number + type: string + example: REF_00001 + name: + description: item name + type: string + example: My product + nullable: true + - title: Item declination search result + description: Item declination search result object + type: object + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + description: + description: Item declination description + type: string + example: This is a product description with red color + nullable: true + number: + description: Item declination number + type: string + example: REF_00001_RED + name: + description: item declination name + type: string + example: My product Red + nullable: true + related: + description: Original item related to this declination + type: object + properties: + id: + type: integer + number: + type: string + name: + type: string + - title: Document search result + type: object + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + status: + description: Document status + type: string + example: read + enum: + - draft + - due + - payinprogress + - paid + - late + - cancelled + - sent + - read + - accepted + - refused + - expired + - advanced + - partialinvoiced + - invoiced + - stored + - partialspend + - spent + number: + description: Document number + type: string + example: FACT-20210302-00001 + name: + description: Document subject + type: string + nullable: true + amount: + description: Total amount of document, taxes include + type: number + format: float + example: 942.88 + currency: + description: Document currency + type: string + example: € + related: + type: object + allOf: + - type: object + properties: + id: + type: integer + - oneOf: + - title: Company + type: object + properties: + name: + description: company name + type: string + type: + type: string + enum: + - company + - title: Individual + type: object + properties: + type: + type: string + enum: + - individual + first_name: + description: Individual first name + type: string + example: John + last_name: + description: Individual last name + type: string + example: Doe + civility: + description: Civility of linked contact + type: string + example: mrs + enum: + - mr + - mrs + - ms + - title: Staff search result + type: object + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + first_name: + description: Staff's first name + type: string + format: text + example: John + nullable: true + last_name: + description: Staff's last name + type: string + format: text + example: Doe + nullable: true + phone_number: + description: Staff's phone number + type: string + example: '+33100000000' + nullable: true + mobile_number: + description: Staff's mobile number + type: string + example: '+33100000000' + nullable: true + blocked: + description: Staff's status + type: boolean + email: + description: Staff's email + type: string + format: email + example: john.doe@example-company.com + nullable: true + position: + description: Staff's job + type: string + nullable: true + example: Financial + - title: Ticket search result + type: object + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + status: + description: Ticket status + type: string + example: active + enum: + - active + - pending + - closed + - spam + subject: + description: Ticket subject + type: string + index: + description: Ticket reference + type: string + related: + type: array + items: + type: string + - title: Redactor document search result + type: object + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + status: + description: Redactor status + type: string + example: ok + enum: + - ok + - deleted + step: + description: Redactor step + type: string + example: read + enum: + - draft + - sent + - read + - accepted + ident: + description: Redactor ident + type: string + example: REDACTOR-001 + nullable: false + related: + type: array + items: + type: string + - title: Redactor template search result + type: object + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + name: + description: Redactor template name + type: string + related_object: + description: Redactor template related object + type: string + enum: + - none + - document + - opportunity + - item + - rent + - ticket + linked_object: + description: Redactor template linked object + type: string + enum: + - none + - client + - prospect + - supplier + - people + SearchResultBaseItem: + type: object + properties: + id: + description: Unique ID + type: string + readOnly: true + example: 6657 + object: + description: Main object + type: object + properties: + type: + type: string + enum: + - contact + - company + - individual + - opportunity + - purchase + - item + - declination + - document + - staff + - redactor + nullable: false + id: + type: integer + example: 11 + nullable: false + sub_type: + type: string + enum: + - contact + - opportunity + - client + - prospect + - supplier + - purInvoice + - purDelivery + - purOrder + - purCreditNote + - product + - packaging + - shipping + - service + - declination + - invoice + - estimate + - creditnote + - order + - delivery + - proforma + - staff + - document + - template + nullable: false + nullable: false + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + created: + description: Created datetime of object + type: string + format: datetime + nullable: false + example: '2020-05-29T11:22:03+02:00' + readOnly: true + updated: + description: updated datetime of object + type: string + format: datetime + nullable: false + example: '2020-05-29T11:22:03+02:00' + readOnly: true + is_archived: + description: Status archived or not + type: boolean + nullable: false + example: false + x-konfig-properties: + owner: + readOnly: true + SearchResultAggregations: + description: Search Result Aggregations + type: object + x-examples: {} + properties: + count_by_type: + description: Count the number of objects by type + type: object + properties: + company: + description: >- + The 1st value corresponds to active objects, the 2nd to achived + objects + type: array + minItems: 1 + maxItems: 2 + items: + type: integer + individual: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + contact: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + opportunity: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + purchase: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + item: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + declination: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + document: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + staff: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + ticket: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + redactor: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + PhoneCallItem: + title: PhoneCall + allOf: + - title: PhoneCall + allOf: + - description: The CRM phoneCall + type: object + required: + - related + properties: + description: + description: Description of the phone call + type: string + example: >- + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed + do eiusmod tempor + nullable: true + id: + type: integer + readOnly: true + source: + description: Incoming call or Outgoing call + type: string + enum: + - incoming + - outcoming + updated: + description: Last update date / hour + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + readOnly: true + created: + description: Creation date / hour + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + readOnly: true + duration: + description: Total duration of call (in seconds) + type: integer + example: 12345 + date: + description: Date and hour of phonecall + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + company_id: + description: Company linked to the phone call + type: integer + nullable: true + readOnly: true + individual_id: + description: Individual linked to the phone call + type: integer + nullable: true + readOnly: true + contact_id: + description: Contact linked to the phone call + type: integer + nullable: true + readOnly: true + related: + description: List objects related to the phone call + type: array + minItems: 1 + items: + description: Object related to the phone call + type: object + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + priority: + description: Priority level of the phone call + type: integer + minimum: 0 + maximum: 1 + - type: object + properties: + owner: + description: Owner of the phone call + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + source: + description: Incoming call or Outgoing call + type: string + enum: + - incoming + - outcoming + topic: + description: Phone call topic + type: object + properties: + id: + type: integer + example: 2235 + name: + type: string + example: Support + result: + description: Phone call result + type: object + properties: + id: + type: string + enum: + - noanswer + - busy + - wrongnumber + - msgdirect + - msgvocal + - connected + - transfer + - interrupt + - scheduled + name: + type: string + example: No answer + - type: object + properties: + _embed: + title: Embed for PhoneCall object + type: object + readOnly: true + allOf: + - title: Embed for PhoneCall object + type: object + readOnly: true + properties: + owner: + title: Owner of the phone call + $ref: >- + #/components/schemas/Activity/properties/_embed/properties/author + related: + description: Objects linked to the phone call + type: array + minItems: 1 + maxItems: 3 + nullable: false + items: + anyOf: + - title: Company + type: object + readOnly: true + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + - type: object + properties: + _type: + description: type of related + nullable: false + type: string + enum: + - company + - title: Individual + type: object + readOnly: true + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + - type: object + properties: + _type: + description: type of related + nullable: false + type: string + enum: + - individual + - title: Contact + type: object + readOnly: true + allOf: + - $ref: '#/components/schemas/ContactItem/allOf/0' + - type: object + properties: + _type: + description: type of related + nullable: false + type: string + enum: + - contact + - title: Opportunity + type: object + readOnly: true + allOf: + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/1 + - type: object + properties: + _type: + description: type of related + nullable: false + type: string + enum: + - opportunity + company: + title: Company linked to the phone call + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + nullable: true + individual: + title: Individual linked to the phone call + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + nullable: true + contact: + title: Contact linked to the phone call + $ref: '#/components/schemas/ContactItem/allOf/0' + nullable: true + - type: object + properties: + acl: + title: ACL for PhoneCall object + description: '' + type: object + x-examples: {} + properties: + can_be_updated: + description: PhoneCall can be updated + type: boolean + nullable: false + example: true + can_be_deleted: + description: PhoneCall can be deleted + type: boolean + nullable: false + example: true + PhoneCallCollectionItem: + title: PhoneCall + allOf: + - $ref: '#/components/schemas/PhoneCallItem/allOf/0' + - type: object + properties: + _embed: + $ref: >- + #/components/schemas/PhoneCallItem/allOf/1/properties/_embed/allOf/0 + PhoneCallCreateItem: + title: PhoneCall + allOf: + - title: PhoneCall + description: PhoneCall update request body + type: object + properties: + description: + description: Description of the phone call + type: string + example: >- + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do + eiusmod tempor + nullable: true + owner_id: + description: Owner of the phone call (Staff id expected) + type: integer + minimum: 1 + topic: + description: Phone call topic + type: integer + result: + description: Phone call result + type: string + enum: + - noanswer + - busy + - wrongnumber + - msgdirect + - msgvocal + - connected + - transfer + - interrupt + - scheduled + source: + description: Incoming call or Outgoing call + type: string + enum: + - incoming + - outcoming + duration: + description: > + Total duration of call (in seconds) + + + *Note:* for phone calls with the "scheduled" result, this value + is forcibly set to zero. + type: integer + example: 12345 + date: + description: Date and hour of phone call + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + related: + description: List objects related to the phone call (limit to 1 of each type) + type: array + minItems: 1 + maxItems: 3 + items: + description: Object related to the phone call + type: object + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + priority: + description: Priority level of the phone call + type: integer + minimum: 0 + maximum: 1 + - type: object + required: + - owner_id + - date + - result + - source + - related + - description: PhoneCall create item + PhoneCallUpdateItem: + title: PhoneCall + description: PhoneCall update request body + type: object + properties: + description: + description: Description of the phone call + type: string + example: >- + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do + eiusmod tempor + nullable: true + owner_id: + description: Owner of the phone call (Staff id expected) + type: integer + minimum: 1 + topic: + description: Phone call topic + type: integer + result: + description: Phone call result + type: string + enum: + - noanswer + - busy + - wrongnumber + - msgdirect + - msgvocal + - connected + - transfer + - interrupt + - scheduled + source: + description: Incoming call or Outgoing call + type: string + enum: + - incoming + - outcoming + duration: + description: > + Total duration of call (in seconds) + + + *Note:* for phone calls with the "scheduled" result, this value is + forcibly set to zero. + type: integer + example: 12345 + date: + description: Date and hour of phone call + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + related: + description: List objects related to the phone call (limit to 1 of each type) + type: array + minItems: 1 + maxItems: 3 + items: + description: Object related to the phone call + type: object + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + priority: + description: Priority level of the phone call + type: integer + minimum: 0 + maximum: 1 + PhoneCallFilter: + title: Phone calls filters + description: Phone calls filters + type: object + properties: + filters: + description: Phone calls filters + type: object + properties: + created: + title: Created at + description: Filter the phone calls list by creation date + type: object + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + owners: + title: Owners + description: Filter the phone calls list by owners + type: array + items: + type: integer + example: 77 + related_objects: + title: Related Objects + description: Filter the phone calls list by related objects + type: array + items: + type: object + properties: + type: + type: string + example: company + id: + type: integer + example: 22 + companies: + title: Companies + description: Filter the phone calls list by companies + type: array + items: + type: integer + individuals: + title: Individuals + description: Filter the phone calls list by individuals + type: array + items: + type: integer + contacts: + title: Contacts + description: Filter the phone calls list by contacts + type: array + items: + type: integer + topic: + title: Topic + description: Filter the phone calls list by topic + type: integer + result: + title: Result + description: Filter the phone calls list by result + type: string + enum: + - noanswer + - busy + - wrongnumber + - msgdirect + - msgvocal + - connected + - transfer + - interrupt + - scheduled + source: + title: Source + description: Filter the phone calls list by source + type: string + enum: + - incoming + - outcoming + due_date: + title: Due Date + description: >- + Filter the phone calls in which the due date is in that time + frame + type: object + properties: + start: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + priority: + type: object + properties: + min: + description: Inclusive minimum priority level of phone calls + type: integer + example: 1 + minimum: 0 + maximum: 1 + max: + description: Inclusive maximum priority level of phone calls + type: integer + example: 1 + minimum: 0 + maximum: 1 + required: + - filters + CalendarEventItem: + title: Calendar Event + type: object + allOf: + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/5 + - type: object + properties: + _embed: + allOf: + - description: Objects add to response. Use embed parameter + type: object + readOnly: true + properties: + company: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + contact: + $ref: '#/components/schemas/ContactItem/allOf/0' + individual: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + owner: + $ref: '#/components/schemas/CrmActivity/properties/author' + related: + description: Objects linked to the event + type: array + minItems: 0 + maxItems: 1 + nullable: false + items: + anyOf: + - title: Company + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + - title: Individual + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + - title: Contact + $ref: '#/components/schemas/ContactItem/allOf/0' + - title: Opportunity + $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/1 + - title: Estimate + $ref: '#/components/schemas/EstimateOne/allOf/0' + - title: Invoice + $ref: '#/components/schemas/InvoiceOne/allOf/0' + - title: Credit note + $ref: '#/components/schemas/CreditNoteOne/allOf/0' + participants: + type: array + items: + oneOf: + - $ref: '#/components/schemas/ContactItem/allOf/0' + - $ref: '#/components/schemas/CrmActivity/properties/author' + acl: + $ref: >- + #/components/schemas/Activity/properties/_embed/properties/acl/oneOf/6 + CalendarEventCreateItem: + title: Calendar event + description: Body for calendar event creation + type: object + x-examples: {} + required: + - datetime_start + - datetime_end + - title + - label_id + properties: + title: + description: Calendar event title + type: string + example: Meeting + description: + description: Calendar event description + type: string + example: Monthly meeting with consulting team + nullable: true + datetime_start: + description: start date and time of calendar event + type: string + format: date-time + maxLength: 29 + example: '2020-01-01T00:00:00+01:00' + datetime_end: + description: end date and time of calendar event + type: string + format: date-time + maxLength: 29 + example: '2020-01-01T00:00:00+01:00' + is_private: + description: Calendar event is private or public + type: boolean + default: false + all_day: + description: Calendar event is scheduled for the whole day + type: boolean + default: false + label_id: + description: Label id for event + type: integer + provider_calendar: + description: Calendar id for event + type: string + example: myemail@gmail.com + participants: + description: Participants (Staff, Contact or External Participants) + type: array + items: + description: Participant linked + type: object + properties: + id: + description: Id of participant + oneOf: + - type: integer + - type: string + type: + description: Type of participant + type: string + enum: + - staff + - contact + - external + related: + description: Main object related to the calendar event (limit to 1). + type: array + minItems: 0 + maxItems: 1 + nullable: false + items: + description: Main object related to the calendar event + type: object + required: + - type + - id + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - estimate + - invoice + - creditnote + - order + created: + description: Date of creation of the calendar event + type: string + format: date-time + priority: + description: Priority level of the calendar event + type: integer + minimum: 0 + maximum: 1 + default: 0 + CalendarEventUpdateItem: + description: Calendar event update object + type: object + x-examples: {} + properties: + title: + description: Calendar event title + type: string + example: Meeting + description: + description: Calendar event description + type: string + example: Monthly meeting with consulting team + nullable: true + datetime_start: + description: start date and time of calendar event + type: string + format: date-time + maxLength: 29 + example: '2020-01-01T00:00:00+01:00' + datetime_end: + description: end date and time of calendar event + type: string + format: date-time + maxLength: 29 + example: '2020-01-01T00:00:00+01:00' + is_private: + description: Calendar event is private or public + type: boolean + default: false + all_day: + description: Calendar event is scheduled for the whole day + type: boolean + default: false + label_id: + description: Label id for event + type: integer + provider_calendar: + description: Calendar id for event + type: string + example: myemail@gmail.com + participants: + description: Participants (Staff, Contact or External Participants) + type: array + items: + description: Participant linked + type: object + properties: + id: + description: Id of participant + oneOf: + - type: integer + - type: string + type: + description: Type of participant + type: string + enum: + - staff + - contact + - external + related: + description: >- + Main object related to the calendar event (limit to 1). If empty, + the link with the existing related object will be removed. + type: array + minItems: 0 + maxItems: 1 + nullable: false + items: + description: Main object related to the calendar event + type: object + required: + - type + - id + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - estimate + - invoice + - creditnote + - order + priority: + description: Priority level of the calendar event + type: integer + minimum: 0 + maximum: 1 + CalendarEventFilters: + title: CalendarEventFilters + description: Calendar event filters + type: object + properties: + filters: + description: calendar event filters + type: object + properties: + due_date: + $ref: >- + #/components/schemas/DealsFilters/properties/filters/properties/due_date + owners: + description: Owner(s) of event + type: array + items: + type: integer + participants: + description: Staff, contact or external contact of event + type: array + items: + type: object + properties: + type: + type: string + enum: + - staff + - contact + - external + id: + oneOf: + - type: integer + - type: string + labels: + description: Event labels + type: array + items: + type: integer + related_objects: + description: object(s) linked to event + type: array + items: + type: object + properties: + type: + type: string + id: + type: integer + companies: + description: Id(s) of company linked to event + type: array + items: + type: integer + individuals: + description: Id(s) of individuals linked to event + type: array + items: + type: integer + contacts: + description: Id(s) of contact linked to event + type: array + items: + type: integer + priority: + description: Priority level of events + type: object + properties: + min: + description: Inclusive minimum priority level of events + type: integer + example: 1 + minimum: 0 + maximum: 1 + max: + description: Inclusive maximum priority level of events + type: integer + example: 1 + minimum: 0 + maximum: 1 + Related: + description: Object linked + type: object + properties: + id: + description: Id of object + type: integer + type: + description: Type of object + type: string + Activity: + description: The activity object + type: object + properties: + id: + description: Id of activity + type: string + example: 2wto807ysxa + event: + description: Event type + type: string + example: task.created + author: + type: object + properties: + type: + type: string + enum: + - staff + example: staff + id: + type: integer + minimum: 1 + example: 1024 + event_date: + description: Date of activity + type: string + format: date-time + due_date: + description: Due date of activity + type: string + format: date-time + event_details: + description: Details of events + type: object + additionalProperties: true + event_more: + description: Additional informations + type: object + example: + old: client + new: prospect + additionalProperties: true + object: + description: Event object of activity + type: object + required: + - type + - id + properties: + type: + type: string + example: task + id: + oneOf: + - type: string + example: 1056 + minLength: 1 + - type: integer + example: 1056 + minimum: 1 + model: + nullable: true + oneOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/1 + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/2 + - $ref: '#/components/schemas/ContactItem/allOf/0' + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + - $ref: '#/components/schemas/CommentItem/allOf/0' + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/5 + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/6 + related: + description: List all direct and indirect relations of the activity’s main object + type: array + minItems: 0 + nullable: false + items: + description: Object related to the activity + type: object + properties: + id: + $ref: '#/components/schemas/Activity/properties/object/properties/id' + type: + type: string + example: opportunity + _embed: + description: Embed objects for activity logs + type: object + readOnly: true + properties: + object_related: + description: >- + Add the direct relation of the activity’s main object to the + response (partially described in object.model.related) + type: array + minItems: 0 + nullable: false + items: + anyOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + - $ref: '#/components/schemas/ContactItem/allOf/0' + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/1 + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/2 + individual: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + company: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + author: + title: Staff Schemas + description: >- + Staff schemas according of current user level of visibility on + staffs + allOf: + - $ref: '#/components/schemas/Staff/allOf/0' + - type: object + properties: + phone_number: + description: Staff phone number + type: string + example: '+33100000000' + nullable: true + mobile_number: + description: Staff mobile number + type: string + example: '+33600000000' + nullable: true + fax_number: + description: Staff fax number + type: string + example: '+33500000000' + nullable: true + groups: + description: Staff groups + type: array + nullable: true + readOnly: true + items: + type: object + properties: + id: + type: integer + example: 1 + name: + type: string + example: Sales + civility: + description: Civility of staff + type: string + example: mrs + nullable: true + enum: + - mr + - mrs + - ms + created: + description: Creation date of the staff + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + readOnly: true + profile: + description: Staff privilège profile + type: integer + example: 3443 + team: + description: Staff team position + nullable: true + type: object + properties: + id: + type: integer + example: -1 + name: + type: string + example: Commercial + job: + description: Staff job + nullable: true + type: object + properties: + id: + type: integer + example: -1 + name: + type: string + example: Office manager + timezone: + description: Staff time zone + type: string + example: Europe/Paris + language: + description: Staff language + type: string + example: fr + acl: + description: Activity's main object's ACL + nullable: true + oneOf: + - title: Company ACL + description: '' + type: object + x-examples: {} + properties: + can_be_updated: + description: Company can be updated + type: boolean + nullable: true + example: true + can_be_deleted: + description: Company can be delete + type: boolean + nullable: true + example: true + view_companies_addresses: + description: Company Addresses can be listed + type: boolean + nullable: true + example: true + create_companies_addresses: + description: Company Addresses can be created + type: boolean + nullable: true + example: true + update_companies_addresses: + description: Company Addresses can be updated + type: boolean + nullable: true + example: true + delete_companies_addresses: + description: Company Addresses can be deleted + type: boolean + nullable: true + example: true + - title: ContactAcl + description: '' + type: object + x-examples: {} + properties: + can_be_updated: + description: Contact can be updated + type: boolean + nullable: true + example: true + can_be_deleted: + description: Contact can be deleted + type: boolean + nullable: true + example: true + view_contacts_addresses: + description: Contact Addresses can be listed + type: boolean + nullable: true + example: true + create_contacts_addresses: + description: Contact Addresses can be created + type: boolean + nullable: true + example: true + update_contacts_addresses: + description: Contact Addresses can be updated + type: boolean + nullable: true + example: true + delete_contacts_addresses: + description: Contact Addresses can be deleted + type: boolean + nullable: true + example: true + - title: Individual ACL + description: '' + type: object + x-examples: {} + properties: + can_be_updated: + description: Individual can be updated + type: boolean + nullable: true + example: true + can_be_deleted: + description: Individual can be delete + type: boolean + nullable: true + example: true + view_individuals_addresses: + description: Individual Addresses can be listed + type: boolean + nullable: true + example: true + create_individuals_addresses: + description: Individual Addresses can be created + type: boolean + nullable: true + example: true + update_individuals_addresses: + description: Individual Addresses can be updated + type: boolean + nullable: true + example: true + delete_individuals_addresses: + description: Individual Addresses can be deleted + type: boolean + nullable: true + example: true + - title: TaskAcl + description: '' + type: object + x-examples: {} + properties: + can_be_updated: + description: Task can be updated + type: boolean + nullable: true + example: true + can_be_deleted: + description: Task can be delete + type: boolean + nullable: true + example: true + - title: Comment acl + description: '' + type: object + x-examples: {} + properties: + can_be_updated: + description: Comment can be updated + type: boolean + can_be_deleted: + description: Comment can be deleted + type: boolean + - title: Opportunity ACL + description: '' + type: object + x-examples: {} + properties: + can_be_updated: + description: Opportunity can be updated + type: boolean + nullable: false + example: true + can_be_deleted: + description: Opportunity can be deleted + type: boolean + nullable: false + example: true + link_invoicing_docs: + description: Can link invoicing documents + type: boolean + nullable: false + example: true + - title: ACL for Calendar Event object + description: '' + type: object + x-examples: {} + properties: + can_be_updated: + description: Calendar Event can be updated + type: boolean + nullable: true + example: true + can_be_deleted: + description: Calendar Event can be delete + type: boolean + nullable: true + example: true + ActivityFilters: + description: The activity filters + type: object + properties: + filters: + description: Activity filters + type: object + properties: + entity: + description: Filter on a specific entity + type: object + properties: + type: + description: Entity type + type: string + enum: + - email + - calendar_event + - staff + - task + - comment + - snippettracking + - phonecall + - contact + - prospect + - opportunity + - campaign + - client + - supplier + id: + description: Entity id to filter on + type: integer + entities: + type: array + items: + $ref: >- + #/components/schemas/ActivityFilters/properties/filters/properties/entity/properties/type + due_date: + $ref: >- + #/components/schemas/DealsFilters/properties/filters/properties/due_date + activity_level: + description: >- + Filter activity by level. Get main activities/secondary + activities or both by default. + type: array + example: + - main + items: + type: string + enum: + - main + - secondary + default: + - main + - secondary + EmailItem: + title: Email + allOf: + - title: Email + description: The email object + type: object + properties: + id: + description: Email Identifier + type: string + owner: + description: Owner of the email + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + subject: + description: Subject of email + type: string + is_open: + description: Has been open or not + type: boolean + is_scheduled: + description: Has been scheduled or immediate send + type: boolean + from: + description: From email + type: string + format: email + participants: + description: Email addresses of destinators + type: array + items: + type: string + format: email + is_private: + description: Private email or not + type: boolean + created: + description: Creation date / hour + type: string + format: date-time + updated: + description: Last update date / hour + type: string + format: date-time + related: + description: Main object related to the email (limit to 1). + type: array + minItems: 0 + maxItems: 1 + nullable: false + items: + description: Main object related to the email + type: object + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + company_id: + description: Company linked to email + type: integer + readOnly: true + individual_id: + description: Individual linked to email + type: integer + readOnly: true + contact_id: + description: Contact linked to email + type: integer + readOnly: true + thread_id: + description: Email thread identifier + nullable: false + oneOf: + - type: string + example: axB8kdF092 + minLength: 1 + - type: integer + example: 1056 + minimum: 1 + - type: object + properties: + content: + description: Full email content + type: string + snippet: + description: Short description + type: string + EmailEngineItem: + title: Email + description: The email object + type: object + properties: + id: + description: Email Identifier + type: string + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + subject: + description: Subject of email + type: string + content: + description: Content of email + type: string + is_open: + description: Has been open or not + type: boolean + is_scheduled: + description: Has been scheduled or immediate send + type: boolean + from: + type: object + properties: + email: + description: Recipient's email + type: string + format: email + name: + description: Recipient's name + type: string + to: + description: An array of name+email pairs the message was sent to. + type: array + items: + $ref: '#/components/schemas/EmailEngineItem/properties/from' + cc: + description: An array of name+email pairs the message was cc'd to. + type: array + items: + $ref: '#/components/schemas/EmailEngineItem/properties/from' + bcc: + description: >- + An array of name+email pairs the message was bcc'd to. For received + mail this is nearly always empty. + type: array + items: + $ref: '#/components/schemas/EmailEngineItem/properties/from' + is_private: + description: Private email or not + type: boolean + created: + description: Creation date / hour + type: string + format: date-time + updated: + description: Last update date / hour + type: string + format: date-time + related: + description: Main object related to the email. + type: array + nullable: false + items: + description: Main object related to the email + type: object + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + message_id: + description: Email message identifier + nullable: true + type: string + example: axB8kdF092 + minLength: 1 + thread_id: + description: Email thread identifier + nullable: true + type: string + example: axB8kdF092 + minLength: 1 + linked_object: + description: Linked to the email object + type: string + nullable: true + example: client.1 + EmailSendBody: + type: object + required: + - subject + - content + - to + properties: + subject: + description: Subject + type: string + content: + description: Content + type: string + to: + description: Main recipients + type: array + items: + type: object + required: + - email + properties: + name: + description: Participant name + type: string + nullable: true + email: + description: Participant email + type: string + format: email + related: + description: Related objects + type: array + items: + type: object + required: + - id + - type + properties: + id: + description: Object id + type: integer + type: + description: Object type + type: string + enum: + - company + - contact + - client + - supplier + - prospect + - estimate + - invoice + - delivery + - order + - creditnote + - proforma + - opportunity + - staff + cc: + description: Recipients in copy + type: array + items: + $ref: '#/components/schemas/EmailSendBody/properties/to/items' + bcc: + description: Recipients in blind copy + type: array + items: + $ref: '#/components/schemas/EmailSendBody/properties/to/items' + related: + description: Related objects + type: array + items: + type: object + required: + - id + - type + properties: + id: + description: Object id + type: integer + type: + description: Object type + type: string + enum: + - estimate + - invoice + - delivery + - order + - creditnote + - proforma + - opportunity + - company + - client + - supplier + - prospect + - contact + - purInvoice + - purCreditNote + - purOrder + - purDelivery + in_reply_to_id: + description: Message ID of the email to which this email is a reply + type: string + nullable: true + PartialEmailHeader: + title: Mail provider error + description: The error + type: object + properties: + error: + description: Error detail + type: object + properties: + code: + description: HTTP status code + type: integer + message: + description: Error message + type: string + EmailAuthenticationItem: + title: DNS authentication result + type: object + properties: + valid: + description: Indicates if this is a valid domain + type: boolean + domain: + description: Domain for which the DNS information is retrieved + type: string + dns: + description: DNS records + type: object + properties: + mail_cname: + title: cname.yaml + description: The CNAME for your sending domain + type: object + properties: + valid: + description: Indicates if this is a valid CNAME + type: boolean + type: + description: The type of DNS record + type: string + host: + description: The domain that this CNAME is created for + type: string + data: + description: The CNAME record + type: string + dkim1: + title: dns.yaml + description: DNS record + type: object + properties: + valid: + description: Indicates if this is a valid DNS record + type: boolean + type: + description: The type of DNS record + type: string + host: + description: The domain that this DNS record was created for + type: string + data: + description: The DNS record + type: string + dkim2: + $ref: >- + #/components/schemas/EmailAuthenticationItem/properties/dns/properties/dkim1 + EmailValidationItem: + title: DNS validation result + type: object + properties: + valid: + description: Indicates if this is a valid domain + type: boolean + domain: + description: Domain for which the DNS information is retrieved + type: string + validation_results: + description: DNS records + type: object + properties: + mail_cname: + type: object + nullable: true + properties: + valid: + description: If the check passed or not + type: boolean + reason: + description: The error message + type: string + nullable: true + dkim1: + $ref: >- + #/components/schemas/EmailValidationItem/properties/validation_results/properties/mail_cname + dkim2: + $ref: >- + #/components/schemas/EmailValidationItem/properties/validation_results/properties/mail_cname + spf: + $ref: >- + #/components/schemas/EmailValidationItem/properties/validation_results/properties/mail_cname + EmailVerificationInput: + title: Email verification + description: '' + type: object + x-examples: {} + properties: + email: + description: Email address to verify + type: string + format: email + example: john-doe@example.com + redirect_uri: + description: Uri to be redirected to after email validation + type: string + format: uri + nullable: true + example: https://www.sellsy.com + required: + - email + EmailVerificationValidateInput: + title: Email verification + description: '' + type: object + x-examples: {} + properties: + email: + description: Email address to verify + type: string + format: email + example: john-doe@example.com + required: + - email + EmailVerificationValidateOutput: + title: Email verification result + type: object + properties: + verified: + description: Indicates if the email has already been verified + type: boolean + example: false + EmailRecipientSuggestionOutput: + title: Suggested recipient + type: array + items: + type: object + properties: + email: + description: Suggested recipient's email + type: string + format: email + example: john.doe@example.com + name: + description: Suggested recipient's name + type: string + example: John Doe + relatedObject: + $ref: '#/components/schemas/EmailSendBody/properties/related/items' + EmailRecipientsOutput: + title: Recipients + description: List of recipients + type: array + items: + type: object + properties: + email: + description: Recipient's email + type: string + format: email + example: john.doe@example.com + name: + description: Recipient's name + type: string + example: John Doe + WebhookFilters: + title: WebhookFilters + description: Webhooks filters list + type: object + properties: + filters: + description: Opportunity filters + type: object + properties: + type: + description: Webhook type + type: string + enum: + - http + - slack + example: slack + is_enabled: + description: Webhook status + type: boolean + example: true + endpoint: + description: >- + Webhook endpoint (either url for http type, either slack url for + slack type) + type: string + example: http://{host}/webhook + required: + - filters + WebhookReadItem: + anyOf: + - title: webhook.slack.read.item + description: Slack Webhook schema for read context + type: object + allOf: + - title: webhook.common.read.item + description: Webhook common schema for read context + type: object + allOf: + - title: webhook.common.item + description: Webhook common schema + type: object + properties: + is_enabled: + description: Webhook status + type: boolean + default: true + endpoint: + description: >- + Webhook endpoint (either url for http type, either slack + url for slack type) + type: string + example: http://{host}/webhook + - type: object + properties: + id: + type: integer + type: + description: Webhook type + type: string + enum: + - http + - slack + example: slack + created: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + updated: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + nullable: true + last_succeeded: + type: string + example: '1970-01-01T00:00:00+00:00' + format: date-time + nullable: true + last_failed: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + nullable: true + nb_failures: + type: integer + minimum: 0 + example: 0 + - type: object + properties: + default_channel: + description: required for slack type webhook + type: string + nullable: true + example: sales_notifs + configuration: + title: webhookConfigurationSlackItems + description: Describe all events to enable as a key + type: array + additionalProperties: true + items: + allOf: + - title: webhook.slack.configuration.item + description: Slack Webhook configuration item schema + type: object + properties: + id: + description: Event id (fetch from /webhooks/events) + type: string + example: task.created + is_enabled: + description: Event enabled on webhook + type: boolean + example: true + channel: + description: Slack channel + type: string + nullable: true + - title: webhook.http.read.item + description: Http Webhook schema for read context + type: object + allOf: + - $ref: '#/components/schemas/WebhookReadItem/anyOf/0/allOf/0' + - type: object + properties: + configuration: + title: webhookConfigurationHttpItems + description: Describe all events to enable as a key + type: array + additionalProperties: true + items: + allOf: + - title: webhook.http.configuration.item + description: Http Webhook configuration item schema + type: object + properties: + id: + description: Event id (fetch from /webhooks/events) + type: string + example: task.created + is_enabled: + description: Event enabled on webhook + type: boolean + example: true + WebhookEditItem: + anyOf: + - title: webhook.slack.edit.item + description: Slack Webhook schema for edit context + type: object + properties: + is_enabled: + description: Webhook status + type: boolean + default: true + endpoint: + description: >- + Webhook endpoint (either url for http type, either slack url for + slack type) + type: string + example: http://{host}/webhook + default_channel: + description: required for slack type webhook + type: string + nullable: true + example: sales_notifs + configuration: + $ref: >- + #/components/schemas/WebhookReadItem/anyOf/0/allOf/1/properties/configuration + - title: webhook.http.edit.item + description: Http Webhook schema for edit context + type: object + properties: + is_enabled: + description: Webhook status + type: boolean + default: true + endpoint: + description: >- + Webhook endpoint (either url for http type, either slack url for + slack type) + type: string + example: http://{host}/webhook + configuration: + $ref: >- + #/components/schemas/WebhookReadItem/anyOf/1/allOf/1/properties/configuration + WebhookCreateItem: + anyOf: + - title: webhook.slack.create.item + description: Slack Webhook schema for create context + type: object + properties: + is_enabled: + description: Webhook status + type: boolean + default: true + endpoint: + description: >- + Webhook endpoint (either url for http type, either slack url for + slack type) + type: string + example: http://{host}/webhook + default_channel: + description: required for slack type webhook + type: string + nullable: true + example: sales_notifs + type: + description: Webhook type + type: string + enum: + - slack + - http + example: slack + configuration: + $ref: >- + #/components/schemas/WebhookReadItem/anyOf/0/allOf/1/properties/configuration + - title: webhook.http.create.item + description: Http Webhook schema for create context + type: object + properties: + is_enabled: + description: Webhook status + type: boolean + default: true + endpoint: + description: >- + Webhook endpoint (either url for http type, either slack url for + slack type) + type: string + example: http://{host}/webhook + type: + description: Webhook type + type: string + enum: + - http + - slack + example: http + configuration: + $ref: >- + #/components/schemas/WebhookReadItem/anyOf/1/allOf/1/properties/configuration + WebhookEventsList: + title: webhookEvents + description: List available webhook events + type: array + items: + anyOf: + - title: webhookEventItem + description: Describe a webhook event item + type: object + properties: + description: + description: Entity label + type: string + example: Tasks + id: + description: Entity + type: string + example: task + events: + description: List available events for current entity + type: object + additionalProperties: + description: Event label + type: string + example: + created: Creation + deleted: Deletion + addressadded: Address added + - title: webhookEventItemWithParent + description: Describe a webhook event item with a parent + type: object + allOf: + - $ref: '#/components/schemas/WebhookEventsList/items/anyOf/0' + - type: object + properties: + parent: + description: Entity + type: string + example: task + nullable: true + PaymentMethod: + type: object + properties: + id: + description: Unique ID + type: integer + readOnly: true + example: 6657 + label: + description: Label of payment method + type: string + readOnly: true + example: Paypal + Payment: + type: object + properties: + id: + description: Payment id + type: integer + example: 7 + number: + description: Payment reference + type: string + nullable: true + example: reference + paid_at: + description: Payment date (ISO 8601) + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + status: + description: Payment status + type: string + enum: + - pending + - confirmed + - rejected + - failed + - refund + example: pending + payment_method_id: + description: Payment method id _(cf `get./payments/methods`)_ + type: integer + example: 7 + type: + description: Payment type + type: string + enum: + - credit + - debit + example: credit + amounts: + description: Amount informations + type: object + properties: + total: + description: Total amount of payment + type: string + example: '1007.90' + remaining: + description: Remaining amount of payment to be linked + type: string + example: '507.90' + currency: + description: Currency code + type: string + example: EUR + bank_deposit: + description: Information on banking + nullable: true + properties: + bank_account_id: + description: Depository bank id + type: integer + example: 7 + date: + description: Date of banking + type: string + format: date + example: '2022-05-30' + related: + description: Company or individual linked + type: object + properties: + id: + description: Id of object + type: integer + example: 7 + type: + description: Type of object + type: string + enum: + - company + - individual + example: company + related_objects: + description: payment-related object + type: array + minItems: 0 + nullable: false + items: + type: object + properties: + id: + description: Id of object + type: integer + example: 7 + type: + description: Type of object + type: string + enum: + - invoice + - credit-note + - order + - estimate + example: estimate + amount_linked: + description: Amount related to the object + type: string + example: '500' + linked_date: + description: Date of linking the payment to the object + type: string + format: date + example: '1970-01-01' + note: + description: Note of payment + type: string + nullable: true + example: Early payment of the invoice XXX + _embed: + title: Payment embed + description: Payment embed + readOnly: true + allOf: + - type: object + properties: + acl: + description: Payment acl + type: object + properties: + can_be_updated: + description: Can be update a payment + type: boolean + example: true + can_be_deleted: + description: Can be delete a payment + type: boolean + example: false + company: + description: Company linked to payment + nullable: true + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + individual: + description: Individual linked to payment + nullable: true + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + CreatePayment: + type: object + properties: + number: + description: Payment identifier + type: string + example: reference + paid_at: + description: Payment date (ISO 8601) + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + payment_method_id: + description: Payment method id + type: integer + example: 7 + type: + description: Payment type + type: string + enum: + - credit + - debit + example: credit + amount: + description: Amount of payment + type: object + properties: + value: + description: Amount (cannot be zero or negative) + type: string + example: '999.90' + currency: + description: Currency (ISO 4217) + type: string + pattern: ^[A-Za-z *]{2,5}$ + nullable: true + example: EUR + required: + - value + - currency + note: + description: Note of payment + type: string + nullable: true + example: Invoice XXX paid + required: + - paid_at + - payment_method_id + - amount + - type + Unit: + title: Unit object + type: object + properties: + id: + type: integer + readOnly: true + example: 9837 + label: + type: string + example: m² + Team: + type: object + properties: + id: + description: Team id + type: integer + readOnly: true + example: -1 + name: + description: Team name + type: string + readOnly: true + example: Commercial + jobs: + description: List of Jobs + type: object + properties: + id: + description: Label ID + type: integer + readOnly: true + example: -3 + name: + description: Name of label + type: string + readOnly: true + example: Office manager + Profiles: + title: Profile + type: object + properties: + id: + description: Profile id + type: integer + example: 6657 + name: + description: Profile name + type: string + example: Collaborator + is_administrator: + description: Indicates if this profile grants administrator privileges + type: boolean + example: true + required: + - id + - name + - is_administrator + Currency: + title: Currency + type: object + properties: + id: + description: Currency Identifier + type: integer + readOnly: true + example: 13 + code: + description: Currency code (EUR, USD..) + type: string + readOnly: true + example: EUR + symbol: + description: Currency symbol (€, $) + type: string + example: € + readOnly: true + is_default: + description: Is default currency? + type: boolean + example: true + Country: + title: Country + type: object + properties: + code: + description: Internal code + type: string + readOnly: true + example: IT + iso-alpha-2: + description: ISO alpha 2 + type: string + readOnly: true + example: IT + iso-alpha-3: + description: ISO alpha 3 + type: string + readOnly: true + example: ITA + name: + description: Country name + type: string + readOnly: true + example: Italie + Subscription: + title: Subscription + type: object + properties: + licenses: + type: array + items: + type: object + properties: + id: + description: License identifier + type: string + example: 9998a80a-7b75-4616-96d5-7ccff7ac08e8 + code: + description: License code + type: string + enum: + - pack_prospecting_sale + - pack_invoicing_management + - pack_all_included + available: + description: Number of licenses available + type: integer + example: 5 + total: + description: Total of licenses + type: integer + example: 10 + plugins: + type: object + additionalProperties: + type: boolean + example: + accounting: true + bankreconciliation: true + companySearch: true + invoicing: true + mailing: true + massmailing: true + phonecall: true + proposal: true + prospection: true + purchases: true + recurring: true + saleestimate: true + scheduler: true + stock: false + support: false + yousign: true + billing_contact: + type: object + properties: + last_name: + description: User's lastname + type: string + example: Doe + nullable: true + first_name: + description: User's firstname + type: string + example: John + nullable: true + email: + description: User's email + type: string + format: email + example: contact@example-company.com + nullable: true + phone_number: + description: User's phone + type: string + example: 33100000000 + nullable: true + billing_settings: + type: object + properties: + service_start_date: + description: Date of start service + type: string + format: date-time + nullable: true + service_end_date: + description: Date of end service + type: string + format: date-time + nullable: true + payment_method: + description: Payment method of subscription + type: string + enum: + - card + - transfer + - sepa + plan: + description: Plan of subscription + type: string + example: ESSENTIAL_MONTHLY + nullable: true + amounts: + type: object + properties: + monthly: + type: object + properties: + total: + description: Total of monthly amount + type: integer + example: 32500 + total_discount: + description: Total of discount for monthly amount + type: integer + example: 100 + total_discounted: + description: Total after discount of monthly amount + type: integer + example: 32400 + yearly: + type: object + properties: + total: + description: Total of yearly amount + type: integer + example: 390000 + total_discount: + description: Total of discount for yearly amount + type: integer + example: 10000 + total_discounted: + description: Total after discount of yearly amount + type: integer + example: 380000 + billing_address: + type: object + properties: + client_name: + description: Corp name + type: string + example: Sellsy + address_line_1: + description: Address line one + type: string + example: 30 Commercial Road + nullable: true + address_line_2: + description: Address line two + type: string + example: Finance and Accounting + nullable: true + postal_code: + description: Address postal code + type: string + example: 75012 + nullable: true + city: + description: Address city name + type: string + example: Paris + nullable: true + country: + description: Address country + type: string + example: France + nullable: true + country_code: + description: Address country code + type: string + example: FR + nullable: true + next_payment_date: + description: Date of the next subscription payment + type: string + format: date-time + nullable: true + renew_cart: + type: object + nullable: true + properties: + id: + description: Cart id + type: string + example: f0173ec-1fb2-43ce-80c1-f972390b237e + period_appliance_start: + description: Date of the beginning of the cart + type: string + example: '2022-02-17T00:00:00.000000Z' + features: + description: > + Set of features available only to specific subscriptions, with a + boolean indicating whether each function is accessible or blocked. +
This array may be empty if your subscription does not include + this notion. + type: object + nullable: true + example: + feature_1: true + feature_2: false + ItemReadItem: + title: Item + type: object + properties: + description: + description: Description of item + type: string + example: T-shirt 90% coton + nullable: true + id: + description: Item id + type: integer + example: 6657 + type: + description: Item type + type: string + enum: + - product + - service + - shipping + - packaging + name: + description: Item name + type: string + example: lorem ipsum + nullable: true + reference: + description: Item reference + type: string + example: ref0123 + reference_price: + description: >- + Item reference price
>This field is deprecated, refer to + `is_reference_price_taxes_free` to use either + `reference_price_taxes_inc` or `reference_price_taxes_exc` instead + deprecated: true + type: string + example: '19.99' + reference_price_taxes_exc: + description: Item's reference price excluding taxes + type: string + example: '19.99' + purchase_amount: + description: Item's purchase price excluding taxes + type: string + example: '8.25' + reference_price_taxes_inc: + description: Item's reference price including taxes + type: string + example: '23.98' + is_reference_price_taxes_free: + description: Item is reference price has taxes free + type: boolean + example: true + tax_id: + description: Tax id + type: integer + example: 354 + nullable: true + unit_id: + description: Unit id + type: integer + example: 952 + nullable: true + category_id: + description: Category id (only for product and service types) + type: integer + example: 123 + price_excl_tax: + description: >- + Item's price excluding taxes
>This field is deprecated, base on + `is_reference_price_taxes_free` to use either + `reference_price_taxes_inc` or `reference_price_taxes_exc` instead + deprecated: true + type: string + example: '500.00' + currency: + description: Currency code + type: string + example: EUR + nullable: true + standard_quantity: + description: Standard quantity + type: string + example: '3' + is_name_included_in_description: + description: To add the name of item in description + type: boolean + example: true + accounting_code_id: + description: Accounting code id + nullable: true + type: integer + example: 321 + accounting_purchase_code_id: + description: Accounting purchase code id + nullable: true + type: integer + example: 123 + is_archived: + description: Status archived or not + type: boolean + nullable: false + example: false + is_declined: + description: Item declined or not + type: boolean + nullable: false + example: false + required: + - id + - type + - reference + - reference_price_taxes_exc + - reference_price_taxes_inc + - is_reference_price_taxes_free + - tax_id + - unit_id + DeclinationRead: + title: Declination + type: object + properties: + description: + description: Declination description + type: string + example: lorem ipsum + id: + description: Declination id + type: integer + example: 3 + name: + description: Item name + type: string + example: lorem ipsum + reference: + description: Declination name + type: string + example: lorem ipsum + item_id: + description: Item ID + type: integer + example: 123454 + purchase_amount: + description: Declination's purchase price excluding taxes + type: string + example: '500' + is_name_included_in_description: + description: Add the name to the description + type: boolean + example: true + currency: + description: Currency code + type: string + example: EUR + nullable: true + reference_price_taxes_exc: + description: Declination's reference price excluding taxes + type: string + example: '400' + CreateItem: + title: Create item + type: object + properties: + description: + description: Description of item + type: string + example: T-shirt 90% coton + type: + type: string + enum: + - product + - service + name: + description: Item name + type: string + example: lorem ipsum + reference: + description: Item reference + type: string + example: ref0123 + reference_price: + description: Item reference price + type: string + example: '19.99' + purchase_amount: + description: Item's purchase price excluding taxes + type: string + example: '8.25' + is_reference_price_taxes_free: + description: Price expressed without tax + type: boolean + example: true + tax_id: + description: Tax id + type: integer + example: 354 + unit_id: + description: Unit id + type: integer + example: 952 + category_id: + description: Category id (only for product and service types) + type: integer + example: 123 + standard_quantity: + description: Standard quantity + type: string + example: '3' + is_name_included_in_description: + description: To add the name of item in description + type: boolean + example: true + accounting_code_id: + description: Accounting code id + type: integer + example: 321 + accounting_purchase_code_id: + description: Accounting purchase code id + type: integer + example: 123 + accounting_analytic_code: + description: Accounting analytic code + type: string + example: divers + required: + - type + - reference + UpdateItem: + title: Update item + type: object + properties: + description: + description: Description of item + type: string + example: T-shirt 90% coton + name: + description: Item name + type: string + example: lorem ipsum + nullable: true + reference: + description: Item reference + type: string + example: ref0123 + reference_price: + description: Item reference price + type: string + example: '19.99' + purchase_amount: + description: Item's purchase price excluding taxes + type: string + example: '8.25' + is_reference_price_taxes_free: + description: Price expressed without tax + type: boolean + example: true + tax_id: + description: Tax id + type: integer + example: 354 + unit_id: + description: Unit id + type: integer + example: 952 + category_id: + description: Category id (only for product and service types) + type: integer + example: 123 + standard_quantity: + description: Standard quantity + type: string + example: 3 + is_name_included_in_description: + description: To add the name of item in description + type: boolean + example: true + accounting_code_id: + description: Accounting code id + type: integer + example: 321 + accounting_purchase_code_id: + description: Accounting purchase code id + type: integer + example: 123 + LicenseRead: + title: License + type: array + items: + type: object + properties: + id: + description: License identifier + type: string + example: 9998a80a-7b75-4616-96d5-7ccff7ac08e8 + code: + description: License code + type: string + enum: + - pack_prospecting_sale + - pack_invoicing_management + - pack_all_included + enabled: + description: License enabled + type: boolean + LicenseEdit: + title: License + type: array + minItems: 0 + maxItems: 1 + items: + type: object + properties: + id: + description: License identifier + type: string + example: 9998a80a-7b75-4616-96d5-7ccff7ac08e8 + Quotas: + type: object + properties: + email_marketing: + allOf: + - description: Quota of email marketing plugin (legacy) + type: object + deprecated: true + - type: object + properties: + limit: + description: >- + Limit of quota that can be used (null for + unlimited quota). + type: integer + nullable: true + example: 10 + minimum: 1 + used: + description: Quotas used + type: integer + example: 3 + minimum: 0 + firm_search: + allOf: + - description: Quota of company search plugin + type: object + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + yousign: + allOf: + - description: Quota of esign plugin + type: object + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + esker: + allOf: + - description: Quota of mailing plugin + type: object + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + sms_marketing: + allOf: + - description: Quota of sms marketing plugin (legacy) + type: object + deprecated: true + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + custom_fields: + allOf: + - description: Quota on the creation of customfields + type: object + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + custom_field_groups: + allOf: + - description: Quota on the creation of customfield groups + type: object + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + pipelines: + allOf: + - description: Quota on the creation of pipelines + type: object + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + privilege_profiles: + allOf: + - description: Quota on the creation of privilege profiles + type: object + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + api_rate_seconds: + allOf: + - description: API request quota by seconds + type: object + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + api_rate_minutes: + allOf: + - description: API request quota by minutes + type: object + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + api_rate_days: + allOf: + - description: API request quota by days + type: object + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + api_rate_months: + allOf: + - description: API request quota by months + type: object + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + estimate_dunning_plan: + allOf: + - description: Quota on the creation of dunning plans for estimate + type: object + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + invoice_dunning_plan: + allOf: + - description: Quota on the creation of dunning plans for invoice + type: object + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + proforma_dunning_plan: + allOf: + - description: Quota on the creation of dunning plans for proforma + type: object + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + activity_report: + allOf: + - description: Quota on activity reporting + type: object + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + bank_account_reconciliations: + allOf: + - description: >- + Quota on number of bank accounts synchronized with the bank + reconciliation module + type: object + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + documents: + allOf: + - description: > + Quota on number of documents created in the current month +
* Starting on the day of the anniversary month of your + subscription + type: object + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + document_invoices: + allOf: + - description: > + Quota on number of invoices created in the current month +
* Starting on the day of the anniversary month of your + subscription + type: object + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + file_storage: + allOf: + - description: Quota on disk space used for files (in bytes) + type: object + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + rate_categories: + allOf: + - description: Quota on the number of rate categories + type: object + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + recurring: + allOf: + - description: Quota on the number of active customer subscriptions + type: object + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + report_cards: + allOf: + - description: >- + Quota on the number of "Reports" tiles allowed on the Sellsy web + application dashboard + type: object + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + catalog_items: + allOf: + - description: Quota on the number of "product" or "service" items + type: object + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + marketing_emailing: + allOf: + - description: Quota of marketing plugin's email + type: object + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + marketing_transactional: + allOf: + - type: object + deprecated: true + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + marketing_sms: + allOf: + - description: Quota of marketing plugin's sms + type: object + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + write_with_ai: + allOf: + - description: Quota of "write with AI" requests + type: object + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + Verify: + description: Validated + StaffFilters: + title: Staff filters + description: Filters for search staffs endpoint + type: object + properties: + filters: + type: object + properties: + status: + description: Filters on the status of staffs + type: array + minItems: 1 + items: + type: string + enum: + - ok + - blocked + InvoicingSearch: + title: Invoicing Search + description: Invoicing Search Object + type: object + properties: + id: + description: Unique ID + type: integer + readOnly: true + example: 6657 + number: + description: Document number + type: string + example: FACT-20211001-00003 + readOnly: true + type: + description: Document type + type: string + example: invoice + readOnly: true + enum: + - model + - estimate + - invoice + - delivery + - order + - creditnote + - proforma + ItemPrice: + title: Price + description: Price of an item + type: object + properties: + rate_category_id: + description: Unique ID + type: integer + readOnly: true + example: 6657 + amount_excl_tax: + description: Amount excluding taxes + type: string + example: '19.99' + readOnly: true + amount_incl_tax: + description: Amount including taxes + type: string + example: '24.99' + readOnly: true + ItemInputPrice: + title: Price + description: Price of an item + type: object + properties: + rate_category_id: + description: Unique ID + type: integer + example: 6657 + amount: + description: > +
  • For rate category without taxes, amount must exclude them + but for rate category with taxes, it should include them
  • +
  • You can update the amount for rates categories with amount + type
  • You can't update percent rate categories
+ type: string + example: '19.99' + InvoicingSearchFilters: + title: Invoicing Search Filters + description: Invoicing Search Filters + type: object + properties: + filters: + description: Invoicing Search Filters + type: object + properties: + id: + title: Documents + description: Filter the documents list by document ID + type: array + items: + type: integer + example: + - 12 + - 22 + AccountingMetas: + title: listingMeta + description: The listing meta + type: object + properties: + permissions: + description: The permissions + type: object + required: + - favorite + - export + properties: + favorite: + description: Can access to export + type: boolean + export: + description: Can access to favorite + type: boolean + codes: + description: List of codes + type: array + minItems: 1 + items: + type: object + required: + - label + - value + properties: + label: + description: Label of code + type: string + value: + description: Id of code + type: string + currencies: + description: List of currencies + type: array + minItems: 1 + items: + type: object + required: + - label + - value + properties: + label: + description: Label of currency + type: string + value: + description: Id of currency + type: string + required: + - permissions + - codes + - currencies + AccountingAggregations: + title: accountingAggregations + description: The accounting aggregations + type: object + properties: + credit_debit: + description: Count debit/credit + type: object + properties: + debit: + type: string + example: '123.234' + credit: + type: string + example: '123.234' + additionalProperties: true + EsignSettings: + description: The Esign Providers + type: object + required: + - provider + - available_providers + properties: + provider: + type: object + nullable: false + required: + - id + - name + properties: + id: + type: string + nullable: false + name: + type: string + nullable: false + oauth_url: + type: string + nullable: true + is_connected: + type: boolean + nullable: false + available_providers: + type: array + nullable: false + items: + type: object + nullable: false + required: + - id + - name + properties: + id: + type: string + nullable: false + name: + type: string + nullable: false + MarketingProviders: + description: The Marketing Providers + type: object + required: + - provider + - available_providers + properties: + provider: + type: object + nullable: true + required: + - id + - name + properties: + id: + type: integer + nullable: false + name: + type: string + nullable: false + available_providers: + type: array + nullable: false + items: + type: object + nullable: false + required: + - id + - name + properties: + id: + type: integer + nullable: false + name: + type: string + nullable: false + MailchimpSettings: + title: Mailchimp settings + description: '' + type: object + x-examples: {} + properties: + apikey: + description: API key of the mailchimp account to use + type: string + example: abcdefghijklmnopqrstuv0123456789-usX + nullable: true + audiences: + type: array + items: + type: object + properties: + id: + description: Audience's id + type: string + nullable: false + example: abcdefghijklmnopqrstuv0123456789 + name: + description: audience's name + type: string + nullable: false + example: CRM List + required: + - id + - name + marketing: + description: Marketing settings + type: object + properties: + loaded: + description: Indicates if the Marketing module is loaded + type: boolean + example: true + nullable: false + enabled: + description: Indicates if Mailchimp Marketing is enabled + type: boolean + example: true + nullable: false + audience_id: + description: Mailchimp's audience list identifier to use + type: string + example: abcdefghijklmnopqrstuv0123456789 + nullable: true + required: + - loaded + - enabled + - audience_id + contacts_synchronization: + description: Contact Synchronization settings + type: object + properties: + enabled: + description: Indicates if the synchronization of contacts is enabled + type: boolean + example: true + nullable: false + audience_id: + description: Mailchimp's audience list identifier to use + type: string + example: abcdefghijklmnopqrstuv0123456789 + nullable: true + merge_fields: + description: Mailchimp's audience merge fields defined + type: array + nullable: false + items: + anyOf: + - description: Text merge field + type: object + nullable: false + properties: + merge_id: + description: Merge field's Identifier + type: integer + nullable: false + type: + type: string + nullable: false + example: text + name: + description: Merge field's Name + type: string + nullable: false + tag: + description: Merge field's template tag + type: string + nullable: false + default_value: + type: string + nullable: true + - description: Dropdown merge field + type: object + nullable: false + properties: + merge_id: + description: Merge field's Identifier + type: integer + nullable: false + type: + type: string + nullable: false + example: dropdown + name: + description: Merge field's Name + type: string + nullable: false + tag: + description: Merge field's template tag + type: string + nullable: false + default_value: + type: string + nullable: true + choices: + description: Merge field's value options + type: array + nullable: false + items: + type: object + nullable: false + properties: + label: + type: string + nullable: false + filter: + description: Indicates which kind of contacts to synchronize + type: string + enum: + - all + - clients + - prospects + - suppliers + default: all + nullable: true + required: + - enabled + - audience_id + - filter + required: + - apikey + - marketing + - contacts_synchronization + MailjetSettings: + title: Mailjet settings + description: '' + type: object + x-examples: {} + properties: + api_key: + description: API key of the Mailjet account to use + type: string + example: abcdefghijklmnopqrstuv0123456789 + nullable: true + api_secret: + description: API secret of the Mailjet account to use + type: string + example: abcdefghijklmnopqrstuv0123456789 + nullable: false + contacts_lists: + type: array + items: + type: object + properties: + id: + description: contact list's id + type: integer + minimum: 0 + exclusiveMinimum: true + nullable: false + example: 42 + name: + description: contact list's name + type: string + nullable: false + example: CRM List + required: + - id + - name + contacts_synchronization: + description: Contact Synchronization settings + type: object + properties: + enabled: + description: Indicates if the synchronization of contacts is enabled + type: boolean + example: true + nullable: false + contacts_list_id: + description: Mailjet's contact list identifier to use + type: integer + minimum: 0 + example: 42 + nullable: true + filter: + description: Indicates which kind of contacts to synchronize + type: string + enum: + - all + - clients + - prospects + - suppliers + default: all + nullable: true + required: + - enabled + - contacts_list_id + - filter + required: + - api_key + - api_secret + - contacts_synchronization + TwoFactorAuthenticationSettings: + title: Two factor authentication settings + description: '' + type: object + x-examples: {} + properties: + enabled: + description: Indicates if the two factor authentication is enabled + type: boolean + example: true + nullable: false + required: + - enabled + UserTwoFactorAuthenticationSettings: + title: Two factor authentication settings + description: '' + type: object + x-examples: {} + properties: + enabled: + description: Indicates if the two factor authentication is enabled + type: boolean + example: true + nullable: false + corporation_enabled: + description: >- + Indicates if the two factor authentication is enabled for the + corporation + type: boolean + example: true + nullable: false + available_providers: + type: array + items: + type: object + properties: + provider: + description: provider name + type: string + example: google + nullable: false + enum: + - google + required: + - provider + providers: + description: List of registered provider for the user + type: array + items: + type: object + properties: + provider: + $ref: >- + #/components/schemas/UserTwoFactorAuthenticationSettings/properties/available_providers/items/properties/provider + primary: + description: is the primary provider + type: boolean + example: true + nullable: false + configured_at: + description: Configuration date time the of the provider + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + nullable: true + required: + - provider + - primary + - configured_at + backup_codes: + title: Two factor authentication backup codes + description: List of user's backup codes + type: array + maxItems: 10 + minItems: 0 + items: + type: object + properties: + code: + description: Backup Code + type: string + example: EB2F5E40 + nullable: false + created_at: + description: Creation date of the backup code + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + nullable: false + used_at: + description: Usage date of the backup code + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + nullable: true + required: + - code + - created_at + - used_at + trusted_devices: + description: List of registered trusted devices for the user + type: array + items: + type: object + properties: + id: + type: integer + device: + description: Device type + type: string + example: desktop + nullable: false + created_at: + description: Creation date time the of the device + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + nullable: false + last_login_at: + description: Last login date time using the device + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + nullable: false + os: + description: Operating system family of the device + type: string + example: GNU/Linux + nullable: true + browser: + description: Browser family of the device + type: string + example: Chrome + nullable: true + required: + - id + - device + - created_at + - last_login_at + - os + - browser + required: + - enabled + - corporation_enabled + - available_providers + - backup_codes + - providers + - trusted_devices + UserUpdateTwoFactorAuthenticationSettings: + title: Two factor authentication settings + description: '' + type: object + x-examples: {} + properties: + providers: + description: List of registered provider for the user + type: array + items: + type: object + properties: + provider: + $ref: >- + #/components/schemas/UserTwoFactorAuthenticationSettings/properties/available_providers/items/properties/provider + required: + - provider + required: + - providers + UserUpdateTwoFactorAuthenticationSettingsResponse: + title: Two factor authentication settings + description: '' + type: object + x-examples: {} + properties: + enabled: + description: Indicates if the two factor authentication is enabled + type: boolean + example: true + nullable: false + providers: + description: List of registered provider for the user + type: array + items: + type: object + properties: + provider: + $ref: >- + #/components/schemas/UserTwoFactorAuthenticationSettings/properties/available_providers/items/properties/provider + primary: + description: is the primary provider + type: boolean + example: true + nullable: false + configured_at: + description: Configuration date time the of the provider + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + nullable: true + required: + - provider + - primary + - configured_at + required: + - enabled + - providers + BackupCodes: + title: Two factor authentication backup codes + description: List of user's backup codes + type: array + maxItems: 10 + minItems: 0 + items: + type: object + properties: + code: + description: Backup Code + type: string + example: EB2F5E40 + nullable: false + created_at: + description: Creation date of the backup code + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + nullable: false + used_at: + description: Usage date of the backup code + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + nullable: true + required: + - code + - created_at + - used_at + ScanList: + title: Search results + description: List of results + type: array + items: + type: object + properties: + name: + description: name of company + type: string + example: Sellsy + siret: + description: Siret of company + type: string + example: '82993087400013' + nullable: true + type: + description: type of company + type: string + example: SAS, société par actions simplifiée + id: + description: >- + Identifier of the company. In case of French company, it + corresponds to the SIREN Number + type: string + example: '509961074' + job_code: + description: job code of company + type: string + example: 58.29C + nullable: true + address: + type: object + properties: + country: + description: Country of company + type: string + example: France + nullable: true + city: + description: City of company + type: string + example: LA ROCHELLE, + nullable: true + postal_code: + description: Postal_code of company + type: string + example: '17000' + nullable: true + address_line_1: + description: first part of address of company + type: string + example: Avenue DU LAZARET, + nullable: true + address_line_2: + description: Second part of address of company + type: string + nullable: true + ScanFetch: + title: Search results + description: Detailed answer for a company returned via the scan route + type: object + properties: + name: + description: name of company + type: string + example: Sellsy + siret: + description: Siret of company + type: string + example: '82993087400013' + nullable: true + type: + description: type of company + type: string + example: SAS, société par actions simplifiée + id: + description: >- + Identifier of the company. In case of French company, it corresponds + to the SIREN Number + type: string + example: '509961074' + job_code: + description: job code of company + type: string + example: 58.29C + nullable: true + address: + type: object + properties: + country: + description: Country of company + type: string + example: France + nullable: true + city: + description: City of company + type: string + example: LA ROCHELLE, + nullable: true + postal_code: + description: Postal_code of company + type: string + example: '17000' + nullable: true + address_line_1: + description: first part of address of company + type: string + example: Avenue DU LAZARET, + nullable: true + address_line_2: + description: Second part of address of company + type: string + nullable: true + officers: + type: array + nullable: true + items: + type: object + properties: + lastname: + description: Lastname of officier + type: string + firstname: + description: Firstname of officier + type: string + role: + description: Role of officier + type: string + nullable: true + capital: + description: Capital of company + type: integer + nullable: true + financial_activity: + type: array + nullable: true + items: + type: object + properties: + turnover: + description: Turnover in this year + type: integer + publication_year: + description: Year of publication + type: string + publication_date: + description: Date of publication + type: string + income: + description: Diff with last year + type: integer + workforce_count: + description: Number of emplyees + type: integer + nullable: true + rcs: + description: RCS of compnay + type: string + nullable: true + vat: + description: VAT of compnay + type: string + nullable: true + company_sign: + description: Sign of company + type: string + nullable: true + Notification: + title: Notification + type: object + properties: + id: + description: Unique ID + type: integer + readOnly: true + example: 6657 + event: + description: Event name + type: string + example: mention.staff + transport: + description: Event transport + type: string + enum: + - inapp + - push + - mail + - webhook + readOnly: true + recipient: + title: Recipient + type: object + properties: + id: + description: Recipient id + type: integer + readOnly: true + example: 6657 + type: + description: Recipient type + type: string + example: staff + firstname: + description: Recipient first name + type: string + example: John + lastname: + description: Recipient last name + type: string + example: Smith + subtype: + description: Sender type + type: string + example: regular + related: + type: array + items: + title: Related + type: object + properties: + id: + description: Related object id + type: integer + readOnly: true + example: 6657 + type: + description: Related object type + type: string + example: opportunity + name: + description: Related object name + type: string + example: New website + nullable: true + sender: + title: Sender + type: object + properties: + id: + description: Sender id + type: integer + readOnly: true + example: 6657 + type: + description: Sender type + type: string + example: staff + firstname: + description: Sender first name + type: string + example: John + lastname: + description: Sender last name + type: string + example: Smith + subtype: + description: Sender type + type: string + example: regular + avatar: + type: object + nullable: true + readOnly: true + properties: + type: + type: string + enum: + - initials + - picture + - twitteruserpic + value: + description: initials or avatar url + type: string + class: + type: integer + created: + description: Creation date of event + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + readOnly: true + read: + description: Read date of event + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + nullable: true + readOnly: true + status: + description: Event dispatch status + type: string + enum: + - ongoing + - sent + - failed + - retry + readOnly: true + status_updated: + description: Update date of event's status + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + readOnly: true + nullable: true + event_details: + description: Details of event + type: object + nullable: true + additionalProperties: true + targeted_staff: + title: Targeted staff + type: object + properties: + id: + description: Targeted staff id + type: integer + readOnly: true + example: 6657 + firstname: + description: Targeted staff first name + type: string + example: John + lastname: + description: Targeted staff last name + type: string + example: Smith + NotificationFilters: + title: NotificationFilters + description: Notification filters + type: object + properties: + filters: + description: Notification filters + type: object + properties: + is_read: + title: Is read + description: Filter on read/unread notifications + type: boolean + example: false + required: + - filters + NotificationMarkAsRead: + title: Mark as read + description: Mark as read + type: object + properties: + read: + title: Is read + description: The notification has been read + type: boolean + example: true + required: + - read + NotificationSettingsOutput: + title: Notifications Settings Output + type: object + properties: + subscriptions: + title: Notifications subscription + description: >- + array of notifications to subscribe, with enabled transports by + notification + type: array + items: + type: object + properties: + name: + description: notification name + type: string + example: mention.staff + transports: + description: list of transports to enable for notification + type: array + items: + type: string + enum: + - inapp + - push + - mail + - webhook + uniqueItems: true + required: + - name + - transports + do_not_disturb: + title: Notification do-not-disturb setting + type: object + properties: + enabled: + description: Do not disturb mode is enabled + type: boolean + required: + - enabled + NotificationSettingsInput: + title: Notifications Settings Input + type: object + properties: + subscriptions: + title: Notifications subscription + description: >- + array of notifications to subscribe, with enabled transports by + notification + type: array + minItems: 1 + maxItems: 100 + items: + type: object + properties: + name: + description: notification name + type: string + example: mention.staff + transports: + description: list of transports to enable for notification + type: array + items: + type: string + enum: + - inapp + - push + - mail + - webhook + uniqueItems: true + required: + - name + - transports + do_not_disturb: + title: Notification do-not-disturb setting + type: object + properties: + enabled: + description: Do not disturb mode is enabled + type: boolean + required: + - enabled + NotificationMetadata: + title: Notifications Metadata Object + type: object + properties: + events: + type: array + items: + title: Notification events metadata + type: object + properties: + name: + description: notification name + type: string + example: mention.staff + transports: + description: list of transports available for notification + type: array + minItems: 1 + items: + type: string + enum: + - inapp + - push + - mail + - webhook + required: + - events + corporationStaffAggregation: + title: Count licenses Aggregations + type: object + x-examples: {} + properties: + count_licenses: + type: array + items: + title: Count licenses + type: object + properties: + count: + description: Number of licenses + readOnly: true + type: integer + example: 10 + product_id: + description: Product id + readOnly: true + type: string + example: e6acc4c7-4b7d-4b64-bda0-6e53eb1a00fb + product_code: + description: Product code + readOnly: true + type: string + example: pack_all_included + CorporationSubscription: + title: Subscription + type: object + properties: + licenses: + type: array + items: + type: object + properties: + id: + description: License identifier + type: string + example: 9998a80a-7b75-4616-96d5-7ccff7ac08e8 + code: + description: License code + type: string + enum: + - pack_prospecting_sale + - pack_invoicing_management + - pack_all_included + available: + description: Number of licenses available + type: integer + example: 5 + total: + description: Total of licenses + type: integer + example: 10 + plugins: + type: object + additionalProperties: + type: boolean + example: + accounting: true + bankreconciliation: true + companySearch: true + invoicing: true + mailing: true + massmailing: true + phonecall: true + proposal: true + prospection: true + purchases: true + recurring: true + saleestimate: true + scheduler: true + stock: false + support: false + yousign: true + billing_settings: + type: object + properties: + service_start_date: + description: Date of start service + type: string + format: date-time + nullable: true + service_end_date: + description: Date of end service + type: string + format: date-time + nullable: true + payment_method: + description: Payment method of subscription + type: string + enum: + - card + - transfer + - sepa + pricing_version: + description: Pricing version + type: integer + example: 5 + pricing_revision: + description: Pricing revision + type: string + example: 20231016 + plan_id: + description: Plan id + type: string + example: 5_20231016_elite + interval: + description: Billing interval + type: string + enum: + - monthly + - yearly + example: yearly + amounts: + type: object + properties: + monthly: + type: object + properties: + total: + description: Total of monthly amount + type: integer + example: 32500 + total_discount: + description: Total of discount for monthly amount + type: integer + example: 100 + total_discounted: + description: Total after discount of monthly amount + type: integer + example: 32400 + yearly: + type: object + properties: + total: + description: Total of yearly amount + type: integer + example: 390000 + total_discount: + description: Total of discount for yearly amount + type: integer + example: 10000 + total_discounted: + description: Total after discount of yearly amount + type: integer + example: 380000 + nb_available_staff: + description: Number of available staffs + type: integer + example: 8 + nullable: true + products: + description: List of products + type: array + example: + - pack_support + - pack_cashflow_pro + items: + type: string + Report: + title: Report + description: '' + type: object + x-examples: {} + properties: + name: + description: The report name + type: string + example: Business report + nullable: false + type: + description: The report provider + type: string + enum: + - cumulio + - legacy + default: legacy + nullable: false + dashboard_id: + description: Dashboard id + type: string + example: b5e2cf01-8bb6-4fcd-ad88-0efb611195da + nullable: true + path: + description: The path of the report + type: string + example: /report/business + nullable: true + updated: + description: Datetime of updating the report + type: string + nullable: true + example: '2020-05-29T11:22:03+02:00' + readOnly: true + required: + - name + - type + - dashboard_id + - path + - updated + ReportAggregation: + title: Reports aggregations + type: object + properties: + cumulio: + description: cumulio token + type: object + properties: + key: + description: Cumulio key + type: string + token: + description: Cumulio token + type: string + example: + key: some_key + token: some_token + Invoice: + title: Invoice + type: object + properties: + id: + description: Invoice ID + type: integer + readOnly: true + example: 3875 + number: + description: Invoice number + type: string + example: INV-2022-01-02-002 + status: + description: Status of the invoice + type: string + readOnly: true + example: paid + enum: + - draft + - due + - payinprogress + - paid + - late + - cancelled + date: + description: Date of the invoice + type: string + format: date + example: '2022-01-02' + due_date: + description: due date of the invoice + type: string + format: date + example: '2022-02-02' + created: + description: Created date of invoice + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + subject: + description: Subject of the invoice + type: string + amounts: + description: Amounts of invoice, with and without taxes + type: object + readOnly: true + properties: + total_raw_excl_tax: + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + type: string + example: '60' + total_after_discount_excl_tax: + description: >- + Total discounted without tax. Does not include transport and + packaging costs + type: string + example: '50' + total_packaging: + description: Total amount of packaging costs. + type: string + example: '15.96' + total_shipping: + description: Total amount of shipping costs. + type: string + example: '13.90' + total_excl_tax: + description: >- + Total net without tax. Including transport and packaging costs. + Discount is applied if any. + type: string + example: '79.86' + total_incl_tax: + description: Total with tax + type: string + example: '95.83' + total_remaining_due_incl_tax: + description: Remaining amount to be paid + type: string + example: '50.00' + total_primes_incl_tax: + description: Total of primes added on document + type: string + example: '10.00' + currency: + description: Currency code of the invoice + type: string + example: EUR + taxes: + description: List of taxes used on the invoice + type: array + readOnly: true + items: + description: Tax used + type: object + properties: + label: + type: string + id: + type: integer + rate: + type: string + amount: + type: string + required: + - label + - id + - rate + - amount + discount: + description: Global discount applied on the invoice + nullable: true + type: object + properties: + percent: + description: Percentage of the discount + type: string + example: '12.00' + amount: + description: Amount of the discount + type: string + example: '111.97' + type: + description: Type of the global discount as defined on the document + type: string + enum: + - amount + - percent + related: + description: | + Objects linked to the invoice : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only `client` type + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + - If you provide one or more contacts, they must belong to the company or individual + type: array + minItems: 1 + items: + type: object + properties: + id: + description: ID of related + type: integer + example: 234 + type: + description: Type of related + type: string + example: company + enum: + - company + - individual + - contact + - opportunity + public_link: + description: Public link of the invoice + type: object + properties: + enabled: + description: Public link is enabled + type: boolean + url: + description: Url to public link + readOnly: true + type: string + payment_conditions_acceptance: + description: Acceptance of terms and conditions + type: object + readOnly: true + properties: + enabled: + description: Acceptance is required to pay or sign the document + type: boolean + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + - description: Invoice's owner + type: object + readOnly: true + fiscal_year_id: + description: ID of the invoice's fiscal year + type: integer + nullable: true + readOnly: true + pdf_link: + description: >- + Link to the pdf of document. /!\ Link is regenerate after an update + of document + type: string + format: uri + readOnly: true + nullable: true + decimal_number: + description: Precision for decimal numbers + readOnly: true + type: object + properties: + unit_price: + description: Precision of unit price + type: integer + nullable: true + quantity: + description: Precision of quantity + type: integer + nullable: true + main: + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + type: integer + assigned_staff_id: + description: The staff linked + type: integer + nullable: false + readOnly: true + example: 2 + contact_id: + description: Contact of company linked to the invoice + type: integer + nullable: true + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + readOnly: true + example: 777 + delivery_address_id: + description: >- + Shipping address, by default take shipping address of + company/individual. + type: integer + readOnly: true + example: 777 + parent: + description: Parent object of the document + type: object + nullable: true + properties: + id: + description: Parent object id + type: integer + type: + description: Parent object type + type: string + enum: + - estimate + - order + order_reference: + description: Reference of the order + type: string + readOnly: true + is_deposit: + description: Invoice is deposit + type: boolean + rate_category_id: + description: Rate Category applied on document + type: integer + example: 777 + service_dates: + description: Service dates on the document if enabled + type: object + nullable: true + properties: + start: + description: Start date for service + type: string + format: date + example: '2023-01-01' + end: + description: End date for service + type: string + format: date + example: '2023-01-31' + note: + description: Notes of the invoice + type: string + example: This invoice is very important
+ subscription_id: + description: Subscription id, if invoice is linked to one + type: integer + readOnly: true + is_sent_to_accounting: + description: If the invoice is sent to accounting + type: boolean + example: true + _embed: + allOf: + - title: Invoice Embed + allOf: + - type: object + properties: + related: + type: array + items: + anyOf: + - title: Company + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + - title: Individual + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + - title: Contact + $ref: '#/components/schemas/ContactItem/allOf/0' + contact: + title: Contact + $ref: '#/components/schemas/ContactItem/allOf/0' + nullable: true + individual: + title: Individual + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + nullable: true + company: + title: Company + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + nullable: true + - $ref: '#/components/schemas/SaleEmbed/properties/_embed/allOf/2' + - type: object + properties: + acl: + title: Invoice ACL + description: '' + type: object + x-examples: {} + properties: + can_be_updated: + description: Invoice can be updated + type: boolean + nullable: true + example: true + can_be_deleted: + description: Invoice can be deleted + type: boolean + nullable: true + example: true + can_be_validated: + description: Invoice can be validated + type: boolean + nullable: true + example: true + owner: + $ref: '#/components/schemas/CrmActivity/properties/author' + fiscal_year: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/fiscal_year + currency: {} + smart_tags: + description: Smart-tags linked + nullable: true + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + - type: object + readOnly: true + shipping_date: + description: Date of the shipping + type: string + format: date + nullable: true + example: '2024-01-31' + InvoiceOne: + allOf: + - title: Invoice + type: object + properties: + id: + description: Invoice ID + type: integer + readOnly: true + example: 3875 + number: + description: Invoice number + type: string + example: INV-2022-01-02-002 + status: + description: Status of the invoice + type: string + readOnly: true + example: paid + enum: + - draft + - due + - payinprogress + - paid + - late + - cancelled + date: + description: Date of the invoice + type: string + format: date + example: '2022-01-02' + due_date: + description: due date of the invoice + type: string + format: date + example: '2022-02-02' + created: + description: Created date of invoice + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + subject: + description: Subject of the invoice + type: string + amounts: + description: Amounts of invoice, with and without taxes + type: object + readOnly: true + properties: + total_raw_excl_tax: + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + type: string + example: '60' + total_after_discount_excl_tax: + description: >- + Total discounted without tax. Does not include transport and + packaging costs + type: string + example: '50' + total_packaging: + description: Total amount of packaging costs. + type: string + example: '15.96' + total_shipping: + description: Total amount of shipping costs. + type: string + example: '13.90' + total_excl_tax: + description: >- + Total net without tax. Including transport and packaging + costs. Discount is applied if any. + type: string + example: '79.86' + total_incl_tax: + description: Total with tax + type: string + example: '95.83' + total_remaining_due_incl_tax: + description: Remaining amount to be paid + type: string + example: '50.00' + total_primes_incl_tax: + description: Total of primes added on document + type: string + example: '10.00' + currency: + description: Currency code of the invoice + type: string + example: EUR + taxes: + description: List of taxes used on the invoice + type: array + readOnly: true + items: + description: Tax used + type: object + properties: + label: + type: string + id: + type: integer + rate: + type: string + amount: + type: string + required: + - label + - id + - rate + - amount + discount: + description: Global discount applied on the invoice + nullable: true + type: object + properties: + percent: + description: Percentage of the discount + type: string + example: '12.00' + amount: + description: Amount of the discount + type: string + example: '111.97' + type: + description: Type of the global discount as defined on the document + type: string + enum: + - amount + - percent + related: + description: | + Objects linked to the invoice : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only `client` type + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + - If you provide one or more contacts, they must belong to the company or individual + type: array + minItems: 1 + items: + type: object + properties: + id: + description: ID of related + type: integer + example: 234 + type: + description: Type of related + type: string + example: company + enum: + - company + - individual + - contact + - opportunity + public_link: + description: Public link of the invoice + type: object + properties: + enabled: + description: Public link is enabled + type: boolean + url: + description: Url to public link + readOnly: true + type: string + payment_conditions_acceptance: + description: Acceptance of terms and conditions + type: object + readOnly: true + properties: + enabled: + description: Acceptance is required to pay or sign the document + type: boolean + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + - description: Invoice's owner + type: object + readOnly: true + fiscal_year_id: + description: ID of the invoice's fiscal year + type: integer + nullable: true + readOnly: true + pdf_link: + description: >- + Link to the pdf of document. /!\ Link is regenerate after an + update of document + type: string + format: uri + readOnly: true + nullable: true + decimal_number: + description: Precision for decimal numbers + readOnly: true + type: object + properties: + unit_price: + description: Precision of unit price + type: integer + nullable: true + quantity: + description: Precision of quantity + type: integer + nullable: true + main: + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + type: integer + assigned_staff_id: + description: The staff linked + type: integer + nullable: false + readOnly: true + example: 2 + contact_id: + description: Contact of company linked to the invoice + type: integer + nullable: true + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + readOnly: true + example: 777 + delivery_address_id: + description: >- + Shipping address, by default take shipping address of + company/individual. + type: integer + readOnly: true + example: 777 + parent: + description: Parent object of the document + type: object + nullable: true + properties: + id: + description: Parent object id + type: integer + type: + description: Parent object type + type: string + enum: + - estimate + - order + order_reference: + description: Reference of the order + type: string + readOnly: true + is_deposit: + description: Invoice is deposit + type: boolean + rate_category_id: + description: Rate Category applied on document + type: integer + example: 777 + service_dates: + description: Service dates on the document if enabled + type: object + nullable: true + properties: + start: + description: Start date for service + type: string + format: date + example: '2023-01-01' + end: + description: End date for service + type: string + format: date + example: '2023-01-31' + note: + description: Notes of the invoice + type: string + example: This invoice is very important
+ subscription_id: + description: Subscription id, if invoice is linked to one + type: integer + readOnly: true + is_sent_to_accounting: + description: If the invoice is sent to accounting + type: boolean + example: true + _embed: + allOf: + - $ref: '#/components/schemas/Invoice/properties/_embed/allOf/0' + - type: object + readOnly: true + shipping_date: + description: Date of the shipping + type: string + format: date + nullable: true + example: '2024-01-31' + - type: object + properties: + rows: + type: array + items: + $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/rows/items + _embed: + allOf: + - $ref: '#/components/schemas/Invoice/properties/_embed/allOf/0' + - type: object + properties: + payment_terms: + title: Document Payment Terms + description: Terms of payment of document + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/0/properties/payment_terms/allOf/0 + - type: object + properties: + computed_instalment_plan: + description: >- + List of deadlines computed with the payment + terms settings + type: array + items: + type: object + properties: + date: + description: due date + type: string + format: date + amount: + description: Total amount + type: string + due_amount: + description: Remaining due amount + type: string + status: + description: Status of deadline + type: string + enum: + - due + - payinprogress + - paid + late: + description: Is the deadline late? + type: boolean + - $ref: >- + #/components/schemas/EstimateOneEmbed/properties/_embed/allOf/1 + - type: object + properties: + automatic_dunning: + title: Automatic Dunning + type: object + properties: + is_enabled: + description: Automatic dunning is enabled on document + type: boolean + example: true + is_valid: + description: >- + Automatic dunning configuration is valid for + document + type: boolean + example: true + sent: + description: >- + List of the last 10 dunning notices sent on this + invoice + type: array + items: + description: Sent dunning object + type: object + properties: + reminder_name: + type: string + example: Dunning D+1 + sent_at: + description: Dunning email date of sent + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + sender: + type: object + properties: + type: + description: Sender's type + type: string + enum: + - company + - individual + - contact + - staff + id: + description: Sender's id + type: integer + email: + description: Sender's email + type: string + format: email + example: contact@example-company.com + recipient: + type: object + properties: + type: + description: Recipient's type + type: string + enum: + - company + - individual + - contact + - staff + id: + description: Recipient's id + type: integer + email: + description: Recipient's email + type: string + format: email + example: contact@example-company.com + deadline_id: + description: Related payment deadline id + type: integer + nullable: true + required: + - id + - reminder_name + - sent_at + - due_at + - sender + - recipient + - deadline_id + upcoming: + description: >- + List of the next 10 dunning notices to come on this + invoice + type: array + items: + description: Upcoming dunning object + type: object + properties: + reminder_name: + type: string + example: Dunning D+1 + due_at: + description: Dunning email estimated date of sent + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + sender: + type: object + properties: + type: + description: Sender's type + type: string + enum: + - company + - individual + - contact + - staff + nullable: true + id: + description: Sender's id + type: integer + nullable: true + email: + description: Sender's email + type: string + format: email + example: contact@example-company.com + nullable: true + recipient: + type: object + nullable: true + properties: + type: + description: Recipient's type + type: string + enum: + - company + - individual + - contact + - staff + nullable: true + id: + description: Recipient's id + type: integer + nullable: true + email: + description: Recipient's email + type: string + format: email + example: contact@example-company.com + nullable: true + deadline_id: + description: Related payment deadline id + type: integer + nullable: true + required: + - id + - reminder_name + - sent_at + - due_at + - sender + - recipient + - deadline_id + InvoiceCompute: + type: object + properties: + status: + description: Status of the invoice + type: string + readOnly: true + example: paid + enum: + - draft + - due + - payinprogress + - paid + - late + - cancelled + date: + description: date of the invoice + type: string + format: date + example: '2022-01-02' + subject: + description: Subject of the invoice + nullable: true + type: string + amounts: + description: Amounts of invoice, with and without taxes + type: object + readOnly: true + properties: + total_raw_excl_tax: + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + type: string + example: '60' + total_after_discount_excl_tax: + description: >- + Total discounted without tax. Does not include transport and + packaging costs + type: string + example: '50' + total_packaging: + description: Total amount of packaging costs. + type: string + example: '15.96' + total_shipping: + description: Total amount of shipping costs. + type: string + example: '13.90' + total_excl_tax: + description: >- + Total net without tax. Including transport and packaging costs. + Discount is applied if any. + type: string + example: '79.86' + total_incl_tax: + description: Total with tax + type: string + example: '95.83' + currency: + description: Currency code of the invoice + type: string + example: EUR + taxes: + description: List of taxes used on the invoice + type: array + readOnly: true + items: + description: Tax used + type: object + properties: + label: + type: string + id: + type: integer + rate: + type: string + amount: + type: string + required: + - label + - id + - rate + - amount + order_reference: + description: Reference of the order + type: string + readOnly: true + discount: + description: Global discount applied on the invoice + readOnly: true + nullable: true + type: object + properties: + percent: + description: Percentage of the discount + type: string + example: '12.00' + amount: + description: Amount of the discount + type: string + example: '111.97' + type: + description: Type of the global discount as defined on the document + type: string + enum: + - amount + - percent + related: + description: | + Objects linked to the invoice : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only `client` type + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + - If you provide one or more contacts, they must belong to the company or individual + type: array + items: + type: object + properties: + id: + description: ID of related + type: integer + example: 234 + type: + description: Type of related + type: string + example: company + enum: + - company + - individual + - contact + - opportunity + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + - description: Invoice's owner + type: object + readOnly: true + rows: + type: array + items: + $ref: '#/components/schemas/EstimateCompute/properties/rows/items' + InvoiceFilters: + title: Invoices filters + description: Invoices filters + type: object + properties: + filters: + description: Invoices filters + type: object + properties: + created: + title: Created at + description: Filter the invoice list by creation date + type: object + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + owners: + title: Owners + description: Filter the invoice list by owner (staff id) + type: array + items: + type: integer + date: + title: Document date + description: Filter the invoice list by date + type: object + properties: + start: + type: string + format: date + example: '2020-01-01' + end: + type: string + format: date + example: '2020-02-01' + related_objects: + title: Related Objects + type: array + items: + type: object + properties: + type: + type: string + enum: + - company + - individual + - opportunity + example: company + id: + type: integer + example: 22 + contacts: + title: Contact + description: Filter the invoice list by contact (contact id) + type: array + items: + type: integer + assigned_staff_ids: + title: Assigned staffs + description: Filter the invoice list by assigned staffs (staff id) + type: array + items: + type: integer + status: + title: Status + description: Filter the invoice list by status + example: + - draft + - due + - payinprogress + type: array + items: + type: string + enum: + - draft + - due + - payinprogress + - paid + - late + - cancelled + number: + title: number + description: Filter the invoice list by number (exact search) + type: string + example: FAC-0001 + currency: + title: currency + description: Currency code (exact search) + type: string + example: EUR + is_deposit: + title: Is deposit + description: Filter the invoices if is deposit or not + type: boolean + example: true + credit_note_id: + title: Credit note + description: Filter the invoice list by linked credit note + type: integer + example: 424242 + favourite_filter: + $ref: >- + #/components/schemas/ContactFilters/properties/filters/properties/favourite_filter + required: + - filters + InvoiceCreate: + allOf: + - title: Invoice + type: object + properties: + number: + description: >- + Invoice number (shouldn't be provided if draft numbering is + enabled) + type: string + example: INV-2022-01-02-002 + date: + description: Date of the invoice + type: string + format: date + example: '2022-01-02' + due_date: + description: Due date of the invoice + type: string + format: date + example: '2022-02-02' + created: + description: Created date of invoice + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + subject: + description: Subject of the invoice + type: string + currency: + description: Currency code of the invoice + type: string + example: EUR + discount: + description: Global discount applied on the invoice + type: object + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + description: value of discount + type: string + example: '25.20' + related: + description: | + Objects linked to the invoice : + - There can be only one company or one individual at a time (required) + - For Company & Individual, only `client` type is allowed + - Contact is the contact of company linked to the invoice. There may be no or one contact. + - Opportunity is the opportunity linked to the invoice. There may be zero or more opportunities linked to invoice + type: array + minItems: 1 + items: + type: object + properties: + id: + description: ID of related + type: integer + example: 234 + type: + description: Type of related + type: string + example: company + enum: + - company + - individual + - opportunity + - contact + public_link: + description: > + Deprecated field: use "public_link_enabled"
Public link of + the invoice + deprecated: true + type: object + properties: + enabled: + description: Public link is enabled + deprecated: true + type: boolean + public_link_enabled: + description: Public link of the invoice + type: boolean + example: true + owner_id: + description: Invoice's owner (staff id) + type: integer + minimum: 1 + order_reference: + description: Reference of the order + type: string + maxLength: 100 + service_dates: + description: Service dates on the document if enabled + type: object + nullable: true + properties: + start: + description: Start date for service + type: string + format: date + example: '2023-01-01' + end: + description: >- + End date for service

End date must be greater + than start date + type: string + format: date + example: '2023-01-31' + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + minimum: 1 + delivery_address_id: + description: >- + Shipping address, by default take shipping address of + company/individual. + type: integer + minimum: 1 + note: + description: Notes of the invoice + type: string + example: This invoice is very important
+ shipping_date: + description: Date of the shipping + type: string + format: date + nullable: true + - type: object + properties: + parent: + nullable: true + oneOf: + - title: Estimate + type: object + properties: + type: + description: > + Estimate must be in the statuses: draft, sent, read, + accepted, refused, expired, partialinvoiced, cancelled + type: string + enum: + - estimate + id: + description: Parent object id + type: integer + - title: Order + type: object + properties: + type: + description: > + Order must be in the statuses: draft, sent, read, + accepted, refused, expired, partialinvoiced, cancelled + type: string + enum: + - order + id: + description: Parent object id + type: integer + - $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/parent/oneOf/0 + rate_category_id: + description: >- + Rate Category to apply on document (By default, the + rate_category_id will be that of company) + type: integer + example: 777 + rows: + type: array + nullable: true + items: + $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/rows/items + required: + - related + InvoiceUpdate: + allOf: + - $ref: '#/components/schemas/InvoiceCreate/allOf/0' + - type: object + properties: + rows: + type: array + nullable: true + items: + $ref: >- + #/components/schemas/EstimateUpdate/allOf/1/properties/rows/items + ValidateInvoice: + type: object + properties: + date: + description: > + Date of document.
> Depending on your conformity settings, the + date may not be greater than the current date. + type: string + format: date + example: '2022-01-01' + CreditNote: + title: Credit Note + type: object + properties: + id: + description: Credit Note ID + type: integer + readOnly: true + example: 3875 + number: + description: Credit Note number + type: string + example: CRED-2022-01-02-002 + status: + description: Status of the credit note + type: string + example: spent + enum: + - draft + - stored + - partialspend + - spent + - cancelled + date: + description: Date of the credit note + type: string + format: date + example: '2022-01-02' + created: + description: Created date of credit note + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + amounts: + description: Amounts of credit note, with and without taxes + type: object + properties: + total_raw_excl_tax: + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + type: string + example: '60' + total_after_discount_excl_tax: + description: >- + Total discounted without tax. Does not include transport and + packaging costs + type: string + example: '50' + total_packaging: + description: Total amount of packaging costs. + type: string + example: '15.96' + total_shipping: + description: Total amount of shipping costs. + type: string + example: '13.90' + total_excl_tax: + description: >- + Total net without tax. Including transport and packaging costs. + Discount is applied if any. + type: string + example: '79.86' + total_incl_tax: + description: Total with tax + type: string + example: '95.83' + total_remaining_due_incl_tax: + description: Remaining amount to be paid + type: string + example: '50.00' + total_primes_incl_tax: + description: Total of primes added on document + type: string + example: '10.00' + currency: + description: Currency code of the credit note + type: string + example: EUR + taxes: + description: List of taxes used on the credit note + type: array + items: + description: Tax used + type: object + properties: + label: + description: Tax label + type: string + example: TTC + id: + description: Tax id + type: integer + example: 954 + rate: + description: Tax rate + type: string + example: '19.6' + amount: + description: Tax amount + type: string + example: '12.54' + discount: + description: Global discount applied on the credit note + nullable: true + type: object + properties: + percent: + description: Percentage of the discount + type: string + example: '12.00' + amount: + description: Amount of the discount + type: string + example: '111.97' + type: + description: Type of the global discount as defined on the document + type: string + enum: + - amount + - percent + related: + description: | + Objects linked to the credit note : + - There can be only one company or one individual at a time + - Contact is the contact of company linked to the credit note. There may be no or one contact. + type: array + items: + type: object + properties: + id: + description: ID of related + type: integer + example: 234 + type: + description: Type of related + type: string + example: company + enum: + - company + - individual + - contact + - opportunity + public_link: + description: Public link of the credit note + type: object + properties: + enabled: + description: Public link is enabled + type: boolean + url: + description: Url to public link + type: string + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + fiscal_year_id: + description: ID of the credit note's fiscal year + type: integer + nullable: true + pdf_link: + description: >- + Link to the pdf of document. /!\ Link is regenerate after an update + of document + type: string + format: uri + readOnly: true + nullable: true + subject: + description: Subject of the credit note + type: string + example: Credit note on the invoice INV-2022-01-02-002 + is_deposit: + description: Credit note is deposit + type: boolean + example: true + decimal_number: + description: Precision for decimal numbers + readOnly: true + type: object + properties: + unit_price: + description: Precision of unit price + type: integer + nullable: true + quantity: + description: Precision of quantity + type: integer + nullable: true + main: + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + type: integer + assigned_staff_id: + description: The staff linked + type: integer + nullable: false + example: 2 + contact_id: + description: Contact of company linked to the credit note + type: integer + nullable: true + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + delivery_address_id: + description: >- + Shipping address, by default take shipping address of + company/individual. + type: integer + rate_category_id: + description: Rate Category applied on document + type: integer + example: 777 + service_dates: + description: Service dates on the document if enabled + type: object + nullable: true + properties: + start: + description: Start date for service + type: string + format: date + example: '2023-01-01' + end: + description: End date for service + type: string + format: date + example: '2023-01-31' + note: + description: Notes of the credit note + type: string + example: This credit note is very important
+ is_sent_to_accounting: + description: If the credit note is sent to accounting + type: boolean + example: true + _embed: + title: Credit Note Embed + allOf: + - $ref: '#/components/schemas/Invoice/properties/_embed/allOf/0/allOf/0' + - $ref: '#/components/schemas/SaleEmbed/properties/_embed/allOf/2' + - type: object + properties: + fiscal_year: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/fiscal_year + currency: + $ref: >- + #/components/schemas/Invoice/properties/_embed/allOf/0/allOf/2/properties/currency + owner: + $ref: '#/components/schemas/CrmActivity/properties/author' + acl: + title: Credit Note ACL + description: '' + type: object + x-examples: {} + properties: + can_be_updated: + description: Credit note can be updated + type: boolean + nullable: true + example: true + can_be_deleted: + description: Credit note can be deleted + type: boolean + nullable: true + example: true + can_be_validated: + description: Credit note can be validated + type: boolean + nullable: true + example: true + smart_tags: + description: Smart-tags linked + nullable: true + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + CreditNoteOne: + allOf: + - title: Credit Note + type: object + properties: + id: + description: Credit Note ID + type: integer + readOnly: true + example: 3875 + number: + description: Credit Note number + type: string + example: CRED-2022-01-02-002 + status: + description: Status of the credit note + type: string + example: spent + enum: + - draft + - stored + - partialspend + - spent + - cancelled + date: + description: Date of the credit note + type: string + format: date + example: '2022-01-02' + created: + description: Created date of credit note + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + amounts: + description: Amounts of credit note, with and without taxes + type: object + properties: + total_raw_excl_tax: + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + type: string + example: '60' + total_after_discount_excl_tax: + description: >- + Total discounted without tax. Does not include transport and + packaging costs + type: string + example: '50' + total_packaging: + description: Total amount of packaging costs. + type: string + example: '15.96' + total_shipping: + description: Total amount of shipping costs. + type: string + example: '13.90' + total_excl_tax: + description: >- + Total net without tax. Including transport and packaging + costs. Discount is applied if any. + type: string + example: '79.86' + total_incl_tax: + description: Total with tax + type: string + example: '95.83' + total_remaining_due_incl_tax: + description: Remaining amount to be paid + type: string + example: '50.00' + total_primes_incl_tax: + description: Total of primes added on document + type: string + example: '10.00' + currency: + description: Currency code of the credit note + type: string + example: EUR + taxes: + description: List of taxes used on the credit note + type: array + items: + description: Tax used + type: object + properties: + label: + description: Tax label + type: string + example: TTC + id: + description: Tax id + type: integer + example: 954 + rate: + description: Tax rate + type: string + example: '19.6' + amount: + description: Tax amount + type: string + example: '12.54' + discount: + description: Global discount applied on the credit note + nullable: true + type: object + properties: + percent: + description: Percentage of the discount + type: string + example: '12.00' + amount: + description: Amount of the discount + type: string + example: '111.97' + type: + description: Type of the global discount as defined on the document + type: string + enum: + - amount + - percent + related: + description: | + Objects linked to the credit note : + - There can be only one company or one individual at a time + - Contact is the contact of company linked to the credit note. There may be no or one contact. + type: array + items: + type: object + properties: + id: + description: ID of related + type: integer + example: 234 + type: + description: Type of related + type: string + example: company + enum: + - company + - individual + - contact + - opportunity + public_link: + description: Public link of the credit note + type: object + properties: + enabled: + description: Public link is enabled + type: boolean + url: + description: Url to public link + type: string + owner: + description: Credit note's owner + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + fiscal_year_id: + description: ID of the credit note's fiscal year + type: integer + nullable: true + pdf_link: + description: >- + Link to the pdf of document. /!\ Link is regenerate after an + update of document + type: string + format: uri + readOnly: true + nullable: true + subject: + description: Subject of the credit note + type: string + example: Credit note on the invoice INV-2022-01-02-002 + is_deposit: + description: Credit note is deposit + type: boolean + example: true + decimal_number: + description: Precision for decimal numbers + readOnly: true + type: object + properties: + unit_price: + description: Precision of unit price + type: integer + nullable: true + quantity: + description: Precision of quantity + type: integer + nullable: true + main: + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + type: integer + assigned_staff_id: + description: The staff linked + type: integer + nullable: false + example: 2 + contact_id: + description: Contact of company linked to the credit note + type: integer + nullable: true + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + delivery_address_id: + description: >- + Shipping address, by default take shipping address of + company/individual. + type: integer + rate_category_id: + description: Rate Category applied on document + type: integer + example: 777 + service_dates: + description: Service dates on the document if enabled + type: object + nullable: true + properties: + start: + description: Start date for service + type: string + format: date + example: '2023-01-01' + end: + description: End date for service + type: string + format: date + example: '2023-01-31' + note: + description: Notes of the credit note + type: string + example: This credit note is very important
+ is_sent_to_accounting: + description: If the credit note is sent to accounting + type: boolean + example: true + _embed: + $ref: '#/components/schemas/CreditNote/properties/_embed' + - type: object + properties: + rows: + type: array + items: + $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/rows/items + _embed: + allOf: + - $ref: '#/components/schemas/CreditNote/properties/_embed' + - $ref: >- + #/components/schemas/EstimateOneEmbed/properties/_embed/allOf/1 + CreditNoteCreate: + allOf: + - title: Credit Note + type: object + properties: + number: + description: >- + Credit note number (shouldn't be provided if draft numbering is + enabled) + type: string + example: CRE-2022-01-02-002 + date: + description: Date of the credit note + type: string + format: date + example: '2022-01-02' + due_date: + description: Due date of the credit note + type: string + format: date + example: '2022-02-02' + created: + description: Created date of credit note + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + subject: + description: Subject of the credit note + type: string + currency: + description: Currency code of the credit note + type: string + example: EUR + discount: + description: Global discount applied on the credit note + type: object + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + description: value of discount + type: string + example: '25.20' + related: + description: | + Objects linked to the credit note : + - There can be only one company or one individual at a time (required) + - For Company & Individual, only `client`, `prospect` type are allowed + - Contact is the contact of company linked to the credit note. There may be no or one contact. + - Opportunity is the opportunity linked to the credit note. There may be zero or more opportunities linked to credit note + type: array + minItems: 1 + items: + type: object + properties: + id: + description: ID of related + type: integer + example: 234 + type: + description: Type of related + type: string + example: company + enum: + - company + - individual + - opportunity + - contact + public_link_enabled: + description: Public link of the credit note + type: boolean + example: true + owner_id: + description: Credit note's owner (staff id) + type: integer + minimum: 1 + service_dates: + description: Service dates on the document if enabled + type: object + nullable: true + properties: + start: + description: Start date for service + type: string + format: date + example: '2023-01-01' + end: + description: >- + End date for service

End date must be greater + than start date + type: string + format: date + example: '2023-01-31' + note: + description: Notes of the credit note + type: string + example: This credit note is very important
+ - type: object + properties: + rows: + type: array + nullable: true + items: + $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/rows/items + parent: + nullable: true + oneOf: + - $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/parent/oneOf/0 + rate_category_id: + description: >- + Rate Category to apply on document (By default, the + rate_category_id will be that of company) + type: integer + example: 777 + required: + - related + CreditNoteUpdate: + allOf: + - $ref: '#/components/schemas/CreditNoteCreate/allOf/0' + - type: object + properties: + rows: + type: array + nullable: true + items: + $ref: >- + #/components/schemas/EstimateUpdate/allOf/1/properties/rows/items + CreditNoteValidate: + type: object + properties: + date: + description: > + Date of document.
> Depending on your conformity settings, the + date may not be greater than the current date. + type: string + format: date + example: '2022-01-01' + CreditNoteCompute: + title: Credit Note + type: object + properties: + status: + description: Status of the credit note + type: string + example: spent + enum: + - draft + - stored + - partialspend + - spent + - cancelled + date: + description: Date of the credit note + type: string + format: date + example: '2022-01-02' + subject: + description: Subject of the credit note + type: string + example: Credit note on the invoice INV-2022-01-02-002 + nullable: true + amounts: + description: Amounts of credit note, with and without taxes + type: object + properties: + total_raw_excl_tax: + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + type: string + example: '60' + total_after_discount_excl_tax: + description: >- + Total discounted without tax. Does not include transport and + packaging costs + type: string + example: '50' + total_packaging: + description: Total amount of packaging costs. + type: string + example: '15.96' + total_shipping: + description: Total amount of shipping costs. + type: string + example: '13.90' + total_excl_tax: + description: >- + Total net without tax. Including transport and packaging costs. + Discount is applied if any. + type: string + example: '79.86' + total_incl_tax: + description: Total with tax + type: string + example: '95.83' + currency: + description: Currency code of the credit note + type: string + example: EUR + taxes: + description: List of taxes used on the credit note + type: array + items: + description: Tax used + type: object + properties: + label: + description: Tax label + type: string + example: TTC + id: + description: Tax id + type: integer + example: 954 + rate: + description: Tax rate + type: string + example: '19.6' + amount: + description: Tax amount + type: string + example: '12.54' + discount: + description: Global discount applied on the credit note + nullable: true + type: object + properties: + percent: + description: Percentage of the discount + type: string + example: '12.00' + amount: + description: Amount of the discount + type: string + example: '111.97' + type: + description: Type of the global discount as defined on the document + type: string + enum: + - amount + - percent + related: + description: | + Objects linked to the credit note : + - There can be only one company or one individual at a time + - Contact is the contact of company linked to the credit note. There may be no or one contact. + type: array + items: + type: object + properties: + id: + description: ID of related + type: integer + example: 234 + type: + description: Type of related + type: string + example: company + enum: + - company + - individual + - contact + - opportunity + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + rows: + type: array + items: + $ref: '#/components/schemas/EstimateCompute/properties/rows/items' + CreditNoteFilters: + title: Credit notes filters + description: Filters on credit notes + type: object + properties: + filters: + description: Filters on credit notes + type: object + properties: + status: + title: Status + description: Filter credit notes list by status + example: + - draft + - stored + - partialspend + type: array + items: + type: string + enum: + - draft + - stored + - partialspend + - spent + - cancelled + related_objects: + title: Related Objects + type: array + items: + type: object + properties: + type: + type: string + enum: + - company + - individual + - opportunity + example: company + id: + type: integer + example: 22 + is_deposit: + title: Is deposit + description: Filter the credit note if is deposit or not + type: boolean + example: true + favourite_filter: + $ref: >- + #/components/schemas/ContactFilters/properties/filters/properties/favourite_filter + required: + - filters + OrderCreate: + allOf: + - title: Order + type: object + properties: + number: + description: Order number + type: string + example: ORD-00192 + date: + description: Date of the order + type: string + format: date + example: '2022-01-01' + due_date: + description: Due date for signing the order + type: string + format: date + example: '2022-03-01' + created: + description: Creation date of order + type: string + format: date-time + example: '2022-01-01T00:00:00+00:00' + subject: + description: Subject of the order + type: string + example: Order subject + currency: + description: Currency code of the order + type: string + example: USD + discount: + description: Global discount applied on the order + type: object + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + description: Value of discount + type: string + example: '25.20' + related: + description: | + Objects linked to the order : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only `client` type + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + - If you provide one or more contacts, they must belong to the company or individual + type: array + minItems: 1 + items: + type: object + properties: + id: + description: ID of related + type: integer + example: 90 + type: + description: Type of related + type: string + enum: + - company + - individual + - contact + - opportunity + example: company + public_link_enabled: + description: Public link of the order + type: boolean + example: true + owner_id: + description: Order's owner (staff id) + type: integer + example: 50 + minimum: 1 + service_dates: + description: Service dates on the document if enabled + type: object + nullable: true + properties: + start: + description: Start date for service + type: string + format: date + example: '2023-01-01' + end: + description: >- + End date for service

End date must be greater + than start date + type: string + format: date + example: '2023-01-31' + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + minimum: 1 + delivery_address_id: + description: >- + Shipping address, by default take shipping address of + company/individual. + type: integer + minimum: 1 + note: + description: Notes of the order + type: string + example: This order is very important
+ shipping_date: + description: Date of the shipping + type: string + format: date + nullable: true + - type: object + properties: + rows: + type: array + nullable: true + items: + $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/rows/items + parent: + nullable: true + oneOf: + - $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/parent/oneOf/0 + rate_category_id: + description: >- + Rate Category to apply on document (By default, the + rate_category_id will be that of company) + type: integer + example: 777 + required: + - related + OrderUpdate: + allOf: + - $ref: '#/components/schemas/OrderCreate/allOf/0' + - type: object + properties: + rows: + type: array + nullable: true + items: + $ref: >- + #/components/schemas/EstimateUpdate/allOf/1/properties/rows/items + Order: + title: Order + type: object + properties: + id: + description: Order ID + type: integer + readOnly: true + example: 3875 + number: + description: Order number + type: string + example: ORD-2022-01-02-002 + status: + description: Status of the order + type: string + readOnly: true + example: paid + enum: + - draft + - sent + - read + - accepted + - expired + - advanced + - invoiced + - partialinvoiced + - cancelled + order_status: + description: Status of the order state + type: string + readOnly: true + example: wait + enum: + - none + - wait + - picking + - sent + - partialsent + date: + description: Date of the order + type: string + format: date + example: '2022-01-02' + due_date: + description: Due date for signing the order + type: string + format: date + example: '2022-02-02' + created: + description: Created date of order + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + subject: + description: Subject of the order + type: string + amounts: + description: Amounts of order, with and without taxes + type: object + readOnly: true + properties: + total_raw_excl_tax: + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + type: string + example: '60' + total_after_discount_excl_tax: + description: >- + Total discounted without tax. Does not include transport and + packaging costs + type: string + example: '50' + total_packaging: + description: Total amount of packaging costs. + type: string + example: '15.96' + total_shipping: + description: Total amount of shipping costs. + type: string + example: '13.90' + total_excl_tax: + description: >- + Total net without tax. Including transport and packaging costs. + Discount is applied if any. + type: string + example: '79.86' + total_incl_tax: + description: Total with tax + type: string + example: '95.83' + currency: + description: Currency code of the order + type: string + example: EUR + taxes: + description: List of taxes used on the order + type: array + readOnly: true + items: + description: Tax used + type: object + properties: + label: + type: string + example: Tax label + id: + type: integer + example: 7 + rate: + type: string + example: '20.000000000' + amount: + type: string + example: '150.99' + required: + - label + - id + - rate + - amount + discount: + description: Global discount applied on the order + nullable: true + type: object + properties: + percent: + description: Percentage of the discount + type: string + example: '12.00' + amount: + description: Amount of the discount + type: string + example: '111.97' + type: + description: Type of the global discount as defined on the document + type: string + enum: + - amount + - percent + related: + description: | + Objects linked to the order : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only `client` type + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + - If you provide one or more contacts, they must belong to the company or individual + type: array + minItems: 1 + items: + type: object + properties: + id: + description: ID of related + type: integer + example: 234 + type: + description: Type of related + type: string + example: company + enum: + - company + - individual + - contact + - opportunity + public_link: + description: Public link of the order + type: object + properties: + enabled: + description: Public link is enabled + type: boolean + url: + description: Url to public link + readOnly: true + type: string + payment_conditions_acceptance: + description: Acceptance of terms and conditions + type: object + readOnly: true + properties: + enabled: + description: Acceptance is required to pay or sign the document + type: boolean + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + - description: Order's owner + type: object + readOnly: true + fiscal_year_id: + description: ID of the order's fiscal year + type: integer + nullable: true + readOnly: true + pdf_link: + description: >- + Link to the pdf of document. /!\ Link is regenerate after an update + of document + type: string + format: uri + readOnly: true + nullable: true + decimal_number: + description: Precision for decimal numbers + readOnly: true + type: object + properties: + unit_price: + description: Precision of unit price + type: integer + nullable: true + quantity: + description: Precision of quantity + type: integer + nullable: true + main: + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + type: integer + assigned_staff_id: + description: The staff linked + type: integer + nullable: false + readOnly: true + example: 2 + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + readOnly: true + example: 777 + delivery_address_id: + description: >- + Shipping address, by default take shipping address of + company/individual. + type: integer + readOnly: true + example: 777 + contact_id: + description: Contact of company linked to the order + type: integer + nullable: true + rate_category_id: + description: Rate Category applied on document + type: integer + example: 777 + service_dates: + description: Service dates on the document if enabled + type: object + nullable: true + properties: + start: + description: Start date for service + type: string + format: date + example: '2023-01-01' + end: + description: End date for service + type: string + format: date + example: '2023-01-31' + note: + description: Notes of the order + type: string + example: This order is very important
+ _embed: + allOf: + - title: Order Embed + allOf: + - $ref: >- + #/components/schemas/Invoice/properties/_embed/allOf/0/allOf/0 + - $ref: '#/components/schemas/SaleEmbed/properties/_embed/allOf/2' + - type: object + properties: + acl: + title: Order ACL + description: '' + type: object + x-examples: {} + properties: + can_be_updated: + description: Order can be updated + type: boolean + nullable: true + example: true + can_be_deleted: + description: Order can be deleted + type: boolean + nullable: true + example: true + owner: + $ref: '#/components/schemas/CrmActivity/properties/author' + fiscal_year: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/fiscal_year + currency: + $ref: >- + #/components/schemas/Invoice/properties/_embed/allOf/0/allOf/2/properties/currency + smart_tags: + description: Smart-tags linked + nullable: true + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + - type: object + readOnly: true + shipping_date: + description: Date of the shipping + type: string + format: date + nullable: true + example: '2024-01-31' + OrderOne: + allOf: + - title: Order + type: object + properties: + id: + description: Order ID + type: integer + readOnly: true + example: 3875 + number: + description: Order number + type: string + example: ORD-2022-01-02-002 + status: + description: Status of the order + type: string + readOnly: true + example: paid + enum: + - draft + - sent + - read + - accepted + - expired + - advanced + - invoiced + - partialinvoiced + - cancelled + order_status: + description: Status of the order state + type: string + readOnly: true + example: wait + enum: + - none + - wait + - picking + - sent + - partialsent + date: + description: Date of the order + type: string + format: date + example: '2022-01-02' + due_date: + description: Due date for signing the order + type: string + format: date + example: '2022-02-02' + created: + description: Created date of order + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + subject: + description: Subject of the order + type: string + amounts: + description: Amounts of order, with and without taxes + type: object + readOnly: true + properties: + total_raw_excl_tax: + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + type: string + example: '60' + total_after_discount_excl_tax: + description: >- + Total discounted without tax. Does not include transport and + packaging costs + type: string + example: '50' + total_packaging: + description: Total amount of packaging costs. + type: string + example: '15.96' + total_shipping: + description: Total amount of shipping costs. + type: string + example: '13.90' + total_excl_tax: + description: >- + Total net without tax. Including transport and packaging + costs. Discount is applied if any. + type: string + example: '79.86' + total_incl_tax: + description: Total with tax + type: string + example: '95.83' + currency: + description: Currency code of the order + type: string + example: EUR + taxes: + description: List of taxes used on the order + type: array + readOnly: true + items: + description: Tax used + type: object + properties: + label: + type: string + example: Tax label + id: + type: integer + example: 7 + rate: + type: string + example: '20.000000000' + amount: + type: string + example: '150.99' + required: + - label + - id + - rate + - amount + discount: + description: Global discount applied on the order + nullable: true + type: object + properties: + percent: + description: Percentage of the discount + type: string + example: '12.00' + amount: + description: Amount of the discount + type: string + example: '111.97' + type: + description: Type of the global discount as defined on the document + type: string + enum: + - amount + - percent + related: + description: | + Objects linked to the order : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only `client` type + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + - If you provide one or more contacts, they must belong to the company or individual + type: array + minItems: 1 + items: + type: object + properties: + id: + description: ID of related + type: integer + example: 234 + type: + description: Type of related + type: string + example: company + enum: + - company + - individual + - contact + - opportunity + public_link: + description: Public link of the order + type: object + properties: + enabled: + description: Public link is enabled + type: boolean + url: + description: Url to public link + readOnly: true + type: string + payment_conditions_acceptance: + description: Acceptance of terms and conditions + type: object + readOnly: true + properties: + enabled: + description: Acceptance is required to pay or sign the document + type: boolean + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + - description: Order's owner + type: object + readOnly: true + fiscal_year_id: + description: ID of the order's fiscal year + type: integer + nullable: true + readOnly: true + pdf_link: + description: >- + Link to the pdf of document. /!\ Link is regenerate after an + update of document + type: string + format: uri + readOnly: true + nullable: true + decimal_number: + description: Precision for decimal numbers + readOnly: true + type: object + properties: + unit_price: + description: Precision of unit price + type: integer + nullable: true + quantity: + description: Precision of quantity + type: integer + nullable: true + main: + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + type: integer + assigned_staff_id: + description: The staff linked + type: integer + nullable: false + readOnly: true + example: 2 + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + readOnly: true + example: 777 + delivery_address_id: + description: >- + Shipping address, by default take shipping address of + company/individual. + type: integer + readOnly: true + example: 777 + contact_id: + description: Contact of company linked to the order + type: integer + nullable: true + rate_category_id: + description: Rate Category applied on document + type: integer + example: 777 + service_dates: + description: Service dates on the document if enabled + type: object + nullable: true + properties: + start: + description: Start date for service + type: string + format: date + example: '2023-01-01' + end: + description: End date for service + type: string + format: date + example: '2023-01-31' + note: + description: Notes of the order + type: string + example: This order is very important
+ _embed: + allOf: + - $ref: '#/components/schemas/Order/properties/_embed/allOf/0' + - type: object + readOnly: true + shipping_date: + description: Date of the shipping + type: string + format: date + nullable: true + example: '2024-01-31' + - type: object + properties: + rows: + type: array + items: + $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/rows/items + _embed: + title: Order Embed + allOf: + - $ref: >- + #/components/schemas/Invoice/properties/_embed/allOf/0/allOf/0 + - $ref: '#/components/schemas/SaleEmbed/properties/_embed/allOf/2' + - type: object + properties: + payment_terms: + title: Document Payment Terms + description: Terms of payment of document + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/0/properties/payment_terms/allOf/0 + - type: object + properties: + computed_instalment_plan: + description: >- + List of deadlines computed with the payment + terms settings + type: array + items: + type: object + properties: + date: + description: due date + type: string + format: date + amount: + description: Total amount + type: string + - $ref: >- + #/components/schemas/EstimateOneEmbed/properties/_embed/allOf/1 + - type: object + properties: + acl: + title: Order ACL + description: '' + type: object + x-examples: {} + properties: + can_be_updated: + description: Order can be updated + type: boolean + nullable: true + example: true + can_be_deleted: + description: Order can be deleted + type: boolean + nullable: true + example: true + owner: + $ref: '#/components/schemas/CrmActivity/properties/author' + fiscal_year: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/fiscal_year + currency: + $ref: >- + #/components/schemas/Invoice/properties/_embed/allOf/0/allOf/2/properties/currency + smart_tags: + description: Smart-tags linked + nullable: true + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + OrderFilters: + title: Order filters + description: Order filters + type: object + properties: + filters: + description: Order filters + type: object + properties: + status: + title: Status + description: Filter the order list by status + example: + - draft + - sent + - read + type: array + items: + type: string + enum: + - draft + - sent + - read + - accepted + - expired + - advanced + - invoiced + - partialinvoiced + - cancelled + related_objects: + title: Related Objects + type: array + items: + type: object + properties: + type: + type: string + enum: + - company + - individual + - opportunity + example: company + id: + type: integer + example: 22 + order_status: + title: Status of the order state + description: Filter the order by order state + example: + - none + - wait + - picking + type: array + items: + type: string + enum: + - none + - wait + - picking + - sent + - partialsent + favourite_filter: + $ref: >- + #/components/schemas/ContactFilters/properties/filters/properties/favourite_filter + required: + - filters + OrderCompute: + title: Order + type: object + properties: + status: + description: Status of the order + type: string + readOnly: true + example: sent + enum: + - draft + - sent + - read + - accepted + - expired + - advanced + - invoiced + - partialinvoiced + - cancelled + order_status: + description: Status of the order state + type: string + readOnly: true + example: wait + enum: + - none + - wait + - picking + - sent + - partialsent + date: + description: Date of the order + type: string + format: date + example: '2022-01-02' + subject: + description: Subject of the order + type: string + amounts: + description: Amounts of order, with and without taxes + type: object + readOnly: true + properties: + total_raw_excl_tax: + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + type: string + example: '60' + total_after_discount_excl_tax: + description: >- + Total discounted without tax. Does not include transport and + packaging costs + type: string + example: '50' + total_packaging: + description: Total amount of packaging costs. + type: string + example: '15.96' + total_shipping: + description: Total amount of shipping costs. + type: string + example: '13.90' + total_excl_tax: + description: >- + Total net without tax. Including transport and packaging costs. + Discount is applied if any. + type: string + example: '79.86' + total_incl_tax: + description: Total with tax + type: string + example: '95.83' + currency: + description: Currency code of the order + type: string + example: EUR + taxes: + description: List of taxes used on the order + type: array + readOnly: true + items: + description: Tax used + type: object + properties: + label: + type: string + example: Tax label + id: + type: integer + example: 7 + rate: + type: string + example: '20.000000000' + amount: + type: string + example: '150.99' + required: + - label + - id + - rate + - amount + discount: + description: Global discount applied on the order + nullable: true + type: object + properties: + percent: + description: Percentage of the discount + type: string + example: '12.00' + amount: + description: Amount of the discount + type: string + example: '111.97' + type: + description: Type of the global discount as defined on the document + type: string + enum: + - amount + - percent + related: + description: | + Objects linked to the order : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only `client` type + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + - If you provide one or more contacts, they must belong to the company or individual + type: array + minItems: 1 + items: + type: object + properties: + id: + description: ID of related + type: integer + example: 234 + type: + description: Type of related + type: string + example: company + enum: + - company + - individual + - contact + - opportunity + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + - description: Order's owner + type: object + readOnly: true + rows: + type: array + items: + $ref: '#/components/schemas/EstimateCompute/properties/rows/items' + EmailSettings: + title: Email Settings + type: object + properties: + signature: + title: Email Signature + description: The email signature object + type: object + properties: + mode: + description: Email signature mode + type: string + enum: + - auto + - manual + html_content: + description: HTML manual signature content + nullable: true + type: string + minLength: 0 + maxLength: 65535 + computed: + description: >- + Parsed HTML manual signature content. "contact" tags will not be + replaced + nullable: false + type: string + minLength: 0 + maxLength: 65535 + required: + - mode + - html_content + connection: + title: Email Connection + description: The email connection object + type: object + properties: + email: + description: Email connection + type: string + type: + description: Email type + type: string + enum: + - transfer + - synchronization + status: + description: Email status + type: string + emails_sent_from_corp: + description: Return true if emails are send by corporation + type: boolean + onboarding_setup: + description: Return true if email onboarding finished + type: boolean + required: + - email + - type + - status + - emails_sent_from_corp + - onboarding_setup + EmailSettingsInput: + title: Email Settings + type: object + properties: + signature: + oneOf: + - title: Signature in auto mode + type: object + properties: + mode: + description: Email signature mode + type: string + enum: + - auto + required: + - mode + - title: Signature in manual mode + type: object + properties: + mode: + description: Email signature mode + type: string + enum: + - manual + html_content: + description: HTML manual signature content (required when mode is manual) + nullable: true + type: string + minLength: 0 + maxLength: 65535 + required: + - mode + - html_content + required: + - signature + FiscalYear: + title: Fiscal year + type: object + properties: + id: + description: Id of the fiscal year + type: integer + name: + description: >- + Name of the fiscal year. Naming follow the current scheme: N for + the current fiscal year, N-1 for the last fiscal year, N-2, ... + type: string + start_at: + description: Start date of the fiscal year + type: string + format: date + end_at: + description: End date of the fiscal year + type: string + format: date + UploadFileInput: + title: File upload + description: Upload file schema + type: object + properties: + file: + description: > +
  • max file size : 15Mb
  • allowed media types : +
    application/rtf,
    text/rtf,
    text/plain,
    image/jpeg,
    image/pjpeg,
    image/jpeg,
    image/pjpeg,
    image/png,
    application/pdf,
    application/acrobat,
    application/nappdf,
    application/x-pdf,
    image/pdf,
    application/xml,
    text/xml,
    application/xml,
    application/xslt+xml,
    text/csv,
    text/x-comma-separated-values,
    text/x-csv,
    application/csv,
    application/vnd.ms-excel,
    application/msexcel,
    application/x-msexcel,
    zz-application/zz-winassoc-xls,
    application/zip,
    application/x-zip,
    application/x-zip-compressed,
    application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,
    application/msword,
    application/vnd.ms-word,
    application/x-msword,
    zz-application/zz-winassoc-doc,
    application/vnd.openxmlformats-officedocument.wordprocessingml.document,
    application/vnd.ms-powerpoint,
    application/mspowerpoint,
    application/powerpoint,
    application/x-mspowerpoint,
    application/vnd.openxmlformats-officedocument.presentationml.presentation,
    application/json,
    image/vnd.dxf,
    image/vnd.dwg,
    image/svg+xml,
    image/svg,
    application/photoshop,
    application/x-photoshop,
    image/photoshop,
    image/psd,
    image/vnd.adobe.photoshop,
    image/x-photoshop,
    image/x-psd,
    application/illustrator,
    application/postscript,
    application/vnd.adobe.illustrator,
    application/postscript,
    image/x-eps,
    application/vnd.google-apps.document,
    video/avi,
    video/divx,
    video/msvideo,
    video/vnd.divx,
    video/x-avi,
    video/x-msvideo,
    audio/mpeg,
    audio/mp3,
    audio/x-mp3,
    audio/x-mpeg,
    audio/x-mpg,
    audio/mp4,
    audio/m4a,
    audio/x-m4a,
    video/mp4,
    video/mp4v-es,
    video/x-m4v,
    video/quicktime,
    application/x-rar-compressed,
    application/vnd.rar,
    application/x-rar,
    image/gif,
    application/vnd.google-apps.spreadsheet,
    application/vnd.google-apps.presentation,
    application/vnd.oasis.opendocument.spreadsheet,
    application/vnd.oasis.opendocument.text,
    application/vnd.oasis.opendocument.presentation,
    application/vnd.oasis.opendocument.graphics,
    application/vnd.oasis.opendocument.formula,
    audio/wav,
    audio/vnd.wave,
    audio/wave,
    audio/x-wav,
    audio/x-ms-wmv,
    video/x-ms-wmv,
    application/vnd.ms-excel.sheet.macroenabled.12,
    application/vnd.ms-pki.stl,
    model/stl,
    model/x.stl-ascii,
    model/x.stl-binary,
    application/x-compressed-tar,
    application/vnd.google-earth.kmz,
    application/vnd.google-earth.kml+xml,
    application/vnd.openxmlformats-officedocument.presentationml.slideshow,
    image/tiff,
    image/tiff,
    audio/amr,
    audio/amr-encrypted,
    text/x-vcard,
    text/directory,
    text/vcard,
    application/cdr,
    application/coreldraw,
    application/vnd.corel-draw,
    application/x-cdr,
    application/x-coreldraw,
    image/cdr,
    image/x-cdr,
    zz-application/zz-winassoc-cdr,
    message/rfc822,
    application/vnd.ms-outlook,
    application/vnd.koan,
    application/ics,
    text/calendar,
    text/x-vcalendar,
    application/ms-tnef,
    application/vnd.ms-tnef,
    image/webp
+ type: string + format: binary + required: + - file + ListFilesOutput: + oneOf: + - title: Directory schema + description: Directory schema + type: object + properties: + description: + description: Directory description + type: string + nullable: true + maxLength: 160 + id: + description: Directory ID + type: integer + readOnly: true + example: 1 + type: + description: Directory type + type: string + enum: + - directory + name: + description: Directory name + type: string + example: business-cards + minLength: 1 + maxLength: 30 + created: + description: Creation date of directory + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + breadcrumbs: + description: >- + Current directory location. The first element is the direct + parent of the directory + type: array + minItems: 1 + items: + $ref: '#/components/schemas/FileOuput/properties/breadcrumbs/items' + - title: File schema + description: File schema + type: object + properties: + id: + description: File ID + type: integer + readOnly: true + example: 1 + type: + description: File type + type: string + enum: + - file + name: + description: File name + type: string + example: business-card + created: + description: Creation date of file + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + size: + description: File size in octet + type: integer + readOnly: true + example: 512 + extension: + description: File extension + type: string + example: jpg + enum: + - rtf + - txt + - jpg + - jpeg + - png + - pdf + - xml + - xsl + - csv + - xls + - zip + - xlsx + - doc + - docx + - ppt + - pptx + - json + - dxf + - dwg + - svg + - psd + - ai + - eps + - indd + - gdoc + - avi + - mp3 + - m4a + - mp4 + - rar + - gif + - gplf + - gform + - gsheet + - gslides + - gdraw + - ods + - odt + - odp + - odg + - odf + - sat + - wav + - wave + - wmv + - xlsm + - stl + - ped + - tgz + - kmz + - kml + - ppsx + - tiff + - tif + - amr + - vcf + - cdr + - ar3 + - eml + - mmap + - msg + - skp + - ics + - tnef + - webp + public_link: + description: URL to file + type: string + format: uri + readOnly: true + related: + description: Objects linked to the file + type: array + minItems: 0 + maxItems: 1 + items: + type: object + properties: + type: + description: Object type + type: string + enum: + - company + - individual + - contact + - opportunity + - estimate + - invoice + - credit-note + - order + id: + description: Object ID + type: integer + breadcrumbs: + description: >- + Current file location. The first element is the direct parent of + the file + type: array + minItems: 1 + items: + $ref: '#/components/schemas/FileOuput/properties/breadcrumbs/items' + AdyenSettings: + title: Adyen settings + description: '' + type: object + additionalProperties: true + x-examples: {} + properties: + api_key: + description: API key of the Adyen account to use + type: string + example: abcdefghijklmnopqrstuv0123456789 + nullable: true + merchant_account: + description: Merchant account + type: string + example: Sellsy + nullable: false + test_env: + description: If api key is to use on test environment + type: boolean + example: true + nullable: false + notification_hmac_key: + description: Notification key hmac + type: string + example: 04D37574774B86C7B1B6E629941311A4ADD693E117BB17849C93132293DE7F4C + theme_id: + description: Theme id for Adyen + type: string + example: 6652399b-be09-406c-88df-e2106f282996 + nullable: true + payment_method_id: + description: Default payment method to use adyen on + type: integer + example: 7 + nullable: true + live_url_prefix: + description: >- + The unique merchant-specific hostname to communicate with Adyen's + APIs + type: string + example: 1797a841fbb37ca7-AdyenDemo + nullable: true + required: + - api_key + - merchant_account + - test_env + FileOuput: + title: File schema + description: File schema + type: object + properties: + id: + description: File ID + type: integer + readOnly: true + example: 1 + type: + description: File type + type: string + enum: + - file + name: + description: File name + type: string + example: business-card + created: + description: Creation date of file + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + size: + description: File size in octet + type: integer + readOnly: true + example: 512 + extension: + description: File extension + type: string + example: jpg + enum: + - rtf + - txt + - jpg + - jpeg + - png + - pdf + - xml + - xsl + - csv + - xls + - zip + - xlsx + - doc + - docx + - ppt + - pptx + - json + - dxf + - dwg + - svg + - psd + - ai + - eps + - indd + - gdoc + - avi + - mp3 + - m4a + - mp4 + - rar + - gif + - gplf + - gform + - gsheet + - gslides + - gdraw + - ods + - odt + - odp + - odg + - odf + - sat + - wav + - wave + - wmv + - xlsm + - stl + - ped + - tgz + - kmz + - kml + - ppsx + - tiff + - tif + - amr + - vcf + - cdr + - ar3 + - eml + - mmap + - msg + - skp + - ics + - tnef + - webp + public_link: + description: URL to file + type: string + format: uri + readOnly: true + related: + description: Objects linked to the file + type: array + minItems: 0 + maxItems: 1 + items: + type: object + properties: + type: + description: Object type + type: string + enum: + - company + - individual + - contact + - opportunity + - estimate + - invoice + - credit-note + - order + id: + description: Object ID + type: integer + breadcrumbs: + description: >- + Current file location. The first element is the direct parent of the + file + type: array + minItems: 1 + items: + type: object + properties: + type: + description: Parent type + type: string + enum: + - directory + id: + description: Parent ID + type: integer + name: + description: Parent name + type: string + example: thirds + MoveFileInput: + title: Move file schema + description: Move file schema + type: object + properties: + type: + description: New target type + type: string + example: opportunity + enum: + - company + - individual + - contact + - opportunity + - estimate + - invoice + - credit-note + - order + - directory + id: + description: New target id + type: integer + example: 1 + required: + - type + - id + CreateDirectory: + title: Directory create schema + description: Directory create schema + allOf: + - title: Directory schema + description: Directory schema + type: object + properties: + description: + description: An optional description for the directory + type: string + nullable: true + maxLength: 160 + name: + description: Name of the directory + type: string + minLength: 1 + maxLength: 30 + - type: object + properties: + parent: + description: Parent object which will receive the new directory + type: object + required: + - type + - id + properties: + type: + type: string + example: company + enum: + - company + - individual + - contact + - opportunity + - estimate + - invoice + - credit-note + - order + - directory + id: + description: Parent object id + type: integer + required: + - parent + - name + UpdateDirectory: + title: Directory schema + description: Directory schema + type: object + properties: + description: + description: An optional description for the directory + type: string + nullable: true + maxLength: 160 + name: + description: Name of the directory + type: string + minLength: 1 + maxLength: 30 + LinkCompanyContact: + type: object + properties: + roles: + description: >- + Roles given to contact.

Note that custom roles will be + ignored if company has no contact yet, the first contact will get + all roles by default. + type: array + items: + type: string + enum: + - main + - invoicing + - dunning + nullable: true + example: + - main + - dunning + uniqueItems: true + UpdateLinkCompanyContact: + type: object + properties: + roles: + description: Roles given to contact. + type: array + items: + type: string + enum: + - main + - invoicing + - dunning + nullable: false + example: + - main + - dunning + uniqueItems: true + ImportToken: + title: Token + description: '' + type: object + x-examples: {} + properties: + token: + description: Import token + type: string + example: >- + eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.dyt0CoTl4WoVjAHI9Q_CwSKhl6d_9rhM3NrXuJttkao + ImportPrepareInput: + title: Import batch preparation + description: '' + type: object + x-examples: {} + properties: + batch_id: + description: Batch id + type: string + format: uuid + example: 123e4567-e89b-12d3-a456-426614174000 + metadata: + title: Import metadata + description: Import options + type: object + x-examples: {} + properties: + insert_new_records: + description: If true, insert new records + type: boolean + example: true + update_existing_records: + description: If true, update existing records + type: boolean + example: true + update_empty_fields: + description: >- + If true, empty values will be persisted and overwrite actual + values + type: boolean + example: true + overwrite_tags: + description: If true, replace the smart tags instead of adding them + type: boolean + example: true + dismiss_required_custom_fields: + description: If true, import rows dismissing mandatory custom fields + type: boolean + example: true + insert_new_custom_fields_enum_values: + description: If true, new values are added to list type custom fields + type: boolean + example: true + use_default_values_for_empty_custom_fields: + description: If true, use existing default values for empty custom fields + type: boolean + example: true + columns: + description: List of imported columns + type: array + example: + - id + - reference + - name + - description + - reference_price + minItems: 1 + items: + type: string + identifiers: + description: Import identifiers + oneOf: + - title: Product identifier + description: '' + type: object + x-examples: {} + properties: + product: + description: List of identifiers + type: array + minItems: 1 + maxItems: 1 + items: + type: string + enum: + - id + - reference + required: + - product + - title: Product variation identifiers + description: '' + type: object + x-examples: {} + properties: + product: + description: List of identifiers + type: array + minItems: 1 + maxItems: 1 + items: + type: string + enum: + - product_id + - product_reference + product_variation: + description: List of identifiers + type: array + minItems: 1 + maxItems: 1 + items: + type: string + enum: + - variation_id + - variation_reference + required: + - product + - product_variation + - title: Company identifiers + description: '' + type: object + x-examples: {} + properties: + company: + description: List of identifiers + type: array + minItems: 1 + items: + type: string + enum: + - company_id + - company_name + - company_reference + - company_email + - company_legal_france_siret + - company_legal_france_siren + address: + description: List of identifiers + type: array + minItems: 1 + items: + type: string + enum: + - address_id + - address_name + contact: + description: List of identifiers + type: array + minItems: 1 + items: + type: string + enum: + - contact_id + - contact_last_name + - contact_first_name + - contact_email + required: + - company + - address + - contact + - title: Service identifier + description: '' + type: object + x-examples: {} + properties: + service: + description: List of identifiers + type: array + minItems: 1 + maxItems: 1 + items: + type: string + enum: + - id + - reference + required: + - service + - service-price + - $ref: >- + #/components/schemas/ImportPrepareInput/properties/metadata/properties/identifiers/oneOf/1 + required: + - insert_new_records + - update_existing_records + - update_empty_fields + - overwrite_tags + - dismiss_required_custom_fields + - insert_new_custom_fields_enum_values + - use_default_values_for_empty_custom_fields + - columns + - identifiers + data: + description: Rows to prepare + minItems: 1 + oneOf: + - description: Rows to prepare + type: array + minItems: 1 + maxItems: 100 + items: + oneOf: + - title: Product + description: '' + type: object + x-examples: {} + properties: + description: + description: Description of item + type: string + example: T-shirt 90% coton + nullable: true + row_id: + description: Row id + type: integer + example: 1 + id: + description: Item id + type: integer + example: 6657 + nullable: true + reference: + description: Item reference + type: string + example: ref0123 + name: + description: Item name + type: string + example: lorem ipsum + nullable: true + unit: + description: Unit + type: string + example: m3 + nullable: true + standard_quantity: + description: Standard quantity + type: string + example: 3 + nullable: true + category: + description: Item category + type: string + example: null + nullable: true + smart_tags: + description: Smart tags list + type: array + nullable: true + example: + - foo + - bar + items: + description: The tag + type: string + owner: + description: Owner name of the product import + type: string + example: John Snow + nullable: true + reference_price: + description: Reference price + type: string + example: 19.99 + nullable: true + tax_rate: + description: Tax rate + type: string + example: 19.6 + nullable: true + purchase_price: + description: Purchase price + type: string + example: 15.5 + nullable: true + accounting_code: + description: Accounting code + type: string + example: null + nullable: true + accounting_purchase_code: + description: Accounting purchase code + type: string + example: null + nullable: true + is_archived: + description: Status archived or not + type: boolean + example: false + required: + - reference + - title: Product variation + description: '' + type: object + x-examples: {} + properties: + description: + description: Description of product variation + type: string + example: T-shirt 90% coton + nullable: true + row_id: + description: Row id + type: integer + example: 1 + product_id: + description: Product id + type: integer + example: 6657 + nullable: true + product_reference: + description: Product reference + type: string + example: ref0123 + nullable: true + variation_id: + description: Variation id + type: integer + example: 6678 + nullable: true + variation_reference: + description: Variation reference + type: string + example: ref0123-5 + nullable: true + trade_name: + description: Trade name of the product variation + type: string + example: T-shirt Red S + nullable: true + variation_code_1: + description: Code of the first variation criteria + type: string + example: color + nullable: false + variation_code_value_1: + description: Code of the value of the first variation criteria + type: string + example: red + nullable: false + variation_code_2: + description: Code of the second variation criteria + type: string + example: size + nullable: true + variation_code_value_2: + description: Code of the value of the second variation criteria + type: string + example: small + nullable: true + variation_code_3: + description: Code of the third variation criteria + type: string + example: material + nullable: true + variation_code_value_3: + description: Code of the value of the third variation criteria + type: string + example: cotton + nullable: true + sales_price_excl_tax: + description: Sales price excluding tax of the variation + type: string + example: 105.56 + nullable: true + purchase_price_excl_tax: + description: Purchase amount excluding tax of the variation + type: string + example: 68.22 + nullable: true + required: + - variation_code_1 + - variation_code_value_1 + - title: Company + description: '' + type: object + x-examples: {} + properties: + row_id: + description: Row id + type: integer + example: 1 + company_id: + description: Company id + type: integer + example: 6657 + nullable: true + company_type: + description: Company type + type: string + example: client + enum: + - prospect + - client + - supplier + company_name: + description: Company name + type: string + minLength: 1 + maxLength: 250 + example: Example company + company_reference: + description: Company reference + type: string + minLength: 1 + maxLength: 100 + nullable: true + example: CLI-1654 + company_legal_france_company_type: + description: Company type + type: string + minLength: 2 + maxLength: 100 + nullable: true + example: SAS + company_price_category: + description: Company price category + type: string + maxLength: 255 + nullable: true + example: Some category + company_email: + description: Company email + type: string + format: email + example: contact@example-company.com + nullable: true + company_phone_number: + description: Company phone number + type: string + example: '+33100000000' + nullable: true + company_mobile_number: + description: Company mobile number + type: string + example: '+33600000000' + nullable: true + company_fax_number: + description: Company Fax number + type: string + example: '+33100000000' + nullable: true + company_website: + description: Company website + type: string + format: url + example: http://example-company.com + nullable: true + company_legal_france_vat: + description: VAT number + type: string + minLength: 1 + maxLength: 100 + nullable: true + example: FR99999999999 + company_legal_france_ape_naf_code: + description: APE/NAF Code + type: string + minLength: 2 + maxLength: 50 + nullable: true + example: 4711C + company_capital: + description: Company Capital + type: string + maxLength: 20 + nullable: true + example: '4000' + company_legal_france_rcs_immatriculation: + description: RCS immatriculation code + type: string + minLength: 2 + maxLength: 200 + nullable: true + example: RCS xxxxx + company_legal_france_siret: + description: Company Siret + type: string + minLength: 2 + maxLength: 100 + nullable: true + example: '73282932000074' + company_legal_france_siren: + description: Company Siren + type: string + minLength: 2 + maxLength: 100 + nullable: true + example: '732829320' + company_note: + description: Note on company + type: string + example: An handed-written note describing this company + company_smart_tags: + description: Company's smart tags list + type: array + nullable: true + example: + - foo + - bar + items: + description: The tag + type: string + company_owner: + description: Owner name of the company import + type: string + example: John Snow + nullable: true + company_accounting_code: + description: Company accounting code + type: string + example: null + nullable: true + company_auxiliary_code: + description: Auxiliary code + type: string + maxLength: 50 + example: 0EX11C + nullable: true + company_marketing_campaigns_email: + description: Company subscribed to email campaigns + type: boolean + example: false + company_marketing_campaigns_sms: + description: Company subscribed to SMS campaigns + type: boolean + example: false + company_marketing_campaigns_phone: + description: Company subscribed to phone campaigns + type: boolean + example: false + company_marketing_campaigns_postal_mail: + description: Company subscribed to postal mail campaigns + type: boolean + example: false + company_marketing_campaigns_custom: + description: Company subscribed to custom campaigns + type: boolean + example: false + company_is_archived: + description: Company' status archived or not + type: boolean + example: false + address_id: + description: Unique ID + type: integer + example: 6657 + address_name: + description: Address name + type: string + example: Main office + minLength: 2 + address_address_line_1: + description: Address line one + type: string + example: 30 Commercial Road + nullable: true + address_address_line_2: + description: Address line two + type: string + example: Finance and Accounting + nullable: true + address_address_line_3: + description: Address line three + type: string + example: Lighthouse Promotions + nullable: true + address_address_line_4: + description: Address line four + type: string + example: PO Box 215 + nullable: true + address_postal_code: + description: Address postal code + type: string + nullable: true + example: '75012' + minLength: 2 + address_city: + description: Address city name + type: string + example: Paris + minLength: 2 + address_state: + description: Address state + type: string + example: null + address_country_code: + description: Address country code + type: string + example: FR + minLength: 2 + maxLength: 2 + contact_id: + description: Unique ID + type: integer + example: 6657 + contact_civility: + description: contact civility + type: string + example: mrs + nullable: true + enum: + - mr + - mrs + - ms + contact_type_main: + description: Defines whether the company has main contact type + type: boolean + example: false + nullable: true + contact_type_invoicing: + description: Defines whether the company has invoicing contact type + type: boolean + example: false + nullable: true + contact_type_dunning: + description: Defines whether the company has dunning contact type + type: boolean + example: false + nullable: true + contact_last_name: + description: Contact name + type: string + example: Doe + maxLength: 200 + nullable: true + contact_first_name: + description: Contact first name + type: string + example: John + nullable: true + maxLength: 200 + contact_email: + description: Contact email + type: string + format: email + example: john.doe@example-company.com + nullable: true + contact_phone_number: + description: Contact phone number + type: string + example: '+33100000000' + nullable: true + contact_mobile_number: + description: Contact mobile number + type: string + example: '+33600000000' + nullable: true + contact_fax_number: + description: Contact Fax number + type: string + example: '+33100000000' + nullable: true + contact_website: + description: Contact website + type: string + format: url + example: http://example-john-doe.com + nullable: true + contact_position: + description: Contact job + type: string + nullable: true + example: Financial + contact_smart_tags: + description: Contact's smart tags list + type: array + nullable: true + example: + - foo + - bar + items: + description: The tag + type: string + contact_note: + description: Note on contact + type: string + example: An handed-written note describing this contact + contact_marketing_campaigns_email: + description: Contact subscribed to email campaigns + type: boolean + example: false + contact_marketing_campaigns_sms: + description: Contact subscribed to SMS campaigns + type: boolean + example: false + contact_marketing_campaigns_phone: + description: Contact subscribed to phone campaigns + type: boolean + example: false + contact_marketing_campaigns_postal_mail: + description: Contact subscribed to postal mail campaigns + type: boolean + example: false + contact_marketing_campaigns_custom: + description: Contact subscribed to custom campaigns + type: boolean + example: false + contact_is_archived: + description: Contact' status archived or not + type: boolean + nullable: false + example: false + required: + - row_id + - company_type + - company_name + - title: Service + description: '' + type: object + x-examples: {} + properties: + description: + description: Description of service + type: string + example: Repair and maintenance + nullable: true + row_id: + description: Row id + type: integer + example: 1 + id: + description: Service id + type: integer + example: 6657 + nullable: true + reference: + description: Service reference + type: string + example: ref0123 + name: + description: Service name + type: string + example: lorem ipsum + nullable: true + unit: + description: Unit + type: string + example: hour + nullable: true + standard_quantity: + description: Standard quantity + type: string + example: 3 + nullable: true + category: + description: Service category + type: string + example: null + nullable: true + smart_tags: + description: Smart tags list + type: array + nullable: true + example: + - foo + - bar + items: + description: The tag + type: string + owner: + description: Owner name of the product import + type: string + example: John Snow + nullable: true + is_timetracking: + description: Service is usable for timetracking + type: boolean + example: false + reference_price: + description: Reference price + type: string + example: 19.99 + nullable: true + tax_rate: + description: Tax rate + type: string + example: 19.6 + nullable: true + purchase_price: + description: Purchase price + type: string + example: 15.5 + nullable: true + accounting_code: + description: Accounting code + type: string + example: null + nullable: true + accounting_purchase_code: + description: Accounting purchase code + type: string + example: null + nullable: true + is_archived: + description: Status archived or not + type: boolean + example: false + required: + - reference + - title: Service price + description: '' + type: object + x-examples: {} + properties: + row_id: + description: Row id + type: integer + example: 1 + id: + description: Service id + type: integer + example: 6657 + nullable: true + reference: + description: Service reference + type: string + example: ref0123 + prices: + description: Rate category ids and corresponding prices + type: array + minItems: 1 + maxItems: 100 + items: + title: Rate category + description: '' + type: object + x-examples: {} + properties: + category: + description: Rate category name + type: string + example: Tax rate 20 + price: + description: Price for corresponding category + type: number + example: 23.11 + required: + - reference + required: + - reference + - title: Product price + description: '' + type: object + x-examples: {} + properties: + row_id: + description: Row id + type: integer + example: 1 + id: + description: Product id + type: integer + example: 6657 + nullable: true + reference: + description: Product reference + type: string + example: ref0123 + nullable: true + variation_id: + description: Product variation id + type: integer + example: 100 + nullable: true + variation_reference: + description: Product variation reference + type: string + example: ref11 + nullable: true + prices: + description: Rate category ids and corresponding prices + type: array + minItems: 1 + maxItems: 100 + items: + $ref: >- + #/components/schemas/ImportPrepareInput/properties/data/oneOf/0/items/oneOf/4/properties/prices/items + required: + - reference + required: + - batch_id + - metadata + - data + ImportValidateInput: + title: Import batch validation + description: '' + type: object + x-examples: {} + properties: + batch_id: + description: Batch id + type: string + format: uuid + example: 123e4567-e89b-12d3-a456-426614174000 + metadata: + $ref: '#/components/schemas/ImportPrepareInput/properties/metadata' + data: + description: Rows to validate + minItems: 1 + oneOf: + - description: Rows to validate + type: array + minItems: 1 + maxItems: 100 + items: + oneOf: + - $ref: >- + #/components/schemas/ImportPrepareInput/properties/data/oneOf/0/items/oneOf/0 + - $ref: >- + #/components/schemas/ImportPrepareInput/properties/data/oneOf/0/items/oneOf/1 + - $ref: >- + #/components/schemas/ImportPrepareInput/properties/data/oneOf/0/items/oneOf/2 + - $ref: >- + #/components/schemas/ImportPrepareInput/properties/data/oneOf/0/items/oneOf/3 + - $ref: >- + #/components/schemas/ImportPrepareInput/properties/data/oneOf/0/items/oneOf/4 + - $ref: >- + #/components/schemas/ImportPrepareInput/properties/data/oneOf/0/items/oneOf/5 + required: + - batch_id + - metadata + - data + ImportStartInput: + title: Import + description: '' + type: object + x-examples: {} + properties: + batch_id: + description: Batch id + type: string + format: uuid + example: 123e4567-e89b-12d3-a456-426614174000 + required: + - batch_id + CompanyPreferences: + title: Company's preferences + type: object + properties: + currency: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/currency + carrier: + description: Company preferred carrier. + type: object + nullable: true + properties: + id: + description: id of carrier + type: integer + example: 1234 + label: + description: label of carrier + type: string + example: DHL + tax: + title: Tax + description: '' + type: object + x-examples: {} + properties: + id: + description: Id of tax + type: integer + readOnly: true + example: 6657 + rate: + description: Rate of tax + type: number + format: float + example: 20 + label: + description: Label of tax + type: string + example: Product TVA + is_active: + description: Is the tax enabled or not + type: boolean + example: true + is_ecotax: + description: Is the tax an ecotax + type: boolean + example: true + payment_term: + description: Company preferred pay date. + type: object + nullable: true + properties: + id: + description: id of pay date + type: integer + example: 1234 + label: + description: label of pay date + type: string + example: from 30 days + x_days: + description: Number of days for pay deadlines. + type: integer + nullable: true + end_of_month: + description: Is pay deadlines at end of the month. + type: boolean + nullable: true + discount: + description: Company's preferred discount. + type: object + properties: + amount: + description: numeric string. Can be float, double or integer + type: string + type: + type: string + enum: + - amount + - percent + bank_account: + description: Company's preferred bank account. + type: object + nullable: true + properties: + id: + description: id of bank account + type: integer + example: 1234 + label: + description: label of bank account + type: string + example: My bank + iban: + description: iban of bank account + type: string + example: FRxxxxxxxxxxxxxx + discount_by_row: + description: Rows for this Company can have its own discount. + type: boolean + dunnings: + description: Company's preferred dunning plan for each doctype. + type: object + nullable: true + properties: + estimate: + type: object + nullable: true + properties: + value: + description: Dunning type select for estimate documents. + type: string + enum: + - disabled + - default + - id + id: + description: Dunning id selected for estimate documents if value is "id". + type: integer + label: + description: >- + Label of dunning selected for estimate documents if value + is "id". + type: string + invoice: + type: object + nullable: true + properties: + value: + description: Dunning type select for invoice documents. + type: string + enum: + - disabled + - default + - id + id: + description: Dunning id select for invoice documents if value is "id". + type: integer + label: + description: >- + Label of dunning selected for invoice documents if value is + "id". + type: string + proforma: + type: object + nullable: true + properties: + value: + description: Dunning type select for proforma documents. + type: string + enum: + - disabled + - default + - id + id: + description: Dunning id select for proforma documents if value is "id". + type: integer + label: + description: >- + Label of dunning selected for proforma documents if value + is "id". + type: string + rate_category: + description: Company's preferred rate category. + type: object + nullable: true + properties: + id: + description: id of rate category + type: integer + example: 123456 + label: + description: label of rate category + type: string + example: HT + pay_mediums: + description: Company's preferred pay mediums. + type: array + nullable: true + items: + type: object + properties: + id: + description: id of pay medium + type: integer + example: 1234 + label: + description: label of pay medium + type: string + example: credit card + UpdateCompanyPreferences: + title: Company preferences + type: object + properties: + currency_id: + description: Id of the selected currency. + type: integer + carrier_id: + description: Id of the carrier selected. + type: integer + tax_id: + description: Id of the tax selected. + type: integer + payment_terms: + description: Id of the payment term selected. + type: object + properties: + id: + type: integer + x_days: + description: Number of days for pay deadlines. + type: integer + nullable: true + end_of_month: + description: Is pay deadlines at end of the month. + type: boolean + nullable: true + required: + - id + discount: + description: Default company's global discount applied. + type: object + properties: + amount: + description: numeric string. Can be float, double or integer + type: string + type: + type: string + enum: + - amount + - percent + required: + - amount + - type + bank_account_id: + description: Id of Bank account selected. + type: integer + nullable: true + discount_by_row: + description: Rows for this Company can have its own discount. + type: boolean + dunning: + description: Dunning selected for each doctype. + type: object + properties: + estimate: + oneOf: + - title: disabled + description: Disabled dunning for this doctype. + type: object + properties: + value: + type: string + enum: + - disabled + required: + - value + - title: default dunning + description: Default dunning for this doctype. + type: object + properties: + value: + type: string + enum: + - default + required: + - value + - title: dunning id + description: Specified dunning for this doctype. + type: object + properties: + value: + type: string + enum: + - id + id: + type: integer + required: + - value + - id + invoice: + oneOf: + - $ref: >- + #/components/schemas/UpdateCompanyPreferences/properties/dunning/properties/estimate/oneOf/0 + - $ref: >- + #/components/schemas/UpdateCompanyPreferences/properties/dunning/properties/estimate/oneOf/1 + - $ref: >- + #/components/schemas/UpdateCompanyPreferences/properties/dunning/properties/estimate/oneOf/2 + proforma: + oneOf: + - $ref: >- + #/components/schemas/UpdateCompanyPreferences/properties/dunning/properties/estimate/oneOf/0 + - $ref: >- + #/components/schemas/UpdateCompanyPreferences/properties/dunning/properties/estimate/oneOf/1 + - $ref: >- + #/components/schemas/UpdateCompanyPreferences/properties/dunning/properties/estimate/oneOf/2 + rate_category_id: + description: Id of the rate category selected. + type: integer + pay_medium_ids: + description: Ids of Company's pay medium displayed. + type: array + items: + type: integer + required: + - currency_id + - carrier_id + - tax_id + - payment_terms + - discount + - bank_account_id + - discount_by_row + - pay_medium_ids + IndividualPreferences: + title: Individual's preferences + type: object + properties: + currency: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/currency + carrier: + description: Individual preferred carrier. + type: object + nullable: true + properties: + id: + description: id of carrier + type: integer + example: 1234 + label: + description: label of carrier + type: string + example: DHL + tax: + $ref: '#/components/schemas/CompanyPreferences/properties/tax' + payment_term: + description: Individual preferred pay date. + type: object + nullable: true + properties: + id: + description: id of pay date + type: integer + example: 1234 + label: + description: label of pay date + type: string + example: from 30 days + x_days: + description: Number of days for pay deadlines. + type: integer + nullable: true + end_of_month: + description: Is pay deadlines at end of the month. + type: boolean + nullable: true + discount: + description: Individual's preferred discount. + type: object + properties: + amount: + description: numeric string. Can be float, double or integer + type: string + type: + type: string + enum: + - amount + - percent + bank_account: + description: Individual's preferred bank account. + type: object + nullable: true + properties: + id: + description: id of bank account + type: integer + example: 1234 + label: + description: label of bank account + type: string + example: My bank + iban: + description: iban of bank account + type: string + example: FRxxxxxxxxxxxxxx + discount_by_row: + description: Rows for this Individual can have its own discount. + type: boolean + dunning: + description: Individual's preferred dunning plan for each doctype. + type: object + nullable: true + properties: + estimate: + type: object + nullable: true + properties: + value: + description: Dunning type select for estimate documents. + type: string + enum: + - disabled + - default + - id + id: + description: Dunning id selected for estimate documents if value is "id". + type: integer + label: + description: >- + Label of dunning selected for estimate documents if value + is "id". + type: string + invoice: + type: object + nullable: true + properties: + value: + description: Dunning type select for invoice documents. + type: string + enum: + - disabled + - default + - id + id: + description: Dunning id select for invoice documents if value is "id". + type: integer + label: + description: >- + Label of dunning selected for invoice documents if value is + "id". + type: string + proforma: + type: object + nullable: true + properties: + value: + description: Dunning type select for proforma documents. + type: string + enum: + - disabled + - default + - id + id: + description: Dunning id select for proforma documents if value is "id". + type: integer + label: + description: >- + Label of dunning selected for proforma documents if value + is "id". + type: string + rate_category: + description: Individual's preferred rate category. + type: object + nullable: true + properties: + id: + description: id of rate category + type: integer + example: 123456 + label: + description: label of rate category + type: string + example: HT + pay_medium: + description: Individual's preferred pay medium. + type: array + nullable: true + items: + type: object + properties: + id: + description: id of pay medium + type: integer + example: 1234 + label: + description: label of pay medium + type: string + example: credit card + UpdateIndividualPreferences: + title: Individual preferences + type: object + properties: + currency_id: + description: Id of the selected currency. + type: integer + carrier_id: + description: Id of the carrier selected. + type: integer + tax_id: + description: Id of the tax selected. + type: integer + payment_terms: + description: Id of the payment term selected. + type: object + properties: + id: + type: integer + x_days: + description: Number of days for pay deadlines. + type: integer + nullable: true + end_of_month: + description: Is pay deadlines at end of the month. + type: boolean + nullable: true + required: + - id + discount: + description: Default individual's global discount applied. + type: object + properties: + amount: + description: numeric string. Can be float, double or integer + type: string + type: + type: string + enum: + - amount + - percent + required: + - amount + - type + bank_account_id: + description: Id of Bank account selected. + type: integer + nullable: true + discount_by_row: + description: Rows for this individual can have its own discount. + type: boolean + dunning: + description: Dunning selected for each doctype. + type: object + properties: + estimate: + oneOf: + - title: dunning id + description: Disabled dunning for this doctype. + type: object + properties: + value: + type: string + enum: + - disabled + required: + - value + - title: default dunning + description: Default dunning for this doctype. + type: object + properties: + value: + type: string + enum: + - default + required: + - value + - title: dunning id + description: Specified dunning for this doctype. + type: object + properties: + value: + type: string + enum: + - id + id: + type: integer + required: + - value + - id + invoice: + oneOf: + - $ref: >- + #/components/schemas/UpdateIndividualPreferences/properties/dunning/properties/estimate/oneOf/0 + - $ref: >- + #/components/schemas/UpdateIndividualPreferences/properties/dunning/properties/estimate/oneOf/1 + - $ref: >- + #/components/schemas/UpdateIndividualPreferences/properties/dunning/properties/estimate/oneOf/2 + proforma: + oneOf: + - $ref: >- + #/components/schemas/UpdateIndividualPreferences/properties/dunning/properties/estimate/oneOf/0 + - $ref: >- + #/components/schemas/UpdateIndividualPreferences/properties/dunning/properties/estimate/oneOf/1 + - $ref: >- + #/components/schemas/UpdateIndividualPreferences/properties/dunning/properties/estimate/oneOf/2 + rate_category_id: + description: Id of the rate category selected. + type: integer + pay_medium_ids: + description: Ids of individual's pay medium displayed. + type: array + items: + type: integer + required: + - currency_id + - carrier_id + - tax_id + - payment_terms + - discount + - bank_account_id + - discount_by_row + - pay_medium_ids + ImportModel: + title: Import model + description: '' + type: object + x-examples: {} + properties: + title: + description: Title of template + type: string + nullable: true + example: Modèle Produit + columns: + description: The model columns + type: array + minItems: 1 + example: + - name: Column name + mandatory: true + custom_field: false + items: + title: Column + description: Column properties + type: object + x-examples: {} + properties: + name: + description: Column name + type: string + example: Reference + mandatory: + description: Is it a mandatory column + type: boolean + example: true + custom_field: + description: Is it a column used as custom field + type: boolean + example: true + required: + - name + SubscriptionOne: + title: Subscription + type: object + properties: + id: + description: Id of subscription + type: integer + example: 2 + created: + description: Created date + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + model: + description: Document to use as a template for subscription payment installments + type: object + properties: + type: + type: string + enum: + - model + id: + type: integer + related: + description: | + Objects linked to the subscription : + - A required company or individual + - An optional contact linked to the provided company. + type: array + minItems: 1 + maxItems: 2 + items: + title: Related + description: Objects linked to the subscription + type: object + properties: + id: + description: ID of related + type: integer + example: 234 + type: + description: Type of related + type: string + example: company + enum: + - company + - individual + - contact + required: + - id + - type + sending: + title: Sending + description: Email sending configuration + type: object + properties: + mode: + description: >- + Once the invoice has been generated, from subscription deadline, + if sending mode is automatic, email will be sent to all + recipients, otherwise, if it's manual, email should be send + manually + type: string + enum: + - automatic + - manual + example: automatic + recipients: + description: Email recipients + type: array + minItems: 0 + items: + anyOf: + - type: object + properties: + id: + description: Id of recipient + type: integer + example: 345 + type: + description: Type of recipient + type: string + enum: + - company + - individual + - contact + - staff + - type: object + properties: + email: + description: Email of recipient + type: string + example: contact@sellsy.com + email_template: + description: >- + Id of email template. If not specified, the default email layout + will be used + type: integer + example: 12 + nullable: true + required: + - mode + preferences_source: + description: Source of payment preferences + type: string + enum: + - model + - related + owner: + description: Subscription owner + type: object + properties: + type: + type: string + enum: + - staff + id: + type: integer + conditions: + description: Conditions to generate subscription payment installment + type: object + properties: + interval: + description: Interval for subscription payment installments + type: object + oneOf: + - title: Weekly interval + description: Weekly interval + additionalProperties: false + properties: + type: + type: string + enum: + - weekly + value: + type: string + enum: + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + required: + - value + - type + - title: Monthly interval + description: Monthly interval + type: object + properties: + type: + type: string + enum: + - monthly + - bimonthly + - quarterly + - biannual + - annual + value: + type: string + enum: + - first_monday + - first_tuesday + - first_wednesday + - first_thursday + - first_friday + - first_saturday + - first_sunday + - '1' + - '2' + - '3' + - '4' + - '5' + - '6' + - '7' + - '8' + - '9' + - '10' + - '11' + - '12' + - '13' + - '14' + - '15' + - '16' + - '17' + - '18' + - '19' + - '20' + - '21' + - '22' + - '23' + - '24' + - '25' + - '26' + - '27' + - '28' + - '29' + - '30' + - '31' + - last_monday + - last_tuesday + - last_wednesday + - last_thursday + - last_friday + - last_saturday + - last_sunday + required: + - value + - type + - title: Every days interval + description: Every days interval + type: object + properties: + type: + type: string + enum: + - every_days + value: + type: integer + minimum: 0 + required: + - value + - type + billing_address: + description: Id of billing address + type: integer + nullable: true + example: 69 + shipping_address: + description: Id of shipping address + type: integer + nullable: true + example: 67 + order_reference: + description: Order reference + type: string + nullable: true + maxLength: 100 + example: reference + has_updated_catalog_prices: + description: Update prices according to the products or services in the catalog + type: boolean + default: false + has_catalog_promotions: + description: Take into account catalog promotions + type: boolean + default: false + has_display_of_next_deadline: + description: Display the next recurrence date on the invoice + type: boolean + default: false + has_service_dates: + description: Display service dates on the invoice + type: boolean + default: false + service_dates: + description: > + Service dates on the invoice

- Prerequisite: + `has_service_dates` should be true
+ type: object + nullable: true + properties: + start: + description: Start date for service + type: string + format: date + example: '2023-01-01' + end: + description: > + End date for service

End date must be greater than + start date + type: string + format: date + example: '2023-01-31' + has_impact_on_stock: + description: > + Enable stock impact on new invoices generated by subscription +

- Prerequisite: The Stock module must be enabled and + configured on your account to use this option + type: boolean + default: false + example: true + warehouse_id: + description: > + Specify the warehouse stock to be impacted once the invoice is + generated

- Prerequisite: `has_impact_on_stock` should be + true
- Prerequisite: The Stock module must be enabled and + configured on your account to use this option

If specified + to null, the default warehouse defined in the Stock module + preferences will be used + type: integer + nullable: true + payment_settings: + description: > + Enable automatic payment by direct debit on new invoices generated + by subscription

- Prerequisite: The Gocardless or Stripe + module _(according to the one enabled on the document model used)_ + must be enabled and configured on your account to use this option + type: object + nullable: true + properties: + direct_debit: + description: Activate direct debit + type: boolean + example: true + mandate: + description: >- + Required if the direct debit module on document model is + GoCardless + type: integer + nullable: true + example: 6 + payment_installment_invoice: + description: Payment installment invoice + type: string + enum: + - invoice_due_date + - invoice_generation_date + example: invoice_generation_date + currency: + description: Currency code of the invoice + type: string + example: EUR + first_payment_installment_date: + description: First payment date. + type: object + nullable: true + properties: + date: + type: string + format: date + id: + type: integer + next_payment_installment_date: + description: Next payment date. If the value is `null`, the subscription is end. + type: object + nullable: true + properties: + date: + type: string + format: date + id: + type: integer + amounts: + description: Amounts of subscription + type: object + properties: + total_excl_tax: + type: string + total_incl_tax: + type: string + invoices_total_count: + description: Total number of invoices + type: integer + example: 12 + invoices_generated_count: + description: Number of invoices generated + type: integer + example: 2 + invoices_remaining_count: + description: Number of remaining invoices + type: integer + example: 10 + SubscriptionCreate: + title: Create subscription + type: object + properties: + model: + title: Model + description: Document to use as a template for subscription payment installments + type: object + properties: + type: + description: Template type + type: string + enum: + - model + example: model + id: + description: Template id + type: integer + example: 123 + required: + - id + - type + related: + description: | + Objects linked to the subscription : + - A required company or individual, only "client" type. + - An optional contact can be added, it must be linked to the provided company. + type: array + minItems: 1 + maxItems: 2 + items: + $ref: '#/components/schemas/SubscriptionOne/properties/related/items' + sending: + $ref: '#/components/schemas/SubscriptionOne/properties/sending' + preferences_source: + description: Source of payment preferences + type: string + enum: + - model + - related + conditions: + title: Condition + description: Conditions to generate subscription deadline + type: object + properties: + start_date: + description: Date to start subscription, must be greater than today + type: string + format: date + example: '2022-01-02' + interval: + description: Interval for subscription deadlines + type: object + oneOf: + - $ref: >- + #/components/schemas/SubscriptionOne/properties/conditions/properties/interval/oneOf/0 + - $ref: >- + #/components/schemas/SubscriptionOne/properties/conditions/properties/interval/oneOf/1 + - $ref: >- + #/components/schemas/SubscriptionOne/properties/conditions/properties/interval/oneOf/2 + required: + - start_date + - interval + payment_installments: + description: Subscription payment installments to be generated + type: array + minItems: 1 + maxItems: 500 + items: + title: Payment installments + description: Subscription payment installments to be generated + type: object + properties: + date: + description: > + Date of the payment installments. The date must not be over + 2038-01-19. + type: string + format: date + example: '2022-01-02' + sending_mode: + description: > + By default, the general preference "sending.mode" is applied + to each payment installments, but it is possible to override + the sending mode on each + type: string + enum: + - automatic + - manual + required: + - date + billing_address: + description: Id of billing address + type: integer + nullable: true + example: 69 + shipping_address: + description: Id of shipping address + type: integer + nullable: true + example: 67 + order_reference: + description: Order reference + type: string + example: reference + maxLength: 100 + nullable: true + has_updated_catalog_prices: + description: Update prices according to the products or services in the catalog + type: boolean + default: false + has_catalog_promotions: + description: Take into account catalog promotions + type: boolean + default: false + has_display_of_next_deadline: + description: Display the next recurrence date on the invoice + type: boolean + default: false + has_service_dates: + description: Display service dates on the invoice + type: boolean + default: false + service_dates: + description: > + Service dates on the invoice

- Prerequisite: + `has_service_dates` should be true
+ type: object + nullable: true + properties: + start: + description: Start date for service + type: string + format: date + example: '2023-01-01' + end: + description: > + End date for service

End date must be greater than + start date + type: string + format: date + example: '2023-01-31' + has_impact_on_stock: + description: > + Enable stock impact on new invoices generated by subscription +

- Prerequisite: The Stock module must be enabled and + configured on your account to use this option + type: boolean + default: false + example: true + warehouse_id: + description: > + Specify the warehouse stock to be impacted once the invoice is + generated

- Prerequisite: `has_impact_on_stock` should be + true
- Prerequisite: The Stock module must be enabled and + configured on your account to use this option

If specified + to null, the default warehouse defined in the Stock module + preferences will be used + type: integer + nullable: true + payment_settings: + description: > + Enable automatic payment by direct debit on new invoices generated + by subscription

- Prerequisite: The Gocardless or Stripe + module _(according to the one enabled on the document model used)_ + must be enabled and configured on your account to use this option + type: object + nullable: true + properties: + direct_debit: + description: Activate direct debit + type: boolean + example: true + mandate: + description: >- + Required if the direct debit module on document model is + GoCardless + type: integer + nullable: true + example: 6 + payment_installment_invoice: + description: Payment installment invoice + type: string + enum: + - invoice_due_date + - invoice_generation_date + example: invoice_generation_date + required: + - model + - related + - sending + - preferences_source + - conditions + - payment_installments + LinkPaymentToDocument: + type: object + required: + - amount + properties: + amount: + description: >- + Amount to link from payment to document.
Must be greater than + zero, and less than amount left to solve on payment and on document. + type: number + example: 123.45 + InvoicingPayment: + type: object + properties: + id: + description: Payment id + type: integer + number: + description: Payment identifier + type: string + nullable: true + example: reference + paid_at: + description: Payment date (ISO 8601) + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + status: + description: Payment status + type: string + enum: + - pending + - confirmed + - rejected + - failed + - refund + payment_method_id: + description: Payment method id + type: integer + type: + description: Payment type + type: string + enum: + - credit + - debit + amount: + type: object + properties: + value: + description: Amount + type: string + nullable: true + example: '15.26' + currency: + description: Currency (ISO 4217) + type: string + pattern: ^[A-Za-z *]{2,5}$ + nullable: true + example: EUR + related: + description: Payment related entities + type: array + minItems: 1 + maxItems: 1 + items: + description: Object linked + type: object + properties: + id: + description: Id of object + type: integer + type: + description: Type of object + type: string + example: invoice + enum: + - invoice + - creditnote + - estimate + - order + ObjectiveCollectionOutput: + title: Collection of objectives + type: object + properties: + pagination: + $ref: '#/components/schemas/AccountDocumentCollection/properties/pagination' + data: + type: array + items: + allOf: + - oneOf: + - title: Turnover objective + type: object + properties: + id: + description: Objective id + type: integer + name: + description: Objective name + type: string + example: My Objective + category: + $ref: >- + #/components/schemas/ObjectiveOutput/oneOf/0/properties/category + turnover: + $ref: >- + #/components/schemas/ObjectiveOutput/oneOf/0/properties/turnover + period: + $ref: >- + #/components/schemas/ObjectiveTurnoverInput/properties/period + item: + type: object + nullable: true + properties: + id: + description: linked Item id + type: integer + name: + description: linked Item name + type: string + required: + - id + - name + item_category: + $ref: >- + #/components/schemas/ObjectiveOutput/oneOf/0/properties/item_category + refinements: + description: Refinements of the objective + type: array + items: + type: object + properties: + period: + $ref: >- + #/components/schemas/ObjectiveTurnoverInput/properties/period + turnover: + $ref: >- + #/components/schemas/ObjectiveOutput/oneOf/0/properties/turnover + assignee: + $ref: >- + #/components/schemas/ObjectiveOutput/oneOf/0/properties/assignee + links: + $ref: >- + #/components/schemas/ObjectiveCollectionOutput/properties/links + required: + - id + - name + - category + - turnover + - period + - item + - item_category + - refinements + - assignee + - links + - title: Objective Embed + type: object + properties: + _embed: + nullable: true + additionalProperties: false + properties: + created_by: + $ref: >- + #/components/schemas/Activity/properties/_embed/properties/author + modified_by: + $ref: >- + #/components/schemas/Activity/properties/_embed/properties/author + links: + type: array + items: + title: link + type: object + properties: + rel: + type: string + href: + type: string + required: + - rel + - href + required: + - pagination + - data + - links + ObjectiveTurnoverInput: + title: 'Turnover objective ' + type: object + properties: + name: + description: Objective name + type: string + example: My Objective + category: + description: Code of an existing objective category + type: string + example: turnover + enum: + - turnover + turnover: + title: money + type: object + x-examples: {} + properties: + amount: + description: Amount of turnover expected + type: string + example: '124.33' + currency: + description: Currency code + type: string + example: EUR + required: + - amount + - currency + period: + title: Period + description: period of the objective + type: object + x-examples: {} + properties: + duration: + description: The duration of the period + type: string + enum: + - year + - quarter + - month + date_start: + description: The start date + type: string + format: date + date_end: + description: The end date + type: string + format: date + required: + - duration + - date_start + - date_end + item_id: + description: Linked item id + type: integer + nullable: true + item_category_id: + description: Linked item category id + type: integer + nullable: true + refinements: + description: Refinements of the objective + type: array + items: + type: object + properties: + period: + $ref: '#/components/schemas/ObjectiveTurnoverInput/properties/period' + turnover: + $ref: >- + #/components/schemas/ObjectiveTurnoverInput/properties/turnover + assignee: + title: Assignee + description: Assignee of the objective + type: object + x-examples: {} + properties: + type: + description: Type of assignee + type: string + enum: + - corp + - group + - staff + id: + description: 'Id of Assignee: corp id, group id or staff id' + type: integer + required: + - type + required: + - name + - category + - turnover + - period + - item_id + - item_category_id + - refinements + - assignee + ObjectiveSearchInput: + title: objective filters + description: The objective filters + type: object + properties: + filters: + type: object + properties: + name: + description: name of the Objective + type: object + properties: + mode: + type: string + value: + type: string + example: + mode: contain + value: search + required: + - mode + assignee: + description: List of Assignees + type: array + items: + title: Assignee Filter + description: Filter Assignee of the objective + type: object + x-examples: {} + properties: + type: + description: Type of assignee + type: string + enum: + - corp + - group + - staff + id: + description: 'Id of Assignee: corp id, group id or staff id' + type: integer + required: + - type + ObjectiveOutput: + oneOf: + - title: Turnover objective + type: object + properties: + id: + description: Objective id + type: integer + name: + description: Objective name + type: string + example: My Objective + category: + description: Objective category + type: object + properties: + code: + description: Code of an existing objective category + type: string + example: turnover + label: + description: Label of an existing objective category + type: string + example: Turnover + required: + - code + - label + turnover: + title: Turnover + description: Turnover + type: object + x-examples: {} + properties: + expected: + $ref: >- + #/components/schemas/ObjectiveTurnoverInput/properties/turnover + actual: + $ref: >- + #/components/schemas/ObjectiveTurnoverInput/properties/turnover + progression: + description: Progression of the objective + type: number + computed_at: + description: Date of last turnover calculation + type: string + format: date-time + days_left: + description: Days remaining between now and the end of the period + type: number + required: + - expected + - actual + - progression + - computed_at + - days_left + period: + $ref: '#/components/schemas/ObjectiveTurnoverInput/properties/period' + item: + type: object + nullable: true + properties: + id: + description: linked Item id + type: integer + name: + description: linked Item name + type: string + required: + - id + - name + item_category: + type: object + nullable: true + properties: + id: + description: Linked item category id + type: integer + nullable: true + name: + description: Linked item category name + type: string + required: + - id + - name + refinements: + description: Refinements of the objective + type: array + items: + type: object + properties: + period: + $ref: >- + #/components/schemas/ObjectiveTurnoverInput/properties/period + turnover: + $ref: >- + #/components/schemas/ObjectiveOutput/oneOf/0/properties/turnover + assignee: + title: Assignee + description: Assignee of the objective + type: object + x-examples: {} + properties: + type: + description: Type of assignee + type: string + enum: + - corp + - group + - staff + id: + description: 'Assignee id: corp id, group id or staff id' + type: integer + name: + description: 'Assignee name: corp name, group name or staff name' + type: string + required: + - type + links: + $ref: '#/components/schemas/ObjectiveCollectionOutput/properties/links' + required: + - id + - name + - category + - turnover + - period + - item + - item_category + - refinements + - assignee + - links + ObjectiveMetadata: + title: objective metadatas + type: object + properties: + turnover: + type: object + properties: + data: + type: object + properties: + category: + $ref: >- + #/components/schemas/ObjectiveOutput/oneOf/0/properties/category + currency: + type: string + example: EUR + assignees_types: + type: array + items: + type: object + properties: + value: + type: string + label: + type: string + order: + type: integer + assignees: + type: array + items: + type: object + properties: + groups: + $ref: >- + #/components/schemas/ObjectiveMetadata/properties/turnover/properties/data/properties/assignees_types + staffs: + $ref: >- + #/components/schemas/ObjectiveMetadata/properties/turnover/properties/data/properties/assignees_types + item_categories: + allOf: + - $ref: >- + #/components/schemas/ObjectiveMetadata/properties/turnover/properties/data/properties/assignees_types + - type: array + items: + type: object + properties: + parent: + type: integer + nullable: true + logo: + type: string + nullable: true + durations: + $ref: >- + #/components/schemas/ObjectiveMetadata/properties/turnover/properties/data/properties/assignees_types + required: + - category + - currency + - assignees_types + - assignees + - item_categories + - durations + metadata: + type: object + properties: + choose_product: + type: boolean + create_new_staff: + type: boolean + create_new_group: + type: boolean + _links: + $ref: '#/components/schemas/ObjectiveCollectionOutput/properties/links' + required: + - objectives + - links + ObjectiveComputeTurnoverInput: + type: object + properties: + currency: + description: Currency used to compute the turnover + type: string + example: EUR + period: + $ref: '#/components/schemas/ObjectiveTurnoverInput/properties/period' + item_id: + description: linked item id used to compute the turnover + type: integer + nullable: true + item_category_id: + description: Linked item category id used to compute the turnover + type: integer + nullable: true + assignee: + $ref: '#/components/schemas/ObjectiveTurnoverInput/properties/assignee' + required: + - currency + - period + - item_id + - item_category_id + - assignee + x-konfig-properties: + period: + description: Period used to compute the turnover + assignee: + description: Assignee used to compute the turnover + ObjectiveComputeTurnoverOutput: + type: array + items: + type: object + properties: + period: + $ref: '#/components/schemas/ObjectiveTurnoverInput/properties/period' + turnover: + $ref: '#/components/schemas/ObjectiveTurnoverInput/properties/turnover' + required: + - period + - turnover + x-konfig-properties: + period: + description: Period used to compute the turnover + turnover: + description: The computed turnover + OnboardingScreenOutput: + title: Onboarding Screen output + type: object + properties: + code: + description: Screen code + type: string + example: 'Screen #1' + persona: + description: Screen target user + example: owner + type: string + id: + description: Screen id + type: integer + example: 3 + columns: + description: Screen columns + type: array + items: + type: object + properties: + order: + description: Screen column order + type: integer + label: + description: Screen column label + type: string + cards: + description: Screen column cards + type: array + items: + description: Onboarding Screen card + type: object + properties: + id: + description: Screen card id + type: integer + url: + description: Screen card target url + type: string + label: + description: Screen card label + type: string + code: + description: Screen card code + type: string + icon: + description: Screen card icon identifier + type: string + example: icon-code + order: + description: Screen card order in column + type: integer + state: + description: Screen card completion state + type: string + enum: + - completed + - to_complete + - completing + required: + - id + - url + - label + - code + - icon + - order + - state + required: + - order + - label + - cards + required: + - code + - role + - id + - columns + DiscountInclTaxesOutput: + description: Discount including taxes + type: object + properties: + description: + description: Description visible on the document + type: string + minLength: 1 + maxLength: 1000 + example: For purchases made during the last five days of October + id: + description: identifier of discount + type: integer + readOnly: true + example: 31 + reference: + description: Reference of discount + type: string + minLength: 1 + maxLength: 250 + example: Halloween five last day + name: + description: Name of discount + type: string + minLength: 1 + maxLength: 250 + example: Halloween promotion + unit_id: + description: Unit id + type: integer + example: 31 + amount: + description: Amount of unit + type: string + minLength: 0 + example: 31 + accounting_code_id: + description: > +
  • If the accounting code is not empty, we use it.
  • If + the accounting code is empty AND if the account has activated + dedicated accounting codes for discounts including VAT, we use + it.
  • Otherwise, we use the default accounting code for + companies.
+ type: integer + nullable: true + example: 31 + DiscountInclTaxesInput: + description: Discount including taxes + type: object + properties: + description: + description: Description visible on the document + type: string + minLength: 1 + maxLength: 1000 + example: For purchases made during the last five days of October + reference: + description: Reference of discount + type: string + minLength: 1 + maxLength: 250 + example: Halloween five last day + name: + description: Name of discount + type: string + minLength: 1 + maxLength: 250 + example: Halloween promotion + unit_id: + description: Unit id + type: integer + example: 31 + amount: + description: Amount of unit + type: string + minLength: 0 + example: 31 + accounting_code_id: + description: > +
    If `null` :
  • Uses company default
  • Or the customer's + if he has one
+ type: integer + nullable: true + example: 31 + required: + - reference + - name + - description + - unit_id + - amount + UpdateDiscountInclTaxes: + description: Update discount including taxes + type: object + properties: + description: + description: Description visible on the document + type: string + minLength: 1 + maxLength: 1000 + example: For purchases made during the last five days of October + reference: + description: Reference of discount + type: string + minLength: 1 + maxLength: 250 + example: Halloween five last day + name: + description: Name of discount + type: string + minLength: 1 + maxLength: 250 + example: Halloween promotion + unit_id: + description: Unit id + type: integer + example: 31 + amount: + description: Amount of unit + type: string + minLength: 0 + example: 31 + accounting_code_id: + description: > +
    If `null` :
  • Uses company default
  • Or the customer's + if he has one
+ type: integer + nullable: true + example: 31 + MarketingAttributeOutput: + title: List Attributes Output + type: object + properties: + attributes: + description: List of attributes + type: array + items: + title: Marketing Attribute + type: object + properties: + id: + description: Attribute id + type: integer + label: + description: Attribute display label + type: string + code: + description: Attribute identifier code + type: string + default: + description: Is the Attribute active by default + type: boolean + synchronized: + description: Has the Attribute been synchronized + type: boolean + category: + description: Attribute category + type: object + nullable: true + properties: + code: + description: Attribute category code + type: string + label: + description: Attributes category label + type: string + required: + - code + - label + sub_category: + description: Attribute sub-category + type: object + nullable: true + properties: + code: + description: Attribute sub-category code + type: string + label: + description: Attributes sub-category label + type: string + required: + - code + - label + required: + - id + - label + - code + - default + - synchronized + - category + - sub_category + links: + description: List of related routes available + type: array + items: + title: link + type: object + properties: + rel: + type: string + href: + type: string + required: + - rel + - href + required: + - attributes + - links + MarketingAttributeInput: + title: Marketing Attribute revision + type: array + example: + - 56 + - 123 + - 345 + items: + description: Marketing Attribute id + type: integer + MarketingAttributeDiffOutput: + title: Marketing attribute revision diff + type: object + properties: + create: + description: List of new Marketing Attributes to create + type: array + items: + $ref: >- + #/components/schemas/MarketingAttributeOutput/properties/attributes/items + delete: + description: List of previous Marketing Attributes to delete + type: array + items: + $ref: >- + #/components/schemas/MarketingAttributeOutput/properties/attributes/items + void: + description: List of Marketing Attributes unchanged + type: array + items: + $ref: >- + #/components/schemas/MarketingAttributeOutput/properties/attributes/items + links: + $ref: '#/components/schemas/MarketingAttributeOutput/properties/links' + required: + - create + - delete + - void + - links + DiscountInclTaxesDocumentInput: + title: Discount including taxes + type: object + properties: + quantity: + description: Discount including taxes quantity + type: integer + minimum: 1 + example: 12 + amount: + description: Discount including taxes amount + type: string + minimum: 0 + example: '12.34' + required: + - quantity + ConsentSettingsOuput: + description: The consent settings + type: object + required: + - settings + - _links + properties: + settings: + description: The consent settings + type: object + required: + - default_consent + - double_optin + properties: + default_consent: + type: boolean + double_optin: + type: object + required: + - enable + - confirm_email + properties: + enable: + type: boolean + confirm_email: + type: object + required: + - subject + - body + - sender + - button + properties: + subject: + type: string + body: + type: string + sender: + type: object + required: + - email + - name + properties: + email: + type: string + name: + type: string + button: + type: object + required: + - label + properties: + label: + type: string + _links: + type: array + items: + title: link + type: object + properties: + rel: + type: string + href: + type: string + required: + - rel + - href + ConsentMarketingSettingsInput: + description: The marketing consent settings + type: object + required: + - marketing + properties: + marketing: + type: object + required: + - email + - sms + - phone + - postal_mail + - custom + properties: + email: + type: boolean + sms: + type: boolean + phone: + type: boolean + postal_mail: + type: boolean + custom: + type: boolean + CompaniesCreateNewCompanyRequest: + title: Company + description: '' + type: object + x-examples: {} + required: + - name + - type + properties: + type: + type: string + enum: + - prospect + - client + - supplier + name: + description: Company name + type: string + example: Example company + maxLength: 250 + email: + description: Company email + type: string + format: email + example: contact@example-company.com + nullable: true + website: + description: Company website + type: string + format: url + example: http://example-company.com + nullable: true + phone_number: + description: Company phone number + type: string + example: '+33100000000' + nullable: true + mobile_number: + description: Company mobile number + type: string + example: '+33600000000' + nullable: true + fax_number: + description: Company Fax number + type: string + example: '+33100000000' + nullable: true + legal_france: + type: object + properties: + siret: + description: Company Siret + type: string + minLength: 14 + maxLength: 14 + nullable: true + example: '73282932000074' + siren: + description: Company Siren + type: string + minLength: 9 + maxLength: 9 + nullable: true + example: '732829320' + vat: + description: VAT number + type: string + minLength: 2 + maxLength: 15 + nullable: true + example: FR99999999999 + ape_naf_code: + description: APE/NAF Code + type: string + minLength: 5 + maxLength: 6 + nullable: true + example: 4711C + company_type: + description: Company type + type: string + minLength: 2 + maxLength: 100 + nullable: true + example: SAS + rcs_immatriculation: + description: RCS immatriculation code + type: string + minLength: 3 + maxLength: 200 + nullable: true + example: RCS xxxxx + capital: + description: Company Capital + type: string + nullable: true + example: '4000' + reference: + description: Company reference + type: string + example: CLI-1654 + nullable: true + note: + description: Note on company + type: string + example: An handed-written note describing this company + auxiliary_code: + description: Auxiliary code + type: string + example: 0EX11C + nullable: true + social: + type: object + properties: + twitter: + description: Twitter account + type: string + format: url + example: https://twitter.com/example + nullable: true + facebook: + description: Facebook account + type: string + format: url + example: https://facebook.com/example + nullable: true + linkedin: + description: Linkedin account + type: string + format: url + example: https://linkedin.com/example + nullable: true + viadeo: + description: Viadeo account + type: string + format: url + example: https://viadeo.com/example + nullable: true + rate_category_id: + description: Company Rate category id + type: integer + nullable: true + example: 9956 + accounting_code_id: + description: Company accounting code id + type: integer + nullable: true + example: 12345 + accounting_purchase_code_id: + description: Company accouting purchase code id + type: integer + nullable: true + example: 98556 + owner_id: + description: Owner of the company (Staff id expected) + type: integer + nullable: true + example: 112 + minimum: 1 + is_archived: + description: Status archived or not + type: boolean + nullable: false + example: false + business_segment: + description: Company business segment + type: integer + nullable: true + number_of_employees: + description: Number of employees of company + type: integer + nullable: true + marketing_campaigns_subscriptions: + description: list of campaign type subscribed + type: array + items: + type: string + enum: + - sms + - phone + - email + - postal_mail + - custom + uniqueItems: true + created: + description: Date of creation of the company + type: string + format: date-time + CompaniesSearchCompaniesRequest: + title: Company filters + type: object + required: + - filters + properties: + filters: + description: Company filters + type: object + properties: + created: + title: Created at + description: Filter the company list by creation date + type: object + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + updated_at: + title: Updated at + description: Filter the company list by last update date + type: object + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + name: + title: Name + description: Filter the company list by name (exact search) + type: string + example: Company + email: + title: Email + description: Filter the company list by email (exact search) + type: string + example: contact@example.com + type: + title: Type + description: Filter the company list by type + oneOf: + - type: string + enum: + - prospect + - client + - supplier + - type: array + uniqueItems: true + items: + type: string + enum: + - prospect + - client + - supplier + is_archived: + title: Is archived + description: Filter the company list by is_archived + type: boolean + example: false + contacts: + title: Contacts + description: Filter the company list for the given contacts + type: array + items: + type: integer + siret: + title: Siret + description: Filter the company list by siret + type: string + example: '36252187900034' + id: + title: Companies + description: Filter companies list by ID + type: array + items: + type: integer + example: + - 12 + - 22 + country_code: + title: Country code + description: Filter the company list by country code (main address only) + type: string + example: FR + postal_code: + title: Postal code + description: Filter the company list by postal code (main address only) + type: array + items: + type: string + example: + - '17001' + - '17002' + favourite_filter: + $ref: >- + #/components/schemas/ContactFilters/properties/filters/properties/favourite_filter + CompaniesUpdateInformationRequest: + title: Company + description: '' + type: object + x-examples: {} + properties: + name: + description: Company name + type: string + example: Example company + maxLength: 250 + email: + description: Company email + type: string + format: email + example: contact@example-company.com + nullable: true + website: + description: Company website + type: string + format: url + example: http://example-company.com + nullable: true + phone_number: + description: Company phone number + type: string + example: '+33100000000' + nullable: true + mobile_number: + description: Company mobile number + type: string + example: '+33600000000' + nullable: true + fax_number: + description: Company Fax number + type: string + example: '+33100000000' + nullable: true + legal_france: + $ref: >- + #/paths/~1companies/post/requestBody/content/application~1json/schema/properties/legal_france + capital: + description: Company Capital + type: string + nullable: true + example: '4000' + reference: + description: Company reference + type: string + example: CLI-1654 + nullable: true + note: + description: Note on company + type: string + example: An handed-written note describing this company + auxiliary_code: + description: Auxiliary code + type: string + example: 0EX11C + nullable: true + social: + $ref: >- + #/paths/~1companies/post/requestBody/content/application~1json/schema/properties/social + rate_category_id: + description: Company Rate category id + type: integer + nullable: true + example: 9956 + accounting_code_id: + description: Company accounting code id + type: integer + nullable: true + example: 12345 + accounting_purchase_code_id: + description: Company accouting purchase code id + type: integer + nullable: true + example: 98556 + owner_id: + description: Owner of the company (Staff id expected) + type: integer + nullable: true + example: 112 + minimum: 1 + is_archived: + description: Status archived or not + type: boolean + nullable: false + example: false + business_segment: + description: Company business segment + type: integer + nullable: true + number_of_employees: + description: Number of employees of company + type: integer + nullable: true + marketing_campaigns_subscriptions: + description: list of campaign type subcribed + type: array + items: + type: string + enum: + - sms + - phone + - email + - postal_mail + - custom + uniqueItems: true + CompaniesUpdateCustomFieldsRequest: + description: Custom fields + type: array + items: + description: Company + type: object + properties: + id: + description: Custom Field id + type: integer + example: 1 + value: + anyOf: + - title: Simple text + description: Value of custom field + type: string + example: Lorem + nullable: true + - title: Rich text + description: Value of custom field + type: string + example:

Lorem ipsum in dolor.

+ nullable: true + - title: Numeric value + description: Value of custom field. Numeric value (integer) only + type: string + example: '15' + nullable: true + - title: Amount with currency + type: object + nullable: true + properties: + amount: + description: Amount. Will use the default one if null. Numeric value + type: string + example: '15.26' + nullable: true + currency: + description: Currency (ISO 4217). Will use the default one if null + type: string + example: EUR + nullable: true + required: + - amount + - currency + - title: Numeric field with unit + type: object + nullable: true + properties: + number: + description: Value of custom field. Numeric value + type: string + example: '15.26' + nullable: true + unit_id: + description: Unit ID + type: integer + example: 1 + nullable: true + required: + - number + - unit_id + - title: Radio button + description: Selected choice + type: integer + example: 12345 + nullable: true + - title: Select + description: Value of custom field + type: integer + example: 12345 + nullable: true + - title: Multiple choice + description: List of selected choice + type: array + example: '{ 1, 2, 3 }' + items: + type: integer + nullable: true + - title: Date + description: Date + type: string + format: date + nullable: true + example: '2021-03-22' + - title: Time + description: Time + type: string + nullable: true + example: '05:30' + - title: Email address + description: Email + type: string + format: email + nullable: true + maxLength: 250 + example: john.doe@email.com + - title: Url + description: URL + type: string + format: url + nullable: true + example: https://domain.com + - title: Yes / No + description: Value of custom field + type: boolean + example: true + nullable: true + - title: Client / Prospect / Supplier + description: List of company/invidual IDs + type: array + example: '{ 1, 2, 3 }' + items: + type: integer + nullable: true + - title: Product / service + description: List of Item IDs + type: array + example: '{ 1, 2, 3 }' + items: + type: integer + nullable: true + - title: Contact + description: List of Contact IDs + type: array + example: '{ 1, 2, 3 }' + items: + type: integer + nullable: true + - title: Staff member + description: List of Staff IDs + type: array + example: '{ 1, 2, 3 }' + items: + type: integer + nullable: true + nullable: true + required: + - id + - value + CompaniesLinkSmartTagsRequest: + title: smart tag + type: array + nullable: true + items: + anyOf: + - title: Create and link smart-tags + description: >- + Create a new tag and link it to the entity. If the value already + exists, the tag is only linked to the entity and does not create a + duplicate. It's not case sensitive and not accented. + type: object + properties: + value: + description: value of smart tags + type: string + example: smart tag + nullable: false + required: + - value + - title: Link by identifier + description: Link an existing tag to the entity + type: object + properties: + id: + description: id of smart tags + type: integer + example: 55 + nullable: false + required: + - id + CustomFieldsSearchRequest: + title: Custom Fields filters + type: object + required: + - filters + properties: + filters: + description: Custom Fields filters + type: object + properties: + related_object: + title: Related object + description: Filter the custom fields by object they can be used on + type: string + enum: + - document + - contact + - client + - prospect + - supplier + - item + - service + - ticket + - task + - purchase + - opportunity + - project + - staff + - site + is_required: + description: >- + Filter custom fields according to whether they are required or + not. + type: boolean + IndividualsCreateNewIndividualRequest: + title: Individual + description: '' + type: object + x-examples: {} + required: + - last_name + - type + properties: + type: + type: string + enum: + - prospect + - client + - supplier + last_name: + description: Individual contact lastname + type: string + example: Martin + maxLength: 200 + first_name: + description: Individual contact firstname + type: string + example: Jean + nullable: true + civility: + description: Civility of individual + type: string + example: mr + nullable: true + enum: + - mr + - mrs + - ms + email: + description: Individual email + type: string + format: email + example: jean.martin@personal-example.com + nullable: true + website: + description: Individual website + type: string + format: url + example: http://personal-example.com + nullable: true + phone_number: + description: Phone number + type: string + example: '+33100000000' + nullable: true + mobile_number: + description: Mobile number + type: string + example: '+33600000000' + nullable: true + fax_number: + description: Fax number + type: string + example: '+33100000000' + nullable: true + reference: + description: Internal reference + type: string + example: IND-1654 + nullable: true + note: + description: Note on company + type: string + example: An handed-written note describing this company + auxiliary_code: + description: Auxiliary code + type: string + example: 0EX11C + nullable: true + social: + $ref: >- + #/paths/~1companies/post/requestBody/content/application~1json/schema/properties/social + rate_category_id: + description: Rate category id + type: integer + nullable: true + example: 9956 + accounting_code_id: + description: Accounting code id + type: integer + nullable: true + example: 12345 + accounting_purchase_code_id: + description: Accouting purchase code id + type: integer + nullable: true + example: 98556 + owner_id: + description: Owner of the company (Staff id expected) + type: integer + nullable: true + example: 112 + minimum: 1 + is_archived: + description: Status archived or not + type: boolean + nullable: false + example: false + marketing_campaigns_subscriptions: + description: list of campaign type subcribed + type: array + items: + type: string + enum: + - sms + - phone + - email + - postal_mail + - custom + uniqueItems: true + sync: + type: object + properties: + mailchimp: + description: Activate the mailchimp synchronization + type: boolean + nullable: false + mailjet: + description: Activate the mailjet synchronization + type: boolean + nullable: false + simplemail: + description: Activate the simplemail synchronization + type: boolean + nullable: false + created: + description: Date of creation of the individual + type: string + format: date-time + IndividualsSearchResultsRequest: + title: Individual filters + type: object + required: + - filters + properties: + filters: + description: Individual filters + type: object + properties: + created: + title: Created at + description: Filter the individual list by creation date + type: object + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + updated_at: + title: Updated at + description: Filter the individual list by last update date + type: object + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + name: + title: Name + description: Filter the individual list by name (exact search) + type: string + example: Jean + email: + title: Email + description: Filter the individual list by email (exact search) + type: string + example: contact@example.com + type: + title: Type + description: Filter the individual list by type + oneOf: + - type: string + example: prospect + enum: + - prospect + - client + - supplier + - type: array + uniqueItems: true + items: + type: string + example: prospect + enum: + - prospect + - client + - supplier + is_archived: + title: Is archived + description: Filter the individual list by is_archived + type: boolean + example: false + id: + title: Individuals + description: Filter individuals list by ID + type: array + items: + type: integer + example: + - 12 + - 22 + favourite_filter: + $ref: >- + #/components/schemas/ContactFilters/properties/filters/properties/favourite_filter + IndividualsUpdateInfoRequest: + title: Individual + description: '' + type: object + x-examples: {} + properties: + last_name: + description: Individual contact lastname + type: string + example: Martin + maxLength: 200 + first_name: + description: Individual contact firstname + type: string + example: Jean + nullable: true + civility: + description: Civility of individual + type: string + example: mr + nullable: true + enum: + - mr + - mrs + - ms + email: + description: Individual email + type: string + format: email + example: jean.martin@personal-example.com + nullable: true + website: + description: Individual website + type: string + format: url + example: http://personal-example.com + nullable: true + phone_number: + description: Phone number + type: string + example: '+33100000000' + nullable: true + mobile_number: + description: Mobile number + type: string + example: '+33600000000' + nullable: true + fax_number: + description: Fax number + type: string + example: '+33100000000' + nullable: true + reference: + description: Internal reference + type: string + example: IND-1654 + nullable: true + note: + description: Note on company + type: string + example: An handed-written note describing this company + auxiliary_code: + description: Auxiliary code + type: string + example: 0EX11C + nullable: true + social: + $ref: >- + #/paths/~1companies/post/requestBody/content/application~1json/schema/properties/social + rate_category_id: + description: Rate category id + type: integer + nullable: true + example: 9956 + accounting_code_id: + description: Accounting code id + type: integer + nullable: true + example: 12345 + accounting_purchase_code_id: + description: Accouting purchase code id + type: integer + nullable: true + example: 98556 + owner_id: + description: Owner of the individual (Staff id expected) + type: integer + nullable: true + example: 112 + minimum: 1 + is_archived: + description: Status archived or not + type: boolean + nullable: false + example: false + marketing_campaigns_subscriptions: + description: list of campaign type subcribed + type: array + items: + type: string + enum: + - sms + - phone + - email + - postal_mail + - custom + uniqueItems: true + sync: + type: object + properties: + mailchimp: + description: Activate the mailchimp synchronization + type: boolean + nullable: false + mailjet: + description: Activate the mailjet synchronization + type: boolean + nullable: false + simplemail: + description: Activate the simplemail synchronization + type: boolean + nullable: false + CrmActivitiesExportActivitySearchRequest: + allOf: + - $ref: '#/components/schemas/ExportParams' + - $ref: '#/components/schemas/CrmActivityFilters' + AccountingSearchCodesRequest: + title: accountingCodeFilters + description: Accounting code filters + type: object + properties: + filters: + description: Accounting code filters + type: object + properties: + views: + type: array + items: + type: string + enum: + - third + - purchase + - sell + - bank + - reconciliation + required: + - filters + AccountingJournalSearchRequest: + title: Accounting journal filters + description: Accounting code filters + type: object + properties: + filters: + description: Accounting code filters + type: object + properties: + date: + description: Filter by date of accounting entry + type: object + properties: + start: + type: string + format: date + end: + type: string + format: date + accounting_codes: + description: Filter by accounting codes + type: array + items: + type: string + currency: + description: Filter by currency + type: string + include_exported_entries: + description: Include or not, entries already exported + type: boolean + bank_accounts: + description: Filter by bank accounts. Usable only for bank journal + type: array + items: + type: integer + simplified_view_by_client: + description: Filter client entries. Usable only for bank journal + type: boolean + required: + - filters + AccountingJournalExportRequest: + allOf: + - $ref: '#/components/schemas/AccountingJournalExportParams' + - $ref: >- + #/paths/~1accounting-journal~1%7Btype%7D~1search/post/requestBody/content/application~1json/schema + TaxesCreateTaxRequest: + title: Tax + description: '' + type: object + x-examples: {} + required: + - rate + - label + properties: + rate: + description: Tax rate + type: number + example: 20 + nullable: false + label: + description: Tax label + type: string + example: TVA + nullable: false + before_sibling: + description: > + ID of tax before which to place the tax specified in path + parameter
> if not specified, tax will be placed at the last + rank of the taxes list + type: integer + nullable: true + example: 57 + TaxesUpdateTaxInfoRequest: + title: Tax + description: '' + type: object + x-examples: {} + properties: + rate: + description: Tax rate + type: number + example: 20 + nullable: false + label: + description: Tax label + type: string + example: TVA + nullable: false + before_sibling: + description: > + ID of tax before which to place the tax specified in path + parameter
> if not specified, tax will be placed at the last + rank of the taxes list + type: integer + nullable: true + example: 57 + TaxesUpdateAccountingCodesRequest: + title: Accouting codes of taxes + type: object + properties: + debit_vat: + title: Accounting code + description: accounting codes applied to debit vat + type: object + properties: + collected_vat_id: + description: Accounting code for collected vat + type: integer + example: 44568 + deductible_vat_id: + description: Accounting code for deductible vat + type: integer + example: 44568 + required: + - collected_vat_id + - deductible_vat_id + collection_vat: + title: Accounting code + description: accounting codes applied to collection vat + type: object + properties: + collected_vat_id: + description: Accounting code for collected vat + type: integer + example: 44568 + deductible_vat_id: + description: Accounting code for deductible vat + type: integer + example: 44568 + required: + - collected_vat_id + - deductible_vat_id + RateCategoriesCreateCategoryRequest: + title: Rate category + description: '' + type: object + x-examples: {} + required: + - label + properties: + label: + description: Label of rate category + type: string + example: Tarif HT + includes_taxes: + description: Are taxes included + type: boolean + example: true + default: false + currency: + description: Currency + type: string + nullable: true + example: EUR + tax_id: + description: Id of tax + type: integer + nullable: true + example: 3822666 + accounting_code_id: + description: Id of accounting code + type: integer + nullable: true + example: 1160745 + discount_accounting_code_id: + description: Id of discount accounting code + type: integer + nullable: true + example: 1160745 + default_layouts: + title: Default layouts + description: Default layouts + type: object + x-examples: {} + properties: + estimates: + description: Estimates layout id + type: integer + nullable: true + example: 157 + invoices: + description: Invoices layout id + type: integer + nullable: true + example: 158 + credit_notes: + description: Credit notes layout id + type: integer + nullable: true + example: 159 + models: + description: Models layout id + type: integer + nullable: true + example: 157 + deliveries: + description: Deliveries layout id + type: integer + nullable: true + example: .nan + orders: + description: Orders layout id + type: integer + nullable: true + example: .nan + proformas: + description: Proformas layout id + type: integer + nullable: true + example: .nan + price: + description: Price rule + oneOf: + - title: Price type value + description: Price type value + type: object + x-examples: {} + required: + - type + properties: + type: + description: Set an amount per product + type: string + enum: + - value + example: value + - title: Price type percent + description: Price type percent + type: object + x-examples: {} + required: + - type + - value + properties: + type: + description: Apply a percentage to the reference price of the product + type: string + enum: + - percent + example: percent + value: + description: Price value + type: string + example: 10.5 + RateCategoriesUpdateRateCategoryRequest: + title: Rate category + description: '' + type: object + x-examples: {} + properties: + label: + description: Label of rate category + type: string + example: Tarif HT + includes_taxes: + description: Are taxes included + type: boolean + example: true + default: false + currency: + description: Currency + type: string + nullable: true + example: EUR + tax_id: + description: Id of tax + type: integer + nullable: true + example: 3822666 + accounting_code_id: + description: Id of accounting code + type: integer + nullable: true + example: 1160745 + discount_accounting_code_id: + description: Id of discount accounting code + type: integer + nullable: true + example: 1160745 + default_layouts: + $ref: >- + #/paths/~1rate-categories/post/requestBody/content/application~1json/schema/properties/default_layouts + price: + description: Price rule + oneOf: + - $ref: >- + #/paths/~1rate-categories/post/requestBody/content/application~1json/schema/properties/price/oneOf/0 + - $ref: >- + #/paths/~1rate-categories/post/requestBody/content/application~1json/schema/properties/price/oneOf/1 + PaymentsSearchMethodsRequest: + type: object + properties: + filters: + type: object + PurchaseOcrSearchDocumentRequest: + type: object + properties: + filters: + type: object + properties: + state: + description: Filter by ocr state + type: array + items: + type: string + enum: + - pending + - processing + - completed + - error + staff_id: + description: filters by staff ids + type: array + items: + type: integer + ConformitiesActivateInvoiceConformityRequest: + type: object + properties: + confirm_final_change: + description: Confirm definitively activate invoice conformity + type: boolean + enum: + - true + required: + - confirm_final_change + ActivitiesPerformSearchRequest: + allOf: + - $ref: '#/components/schemas/ActivityFilters' + - description: The activity filters + type: object + properties: + filters: + description: Activity filters + type: object + properties: + object_related: + description: Filter for get the activity related to an object + type: object + properties: + type: + type: string + enum: + - company + - individual + - opportunity + - contact + id: + type: integer + minimum: 1 + example: 1029 + EmailsValidateDnsRequest: + description: Email domain validation's request body + type: object + properties: + domain: + description: The email DNS + type: string + example: domain.com + ItemsSearchItemsRequest: + title: Item filters + type: object + required: + - filters + properties: + filters: + description: Item filters + type: object + properties: + type: + title: Item type + description: Filter items list by item type + type: array + minItems: 1 + items: + type: string + enum: + - product + - service + - shipping + - packaging + example: + - product + - service + favourite_filter: + $ref: >- + #/components/schemas/ContactFilters/properties/filters/properties/favourite_filter + ItemsUpdatePricesListRequest: + type: array + items: + $ref: '#/components/schemas/ItemInputPrice' + ItemsGetDeclinationsListRequest: + title: Declinations filters + type: object + properties: + filters: + description: Declinations filters + type: object + properties: + id: + title: Declination id + type: integer + BatchRequestCreateRequest: + type: string + InvoicesLinkCreditNoteRequest: + title: Metada related to the link between documents + description: Metada related to the link between documents + type: object + properties: + amount: + description: Amount to be balanced on the document + type: string + example: '12.66' + required: + - amount + PaymentsSearchPaymentsRequest: + title: Payments filters + description: Payments filters + type: object + properties: + filters: + description: Payments filters + type: object + properties: + status: + title: Status + description: Filter payments by status + example: + - pending + - confirmed + type: array + items: + type: string + enum: + - pending + - confirmed + - rejected + - failed + - refund + related_objects: + title: Related Objects + type: array + items: + type: object + properties: + type: + type: string + enum: + - company + - individual + example: company + id: + type: integer + example: 22 + required: + - filters + SubscriptionsSearchSubscriptionsRequest: + type: object + properties: + filters: + title: Subscription filters + description: Subscription filters + type: object + properties: + related_objects: + type: array + items: + title: Related + description: Objects linked to the subscription + type: object + properties: + id: + description: ID of related + type: integer + example: 234 + type: + description: Type of related + type: string + example: company + enum: + - company + - individual + required: + - id + - type + required: + - filters + SubscriptionsAddPaymentInstallmentRequest: + title: Add deadlines for a subscription + type: object + properties: + count: + description: Number of deadlines to add to the subscription + type: integer + example: 2 + minimum: 1 + required: + - count + SubscriptionsSearchPaymentInstallmentsRequest: + title: Payment installment filters + description: Payment installment filters + type: object + properties: + filters: + description: Payment installment filters + type: object + required: + - filters + DocumentModelsUpdateModelRequest: + title: Update model + type: object + properties: + number: + description: Name of model + type: string + maxLength: 100 + example: model#1 + subject: + description: > + Subject of model

Note: Date variables, called "tag", + can be integrated in this property, they will be replaced by the + real value when converting the document template to a document
> + Refer to endpoint's description of list available tags for document + model. + type: string + example: Subject + currency: + description: Currency code of the model + type: string + example: EUR + discount: + description: Global discount applied on the model + type: object + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + description: value of discount + type: string + example: '25.20' + owner_id: + description: Invoice's owner (staff id) + type: integer + example: 145 + minimum: 1 + rows: + type: array + nullable: true + items: + $ref: '#/components/schemas/CreateModel/properties/rows/items' + DocumentModelsSearchModelsRequest: + title: Models filters + description: Models filters + type: object + properties: + filters: + description: Models filters + type: object + properties: + created: + title: Created at + description: Filter the document models list by creation date + type: object + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + owners: + title: Owners + description: Filter the document models list by owner (staff id) + type: array + items: + type: integer + assigned_staff_ids: + title: Assigned staffs + description: Filter the document models list by assigned staffs (staff id) + type: array + items: + type: integer + number: + title: number + description: Filter the document models list by number (exact search) + type: string + example: FAC-0001 + currency: + title: currency + description: Currency code (exact search) + type: string + example: EUR + required: + - filters + DocumentModelsConvertDocumentModelRequest: + title: Convert model + type: object + properties: + doctype: + description: Type of document to generate + type: string + example: invoice + enum: + - estimate + - invoice + - credit-note + - order + related: + description: Objects that should be linked to the document to be generated + type: array + items: + type: object + properties: + type: + description: Type of related + type: string + example: company + enum: + - company + - individual + - opportunity + id: + description: Related identifier + type: integer + example: 7 + refresh_rows_content: + description: >- + Update the price of the rows product, service, shipping and + packaging + type: boolean + example: true + required: + - doctype + - related + - refresh_rows_content + CommentsGetListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CommentItem' + required: + - pagination + - data + CommentsSearchCommentsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CommentItem' + required: + - pagination + - data + CompaniesGetListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1companies/post/responses/201/content/application~1json/schema + required: + - pagination + - data + CompaniesCreateNewCompanyResponse: + title: Company with embed + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + - type: object + properties: + _embed: + nullable: true + allOf: + - title: Embed for Company + description: Optional objects added through the embed parameter + type: object + x-examples: {} + allOf: + - type: object + properties: + invoicing_address: + description: Invocing address + nullable: true + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + delivery_address: + description: Delivery address + nullable: true + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + main_contact: + description: Main contact + nullable: true + allOf: + - $ref: >- + #/components/schemas/OpportunityItem/properties/_embed/allOf/0/properties/contacts/items + dunning_contact: + description: Dunning contact + nullable: true + allOf: + - $ref: >- + #/components/schemas/OpportunityItem/properties/_embed/allOf/0/properties/contacts/items + invoicing_contact: + description: Invoicing contact + nullable: true + allOf: + - $ref: >- + #/components/schemas/OpportunityItem/properties/_embed/allOf/0/properties/contacts/items + opportunities: + description: Count of opportunities + nullable: true + type: integer + example: 2 + estimates: + description: Count of estimates + nullable: true + type: integer + example: 2 + invoices: + description: Count of invoices + nullable: true + type: integer + example: 2 + orders: + description: Count of orders + nullable: true + type: integer + example: 2 + deliveries: + description: Count of deliveries + nullable: true + type: integer + example: 2 + acl: + description: Company acl + nullable: true + allOf: + - $ref: >- + #/components/schemas/Activity/properties/_embed/properties/acl/oneOf/0 + smart_tags: + description: Smart-tags linked + nullable: true + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + - $ref: '#/components/schemas/SaleEmbed/properties/_embed/allOf/2' + CompaniesSearchCompaniesResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1companies/post/responses/201/content/application~1json/schema + required: + - pagination + - data + CompaniesListFavouriteFiltersResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + CompaniesGetAddressesResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Address' + required: + - pagination + - data + CompaniesGetContactsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ContactCollectionItem' + required: + - pagination + - data + CompaniesGetCustomFieldsListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + anyOf: + - title: Simple text + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0 + - type: object + nullable: true + properties: + value: + description: Value of custom field + type: string + nullable: true + example: Lorem + - title: Rich text + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/1 + - type: object + nullable: true + properties: + value: + description: Value of custom field + type: string + nullable: true + example:

Lorem ipsum in dolor.

+ - title: Email address + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/2 + - type: object + nullable: true + properties: + value: + description: Email + type: string + format: email + nullable: true + example: john.doe@email.com + - title: Url + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/3 + - type: object + nullable: true + properties: + value: + description: URL + type: string + format: url + nullable: true + example: https://domain.com + - title: Numeric value + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/4 + - type: object + nullable: true + properties: + value: + description: Value of custom field, numeric value + type: string + nullable: true + example: '15' + - title: Date + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/5 + - type: object + nullable: true + properties: + value: + description: Date + type: string + format: date + nullable: true + example: '2021-03-22' + - title: Hour + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/6 + - type: object + nullable: true + properties: + value: + description: Time + type: string + nullable: true + pattern: ^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$ + example: '05:30' + - title: Amount with currency + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/7 + - type: object + nullable: true + properties: + value: + type: object + properties: + amount: + description: Amount, numeric value + type: string + nullable: true + example: '15.26' + currency: + description: Currency (ISO 4217) + type: string + pattern: ^[A-Za-z *]{2,5}$ + nullable: true + example: EUR + - title: Numeric field with unit + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/8 + - type: object + nullable: true + properties: + value: + type: object + properties: + number: + description: Value of custom field, numeric value + type: string + nullable: true + example: '15.26' + unit_id: + description: Unit ID + type: integer + nullable: true + example: 1 + - title: Radio button + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/9 + - type: object + nullable: true + properties: + value: + description: Selected choice + type: integer + nullable: true + example: 12345 + - title: Select + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/10 + - type: object + nullable: true + properties: + value: + description: Value of custom field + type: integer + nullable: true + example: 12345 + - title: Multiple choice + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/11 + - type: object + nullable: true + properties: + value: + description: List of selected choice + type: array + nullable: true + example: '{ 1, 2, 3 }' + items: + type: integer + - title: Yes / No + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/12 + - type: object + nullable: true + properties: + value: + description: Value of custom field + type: boolean + nullable: true + example: true + - title: Client/Prospect/Supplier + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/13 + - type: object + nullable: true + properties: + value: + description: List of company/inviduals + type: array + nullable: true + items: + type: object + properties: + type: + description: company/individual's type + type: string + example: company + id: + description: company/individual's ID + type: integer + example: 15 + - title: Contact + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/14 + - type: object + nullable: true + properties: + value: + description: List of Contact IDs + type: array + nullable: true + example: '{ 1, 2, 3 }' + items: + type: integer + - title: Staff member + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/15 + - type: object + nullable: true + properties: + value: + description: List of Staff IDs + type: array + nullable: true + example: '{ 1, 2, 3 }' + items: + type: integer + - title: Products/services + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/16 + - type: object + nullable: true + properties: + value: + description: List of Item IDs + type: array + nullable: true + example: '{ 1, 2, 3 }' + items: + type: integer + required: + - pagination + - data + CompaniesGetSmartTagsListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + title: smart tag + type: array + items: + type: object + properties: + value: + description: value of smart tags + type: string + example: smart tag + id: + description: id of smart tags + type: integer + example: 55 + CompaniesLinkSmartTagsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + CompaniesListFilesResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + ContactsGetCompaniesResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + title: Company + description: '' + type: object + x-examples: {} + properties: + id: + description: Unique ID + type: integer + example: 6657 + type: + type: string + enum: + - prospect + - client + - supplier + name: + description: Company name + type: string + example: Example company + maxLength: 250 + email: + description: Company email + type: string + format: email + example: contact@example-company.com + nullable: true + website: + description: Company website + type: string + format: url + example: http://example-company.com + nullable: true + phone_number: + description: Company phone number + type: string + example: '+33100000000' + nullable: true + mobile_number: + description: Company mobile number + type: string + example: '+33600000000' + nullable: true + fax_number: + description: Company Fax number + type: string + example: '+33100000000' + nullable: true + legal_france: + type: object + properties: + siret: + description: Company Siret + type: string + nullable: true + example: '73282932000074' + siren: + description: Company Siren + type: string + nullable: true + example: '732829320' + vat: + description: VAT number + type: string + nullable: true + example: FR99999999999 + ape_naf_code: + description: APE/NAF Code + type: string + nullable: true + example: 4711C + company_type: + description: Company type + type: string + nullable: true + example: SAS + rcs_immatriculation: + description: RCS immatriculation code + type: string + nullable: true + example: RCS xxxxx + capital: + description: Company Capital + type: string + nullable: true + example: '4000' + reference: + description: Company reference + type: string + example: CLI-1654 + nullable: true + note: + description: Note on company + type: string + example: An handed-written note describing this company + auxiliary_code: + description: Auxiliary code + type: string + example: 0EX11C + nullable: true + social: + $ref: >- + #/paths/~1companies/post/requestBody/content/application~1json/schema/properties/social + rate_category_id: + description: Company Rate category id + type: integer + nullable: true + example: 9956 + main_contact_id: + description: Main contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + dunning_contact_id: + description: Dunning contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + invoicing_contact_id: + description: Invoicing contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + invoicing_address_id: + description: Invoicing address unique ID + type: integer + nullable: true + minimum: 1 + example: 9987 + delivery_address_id: + description: Delivery address unique ID + type: integer + nullable: true + minimum: 1 + example: 6547 + accounting_code_id: + description: Company accounting code id + type: integer + nullable: true + example: 12345 + accounting_purchase_code_id: + description: Company accouting purchase code id + type: integer + nullable: true + example: 98556 + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + created: + description: Datetime of creating company + type: string + format: date-time + nullable: false + example: '2020-05-29T11:22:03+02:00' + updated_at: + description: Datetime of the last update of the company + type: string + format: date-time + nullable: false + example: '2020-05-29T11:22:03+02:00' + is_archived: + description: Status archived or not + type: boolean + nullable: false + example: false + business_segment: + description: Company business segment + type: object + nullable: true + properties: + id: + type: integer + example: 3 + label: + type: string + example: Software publisher / Digital services company + number_of_employees: + description: Number of employees of company + type: object + nullable: true + properties: + id: + type: integer + example: 1 + label: + type: string + example: From 1 to 5 + marketing_campaigns_subscriptions: + description: list of campaign type subcribed + type: array + items: + type: string + enum: + - sms + - phone + - email + - postal_mail + - custom + uniqueItems: true + required: + - pagination + - data + SmartTagsAutocompleteGetResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + CustomFieldsGetListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + anyOf: + - title: Simple text + type: object + allOf: + - title: Custom field + description: '' + type: object + x-examples: {} + properties: + description: + description: Description of custom field + type: string + maxLength: 250 + example: A text describing this custom field. + id: + description: Customfield id + type: integer + readOnly: true + example: 6657 + name: + description: Name of custom field + type: string + maxLength: 250 + example: Business sector + code: + description: Machine name of custom field + type: string + maxLength: 250 + example: business-sector + mandatory: + description: Custom field must be completed or not + type: boolean + example: false + rank: + description: Rank of custom field in group + type: integer + example: 1 + related_object: + description: List of objects the custom field can be used on + type: array + items: + type: string + enum: + - document + - contact + - client + - prospect + - supplier + - product + - service + - ticket + - task + - purchase + - opportunity + - project + - staff + - site + uniqueItems: true + customfield_group: + description: Full custom field group object + type: object + properties: + id: + description: Group id + type: integer + readOnly: true + example: 123 + name: + description: Group name + type: string + maxLength: 250 + example: intervention + code: + description: Group code + type: string + maxLength: 250 + example: groupintervention + open_by_default: + description: Group is open by default or not + type: boolean + example: false + - type: object + properties: + parameters: + description: Field type parameters + type: object + properties: + default_value: + description: Default value + type: string + minLength: 0 + maxLength: 250 + nullable: true + example: Simple text + char_min: + description: Min characters + type: integer + minimum: 0 + maximum: 250 + nullable: true + example: 0 + char_max: + description: Max characters + type: integer + minimum: 0 + maximum: 250 + nullable: true + example: 250 + type: + description: Simple text + type: string + enum: + - simple-text + - title: Rich text + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + parameters: + description: Field type parameters + type: object + properties: + default_value: + description: Default value + type: string + minLength: 0 + maxLength: 65000 + nullable: true + example: Rich text + char_min: + description: Min characters + type: integer + minimum: 0 + maximum: 65000 + nullable: true + example: 0 + char_max: + description: Max characters + type: integer + minimum: 0 + maximum: 65000 + nullable: true + example: 500 + type: + description: Rich text + type: string + enum: + - rich-text + - title: Email address + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + parameters: + description: Field type parameters + type: object + properties: + default_value: + description: Default value + type: string + format: email + nullable: true + example: contact@domain.fr + type: + description: Email address + type: string + enum: + - email + - title: Url + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + parameters: + description: Field type parameters + type: object + properties: + default_value: + description: Default value + type: string + format: uri + nullable: true + example: www.sellsy.com + type: + description: Url + type: string + enum: + - url + - title: Numeric value + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + parameters: + description: Field type parameters + type: object + properties: + default_value: + description: Default value, numeric value only + type: string + nullable: true + example: '5' + min_value: + description: Min value, numeric value only + type: string + nullable: true + example: '0' + max_value: + description: Max value, numeric value only + type: string + nullable: true + example: '500' + type: + description: Numeric value + type: string + enum: + - numeric + - title: Date + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + parameters: + description: Field type parameters + type: object + properties: + min_date: + description: Min date + type: string + format: date + nullable: true + example: '2002-01-01' + max_date: + description: Max date + type: string + format: date + nullable: true + example: '2017-01-01' + type: + description: Date + type: string + enum: + - date + - title: Time + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + parameters: + description: Field type parameters + type: object + properties: + min_hour: + description: Min hour + type: string + pattern: ^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$ + nullable: true + example: '00:00' + max_hour: + description: Max hour + type: string + pattern: ^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$ + nullable: true + example: '08:45' + type: + description: Time + type: string + enum: + - time + - title: Amount with currency + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + parameters: + description: Field type parameters + type: object + properties: + default_value: + description: Default value, numeric value only + type: string + nullable: true + example: '15.36' + min_value: + description: Min value, numeric value only + type: string + nullable: true + example: '0.00' + max_value: + description: Max value, numeric value only + type: string + nullable: true + example: '1898.32' + currency: + description: Currency (ISO 4217) + type: string + pattern: ^[A-Za-z *]{2,5}$ + nullable: true + example: EUR + type: + description: Amount with currency + type: string + enum: + - amount + - title: Numeric field with unit + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + parameters: + description: Field type parameters + type: object + properties: + default_value: + description: Default value, numeric value only + type: string + nullable: true + example: '15.35' + min_value: + description: Min value, numeric value only + type: string + nullable: true + example: '0.00' + max_value: + description: Max value, numeric value only + type: string + nullable: true + example: '100.25' + unit: + description: Type of unit + type: string + nullable: true + enum: + - unit + - package + - m2 + - m3 + - ton + - kg + - g + - metres + - days + - hour + - minutes + type: + description: Numeric field with unit + type: string + enum: + - numeric-with-unit + - title: Radio button + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + parameters: + description: Available values list + type: object + properties: + items: + description: Values list + type: array + minItems: 2 + items: + type: object + properties: + id: + description: Id of label + type: integer + example: 15 + label: + description: Label of checkbox item + type: string + minLength: 1 + maxLength: 250 + example: Label + checked: + description: Checked + type: boolean + example: false + rank: + description: Rank of item + type: integer + example: 1 + type: + description: Radio button + type: string + enum: + - radio + - title: Select + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + parameters: + description: Available values list + type: object + properties: + items: + description: Values list + type: array + minItems: 2 + items: + type: object + properties: + id: + description: Id of label + type: integer + example: 15 + label: + description: Label of checkbox item + type: string + minLength: 1 + maxLength: 250 + example: Label + checked: + description: Checked + type: boolean + example: false + rank: + description: Rank of item + type: integer + example: 1 + type: + description: Select + type: string + enum: + - select + - title: Multiple choice + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + parameters: + description: Available values list + type: object + properties: + min: + description: Number minimum of checked values + type: integer + nullable: true + minimum: 1 + example: 1 + max: + description: Number maximum of checked values + type: integer + nullable: true + example: 3 + items: + description: Values list + type: array + minItems: 2 + items: + type: object + properties: + id: + description: Id of label + type: integer + example: 15 + label: + description: Label of checkbox item + type: string + minLength: 1 + maxLength: 250 + example: Label + checked: + description: Checked + type: boolean + example: false + rank: + description: Rank of item + type: integer + example: 1 + type: + description: Multiple choice + type: string + enum: + - checkbox + - title: Yes / No + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + parameters: + description: Field type parameters + type: object + properties: + default_value: + description: Default value + type: boolean + nullable: true + example: false + type: + description: Yes / No + type: string + enum: + - boolean + - title: Client/Prospect/Supplier + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + parameters: + description: Custom settings for this field type + type: object + properties: + number_of_values: + description: Between 1 and 10 + type: integer + minimum: 1 + maximum: 10 + example: 1 + client: + description: Enabled for client-type companies + type: boolean + example: true + prospect: + description: Enabled for prospect-type companies + type: boolean + example: false + supplier: + description: Enabled for supplier-type companies + type: boolean + example: false + address_on_pdf: + description: Add address information on PDFs + type: boolean + example: false + email_on_pdf: + description: Add email information on PDFs + type: boolean + example: false + phone_on_pdf: + description: Add phone information on PDFs + type: boolean + example: false + mobile_on_pdf: + description: Add mobile information on PDFs + type: boolean + example: false + type: + description: Client/Prospect/Supplier + type: string + enum: + - company-individual + - title: Contact + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + parameters: + description: Custom settings for this field type + type: object + properties: + number_of_values: + description: Between 1 and 10 + type: integer + minimum: 1 + maximum: 10 + example: 2 + address_on_pdf: + description: Add address information on PDFs + type: boolean + example: false + email_on_pdf: + description: Add email information on PDFs + type: boolean + example: false + phone_on_pdf: + description: Add phone information on PDFs + type: boolean + example: false + mobile_on_pdf: + description: Add mobile information on PDFs + type: boolean + example: false + type: + description: Contact + type: string + enum: + - contact + - title: Staff member + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + parameters: + description: Custom settings for this field type + type: object + properties: + number_of_values: + description: Between 1 and 10 + type: integer + minimum: 1 + maximum: 10 + example: 2 + email_on_pdf: + description: Add email information on PDFs + type: boolean + example: false + phone_on_pdf: + description: Add phone information on PDFs + type: boolean + example: false + mobile_on_pdf: + description: Add mobile information on PDFs + type: boolean + example: false + type: + description: Staff member + type: string + enum: + - staff + - title: Products/services + type: object + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + parameters: + description: Custom settings for this field type + type: object + properties: + number_of_values: + description: Between 1 and 10 + type: integer + minimum: 1 + maximum: 10 + example: 1 + product: + description: Enabled for product-type items + type: boolean + example: true + service: + description: Enabled for service-type items + type: boolean + example: false + type: + description: Products/services + type: string + enum: + - item + required: + - pagination + - data + CustomFieldsGetInformationResponse: + oneOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/1 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/2 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/3 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/4 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/5 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/6 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/7 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/8 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/9 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/10 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/11 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/12 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/13 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/14 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/15 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/16 + CustomFieldsSearchResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + EstimatesCreateNewEstimateResponse: + allOf: + - $ref: '#/components/schemas/EstimateOne' + - $ref: '#/components/schemas/SaleEmbed' + EstimatesSearchEstimatesResponse: + allOf: + - $ref: '#/components/schemas/EstimateCollection' + - type: object + properties: + aggregations: + $ref: '#/components/schemas/EstimateAggregations' + EstimatesListCustomFieldsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + EstimatesListFavouriteFiltersResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + EstimatesGetByIdResponse: + allOf: + - $ref: '#/components/schemas/EstimateOne' + - $ref: '#/components/schemas/EstimateOneEmbed' + EstimatesUpdateEstimateResponse: + allOf: + - $ref: '#/components/schemas/EstimateOne' + - $ref: '#/components/schemas/SaleEmbed' + EstimatesUpdateStatusResponse: + allOf: + - $ref: '#/components/schemas/EstimateOne' + - $ref: '#/components/schemas/SaleEmbed' + EstimatesGetFilesForEstimateResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + EstimatesGetPaymentsListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/InvoicingPayment' + EstimatesLinkPaymentToEstimateResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/InvoicingPayment' + EstimatesGetSmartTagsListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + EstimatesLinkSmartTagsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + OrdersGetAllResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Order' + OrdersSearchOrdersResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Order' + required: + - pagination + - data + OrdersGetPaymentsListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/InvoicingPayment' + OrdersListSmartTagsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + OrdersLinkSmartTagsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + OrdersGetCustomFieldsListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + OrdersListFavouriteFiltersResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + OrdersLinkPaymentToOrderResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/InvoicingPayment' + OrdersListFilesResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + IndividualsGetListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + title: Individual with embed + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + - type: object + properties: + _embed: + nullable: true + allOf: + - title: Embed for Individual + description: Optional objects added through the embed parameter + x-examples: {} + additionalProperties: false + allOf: + - type: object + properties: + invoicing_address: + description: Invocing address + nullable: true + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + delivery_address: + description: Delivery address + nullable: true + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + main_contact: + description: Main contact + nullable: true + allOf: + - $ref: >- + #/components/schemas/OpportunityItem/properties/_embed/allOf/0/properties/contacts/items + dunning_contact: + description: Dunning contact + nullable: true + allOf: + - $ref: >- + #/components/schemas/OpportunityItem/properties/_embed/allOf/0/properties/contacts/items + invoicing_contact: + description: Invoicing contact + nullable: true + allOf: + - $ref: >- + #/components/schemas/OpportunityItem/properties/_embed/allOf/0/properties/contacts/items + opportunities: + description: Count of opportunities + nullable: true + type: integer + example: 2 + estimates: + description: Count of estimates + nullable: true + type: integer + example: 2 + invoices: + description: Count of invoices + nullable: true + type: integer + example: 2 + orders: + description: Count of orders + nullable: true + type: integer + example: 2 + deliveries: + description: Count of deliveries + nullable: true + type: integer + example: 2 + acl: + description: Individual acl + nullable: true + allOf: + - $ref: >- + #/components/schemas/Activity/properties/_embed/properties/acl/oneOf/2 + smart_tags: + description: Smart-tags linked + nullable: true + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/2 + required: + - pagination + - data + IndividualsSearchResultsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1individuals/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + IndividualsListFavouriteFiltersResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + IndividualsListFilesOfIndividualResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + IndividualsGetSmartTagsListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + IndividualsLinkSmartTagsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + IndividualsGetAddressesResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Address' + required: + - pagination + - data + IndividualsGetContactsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ContactCollectionItem' + required: + - pagination + - data + IndividualsGetCustomFieldsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + CrmActivitiesGetActivityResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CrmActivity' + aggregations: + $ref: '#/components/schemas/CrmActivityAggregations' + required: + - pagination + - data + CrmActivitiesSearchActivityResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CrmActivity' + aggregations: + $ref: '#/components/schemas/CrmActivityAggregations' + required: + - pagination + - data + CrmActivitiesSearchActivity206Response: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CrmActivity' + aggregations: + $ref: '#/components/schemas/CrmActivityAggregations' + required: + - pagination + - data + CustomActivitiesGetListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CustomActivity' + CustomActivitiesPerformSearchResponse: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/CustomActivity' + pagination: + title: pagination + description: The pagination + type: object + properties: + limit: + type: integer + example: 25 + minimum: 0 + maximum: 100 + total: + type: integer + example: 152 + minimum: 0 + count: + type: integer + example: 25 + minimum: 0 + offset: + anyOf: + - type: integer + minimum: 0 + example: 25 + - type: string + example: WzIwMTQtMDEtMDEsNTk4XQ== + required: + - limit + - total + - count + - offset + CustomActivitiesGetList200Response: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CustomActivityType' + ApiManagementListScopesResponse: + type: array + items: + type: string + ApiManagementGetScopesTreeResponse: {} + ApiManagementListClientsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Client' + ApiManagementListPersonalAccessTokensResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/PersonalAccessTokenItem' + ApiManagementCreatePersonalAccessTokenResponse: + title: createPersonalAccessTokenItem + allOf: + - $ref: '#/components/schemas/PersonalAccessTokenItem/allOf/0' + - type: object + properties: + name: + description: The token name + type: string + example: My Token 7 + token: + description: The oauth2 access token + type: string + example: >- + eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiI2NzBmYWRlZi01NzZlLTQ3YTEtOTM1OC02Mjc4NDYwNWMwMjQiLCJqdGkiOiI5MWUyYmRhNTI4MTYzMTZjMDJjMzRkNTU3YjI4NzJmYjJkNDRkYTNlMDNiZjY3YTQ1YTA2Yjk2MDgzZjNlZjlkNmU5YzU0ZmEzN2VjMGVlYSIsImlhdCI6MTU5MDQyMDUwOSwibmJmIjoxNTkwNDIwNTA5LCJleHAiOjQ3NDYwOTc3MDksInN1YiI6IjM1NjdlMzA0LTk4YTUtNGI3My1hOGY0LWJlN2Y5NzgwZjU4YiIsInNjb3BlcyI6WyJhbGwiLCJjb21wYW5pZXMiLCJjb21wYW5pZXMucmVhZCIsImNvbXBhbmllcy53cml0ZSIsImFjdGl2aXRpZXMiLCJhY3Rpdml0aWVzLnJlYWQiLCJhY3Rpdml0aWVzLndyaXRlIiwibGlzdGluZ3MiLCJsaXN0aW5ncy5yZWFkIiwibGlzdGluZ3Mud3JpdGUiXSwidXNlclR5cGUiOiJzdGFmZiIsInVzZXJJZCI6MSwiY29ycElkIjoxfQ.e6EhrwGhis1w2LdUdR_3aJMOnHRr3eYdiIExqChb_mXOo843spzOOhP5Gigv21IJIEslF7mqudahoLbWIeq12AAUUapAgA93f9-Pxl1OgKkqzvRHN_Ft_Q_HQhX2BuSKrd6HTFtgL6B-vCi21wL-VRsMuasuLl7KDVqlQxikqJ-59MAYCHXOE9hyLOUc85OFvBWyyJOzX_Ey45IYIG6VuieyuNNm6eibjrmnW47gFsT-1YWVDvDJnLwyPew1MuSwbaVmUBLOe9hfjOJGWYPz5Wlrwo0zwbuiKHaXK8BAJ5pLXMpL8uUuMHuaPiMza-mZETXmNKScUwSdUXwEFEmgoQ + required: + - name + - token + AccountingGetCodesResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/AccountingCode' + required: + - pagination + - data + AccountingSearchCodesResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/AccountingCode' + required: + - pagination + - data + AccountingSearchCodes200Response: + type: object + properties: {} + AccountingJournalListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/AccountingJournal' + aggregations: + $ref: '#/components/schemas/AccountingAggregations' + required: + - pagination + - data + AccountingJournalSearchResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/AccountingJournal' + aggregations: + $ref: '#/components/schemas/AccountingAggregations' + required: + - pagination + - data + TaxesGetListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + title: Tax with embed + allOf: + - $ref: '#/components/schemas/CompanyPreferences/properties/tax' + - type: object + properties: + _embed: + nullable: true + allOf: + - title: Embed for Tax + description: Optional objects added through the embed parameter + type: object + x-examples: {} + properties: + acl: + description: Tax acl + nullable: true + allOf: + - title: Tax ACL + description: '' + type: object + x-examples: {} + properties: + rate_can_be_updated: + description: Tax rate can be updated + type: boolean + nullable: false + example: true + can_be_deleted: + description: Tax can be deleted + type: boolean + nullable: false + example: true + translations: + description: Tax translations + type: array + nullable: false + items: + title: Tax Translations + description: '' + type: object + x-examples: {} + properties: + id: + description: Translation id + type: integer + nullable: false + example: 5 + lang_id: + description: Lang id + type: integer + nullable: false + example: 12 + value: + description: Translation value + type: string + nullable: false + example: The value + required: + - pagination + - data + TaxesSearchTaxesResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1taxes/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + TaxesGetAccountingCodesResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + title: Accounting codes of taxes + type: object + properties: + id: + description: Id of tax + type: integer + readOnly: true + example: 6 + rate: + description: Rate of tax + type: number + format: float + example: 20 + label: + description: Label of tax + type: string + example: Product TVA + debit_vat: + title: Accounting code + description: accounting codes applied to debit vat + type: object + properties: + collected_vat: + description: Accounting code for collected vat + type: object + properties: + id: + description: Accounting code id for collected vat + type: integer + nullable: true + example: 23 + code: + description: Accounting code for collected vat + type: string + nullable: true + example: '445680' + required: + - id + - code + deductible_vat: + description: Accounting code for deductible vat + type: object + properties: + id: + description: Accounting code id for deductible vat + type: integer + nullable: true + example: 12 + code: + description: Accounting code for deductible vat + type: string + nullable: true + example: '445680' + required: + - id + - code + required: + - collected_vat + - deductible_vat + collection_vat: + title: Accounting code + description: accounting codes applied to collection vat + type: object + properties: + collected_vat: + description: Accounting code for collected vat + type: object + properties: + id: + description: Accounting code id for collected vat + type: integer + nullable: true + example: 12 + code: + description: Accounting code for collected vat + type: string + nullable: true + example: '445680' + required: + - id + - code + deductible_vat: + description: Accounting code for deductible vat + type: object + properties: + id: + description: Accounting code id for deductible vat + type: integer + nullable: true + example: 7 + code: + description: Accounting code for deductible vat + type: string + nullable: true + example: '445680' + required: + - id + - code + required: + - collected_vat + - deductible_vat + required: + - pagination + - data + RateCategoriesGetListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + title: Tax with embed + allOf: + - title: Rate category + description: '' + type: object + x-examples: {} + properties: + id: + description: Id of rate category + type: integer + readOnly: true + example: 6657 + label: + description: Label of rate category + type: string + example: Tarif HT + includes_taxes: + description: Are taxes included + type: boolean + example: true + currency: + description: Currency + type: string + nullable: true + example: EUR + tax_id: + description: Id of tax + type: integer + nullable: true + example: 3822666 + is_default: + description: Is the default rate category + type: boolean + example: false + accounting: + title: Accounting + description: Accounting codes + type: object + nullable: true + x-examples: {} + properties: + accounting_code_id: + description: Id of accounting code + type: integer + nullable: true + example: 1160745 + discount_accounting_code_id: + description: Id of discount accounting code + type: integer + nullable: true + example: 1160745 + default_layouts: + title: Default layouts + description: Default layouts + type: object + x-examples: {} + properties: + estimates: + description: Estimates layout + type: object + properties: + enabled: + description: Indicates if estimates are enabled + type: boolean + example: true + id: + description: Layout id + type: integer + nullable: true + example: 157 + invoices: + description: Invoices layout + type: object + properties: + enabled: + description: Indicates if invoices are enabled + type: boolean + example: true + id: + description: Layout id + type: integer + nullable: true + example: 158 + credit_notes: + description: Credit notes layout + type: object + properties: + enabled: + description: Indicates if credit notes are enabled + type: boolean + example: true + id: + description: Layout id + type: integer + nullable: true + example: 159 + models: + description: Models layout + type: object + properties: + enabled: + description: Indicates if models are enabled + type: boolean + example: true + id: + description: Layout id + type: integer + nullable: true + example: 160 + deliveries: + description: Deliveries layout + type: object + properties: + enabled: + description: Indicates if deliveries are enabled + type: boolean + example: false + id: + description: Layout id + type: integer + nullable: true + example: 161 + orders: + description: Orders layout + type: object + properties: + enabled: + description: Indicates if orders are enabled + type: boolean + example: false + id: + description: Layout id + type: integer + nullable: true + example: 162 + proformas: + description: Proformas layout + type: object + properties: + enabled: + description: Indicates if proformas are enabled + type: boolean + example: false + id: + description: Layout id + type: integer + nullable: true + example: 163 + price: + description: Price rule + oneOf: + - title: Price type value + description: Price type value + type: object + x-examples: {} + properties: + type: + description: Set an amount per product + type: string + enum: + - value + example: value + - title: Price type percent + description: Price type percent + type: object + x-examples: {} + properties: + type: + description: >- + Apply a percentage to the reference price of the + product + type: string + enum: + - percent + example: percent + value: + description: Price value + type: string + example: 10.5 + - type: object + properties: + _embed: + nullable: true + allOf: + - title: Embed for Rate Category + description: Optional objects added through the embed parameter + type: object + x-examples: {} + properties: + currency: + description: Rate category currency + nullable: true + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/currency + required: + - pagination + - data + PaymentsGetMethodsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/PaymentMethod' + required: + - pagination + - data + PaymentsSearchMethodsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/PaymentMethod' + required: + - pagination + - data + PurchaseOcrListPurchaseInvoicesResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Ocr' + PurchaseOcrSearchDocumentResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Ocr' + ContactsGetListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ContactCollectionItem' + required: + - pagination + - data + ContactsSearchContactsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ContactCollectionItem' + required: + - pagination + - data + ContactsListFavouriteFiltersResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + ContactsGetAddressesResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Address' + required: + - pagination + - data + ContactsGetCustomFieldsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + ContactsListDirectoriesAndFilesResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + ContactsGetSmartTagsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + ContactsLinkSmartTagsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + OpportunitiesGetListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/OpportunityItem' + aggregations: + $ref: '#/components/schemas/OpportunitiesAggregations' + required: + - pagination + - data + OpportunitiesListFilesResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + OpportunitiesSearchOpportunitiesResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/OpportunityItem' + aggregations: + $ref: '#/components/schemas/OpportunitiesAggregations' + required: + - pagination + - data + OpportunitiesListFavouriteFiltersResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + OpportunitiesGetSourcesListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/OpportunitySourceCollectionItem' + required: + - pagination + - data + OpportunitiesSearchSourcesResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/OpportunitySourceCollectionItem' + required: + - pagination + - data + OpportunitiesListCategorySourcesResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/OpportunitySourceCollectionItem' + required: + - pagination + - data + OpportunitiesListPipelinesResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/OpportunityPipelineCollectionItem' + required: + - pagination + - data + OpportunitiesSearchPipelinesResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/OpportunityPipelineCollectionItem' + required: + - pagination + - data + OpportunitiesGetPipelineStepsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + title: Step with embed + allOf: + - title: Step + description: Represents an Opportunity Pipeline Step + type: object + x-examples: {} + properties: + id: + description: Internal Opportunity Pipeline Step ID + type: integer + readOnly: true + example: 1 + name: + description: Opportunity Pipeline Step name + type: string + example: New website + probability: + description: Opportunity Pipeline Step probability + type: integer + example: 75 + maximum: 100 + minimum: 0 + rank: + description: Pipeline rank in preferences + type: integer + example: 2 + minimum: 0 + - type: object + properties: + _embed: + nullable: true + allOf: + - title: Embed for Pipeline Steps + description: Optional objects added through the embed parameter + type: object + x-examples: {} + properties: + opportunities_number: + description: Number of opportunities on this step + type: integer + example: 8 + required: + - pagination + - data + OpportunitiesSearchPipelineStepsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1opportunities~1pipelines~1%7BpipelineId%7D~1steps/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + OpportunitiesSearchPipelineSteps200Response: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1opportunities~1pipelines~1%7BpipelineId%7D~1steps/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + OpportunitiesListCategoriesResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/OpportunitiesCategoryItem' + required: + - pagination + - data + OpportunitiesGetCustomFieldsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + OpportunitiesGetSmartTagsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + OpportunitiesLinkSmartTagsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + TasksGetListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/TaskCollectionItem' + required: + - pagination + - data + TasksSearchTasksResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/TaskCollectionItem' + required: + - pagination + - data + TasksGetLabelsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Label' + required: + - pagination + - data + CalendarGetLabelsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Label' + required: + - pagination + - data + StaffsGetStaffResponse: + anyOf: + - title: Staff with embed + allOf: + - $ref: >- + #/components/schemas/Activity/properties/_embed/properties/author + - type: object + properties: + _embed: + nullable: true + allOf: + - title: Embed for Staff + description: Optional objects added through the embed parameter + type: object + x-examples: {} + properties: + preferences: + description: Staff preferences + allOf: + - title: Staff preferences + type: object + properties: + timezone: + description: Staff timezone + type: string + example: Europe/Paris + format_phone_number: + description: display phone number format + readOnly: true + type: string + enum: + - international + - national + example: international + format_date: + description: display date format + readOnly: true + type: string + example: DD-MM-YYYY + enum: + - MM-DD-YYYY + - DD-MM-YYYY + format_hour: + description: display hour format + readOnly: true + type: integer + example: 24 + enum: + - 12 + - 24 + currency: + description: current currency for staff + readOnly: true + type: string + example: EUR + acl: + description: Staff acl + nullable: true + allOf: + - title: Staff ACL + description: '' + type: object + x-examples: {} + properties: + view_companies: + description: Is allowed to view companies + type: boolean + nullable: false + example: true + create_companies: + description: Is allowed to create companies + type: boolean + nullable: false + example: true + update_companies: + description: Is allowed to update companies + type: boolean + nullable: false + example: true + delete_companies: + description: Is allowed to delete companies + type: boolean + nullable: false + example: true + view_individuals: + description: Is allowed to view individuals + type: boolean + nullable: false + example: true + create_individuals: + description: Is allowed to create individuals + type: boolean + nullable: false + example: true + update_individuals: + description: Is allowed to update individuals + type: boolean + nullable: false + example: true + delete_individuals: + description: Is allowed to delete individuals + type: boolean + nullable: false + example: true + view_clients: + description: Is allowed to view clients + type: boolean + nullable: false + example: true + create_clients: + description: Is allowed to create clients + type: boolean + nullable: false + example: true + update_clients: + description: Is allowed to update clients + type: boolean + nullable: false + example: true + delete_clients: + description: Is allowed to delete clients + type: boolean + nullable: false + example: true + view_prospects: + description: Is allowed to view prospects + type: boolean + nullable: false + example: true + create_prospects: + description: Is allowed to create prospects + type: boolean + nullable: false + example: true + update_prospects: + description: Is allowed to update prospects + type: boolean + nullable: false + example: true + delete_prospects: + description: Is allowed to delete prospects + type: boolean + nullable: false + example: true + view_suppliers: + description: Is allowed to view suppliers + type: boolean + nullable: false + example: true + create_suppliers: + description: Is allowed to create suppliers + type: boolean + nullable: false + example: true + update_suppliers: + description: Is allowed to update suppliers + type: boolean + nullable: false + example: true + delete_suppliers: + description: Is allowed to delete suppliers + type: boolean + nullable: false + example: true + view_contacts: + description: Is allowed to view contacts + type: boolean + nullable: false + example: true + create_contacts: + description: Is allowed to create contacts + type: boolean + nullable: false + example: true + update_contacts: + description: Is allowed to update contacts + type: boolean + nullable: false + example: true + delete_contacts: + description: Is allowed to delete contacts + type: boolean + nullable: false + example: true + view_opportunities: + description: Is allowed to view opportunities + type: boolean + nullable: false + example: true + create_opportunities: + description: Is allowed to create opportunities + type: boolean + nullable: false + example: true + update_opportunities: + description: Is allowed to update opportunities + type: boolean + nullable: false + example: true + delete_opportunities: + description: Is allowed to delete opportunities + type: boolean + nullable: false + example: true + view_estimates: + description: Is allowed to view estimates + type: boolean + nullable: false + example: true + create_estimates: + description: Is allowed to create estimates + type: boolean + nullable: false + example: true + update_estimates: + description: Is allowed to update estimates + type: boolean + nullable: false + example: true + delete_estimates: + description: Is allowed to delete estimates + type: boolean + nullable: false + example: true + view_phone_calls: + description: Is allowed to view phone calls + type: boolean + nullable: false + example: true + create_phone_calls: + description: Is allowed to create phone calls + type: boolean + nullable: false + example: true + update_phone_calls: + description: Is allowed to update phone calls + type: boolean + nullable: false + example: true + delete_phone_calls: + description: Is allowed to delete phone calls + type: boolean + nullable: false + example: true + view_document_models: + description: Is allowed to view document models + type: boolean + nullable: false + example: true + create_document_models: + description: Is allowed to create document models + type: boolean + nullable: false + example: true + update_document_models: + description: Is allowed to update document models + type: boolean + nullable: false + example: true + delete_document_models: + description: Is allowed to delete document models + type: boolean + nullable: false + example: true + view_invoices: + description: Is allowed to view invoices + type: boolean + nullable: false + example: true + create_invoices: + description: Is allowed to create invoices + type: boolean + nullable: false + example: true + update_invoices: + description: Is allowed to update invoices + type: boolean + nullable: false + example: true + delete_invoices: + description: Is allowed to delete invoices + type: boolean + nullable: false + example: true + validate_invoices: + description: Is allowed to validate invoices + type: boolean + nullable: false + view_credit_notes: + description: Is allowed to view credit notes + type: boolean + nullable: false + example: true + create_credit_notes: + description: Is allowed to create credit notes + type: boolean + nullable: false + example: true + update_credit_notes: + description: Is allowed to update credit notes + type: boolean + nullable: false + example: true + delete_credit_notes: + description: Is allowed to delete credit notes + type: boolean + nullable: false + example: true + validate_credit_notes: + description: Is allowed to validate credit notes + type: boolean + nullable: false + example: true + view_orders: + description: Is allowed to view orders + type: boolean + nullable: false + example: true + create_orders: + description: Is allowed to create orders + type: boolean + nullable: false + example: true + update_orders: + description: Is allowed to update orders + type: boolean + nullable: false + example: true + delete_orders: + description: Is allowed to delete orders + type: boolean + nullable: false + example: true + view_deliveries: + description: Is allowed to view deliveries + type: boolean + nullable: false + example: true + view_proformas: + description: Is allowed to view proformas + type: boolean + nullable: false + example: true + view_purchase_invoices: + description: Is allowed to view purchase invoices + type: boolean + nullable: false + example: true + view_purchase_credit_notes: + description: Is allowed to view purchase credit notes + type: boolean + nullable: false + example: true + view_purchase_deliveries: + description: Is allowed to view purchase deliveries + type: boolean + nullable: false + example: true + view_purchase_orders: + description: Is allowed to view purchase orders + type: boolean + nullable: false + example: true + view_items: + description: Is allowed to view items + type: boolean + nullable: false + example: true + create_items: + description: Is allowed to create items + type: boolean + nullable: false + example: true + update_items: + description: Is allowed to update items + type: boolean + nullable: false + example: true + delete_items: + description: Is allowed to delete items + type: boolean + nullable: false + example: true + view_payments: + description: Is allowed to view payments + type: boolean + example: true + create_payments: + description: Is allowed to create payments + type: boolean + example: true + update_payments: + description: Is allowed to update payments + type: boolean + example: true + delete_payments: + description: Is allowed to delete payments + type: boolean + example: true + attach_payments: + description: >- + Is allowed to attach existing payments to + objects + type: boolean + example: true + view_subscriptions: + description: Is allowed to view subscriptions + type: boolean + example: true + create_subscriptions: + description: Is allowed to create subscriptions + type: boolean + example: true + update_subscriptions: + description: Is allowed to update subscriptions + type: boolean + example: true + delete_subscriptions: + description: Is allowed to delete subscriptions + type: boolean + example: true + view_cashflow: + description: Is allowed to view cashflow + type: boolean + nullable: false + example: true + create_cashflow: + description: Is allowed to create cashflow + type: boolean + nullable: false + example: true + view_files: + description: Is allowed to view files + type: boolean + nullable: false + example: true + attach_files: + description: Is allowed to attach files + type: boolean + nullable: false + example: true + delete_files: + description: Is allowed to delete files + type: boolean + nullable: false + example: true + view_tickets: + description: Is allowed to view support tickets + type: boolean + nullable: false + example: true + licenses: + description: Staff licenses + nullable: true + type: array + items: + type: object + properties: + id: + description: License identifier + type: string + example: 9998a80a-7b75-4616-96d5-7ccff7ac08e8 + code: + description: License code + type: string + example: pack_all_included + enabled: + description: License is enabled + type: boolean + preferences_calendar: + description: Staff preferences calendar + allOf: + - title: Staff preferences calendar + description: >- + Optional objects added through the embed + parameter + type: object + x-examples: {} + properties: + provider: + description: display calendar provider + readOnly: true + type: string + enum: + - google + - outlook + - sellsy + example: google + - type: object + properties: + profile: + title: Profile + type: object + properties: + id: + description: Profile id + type: integer + example: 6657 + name: + description: Profile name + type: string + example: Collaborator + is_administrator: + description: >- + Indicates if this profile grants administrator + privileges + type: boolean + example: true + required: + - id + - name + - is_administrator + - type: object + properties: + account: + title: Account details + type: object + properties: + id: + description: Numerical identifier referencing the account + type: integer + example: 97417 + uuid: + description: Identifier referencing the account + type: string + example: 600b851b-e5c9-44f0-a66b-9b8391eff153 + name: + description: Account's name + type: string + example: Sellsy + country_code: + description: Account's country code + type: string + example: FR + minLength: 2 + maxLength: 2 + nullable: true + created: + description: Created at (format at RFC3339) + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + required: + - uuid + - id + - name + - created + - type: object + properties: + user: + title: User details + type: object + properties: + uuid: + description: Identifier referencing the user + type: string + example: 600b851b-e5c9-44f0-a66b-9b8391eff153 + required: + - uuid + - type: object + properties: + subscriptions: + title: Staff subscriptions + description: Optional objects added through the embed parameter + type: object + x-examples: {} + properties: + cashflow: + type: object + nullable: true + properties: + plan: + description: Cashflow plan + type: string + enum: + - TRIAL + - STARTER + - PRO + - BUSINESS + - EXTERNAL + example: TRIAL + trial_end_date: + description: Trial end date + nullable: true + type: string + format: date-time + example: '2022-04-20T23:59:59+02:00' + marketing: + type: object + nullable: true + properties: + plan: + description: Marketing plan + type: string + enum: + - TRIAL + - STARTER + - PRO + - BUSINESS + example: TRIAL + trial_end_date: + description: Trial end date + nullable: true + type: string + format: date-time + example: '2022-04-20T23:59:59+02:00' + service_start_date: + description: Service start date + nullable: true + type: string + format: date-time + example: '2023-09-04T00:00:00+02:00' + service_end_date: + description: Service end date + nullable: true + type: string + format: date-time + example: '2024-09-03T23:59:59+02:00' + options: + description: Marketing options + type: array + items: + type: object + properties: + name: + type: string + example: pack_marketing_dedicated_ip + quantity: + type: integer + example: 4 + metadata: + nullable: true + type: object + properties: + domains: + description: Marketing domains + type: array + items: + type: object + properties: + sender_domain: + type: string + example: example.com + sub_domain: + type: string + example: email + - type: object + properties: + intercom_hash: + title: Intercom hmac + type: object + properties: + web: + description: Web HMAC + type: string + example: >- + 64a4e500f2b08a855f1bc1cf202066c0d18adddf04d23583bf4b5db91778e067 + ios: + description: iOS HMAC + type: string + example: >- + 64a4e500f2b08a855f1bc1cf202066c0d18adddf04d23583bf4b5db91778e067 + android: + description: Android HMAC + type: string + example: >- + 64a4e500f2b08a855f1bc1cf202066c0d18adddf04d23583bf4b5db91778e067 + required: + - web + - ios + - android + - type: object + properties: + features: + title: Staff features + description: Optional objects added through the embed parameter + type: object + x-examples: {} + properties: + collaborative_sharing_suite: + type: boolean + example: false + map_listing: + type: boolean + example: false + payment_deadlines: + type: boolean + example: false + price_exceptions: + type: boolean + example: false + product_variations: + type: boolean + example: false + promotion_management: + type: boolean + example: false + sepa_export: + type: boolean + example: false + - $ref: '#/components/schemas/StaffRestrictedView' + StaffsUpdateInformationResponse: + anyOf: + - title: Staff with embed + allOf: + - $ref: >- + #/components/schemas/Activity/properties/_embed/properties/author + - type: object + properties: + _embed: + nullable: true + allOf: + - $ref: >- + #/paths/~1staffs~1%7Bid%7D/get/responses/200/content/application~1json/schema/anyOf/0/allOf/1/properties/_embed/allOf/0 + - $ref: '#/components/schemas/StaffRestrictedView' + StaffsGetListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + anyOf: + - $ref: >- + #/paths/~1staffs~1%7Bid%7D/put/responses/200/content/application~1json/schema/anyOf/0 + - $ref: '#/components/schemas/StaffRestrictedView' + required: + - pagination + - data + StaffsCreateStaffResponse: + anyOf: + - $ref: >- + #/paths/~1staffs~1%7Bid%7D/put/responses/200/content/application~1json/schema/anyOf/0 + - $ref: '#/components/schemas/StaffRestrictedView' + StaffsSearchListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + anyOf: + - $ref: >- + #/paths/~1staffs~1%7Bid%7D/put/responses/200/content/application~1json/schema/anyOf/0 + - $ref: '#/components/schemas/StaffRestrictedView' + required: + - pagination + - data + StaffsListTeamsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Team' + required: + - pagination + - data + StaffsGetProfilesListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Profiles' + required: + - pagination + - data + ListingsSearchObjectsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/SearchResult' + aggregations: + $ref: '#/components/schemas/SearchResultAggregations' + required: + - pagination + - data + - aggregations + CalendarGetEventsListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CalendarEventItem' + required: + - pagination + - data + CalendarSearchEventResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CalendarEventItem' + required: + - pagination + - data + ActivitiesPerformSearchResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Activity' + required: + - pagination + - data + ActivitiesSearchTimelineActivityResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Activity' + required: + - pagination + - data + PhoneCallsGetListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/PhoneCallCollectionItem' + required: + - pagination + - data + PhoneCallsSearchListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/PhoneCallCollectionItem' + required: + - pagination + - data + EmailsGetThreadEmailsResponse: + type: object + properties: + id: + description: Identifier of email thread + type: string + emails: + type: array + items: + $ref: '#/components/schemas/EmailEngineItem' + WebhooksGetListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/WebhookReadItem' + required: + - pagination + - data + WebhooksSearchWebhooksListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/WebhookReadItem' + required: + - pagination + - data + UnitsGetAllResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Unit' + required: + - pagination + - data + CurrenciesGetAllResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Currency' + required: + - pagination + - data + CountriesGetListResponse: + type: object + properties: + pagination: + title: pagination + description: The pagination + type: object + properties: + limit: + type: integer + example: 25 + minimum: 0 + total: + type: integer + example: 152 + minimum: 0 + count: + type: integer + example: 25 + minimum: 0 + offset: + anyOf: + - type: integer + minimum: 0 + example: 25 + - type: string + example: WzIwMTQtMDEtMDEsNTk4XQ== + required: + - limit + - total + - count + - offset + data: + type: array + items: + $ref: '#/components/schemas/Country' + required: + - pagination + - data + ItemsGetListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ItemReadItem' + required: + - pagination + - data + ItemsSearchItemsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ItemReadItem' + required: + - pagination + - data + ItemsListFavouriteFiltersResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + ItemsGetPricesListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ItemPrice' + required: + - pagination + - data + ItemsUpdatePricesListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ItemPrice' + required: + - pagination + - data + BatchRequestCreateResponse: + type: object + properties: + responses: + type: array + items: + type: object + properties: + code: + type: number + example: 200 + response: + type: object + properties: + description: + type: string + example: description updated ! + data: + type: array + items: + type: object + properties: + description: + type: string + example: Lorem ipsum dolor sit amet + id: + type: number + example: 83 + owner: + type: object + properties: + id: + type: number + example: 21 + type: + type: string + example: staff + related: + type: array + items: + type: string + created: + type: string + example: '2021-04-13T15:11:51+02:00' + updated: + type: string + example: '2021-04-13T15:11:51+02:00' + parent_id: + type: string + nullable: true + x-konfig-null-placeholder: true + company_id: + type: string + nullable: true + x-konfig-null-placeholder: true + individual_id: + type: string + nullable: true + x-konfig-null-placeholder: true + contact_id: + type: string + nullable: true + x-konfig-null-placeholder: true + pagination: + type: object + properties: + limit: + type: number + example: 2 + count: + type: number + example: 2 + total: + type: number + example: 45 + offset: + type: string + example: WyI4NSJd + id: + type: number + example: 83 + owner: + type: object + properties: + id: + type: number + example: 21 + type: + type: string + example: staff + related: + type: array + items: + type: string + created: + type: string + example: '2021-04-13T15:11:51+02:00' + updated: + type: string + example: '2021-04-13T15:11:51+02:00' + parent_id: + type: string + nullable: true + x-konfig-null-placeholder: true + company_id: + type: string + nullable: true + x-konfig-null-placeholder: true + individual_id: + type: string + nullable: true + x-konfig-null-placeholder: true + contact_id: + type: string + nullable: true + x-konfig-null-placeholder: true + error: + type: boolean + example: false + example: + responses: + - code: 200 + response: + data: + - description: Lorem ipsum dolor sit amet + id: 83 + owner: + id: 21 + type: staff + related: [] + created: '2021-04-13T15:11:51+02:00' + updated: '2021-04-13T15:11:51+02:00' + parent_id: null + company_id: null + individual_id: null + contact_id: null + - description: Lorem ipsum dolor sit amet + id: 85 + owner: + id: 21 + type: staff + related: [] + created: '2021-04-13T15:39:34+02:00' + updated: '2021-04-13T15:39:34+02:00' + parent_id: null + company_id: null + individual_id: null + contact_id: null + pagination: + limit: 2 + count: 2 + total: 45 + offset: WyI4NSJd + - code: 200 + response: + description: description updated ! + id: 83 + owner: + id: 21 + type: staff + related: [] + created: '2021-04-13T15:11:51+02:00' + updated: '2021-04-13T15:11:51+02:00' + parent_id: null + company_id: null + individual_id: null + contact_id: null + error: false + NotificationsGetUserNotificationsResponse: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Notification' + pagination: + $ref: '#/components/schemas/Pagination' + required: + - data + - pagination + NotificationsSearchUserNotificationsResponse: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Notification' + pagination: + $ref: '#/components/schemas/Pagination' + required: + - data + - pagination + InvoicesListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Invoice' + required: + - pagination + - data + InvoicesSearchInvoicesResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Invoice' + required: + - pagination + - data + InvoicesListFavouriteFiltersResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + InvoicesGetSmartTagsListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + InvoicesLinkSmartTagsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + InvoicesGetCreditNotesResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CreditNote' + required: + - pagination + - data + InvoicesGetPaymentsListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/InvoicingPayment' + InvoicesLinkPaymentToInvoiceResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/InvoicingPayment' + InvoicesListFilesResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + InvoicesGetCustomFieldsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + CreditNotesGetListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CreditNote' + required: + - pagination + - data + CreditNotesSearchCreditNotesResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CreditNote' + required: + - pagination + - data + CreditNotesListFavouriteFiltersResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + CreditNotesGetSmartTagsListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + CreditNotesLinkSmartTagsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + CreditNotesListCustomFieldsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + CreditNotesGetLinkedInvoicesResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Invoice' + required: + - pagination + - data + CreditNotesGetPaymentsListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/InvoicingPayment' + CreditNotesLinkPaymentResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/InvoicingPayment' + CreditNotesGetDirectoryFilesResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + PaymentsGetListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Payment' + required: + - pagination + - data + PaymentsSearchPaymentsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Payment' + required: + - pagination + - data + EmailsGetAvailableTagsForSettingsResponse: + title: List of email tags + description: List of available email tags to insert in email signature content + type: array + items: + type: object + properties: + description: + description: Tag's meaning + type: string + example: Current account's name + key: + description: Tag identifier to insert in your email signature + type: string + example: '%{account.name}%' + FiscalYearGetListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/FiscalYear' + required: + - pagination + - data + FilesCreateDirectoryResponse: + title: Directory schema + description: Directory schema + type: object + properties: + description: + description: Directory description + type: string + nullable: true + maxLength: 160 + id: + description: Directory ID + type: integer + readOnly: true + example: 1 + type: + description: Directory type + type: string + enum: + - directory + name: + description: Directory name + type: string + example: business-cards + minLength: 1 + maxLength: 30 + created: + description: Creation date of directory + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + breadcrumbs: + description: >- + Current directory location. The first element is the direct parent + of the directory + type: array + minItems: 1 + items: + $ref: '#/components/schemas/FileOuput/properties/breadcrumbs/items' + FilesListDirectoryContentsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + SubscriptionsGetListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/SubscriptionOne' + required: + - pagination + - data + SubscriptionsSearchSubscriptionsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/SubscriptionOne' + required: + - pagination + - data + SubscriptionsGetPaymentInstallmentsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + title: Payment installment + type: object + properties: + id: + description: Id of payment installment + type: integer + example: 2 + status: + description: Status of payment installment + type: string + enum: + - generated + - scheduled + - in_progress + - failed + example: generated + subscription_id: + description: Id of subscription + type: integer + example: 23 + date: + description: Date of invoice generation + type: string + format: date + example: '2023-01-01' + sending: + description: Email sending configuration + type: object + properties: + mode: + description: >- + Once the invoice has been generated, from subscription + payment install, if sending mode is automatic, email will + be sent to all recipients, otherwise, if it's manual, + email should be send manually + enum: + - automatic + - manual + example: manual + type: string + model: + description: >- + Document to use as a template for subscription payment + installment + type: object + properties: + type: + description: Template type + type: string + enum: + - model + example: model + id: + description: Template id + type: integer + example: 5 + related: + description: | + Objects linked to the subscription + type: array + minItems: 1 + items: + type: object + properties: + id: + description: ID of related + type: integer + example: 234 + type: + description: Type of related + type: string + example: company + enum: + - company + - individual + document: + description: Generated document, even if it's deleted + nullable: true + type: object + properties: + type: + description: Type of document + type: string + enum: + - invoice + example: invoice + id: + description: Id of document + type: integer + example: 56 + required: + - pagination + - data + SubscriptionsSearchPaymentInstallmentsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1subscriptions~1payment-installments/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + DocumentModelsSearchModelsResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Model' + required: + - pagination + - data + DocumentModelsConvertDocumentModelResponse: + title: Document body + type: object + properties: + parent: + type: object + properties: + type: + description: Parent type + type: string + example: model + enum: + - model + id: + description: Parent identifier + type: integer + example: 7 + subject: + description: Subject of document + type: string + example: Subject of document + currency: + description: Currency code of the model + type: string + example: EUR + discount: + description: Global discount applied on the model + type: object + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + description: value of discount + type: string + example: '25.20' + related: + description: Objects linked to the document + type: array + minItems: 1 + items: + type: object + properties: + id: + description: ID of related + type: integer + example: 234 + type: + description: Type of related + type: string + example: company + enum: + - company + - individual + - opportunity + rate_category_id: + description: Rate Category applied on document + type: integer + example: 777 + rows: + type: array + nullable: true + items: + $ref: '#/components/schemas/EstimateCompute/properties/rows/items' + DocumentModelsGetAvailableTagsResponse: + title: List of document models tags + description: List of available tags to insert in document models content + type: array + items: + anyOf: + - title: Common tag + type: object + properties: + description: + description: Tag's meaning + type: string + example: Current day number + key: + description: Tag identifier to insert + type: string + example: '%{day.number}%' + - title: Customizable tag + type: object + properties: + description: + description: Tag's meaning + type: string + example: Customizable date tag + key: + description: Tag identifier + type: string + example: '%{custom(direction.iterations.interval).format}%' + meta: + description: > + We offer a customizable date tag format in the following form: + %{custom(direction.iterations.interval).format}%.
This + tag allows for customization in the following ways:
    +
  • Define the projected date: +
    • direction define if we want the past or the future
    • +
    • iterations define the number of times the interval is called
    • +
    • interval define the date interval to apply on date projection
  • +
  • Output format +
    • format define the output format to apply on the projected date
  • +

Using this tag format allows for the creation of + dynamic content that incorporates dates and times.
> + Example: %{custom(plus.2.day).day.name}% to + return the name of the day in 2 days
> Example: + %{custom(minus.1.month).last_day.name}% to return + the name of the last day of the previous month + type: object + properties: + direction: + description: Available values + type: array + items: + type: object + properties: + description: + type: string + key: + type: string + enum: + - plus + - minus + interval: + description: Available values + type: array + items: + type: object + properties: + description: + type: string + key: + type: string + enum: + - day + - week + - month + - year + tag: + description: Available values + type: array + items: + type: object + properties: + description: + type: string + key: + type: string + enum: + - day.number + - day.name + - first_day.number + - first_day.name + - last_day.number + - last_day.name + - month.number + - month.name + - year.number + DiscountIncludingTaxesGetPrimesListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/DiscountInclTaxesOutput' + required: + - pagination + - data + DiscountIncludingTaxesListResponse: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/DiscountInclTaxesOutput' + required: + - pagination + - data + securitySchemes: + oauth2: + description: "### Client OAuth\nYou can generate a new OAuth 2 client for the V2 API, from the developer page of your Sellsy account (https://www.sellsy.fr/developer/api-v2).\n\nSeveral types of clients are available:\n\n- **Private:** API access limited to staffs of your SELLSY account.\n A flow by authorization code will be required\n- **Personal**: API access linked to an staff.\n The use of client credentials flow is possible.\n- **Public**: API access to connect to all SELLSY accounts.\n A validation of SELLSY and a flow by authorization code will be required.\n\n### Authorization Code Flow\nSee https://www.oauth.com/oauth2-servers/server-side-apps/authorization-code/\n\n**PKCE** is required when using the authorization code flow. https://www.oauth.com/oauth2-servers/pkce/\n\n- **Authorization URL:** https://login.sellsy.com/oauth2/authorization\n- **Token URL:** https://login.sellsy.com/oauth2/access-tokens\n- **Refresh URL:** https://login.sellsy.com/oauth2/access-tokens\n\n\n#### Example:\nCall `https://login.sellsy.com/oauth2/authorization?response_type=code&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&code_challenge=YOUR_PKCE_CODE_CHALENGE&code_challenge_method=S256`\n\nAfter authentication, a redirection will be performed on the redirection uri. The authaurization code will be retrieved in the query parameter `code` .\n\nThis code can now be exchanged for an access token:\n```bash\ncurl -X POST \\\n https://login.sellsy.com/oauth2/access-tokens \\\n -d '{\n\t\"grant_type\": \"authorization_code\",\n\t\"client_id\": \"YOUR_CLIENT_ID\",\n\t\"redirect_uri\": \"YOUR_REDIRECT_URI\",\n\t\"code_verifier\": \"YOUR_PKCE_CODE_VERIFIER\",\n\t\"code\": \"THE_CODE\"\n}'\n# Response\n{\n \"token_type\": \"Bearer\",\n \"expires_in\": 3600,\n \"access_token\": \"YOUR_ACCESS_TOKEN\",\n \"refresh_token\": \"YOUR_REFRESH_TOKEN\"\n}\n# Use API\ncurl -X GET \\\n 'https://api.sellsy.com/v2/teams' \\\n --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'\n```\n\nYou can request a new access token, from the refresh token previously retrieved:\n```bash\ncurl -X POST \\\n https://login.sellsy.com/oauth2/access-tokens \\\n -d '{\n\t\"grant_type\": \"refresh_token\",\n\t\"client_id\": \"YOUR_CLIENT_ID\",\n\t\"client_secret\": \"YOUR_CLIENT_SECRET\"\n\t\"refresh_token\": \"YOUR_REFRESH_TOKEN\"\n}'\n# Response\n{\n \"token_type\": \"Bearer\",\n \"expires_in\": 3600,\n \"access_token\": \"YOUR_NEW_ACCESS_TOKEN\",\n \"refresh_token\": \"YOUR_NEW_REFRESH_TOKEN\"\n}\n```\n\n### Client Credential Flow\nSee https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/\n\nOnly personal clients can use this authentication flow.\n\n**Token URL:** https://login.sellsy.com/oauth2/access-tokens\n\n#### Example:\n```bash\ncurl -X POST \\\n https://login.sellsy.com/oauth2/access-tokens \\\n -d '{\n\t\"grant_type\": \"client_credentials\",\n\t\"client_id\": \"YOUR_CLIENT_ID\",\n\t\"client_secret\": \"YOUR_CLIENT_SECRET\"\n}'\n# Response\n{\n \"token_type\": \"Bearer\",\n \"expires_in\": 3600,\n \"access_token\": \"YOUR_ACCESS_TOKEN\"\n}\n# Use API\ncurl -X GET \\\n 'https://api.sellsy.com/v2/teams' \\\n --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'\n```\n### Tokens expiration\n- **Authorization Code:** 10 min\n- **Access Token:** 24 hours\n- **Refresh Token:** 60 days" + type: oauth2 + flows: + authorizationCode: + authorizationUrl: https://login.sellsy.com/oauth2/authorization + tokenUrl: https://login.sellsy.com/oauth2/access-tokens + refreshUrl: https://login.sellsy.com/oauth2/access-tokens + scopes: + comments.read: Grand read access to comments + comments.write: Grand write access to comments + contacts.read: Grants read access to contacts + contacts.write: Grants read access to contacts + individuals.read: Grants read access to individuals + companies.read: Grants read access to companies + companies.write: Grants write access to companies + estimates.read: Grants read access to estimates + estimates.write: Grants write access to estimates + activities.write: Grants write access to activities + activities.read: Grants read access to activities + listings.read: Grants read access to listings + listings.write: Grants write access to listings + custom-fields.read: Grand read access to custom fields + custom-fields.write: Grand write access to custom fields + smart-tags.read: Grand read access to smart tags + smart-tags.write: Grand write access to smart tags + custom-activities.read: Grand read access to custom activities + custom-activities.write: Grand write access to custom activities + scopes.read: Grants read access to scopes + access-tokens.read: Grants read access to access tokens + access-tokens.write: Grants write access to access tokens + clients.read: Grants read access to OAuth clients + clients.write: Grants write access to OAuth clients + accounting-codes.read: Grant read access to accounting codes + accounting-codes.write: Grant write access to accounting codes + taxes.read: Grant read access to taxes + taxes.write: Grant write access to taxes + ocr.read: Grant read access to ocr + individuals.write: Grants write access to individuals + accounts.read: Grant read access to accounts + accounts.write: Grant write access to accounts + opportunities.read: Grand read access to opportunities + opportunities.write: Grant write access to opportunities + orders.read: Grand read access to orders + orders.write: Grand write access to orders + tasks.read: Grant read access to tasks + tasks.write: Grant write access to tasks + staffs.read: Grand read access to staffs + staffs.write: Grant write access to staffs + search.read: Grant access to search + phonecalls.read: Grand read access to phonecall + phonecalls.write: Grand write access to phonecall + calendars.read: Grant read access to calendar + calendars.write: Grant write access to calendar + emails.read: Grant read access to email + emails.write: Grant write access to email + emails.settings: Grant access to email settings + webhooks.read: Grants read access to webhooks + webhooks.write: Grants write access to webhooks + payments.read: Grand read access to payments + payments.write: Grand write access to payments + items.read: Grand read acces to items + items.write: Grand write acces to items + invoicing.read: Grant read access to invoicing + notifications.read: Grant read access to notifications + notifications.write: Grant write access to notifications + accounting-entry.read: Grant read access to accounting entries + accounting-entry.write: Grant write access to accounting entries + invoices.read: Grant read access to invoices + invoices.write: Grant write access to invoices + api-v1: >- + Grant full access to API v1 with API v2 access tokens. Caution, + this scope gives access to all sellsy functionality + credit-notes.read: Grant read access to credit-notes + credit-notes.write: Grant write access to credit-notes + document-layouts.read: Grant read access to document layouts + rate-categories.read: Grant read access to rate categories + rate-categories.write: Grant write access to rate categories + files.write: Grants write access to files + files.read: Grants read access to files + adyen.read: Grant read access to adyen + adyen.write: Grant write access to adyen + subscriptions.write: Grant write access to subscription + subscriptions.read: Grant read access to subscription + models.write: Grant write access to models + models.read: Grant read access to models + objectives.read: Grant read access to objectives + objectives.write: Grant write access to objectives + primes.read: Grant read access to primes + discount-incl-taxes.read: Grant read access to discount including taxes + discount-incl-taxes.write: Grant write access to discount including taxes + clientCredentials: + tokenUrl: https://login.sellsy.com/oauth2/access-tokens + scopes: {} +x-tagGroups: + - tags: + - Batch + - API Management + - Webhooks + - Listings + - Activities + - Custom Activities + - null + - null + - Files + - null + - null + - null + name: Core + - tags: + - Companies + - Contacts + - Individuals + - Opportunities + - Calendar + - Emails + - Comments + - Tasks + - PhoneCalls + - CRM Activities + - Estimates + - null + name: Prospection + - tags: + - Discount Including Taxes + - Items + - Units + - Taxes + - Rate Categories + name: Catalog + - tags: + - null + - Document Models + - Invoices + - Credit Notes + - Orders + - Accounting + - Payments + - Subscriptions + - Purchase (OCR) + name: Invoicing + - tags: + - Currencies + - Custom Fields + - Countries + - Smart Tags + - Document Layouts + - Documents + - Staffs + - Subscription + - Quotas + - Conformities + - Notifications + - null + - Fiscal Year + - Language + - null + name: Account diff --git a/sdks/db/generate-repository-description-cache/relysia.json b/sdks/db/generate-repository-description-cache/relysia.json new file mode 100644 index 000000000..0b01e7bd0 --- /dev/null +++ b/sdks/db/generate-repository-description-cache/relysia.json @@ -0,0 +1,3 @@ +{ + "Relysia is a blockchain as a service provider for any enterprise and commercial companies and start-ups who wish to build their own blockchain applications. \n\nYou can use our APIs as building blocks to pick and choose how advanced you want your Bitcoin platform to be.\n\nWith over 50 blockchain related APIs, you can build any application you wish. With Relysia API, wallet creation, transactions, data storage, tokens, NFTs and smart contracts are all easy to implement as they require less than 10 lines of code.\n\nWe are simplifying Bitcoin application development. By providing our scalable and robust infrastructure, we help businesses reduce their time to market by over 90% allowing them to quickly iterate through ideas and execution strategies to find their product market fit.\n\nYou can explore the Relysia API documentation at: https://docs.relysia.com/.\nWe also have a Swagger implementation for demonstration and testing purposes available at: https://api.relysia.com/docs/.\n\nOur services have empowered many entrepreneurs and companies to actualise their blockchain ideas. Get in touch with us to explore Relysia API in deeper detail. \n\nRelysia by Vaionex Corporation": "Relysia offers blockchain as a service with over 50 APIs for easy development of Bitcoin applications. Simplifying creation of wallets, tokens, NFTs, and smart contracts in less than 10 lines of code. Empowering businesses to quickly iterate ideas and reduce time to market by over 90%." +} \ No newline at end of file diff --git a/sdks/db/generate-repository-description-cache/rivery.json b/sdks/db/generate-repository-description-cache/rivery.json new file mode 100644 index 000000000..c6b31b11e --- /dev/null +++ b/sdks/db/generate-repository-description-cache/rivery.json @@ -0,0 +1,3 @@ +{ + "Whether you're building out your data stack or transitioning to the cloud, managing your data workflows to analyze your business can be a real challenge. \n\nDeveloping an in-house solution requires valuable resources and upkeep, while integrating several tools adds new layers of complexity. \n\nRivery's SaaS platform provides a fully-managed solution for data ingestion, data transformation, data orchestration, reverse ETL and more, with built-in support for your data operations development and deployment lifecycles. \n\nDesigned to be nimble for non-technical users and with advanced capabilities for experts, Rivery enables you to manage data workflows as the foundation of a modern data stack. \n\nIf you're looking to accelerate your time to value, get in touch today.": "Rivery offers a fully-managed SaaS platform for data workflows, making data analysis and management easier. Designed for both non-technical users and experts, Rivery accelerates time-to-value for modern data stacks. Rivery's {language} SDK generated by Konfig (https://konfigthis.com/)." +} \ No newline at end of file diff --git a/sdks/db/generate-repository-description-cache/secoda.json b/sdks/db/generate-repository-description-cache/secoda.json new file mode 100644 index 000000000..5ec21491a --- /dev/null +++ b/sdks/db/generate-repository-description-cache/secoda.json @@ -0,0 +1,3 @@ +{ + "The all-in-one data management platform. Secoda is the first AI powered data search, catalog, lineage, and monitoring platform to double your data team's efficiency.\n\nData teams at companies like Panasonic, Mode, and Vanta use Secoda to automate data discovery, documentation, and take the grunt-work out of their day. \n\nBy automatically ingesting the metadata across all of your data sources, Secoda makes it easy to make decisions from a single source of truth. \n\nBuilt for users of the modern data stack, Secoda helps data teams take control of their data sprawl and reliably scale their tech stacks.\n\nWith Secoda, data teams save time and enable revenue teams with better data, faster.": "AI-powered data management platform that automates data discovery, documentation, and metadata ingestion for increased efficiency and better decision-making. Trusted by companies like Panasonic, Mode, and Vanta to streamline data processes and scale tech stacks. Secoda's {language} SDK generated by Konfig (https://konfigthis.com/)." +} \ No newline at end of file diff --git a/sdks/db/generate-repository-description-cache/sellsy.json b/sdks/db/generate-repository-description-cache/sellsy.json new file mode 100644 index 000000000..1a97c525c --- /dev/null +++ b/sdks/db/generate-repository-description-cache/sellsy.json @@ -0,0 +1,3 @@ +{ + "Sellsy is a CRM, invoicing and pre-accounting suite for optimized business management and customer experience. A collaborative tool to give marketing, sales and administrative teams the means to be effective! 🚀\n\nWith 6,300 clients, Sellsy surrounds itself with almost 130 employees to carry out its projects. Sellsy remains, above all, a French company created by two entrepreneurs, Frédéric Coulais and Alain Mevellec, for entrepreneurs. Since its creation in 2009, Sellsy has placed innovation at the heart of its strategy, in order to offer companies simple, efficient and secure digital solutions.\n\n👉 To learn more about Sellsy and its CRM suite, visit go.sellsy.com": "Sellsy is a French CRM, invoicing, and pre-accounting suite for business management. With 6,300 clients, Sellsy offers innovative digital solutions for marketing, sales, and administrative teams to enhance customer experience. Sellsy's {language} SDK generated by Konfig (https://konfigthis.com/)." +} \ No newline at end of file diff --git a/sdks/db/intermediate-fixed-specs/relysia/openapi.yaml b/sdks/db/intermediate-fixed-specs/relysia/openapi.yaml new file mode 100644 index 000000000..3bddfb8c2 --- /dev/null +++ b/sdks/db/intermediate-fixed-specs/relysia/openapi.yaml @@ -0,0 +1,13791 @@ +openapi: 3.0.3 +info: + title: Relysia Blockchain API + description: Relysia makes blockchain adoption frictionless and easy. + version: 2.4.8 +components: + securitySchemes: + authToken: + type: apiKey + in: header + name: authToken + serviceID: + type: apiKey + in: header + name: serviceID + schemas: {} +paths: + /: + get: + responses: + '200': + description: Default Response + /v1/issue: + post: + summary: Mint a Token. + tags: + - Smart Contracts + description: >- + Mint a token with given specifications (can be both token or NFT). More + on docs.relysia.com. + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + protocolId: + type: string + default: STAS + symbol: + type: string + description: + type: string + image: + type: string + tokenSupply: + type: number + minimum: 1 + default: 3 + decimals: + type: number + default: 0 + nullable: true + minimum: 0 + maximum: 8 + satsPerToken: + type: number + default: 1 + minimum: 0 + properties: + type: object + properties: + legal: + type: object + properties: + terms: + type: string + default: >- + STAS, Inc. retains all rights to the token script. + Use is subject to terms at + https://stastoken.com/license. + nullable: true + licenceId: + type: string + default: stastoken.com + nullable: true + nullable: true + issuer: + type: object + properties: + organisation: + type: string + default: Vaionex Corp. + nullable: true + legalForm: + type: string + default: Limited + nullable: true + governingLaw: + type: string + default: US + nullable: true + issuerCountry: + type: string + default: US + nullable: true + jurisdiction: + type: string + default: US + nullable: true + email: + type: string + default: info@vaionex.com + nullable: true + nullable: true + meta: + type: object + properties: + schemaId: + type: string + default: STAS1.0 + nullable: true + website: + type: string + default: vaionex.com + nullable: true + legal: + type: object + properties: + terms: + type: string + default: Your token terms and description. + nullable: true + nullable: true + media: + type: array + items: + type: object + properties: + URI: + type: string + nullable: true + type: + type: string + nullable: true + altURI: + type: string + nullable: true + nullable: true + nullable: true + nullable: true + nullable: true + splitable: + type: boolean + default: 'true' + nullable: true + data: + type: object + additionalProperties: true + default: {} + nftMetadataSerialNumberStart: + type: number + nullable: true + nftMetadataTotalSupply: + type: number + nullable: true + required: + - name + - symbol + - image + - description + - satsPerToken + - protocolId + - tokenSupply + examples: + example1: + value: + name: Store Bonus Points + protocolId: STAS + symbol: SBP + description: A supermarket bonus point. + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + tokenSupply: 3 + decimals: 0 + satsPerToken: 1 + properties: + legal: + terms: >- + STAS, Inc. retains all rights to the token script. Use + is subject to terms at https://stastoken.com/license. + licenceId: stastoken.com + issuer: + organisation: Vaionex Corp. + legalForm: Limited + governingLaw: US + issuerCountry: US + jurisdiction: US + email: info@vaionex.com + meta: + schemaId: STAS1.0 + website: vaionex.com + legal: + terms: Your token terms and description. + media: + - URI: string + type: string + altURI: string + splitable: true + data: {} + example2: + value: + name: Store Bonus Points + protocolId: STAS-20 + symbol: SBP + description: A supermarket bonus point. + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + tokenSupply: 3 + decimals: 0 + satsPerToken: 1 + properties: + legal: + terms: >- + STAS, Inc. retains all rights to the token script. Use + is subject to terms at https://stastoken.com/license. + licenceId: stastoken.com + issuer: + organisation: Vaionex Corp. + legalForm: Limited + governingLaw: US + issuerCountry: US + jurisdiction: US + email: info@vaionex.com + meta: + schemaId: STAS1.0 + website: vaionex.com + legal: + terms: Your token terms and description. + media: + - URI: string + type: string + altURI: string + splitable: true + data: + data1: + - data1 + - data2 + data2: + - data1 + - data2 + required: true + parameters: + - schema: + type: string + default: STAS + in: header + name: protocol + required: false + - schema: + type: boolean + default: 'false' + in: header + name: reminting + required: false + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + tokenId: + type: string + tokenObj: + type: object + properties: + userId: + type: string + serviceId: + type: string + nullable: true + symbol: + type: string + name: + type: string + description: + type: string + image: + type: string + totalSupply: + type: number + minimum: 1 + satsPerToken: + type: number + minimum: 0 + decimals: + type: number + nullable: true + properties: + type: object + properties: + legal: + type: object + properties: + terms: + type: string + default: >- + STAS, Inc. retains all rights to the token + script. Use is subject to terms at + https://stastoken.com/license. + nullable: true + licenceId: + type: string + default: stastoken.com + nullable: true + nullable: true + issuer: + type: object + properties: + organisation: + type: string + default: Vaionex Corp. + nullable: true + legalForm: + type: string + default: Limited + nullable: true + governingLaw: + type: string + default: US + nullable: true + issuerCountry: + type: string + default: US + nullable: true + jurisdiction: + type: string + default: US + nullable: true + email: + type: string + default: info@vaionex.com + nullable: true + nullable: true + meta: + type: object + properties: + schemaId: + type: string + default: STAS1.0 + nullable: true + website: + type: string + default: vaionex.com + nullable: true + legal: + type: object + properties: + terms: + type: string + default: Your token terms and description. + nullable: true + nullable: true + media: + type: array + items: + type: object + properties: + URI: + type: string + nullable: true + type: + type: string + nullable: true + altURI: + type: string + nullable: true + nullable: true + nullable: true + nullable: true + nullable: true + splittable: + type: boolean + protocolId: + type: string + contractTxid: + type: string + issueTxid: + type: string + contractAddress: + type: string + contractPublickey: + type: string + splitable: + type: boolean + required: + - userId + - symbol + - name + - description + - image + - totalSupply + - satsPerToken + - splittable + - protocolId + - contractTxid + - issueTxid + - contractAddress + - contractPublickey + - splitable + required: + - status + - msg + - tokenId + - tokenObj + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Token created successfully. + tokenId: cb75d56ad85630475ca4af078dcbf37828970d8d-HELLO12344 + tokenObj: + userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + symbol: HELLO12344 + name: Store Bonus Points + description: A supermarket bonus point. + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + totalSupply: 3 + satsPerToken: 1 + decimals: 0 + properties: + legal: + terms: >- + STAS, Inc. retains all rights to the token script. + Use is subject to terms at + https://stastoken.com/license. + licenceId: stastoken.com + issuer: + organisation: Vaionex Corp. + legalForm: Limited + governingLaw: US + issuerCountry: US + jurisdiction: US + email: info@vaionex.com + meta: + schemaId: STAS1.0 + website: vaionex.com + legal: + terms: Your token terms and description. + media: + - URI: string + type: string + altURI: string + splittable: true + protocolId: STAS + contractTxid: >- + ec376960b7cf25ae846338253e403082fe5f4bc76d06ad547bf03403ee4403b5 + issueTxid: >- + e3dcb8dfee84a7a510b1b073d7b1b773ac61749370e51a6dbe38d8171213d36f + contractAddress: 1KYoLAjrtNGULBHvPy1fT6T5xwqtcFQ4yA + contractPublickey: >- + 02e8f852e5015f8f12c228992a84b3b70c6789630b9ebef70529b802061db7a42f + splitable: true + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/token/{id}: + get: + summary: Get STAS token details. + tags: + - Smart Contracts + description: Insert your STAS tokenId to receive information about it. + parameters: + - schema: + type: string + in: path + name: id + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + token_id: + type: string + symbol: + type: string + name: + type: string + description: + type: string + schema_id: + type: string + protocol: + type: string + image: + type: string + total_supply: + type: number + minimum: 0 + sats_per_token: + type: number + minimum: 0 + splitable: + type: boolean + properties: + type: object + properties: + legal: + type: object + properties: + terms: + type: string + nullable: true + licenceId: + type: string + nullable: true + nullable: true + issuer: + type: object + properties: + organisation: + type: string + nullable: true + legalForm: + type: string + nullable: true + governingLaw: + type: string + nullable: true + issuerCountry: + type: string + nullable: true + jurisdiction: + type: string + nullable: true + email: + type: string + nullable: true + nullable: true + meta: + type: object + properties: + schemaId: + type: string + nullable: true + website: + type: string + nullable: true + legal: + type: string + nullable: true + media: + type: string + nullable: true + nullable: true + nullable: true + contract_txs: + type: array + items: + type: string + minItems: 1 + issuance_txs: + type: array + items: + type: string + minItems: 1 + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Token details fetched successfully + token_id: 8a9e7ec666f0610ff3f0540ed55f07162e9dd7a8 + symbol: SBPgdsfgdfsgds + name: Store Bonus Points + description: A supermarket bonus point. + schema_id: STAS1.0 + protocol: STAS-789 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + total_supply: 3 + sats_per_token: 1 + splitable: false + properties: + legal: + terms: >- + STAS, Inc. retains all rights to the token script. Use + is subject to terms at https://stastoken.com/license. + licenceId: stastoken.com + issuer: + organisation: Vaionex Corp. + legal_form: Limited + governing_law: US + issuer_country: US + jurisdiction: US + email: info@vaionex.com + meta: + legal: '{"terms":"Your token terms and description."}' + media: '[{"URI":"string","type":"string","altURI":"string"}]' + schemaId: STAS1.0 + website: vaionex.com + contract_txs: + - >- + d1f376ffb62f30efdd1336ec379eb462ab1068dd67a55789ab1c445cf35c540d + issuance_txs: + - >- + 7f06cdece4c08192e8872be802f120b85f0610e6f8e448b85c301e89ccc5bfe1 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/URI: + get: + summary: Resolve address and paymail alias information. + tags: + - Utility + description: >- + The URI endpoint helps developers to resolve addresses, paymails and + invoices and puts them into a standardized response format. + parameters: + - schema: + type: string + in: header + name: uri + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + data: + type: object + properties: + uri: + type: string + type: + type: string + mainProtocol: + type: string + outputs: + type: array + items: + type: object + properties: + script: + type: string + satoshis: + type: number + required: + - script + - satoshis + nullable: true + inputs: + type: array + items: + type: object + properties: + txid: + type: string + vout: + type: number + satoshis: + type: number + minimum: 0 + scriptPubKey: + type: string + nullable: true + scriptType: + type: string + nullable: true + scriptSig: + type: string + required: + - txid + - vout + - satoshis + - scriptSig + nullable: true + modes: + type: object + additionalProperties: true + network: + type: string + nullable: true + paymentUrl: + type: string + format: uri + nullable: true + creationTimeStamp: + type: number + format: duration + nullable: true + expirationTimeStamp: + type: number + format: duration + nullable: true + memo: + type: string + nullable: true + isBSV: + type: boolean + nullable: true + peer: + type: string + nullable: true + peerData: + type: string + nullable: true + peerProtocol: + type: string + nullable: true + beneficiary: + type: object + properties: + name: + type: string + email: + type: string + address: + type: string + paymentReference: + type: string + nullable: true + required: + - name + - email + - address + - paymentReference + required: + - uri + - type + - mainProtocol + required: + - status + - msg + - data + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + data: + uri: payto:91@dev.relysia.com?amount=1 + type: paymail + mainProtocol: paymail + outputs: + - script: 76a9141a608132952ba364d19d6ef0c09e074fb3fcfedf88ac + satoshis: 1 + inputs: [] + memo: Send to 91@dev.relysia.com + isBSV: true + peer: >- + https://dev.relysia.com/api/bsvalias/receive-transaction/91@dev.relysia.com + peerData: >- + eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJ2ZXJzaW9uIjoxLCJkZXJpdmF0aW9uUm9vdFBhdGgiOiJtLzUiLCJkZXJpdmF0aW9uUm9vdEluZGV4IjozOTE1LCJjb3VudCI6MX0.vgN6mSoxuVzSmdwXA_hJtvS_s6xyFdRVedsFAx4mt5K2fsI0Ps2pw4OCXWy6msUbAKYGOEeAqs9BoyJCOlgyng + peerProtocol: paymail + example2: + value: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + data: + uri: >- + bitcoin:13ofTSnVngWV8VgvqpYZE4YuaWuARBkBp3?amount=0.00000001 + type: bip21 + mainProtocol: bip21 + outputs: + - script: 76a9141ec37cb9f5ab9ae49be75e8d45c02d1f2fd1c5a288ac + satoshis: 1 + inputs: [] + memo: Payment to Address + isBSV: false + peer: null + peerData: null + peerProtocol: null + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/signUp: + post: + summary: User Registration. + tags: + - Authentication + description: >- + Creates a new user and returns the auth token required for API + interactions. + requestBody: + content: + application/json: + schema: + type: object + properties: + email: + type: string + format: email + password: + type: string + format: password + photo: + type: string + nullable: true + displayName: + type: string + nullable: true + required: + - email + - password + examples: + example1: + value: + email: satoshiasdsa@gmail.com + password: 4m4z1ngT3ch + example2: + value: + email: satoshiasdsa@gmail.com + password: 4m4z1ngT3ch + photo: Base64 encoded image + example3: + value: + email: satoshiasdsa@gmail.com + password: 4m4z1ngT3ch + displayName: Satoshi Nakamoto + example4: + value: + email: satoshiasdsa@gmail.com + password: 4m4z1ngT3ch + photo: Base64 encoded image + displayName: Satoshi Nakamoto + required: true + security: + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + token: + type: string + userId: + type: string + required: + - status + - msg + - token + - userId + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: User created successfully. + token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 + userId: 5f1b0b3b1c9d440000f3e9b0 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/auth: + post: + summary: Login Endpoint. + tags: + - Authentication + description: Login with an existing user account. + requestBody: + content: + application/json: + schema: + type: object + properties: + email: + type: string + format: email + password: + type: string + format: password + required: + - email + - password + example: + email: satoshiasdsa@gmail.com + password: 4m4z1ngT3ch + required: true + security: + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + token: + type: string + required: + - status + - msg + - token + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Login successful + token: >- + eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzZXJ2aWNlSWQiOiIxMjM0NTY3ODkwIiwiaWF0IjoxNTE2M + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/password/change: + post: + summary: Change password Endpoint + tags: + - Authentication + description: Change password endpoint for existing users to change their password. + requestBody: + content: + application/json: + schema: + type: object + properties: + newPassword: + type: string + format: password + required: + - newPassword + example: + newPassword: 4m4z1ngT3ch + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + token: + type: string + userId: + type: string + required: + - status + - msg + - token + - userId + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Password changed successfully. + token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 + userId: 5e8b2c9b0f1c1a1b1c1d1e1f + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/user: + get: + summary: Profile details. + tags: + - Identity + description: Call the /User endpoint to receive all account specific information. + parameters: + - schema: + type: string + in: header + name: oauth + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + userDetails: + type: object + properties: + userId: + type: string + passwordHash: + type: string + nullable: true + passwordUpdatedAt: + type: number + format: duration + nullable: true + validSince: + type: string + lastLoginAt: + type: string + createdAt: + type: string + lastRefreshAt: + type: string + format: date-time + photo: + type: string + format: uri + nullable: true + displayName: + type: string + nullable: true + phoneNumber: + type: string + nullable: true + required: + - userId + - passwordHash + - passwordUpdatedAt + - validSince + - lastLoginAt + - createdAt + - lastRefreshAt + required: + - status + - msg + - userDetails + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: User details fetched successfully + userDetails: + userId: 5f7f1b9b9b9b9b9b9b9b9b9b + passwordHash: $2b$1 + passwordUpdatedAt: 1602222222 + validSince: '2020-10-10T10:10:10.000Z' + lastLoginAt: '2020-10-10T10:10:10.000Z' + createdAt: '2020-10-10T10:10:10.000Z' + lastRefreshAt: '2020-10-10T10:10:10.000Z' + photo: https://example.com/photo.jpg + displayName: John Doe + phoneNumber: +1-202-555-0104 + example2: + value: + statusCode: 200 + data: + status: success + msg: User details fetched successfully + userDetails: + userId: 5f7f1b9b9b9b9b9b9b9b9b9b + passwordHash: $2b$1 + passwordUpdatedAt: 1602222222 + validSince: '2020-10-10T10:10:10.000Z' + lastLoginAt: '2020-10-10T10:10:10.000Z' + createdAt: '2020-10-10T10:10:10.000Z' + lastRefreshAt: '2020-10-10T10:10:10.000Z' + photo: null + displayName: null + phoneNumber: null + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + delete: + summary: delete user account + tags: + - Delete + description: >- + you can delete user related whole data like wallets, paymail, account + etc. + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: account deleted successfully ! + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/send: + post: + summary: Transfer coins to an address. + tags: + - Transactions + description: >- + Use the /send endpoint to create transactions to peers. The /send + endpoint is agnostic to sending either Tokens or BSV. + requestBody: + content: + application/json: + schema: + type: object + properties: + bundle: + type: boolean + default: true + nullable: true + dataArray: + type: array + items: + type: object + properties: + to: + type: string + amount: + type: number + minimum: 1.e-8 + notes: + type: string + nullable: true + sn: + type: number + nullable: true + minimum: 0 + tokenId: + type: string + nullable: true + data: + type: array + nullable: true + items: + type: string + required: + - to + - amount + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 0.000005 + example2: + value: + dataArray: + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + example3: + value: + dataArray: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 0.000005 + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 0.000005 + notes: test + example4: + value: + dataArray: + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 5 + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 3 + notes: test + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 3 + notes: test + data: + - test1 + - test2 + example5: + value: + bundle: false + dataArray: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 1.e-7 + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 1.e-7 + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txIds: + type: array + items: + type: string + minItems: 0 + errors: + type: array + items: + type: object + additionalProperties: true + required: + - status + - msg + - txIds + - errors + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + errors: [] + example2: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + - >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + errors: [] + example3: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 18d3c8cef40ba055e8151c9377d4c5f144dd1fe44f83f07079e2d0046dc79bc9 + errors: [] + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/rawtx: + post: + summary: Build and return a rawTx + tags: + - Transactions + description: >- + Use the /rawTx endpoint containing a single input and output. + Transactions can be held and the utxo that is used will be blocked from + the user access. + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + to: + type: string + amount: + type: number + minimum: 1.e-8 + notes: + type: string + nullable: true + sn: + type: number + nullable: true + minimum: 0 + tokenId: + type: string + nullable: true + data: + type: array + nullable: true + items: + type: string + required: + - to + - amount + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 0.000005 + example2: + value: + dataArray: + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + example3: + value: + dataArray: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 0.000005 + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 0.000005 + notes: test + data: + - test1 + - test2 + example4: + value: + dataArray: + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 5 + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 3 + notes: test + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 3 + notes: test + data: + - test1 + - test2 + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + rawTxs: + type: array + items: + anyOf: + - type: string + - type: object + properties: + rawtx: + type: string + required: + - rawtx + minItems: 1 + required: + - status + - msg + - rawTxs + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + rawTxs: + - >- + 0100000002e36d2003986bc84d1dec875ed686960e3794334c2e53bd8ee0d7897e4bf3f521000000006a4730440220063953703f06f9557691dba7b0424b9a1ca6dba2ec35bae7dd41e7b15fd38f1d0220439c01459709def5c824ded74102f4170ab3cee9ba7ab9f3b92dc80d7fcecf74412103c63be73d975c3f6274539704e27b2cb811bcc80dc11e95157cef3df8a5b3ac36ffffffffe36d2003986bc84d1dec875ed686960e3794334c2e53bd8ee0d7897e4bf3f521010000006b483045022100e5e0b6e4a61b7bad5c69a5b83032d6a48bb5976d582d52c881db2910ad79bb58022040a10e7dd9cde95c3756c63f33d6b5c119f35dcb4cedd29cc4424bf01e3548ed4121020824bb65d1cc92de2a37410e4279211a0d53788140a528b17f7ada7f4ad8a9a9ffffffff0101000000000000001976a91447431db9649fd75c28834cb152f17cc8ea7fa11f88ac00000000 + example2: + value: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + rawTxs: + - rawtx: >- + 010000000227e26846dea42dd3aec67b801205b500cfbef214e630ea3ecbc7f2d24ce362e800000000fdc5075114fa6e04492aa0ce9eaa5aea00f1e6ac76ea8b5eba54148d30f8237c83b899e51f41a27e1317a735749f6d002002a733b75ebe47ee5600f38034e5a3019935405751ebc63db24c5d9fde623cec004d0907010000004f278468deaeedfb0010da3278cbbb88c2c496bbfffab8749d1fd85c039ff4c7752adad0a7b9ceca853768aebb6965eca126a62965f698a0c1bc43d83db632ad27e26846dea42dd3aec67b801205b500cfbef214e630ea3ecbc7f2d24ce362e800000000fd6a0676a9148da5aaef86362ed2487f5a01380886480617487c88ac6976aa607f5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7c5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01007e818b21414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff007d976e7c5296a06394677768827601249301307c7e23022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798027e7c7e7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01417e21038ff83d8cf12121491609c4939dc11c4aa35503508fe432dc5a5c1905608b9218ad547f7701207f01207f7701247f517f7801007e8102fd00a063546752687f7801007e817f727e7b01177f777b557a766471567a577a786354807e7e676d68aa880067765158a569765187645294567a5379587a7e7e78637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6867567a6876aa587a7d54807e577a597a5a7a786354807e6f7e7eaa727c7e676d6e7eaa7c687b7eaa587a7d877663516752687c72879b69537a647500687c7b547f77517f7853a0916901247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77788c6301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f777852946301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77686877517f7c52797d8b9f7c53a09b91697c76638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6876638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6863587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f7768587f517f7801007e817602fc00a06302fd00a063546752687f7801007e81727e7b7b687f75537f7c0376a9148801147f775379645579887567726881766968789263556753687a76026c057f7701147f8263517f7c766301007e817f7c6775006877686b537992635379528763547a6b547a6b677c6b567a6b537a7c717c71716868547a587f7c81547a557964936755795187637c686b687c547f7701207f75748c7a7669765880748c7a76567a876457790376a9147e7c7e557967041976a9147c7e0288ac687e7e5579636c766976748c7a9d58807e6c0376a9147e748c7a7e6c7e7e676c766b8263828c007c80517e846864745aa0637c748c7a76697d937b7b58807e56790376a9147e748c7a7e55797e7e6868686c567a5187637500678263828c007c80517e846868647459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e687459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e68687c537a9d547963557958807e041976a91455797e0288ac7e7e68aa87726d77776a1400b91626e0a4b97f624bc1f0d8fa3a3ef35ac6640100064b30513447384cc87c20565354207c2062343836613566623363386239616437366161363137393830306539666265373339313562363839383761636664383432326136326663346265616134356263207c2068747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f392f39352f546573745f696d6167652e6a7067207c2037207c2031207c205465737420546f6b656e202d2047656e657261746564206175746f6d61746963616c6c7920666f726d207465737473207c2030207c0100000000000000ffffffff01770f392bdddc76123f01a331b066d69d51ec56592574c1b7a8041999ea65be0000000041000000473044022026db83cccbd78b22d4c93080f916a00a5901eac67f675d553d5036869632d63e02205736dbc31e972c84bbc2e391db430022158f7e3b263d9c479589ce9e347edcd54121031a574b129d4dd0c9e0eae917bf06711d22219a2281debcc6c9bb5a6e87bb7c3fffffffff02a733b75ebe47ee5600f38034e5a3019935405751ebc63db24c5d9fde623cec000000006b483045022100bb0e41f70df285e205a8285dcb718ce7fd9539c93414e9a149ac6c427a043abb0220012213d0ba9e8905d2f39886b24b8457b5e06c2bc2c37dad0dd806c4107af7be4121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff020100000000000000fd6a0676a914fa6e04492aa0ce9eaa5aea00f1e6ac76ea8b5eba88ac6976aa607f5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7c5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01007e818b21414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff007d976e7c5296a06394677768827601249301307c7e23022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798027e7c7e7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01417e21038ff83d8cf12121491609c4939dc11c4aa35503508fe432dc5a5c1905608b9218ad547f7701207f01207f7701247f517f7801007e8102fd00a063546752687f7801007e817f727e7b01177f777b557a766471567a577a786354807e7e676d68aa880067765158a569765187645294567a5379587a7e7e78637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6867567a6876aa587a7d54807e577a597a5a7a786354807e6f7e7eaa727c7e676d6e7eaa7c687b7eaa587a7d877663516752687c72879b69537a647500687c7b547f77517f7853a0916901247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77788c6301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f777852946301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77686877517f7c52797d8b9f7c53a09b91697c76638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6876638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6863587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f7768587f517f7801007e817602fc00a06302fd00a063546752687f7801007e81727e7b7b687f75537f7c0376a9148801147f775379645579887567726881766968789263556753687a76026c057f7701147f8263517f7c766301007e817f7c6775006877686b537992635379528763547a6b547a6b677c6b567a6b537a7c717c71716868547a587f7c81547a557964936755795187637c686b687c547f7701207f75748c7a7669765880748c7a76567a876457790376a9147e7c7e557967041976a9147c7e0288ac687e7e5579636c766976748c7a9d58807e6c0376a9147e748c7a7e6c7e7e676c766b8263828c007c80517e846864745aa0637c748c7a76697d937b7b58807e56790376a9147e748c7a7e55797e7e6868686c567a5187637500678263828c007c80517e846868647459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e687459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e68687c537a9d547963557958807e041976a91455797e0288ac7e7e68aa87726d77776a1400b91626e0a4b97f624bc1f0d8fa3a3ef35ac6640100064b30513447384cc87c20565354207c2062343836613566623363386239616437366161363137393830306539666265373339313562363839383761636664383432326136326663346265616134356263207c2068747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f392f39352f546573745f696d6167652e6a7067207c2037207c2031207c205465737420546f6b656e202d2047656e657261746564206175746f6d61746963616c6c7920666f726d207465737473207c2030207c04000000000000001976a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac00000000 + example3: + value: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + rawTxs: + - >- + 0100000002e36d2003986bc84d1dec875ed686960e3794334c2e53bd8ee0d7897e4bf3f521000000006a4730440220063953703f06f9557691dba7b0424b9a1ca6dba2ec35bae7dd41e7b15fd38f1d0220439c01459709def5c824ded74102f4170ab3cee9ba7ab9f3b92dc80d7fcecf74412103c63be73d975c3f6274539704e27b2cb811bcc80dc11e95157cef3df8a5b3ac36ffffffffe36d2003986bc84d1dec875ed686960e3794334c2e53bd8ee0d7897e4bf3f521010000006b483045022100e5e0b6e4a61b7bad5c69a5b83032d6a48bb5976d582d52c881db2910ad79bb58022040a10e7dd9cde95c3756c63f33d6b5c119f35dcb4cedd29cc4424bf01e3548ed4121020824bb65d1cc92de2a37410e4279211a0d53788140a528b17f7ada7f4ad8a9a9ffffffff0101000000000000001976a91447431db9649fd75c28834cb152f17cc8ea7fa11f88ac00000000 + - >- + 0100000002050495956b562d31679124288101008e85f844787d9e5e62cc738f3b7ab4893a000000006a47304402201f8d1cb5d28d446cee5aad22f606a5fe743d69ecc9a4e1f692550e5ac0a8edf002202aa6e86a8c4cffad21b3af615a88467b0246ab9664350035885e7c0715c0d991412103c63be73d975c3f6274539704e27b2cb811bcc80dc11e95157cef3df8a5b3ac36ffffffff050495956b562d31679124288101008e85f844787d9e5e62cc738f3b7ab4893a010000006b483045022100a3b373d96ce85974d4f75dc160fbf1a2d8e08861a167e22a171c7a2de4f534a4022063ba605fff149e350b5b3806e6c5ed025d29e6d93f4fade7744b447f7fa3eea64121020824bb65d1cc92de2a37410e4279211a0d53788140a528b17f7ada7f4ad8a9a9ffffffff0101000000000000001976a91477cb578d9fab608a794871e6c994c6ff2e55a70788ac00000000 + example4: + value: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + rawTxs: + - rawtx: >- + 010000000227e26846dea42dd3aec67b801205b500cfbef214e630ea3ecbc7f2d24ce362e800000000fdc5075114fa6e04492aa0ce9eaa5aea00f1e6ac76ea8b5eba54148d30f8237c83b899e51f41a27e1317a735749f6d002002a733b75ebe47ee5600f38034e5a3019935405751ebc63db24c5d9fde623cec004d0907010000004f278468deaeedfb0010da3278cbbb88c2c496bbfffab8749d1fd85c039ff4c7752adad0a7b9ceca853768aebb6965eca126a62965f698a0c1bc43d83db632ad27e26846dea42dd3aec67b801205b500cfbef214e630ea3ecbc7f2d24ce362e800000000fd6a0676a9148da5aaef86362ed2487f5a01380886480617487c88ac6976aa607f5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7c5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01007e818b21414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff007d976e7c5296a06394677768827601249301307c7e23022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798027e7c7e7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01417e21038ff83d8cf12121491609c4939dc11c4aa35503508fe432dc5a5c1905608b9218ad547f7701207f01207f7701247f517f7801007e8102fd00a063546752687f7801007e817f727e7b01177f777b557a766471567a577a786354807e7e676d68aa880067765158a569765187645294567a5379587a7e7e78637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6867567a6876aa587a7d54807e577a597a5a7a786354807e6f7e7eaa727c7e676d6e7eaa7c687b7eaa587a7d877663516752687c72879b69537a647500687c7b547f77517f7853a0916901247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77788c6301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f777852946301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77686877517f7c52797d8b9f7c53a09b91697c76638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6876638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6863587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f7768587f517f7801007e817602fc00a06302fd00a063546752687f7801007e81727e7b7b687f75537f7c0376a9148801147f775379645579887567726881766968789263556753687a76026c057f7701147f8263517f7c766301007e817f7c6775006877686b537992635379528763547a6b547a6b677c6b567a6b537a7c717c71716868547a587f7c81547a557964936755795187637c686b687c547f7701207f75748c7a7669765880748c7a76567a876457790376a9147e7c7e557967041976a9147c7e0288ac687e7e5579636c766976748c7a9d58807e6c0376a9147e748c7a7e6c7e7e676c766b8263828c007c80517e846864745aa0637c748c7a76697d937b7b58807e56790376a9147e748c7a7e55797e7e6868686c567a5187637500678263828c007c80517e846868647459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e687459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e68687c537a9d547963557958807e041976a91455797e0288ac7e7e68aa87726d77776a1400b91626e0a4b97f624bc1f0d8fa3a3ef35ac6640100064b30513447384cc87c20565354207c2062343836613566623363386239616437366161363137393830306539666265373339313562363839383761636664383432326136326663346265616134356263207c2068747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f392f39352f546573745f696d6167652e6a7067207c2037207c2031207c205465737420546f6b656e202d2047656e657261746564206175746f6d61746963616c6c7920666f726d207465737473207c2030207c0100000000000000ffffffff01770f392bdddc76123f01a331b066d69d51ec56592574c1b7a8041999ea65be0000000041000000473044022026db83cccbd78b22d4c93080f916a00a5901eac67f675d553d5036869632d63e02205736dbc31e972c84bbc2e391db430022158f7e3b263d9c479589ce9e347edcd54121031a574b129d4dd0c9e0eae917bf06711d22219a2281debcc6c9bb5a6e87bb7c3fffffffff02a733b75ebe47ee5600f38034e5a3019935405751ebc63db24c5d9fde623cec000000006b483045022100bb0e41f70df285e205a8285dcb718ce7fd9539c93414e9a149ac6c427a043abb0220012213d0ba9e8905d2f39886b24b8457b5e06c2bc2c37dad0dd806c4107af7be4121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff020100000000000000fd6a0676a914fa6e04492aa0ce9eaa5aea00f1e6ac76ea8b5eba88ac6976aa607f5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7c5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01007e818b21414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff007d976e7c5296a06394677768827601249301307c7e23022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798027e7c7e7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01417e21038ff83d8cf12121491609c4939dc11c4aa35503508fe432dc5a5c1905608b9218ad547f7701207f01207f7701247f517f7801007e8102fd00a063546752687f7801007e817f727e7b01177f777b557a766471567a577a786354807e7e676d68aa880067765158a569765187645294567a5379587a7e7e78637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6867567a6876aa587a7d54807e577a597a5a7a786354807e6f7e7eaa727c7e676d6e7eaa7c687b7eaa587a7d877663516752687c72879b69537a647500687c7b547f77517f7853a0916901247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77788c6301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f777852946301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77686877517f7c52797d8b9f7c53a09b91697c76638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6876638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6863587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f7768587f517f7801007e817602fc00a06302fd00a063546752687f7801007e81727e7b7b687f75537f7c0376a9148801147f775379645579887567726881766968789263556753687a76026c057f7701147f8263517f7c766301007e817f7c6775006877686b537992635379528763547a6b547a6b677c6b567a6b537a7c717c71716868547a587f7c81547a557964936755795187637c686b687c547f7701207f75748c7a7669765880748c7a76567a876457790376a9147e7c7e557967041976a9147c7e0288ac687e7e5579636c766976748c7a9d58807e6c0376a9147e748c7a7e6c7e7e676c766b8263828c007c80517e846864745aa0637c748c7a76697d937b7b58807e56790376a9147e748c7a7e55797e7e6868686c567a5187637500678263828c007c80517e846868647459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e687459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e68687c537a9d547963557958807e041976a91455797e0288ac7e7e68aa87726d77776a1400b91626e0a4b97f624bc1f0d8fa3a3ef35ac6640100064b30513447384cc87c20565354207c2062343836613566623363386239616437366161363137393830306539666265373339313562363839383761636664383432326136326663346265616134356263207c2068747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f392f39352f546573745f696d6167652e6a7067207c2037207c2031207c205465737420546f6b656e202d2047656e657261746564206175746f6d61746963616c6c7920666f726d207465737473207c2030207c04000000000000001976a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac00000000 + - rawtx: >- + 010000000227e26846dea42dd3aec67b801205b500cfbef214e630ea3ecbc7f2d24ce362e800000000fdc5075114fa6e04492aa0ce9eaa5aea00f1e6ac76ea8b5eba54148d30f8237c83b899e51f41a27e1317a735749f6d002002a733b75ebe47ee5600f38034e5a3019935405751ebc63db24c5d9fde623cec004d0907010000004f278468deaeedfb0010da3278cbbb88c2c496bbfffab8749d1fd85c039ff4c7752adad0a7b9ceca853768aebb6965eca126a62965f698a0c1bc43d83db632ad27e26846dea42dd3aec67b801205b500cfbef214e630ea3ecbc7f2d24ce362e800000000fd6a0676a9148da5aaef86362ed2487f5a01380886480617487c88ac6976aa607f5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7c5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01007e818b21414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff007d976e7c5296a06394677768827601249301307c7e23022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798027e7c7e7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01417e21038ff83d8cf12121491609c4939dc11c4aa35503508fe432dc5a5c1905608b9218ad547f7701207f01207f7701247f517f7801007e8102fd00a063546752687f7801007e817f727e7b01177f777b557a766471567a577a786354807e7e676d68aa880067765158a569765187645294567a5379587a7e7e78637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6867567a6876aa587a7d54807e577a597a5a7a786354807e6f7e7eaa727c7e676d6e7eaa7c687b7eaa587a7d877663516752687c72879b69537a647500687c7b547f77517f7853a0916901247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77788c6301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f777852946301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77686877517f7c52797d8b9f7c53a09b91697c76638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6876638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6863587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f7768587f517f7801007e817602fc00a06302fd00a063546752687f7801007e81727e7b7b687f75537f7c0376a9148801147f775379645579887567726881766968789263556753687a76026c057f7701147f8263517f7c766301007e817f7c6775006877686b537992635379528763547a6b547a6b677c6b567a6b537a7c717c71716868547a587f7c81547a557964936755795187637c686b687c547f7701207f75748c7a7669765880748c7a76567a876457790376a9147e7c7e557967041976a9147c7e0288ac687e7e5579636c766976748c7a9d58807e6c0376a9147e748c7a7e6c7e7e676c766b8263828c007c80517e846864745aa0637c748c7a76697d937b7b58807e56790376a9147e748c7a7e55797e7e6868686c567a5187637500678263828c007c80517e846868647459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e687459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e68687c537a9d547963557958807e041976a91455797e0288ac7e7e68aa87726d77776a1400b91626e0a4b97f624bc1f0d8fa3a3ef35ac6640100064b30513447384cc87c20565354207c2062343836613566623363386239616437366161363137393830306539666265373339313562363839383761636664383432326136326663346265616134356263207c2068747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f392f39352f546573745f696d6167652e6a7067207c2037207c2031207c205465737420546f6b656e202d2047656e657261746564206175746f6d61746963616c6c7920666f726d207465737473207c2030207c0100000000000000ffffffff01770f392bdddc76123f01a331b066d69d51ec56592574c1b7a8041999ea65be0000000041000000473044022026db83cccbd78b22d4c93080f916a00a5901eac67f675d553d5036869632d63e02205736dbc31e972c84bbc2e391db430022158f7e3b263d9c479589ce9e347edcd54121031a574b129d4dd0c9e0eae917bf06711d22219a2281debcc6c9bb5a6e87bb7c3fffffffff02a733b75ebe47ee5600f38034e5a3019935405751ebc63db24c5d9fde623cec000000006b483045022100bb0e41f70df285e205a8285dcb718ce7fd9539c93414e9a149ac6c427a043abb0220012213d0ba9e8905d2f39886b24b8457b5e06c2bc2c37dad0dd806c4107af7be4121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff020100000000000000fd6a0676a914fa6e04492aa0ce9eaa5aea00f1e6ac76ea8b5eba88ac6976aa607f5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7c5f7f7c5e7f7c5d7f7c5c7f7c5b7f7c5a7f7c597f7c587f7c577f7c567f7c557f7c547f7c537f7c527f7c517f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01007e818b21414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff007d976e7c5296a06394677768827601249301307c7e23022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798027e7c7e7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c8276638c687f7c7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e7e01417e21038ff83d8cf12121491609c4939dc11c4aa35503508fe432dc5a5c1905608b9218ad547f7701207f01207f7701247f517f7801007e8102fd00a063546752687f7801007e817f727e7b01177f777b557a766471567a577a786354807e7e676d68aa880067765158a569765187645294567a5379587a7e7e78637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6878637c8c7c53797e577a7e6867567a6876aa587a7d54807e577a597a5a7a786354807e6f7e7eaa727c7e676d6e7eaa7c687b7eaa587a7d877663516752687c72879b69537a647500687c7b547f77517f7853a0916901247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77788c6301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f777852946301247f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e816854937f77686877517f7c52797d8b9f7c53a09b91697c76638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6876638c7c587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f777c6863587f77517f7c01007e817602fc00a06302fd00a063546752687f7c01007e81687f7768587f517f7801007e817602fc00a06302fd00a063546752687f7801007e81727e7b7b687f75537f7c0376a9148801147f775379645579887567726881766968789263556753687a76026c057f7701147f8263517f7c766301007e817f7c6775006877686b537992635379528763547a6b547a6b677c6b567a6b537a7c717c71716868547a587f7c81547a557964936755795187637c686b687c547f7701207f75748c7a7669765880748c7a76567a876457790376a9147e7c7e557967041976a9147c7e0288ac687e7e5579636c766976748c7a9d58807e6c0376a9147e748c7a7e6c7e7e676c766b8263828c007c80517e846864745aa0637c748c7a76697d937b7b58807e56790376a9147e748c7a7e55797e7e6868686c567a5187637500678263828c007c80517e846868647459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e687459a0637c748c7a76697d937b7b58807e55790376a9147e748c7a7e55797e7e68687c537a9d547963557958807e041976a91455797e0288ac7e7e68aa87726d77776a1400b91626e0a4b97f624bc1f0d8fa3a3ef35ac6640100064b30513447384cc87c20565354207c2062343836613566623363386239616437366161363137393830306539666265373339313562363839383761636664383432326136326663346265616134356263207c2068747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f656e2f392f39352f546573745f696d6167652e6a7067207c2037207c2031207c205465737420546f6b656e202d2047656e657261746564206175746f6d61746963616c6c7920666f726d207465737473207c2030207c04000000000000001976a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac00000000 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/migrateToken: + post: + summary: Migrate token + tags: + - admin + parameters: + - schema: + type: string + in: header + name: walletID + required: false + deprecated: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: migration started successfully + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/tokenMetrics: + get: + summary: sync token from blockchain + tags: + - Utility + parameters: + - schema: + type: string + in: header + name: walletID + required: false + - schema: + type: boolean + default: false + in: header + name: force + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: migration started successfully + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/drop: + post: + summary: Withdraws coins from PrivateKeys. + tags: + - Transactions + description: >- + The drop endpoints allows users to transfer coins (BSV or Token) from a + PrivateKey. + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + to: + type: string + amount: + type: number + minimum: 0 + notes: + type: string + nullable: true + sn: + type: number + nullable: true + minimum: 0 + tokenId: + type: string + nullable: true + data: + type: array + nullable: true + items: + type: string + required: + - to + - amount + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 0.000005 + example2: + value: + dataArray: + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + example3: + value: + dataArray: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 0.000005 + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 0.000005 + notes: test + data: + - test1 + - test2 + example4: + value: + dataArray: + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 5 + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 3 + notes: test + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 3 + notes: test + data: + - test1 + - test2 + required: true + parameters: + - schema: + type: string + in: header + name: secretKey + required: false + - schema: + type: string + in: header + name: serviceID + required: false + - schema: + type: string + in: header + name: privateKey + required: false + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txIds: + type: array + items: + type: string + errors: + type: array + items: + type: object + additionalProperties: true + required: + - status + - msg + - txIds + - errors + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + errors: [] + example2: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + - >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + errors: [] + example3: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 18d3c8cef40ba055e8151c9377d4c5f144dd1fe44f83f07079e2d0046dc79bc9 + errors: [] + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/sweep: + post: + summary: Transfers all assets from PrivateKey to the User. + tags: + - Transactions + description: >- + The sweep endpoints allows users to transfer all coins (BSV and Tokens) + from a PrivateKey. + requestBody: + content: + application/json: + schema: + type: object + properties: + items: + type: object + properties: + privateKey: + type: string + required: + - privateKey + example: + privateKey: string + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txIds: + type: array + items: + type: string + errors: + type: array + items: + type: object + additionalProperties: true + required: + - status + - msg + - txIds + - errors + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + errors: [] + example2: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + - >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + errors: [] + example3: + value: + statusCode: 200 + data: + status: success + msg: Transaction(s) created successfully. + txIds: + - >- + 18d3c8cef40ba055e8151c9377d4c5f144dd1fe44f83f07079e2d0046dc79bc9 + errors: [] + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/offer: + post: + summary: Create an Atomic Swap + tags: + - Transactions + description: >- + This endpoint allows user to create a swap offer. For token to BSV swap + use tokenId, amount(number of tokens) and sn(optional serial number if + NFT) and wantedAmount in BSV value (decimal). For token to token swap + use wantedAmount(wanted number of tokens), wantedTokenId and + wantedSn(optional serial number if NFT), can also instead use + wantedScript using a token script hex value instead of wantedTokenId and + wantedSn + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + amount: + type: number + minimum: 0 + nullable: true + tokenId: + type: string + nullable: true + sn: + type: number + minimum: 0 + nullable: true + wantedAmount: + type: number + minimum: 0 + nullable: true + wantedTokenId: + type: string + nullable: true + wantedSn: + type: number + minimum: 0 + nullable: true + wantedScript: + type: string + nullable: true + required: + - amount + - wantedAmount + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + amount: 1 + wantedAmount: 1 + wantedTokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + example2: + value: + dataArray: + - tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + sn: 85 + amount: 1 + wantedAmount: 1 + wantedTokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + wantedSn: 45 + example3: + value: + dataArray: + - tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + amount: 1 + wantedAmount: 2.5e-7 + example4: + value: + dataArray: + - tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + sn: 85 + amount: 1 + wantedAmount: 2.5e-7 + example5: + value: + dataArray: + - amount: 2.5e-7 + wantedAmount: 1 + wantedTokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + example6: + value: + dataArray: + - amount: 2.5e-7 + wantedAmount: 1 + wantedTokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + wantedSn: 60 + example7: + value: + dataArray: + - amount: 2.5e-7 + wantedAmount: 1 + wantedTokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + - tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + amount: 1 + wantedAmount: 2.5e-7 + - tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + amount: 1 + wantedAmount: 1 + wantedTokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + example8: + value: + dataArray: + - amount: 2.5e-7 + wantedAmount: 1 + wantedTokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + wantedSn: 60 + - tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + sn: 85 + amount: 1 + wantedAmount: 2.5e-7 + - tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + sn: 85 + amount: 1 + wantedAmount: 1 + wantedTokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + wantedSn: 45 + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + contents: + type: array + items: + type: string + minItems: 1 + required: + - status + - msg + - contents + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Offer created successfully + contents: + - >- + 010000000184c5740d26e45e7d3574f51bc57346bdec86478669c4a4c90252acaa7a69353d000000006b483045022100876446ffa4fb4dbe362f00adca8d13c5010e5ef5dbfc3f261849fe267352bb2202201b367635c117cd1ce002033a12e115a56be5fa8f59cdaa2ed15f8ed683d23f6dc3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + example2: + value: + statusCode: 200 + data: + status: success + msg: Offer created successfully + contents: + - >- + 0100000001c5a3b200dce3761303df00166b7f424987ba7bce0ca2806ccfd6c0492fd43b98000000006a47304402201a289a73ca3c3e3dd183193c9c52fd1cbd1607d31769879b56da5eadd00071810220296232d51d8591406848eb4a7ee7dd246403de69237afbab687f0bc84e6354cbc3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + - >- + 0100000001b0619eea04bf5f1f765097cbbe2fad314dc6cedebedfe45e97bd30e261008820000000006a473044022075b1b3d916dc32bd7b4dd13e1681e5cb68944331a515ea5d169eb665f032617b022050d287f19c63d0b99a78af62ba580c4574b43373db134b9fc9cb157b9156d882c3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/swap: + post: + summary: Accepting atomic swap offers. + tags: + - Transactions + description: >- + This endpoint allows users to accept swap offers by passing respective + hex value values. + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + swapHex: + type: string + additionalOutputs: + type: array + nullable: true + items: + type: object + properties: + amount: + type: number + to: + type: string + required: + - swapHex + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - swapHex: >- + 010000000184c5740d26e45e7d3574f51bc57346bdec86478669c4a4c90252acaa7a69353d000000006b483045022100876446ffa4fb4dbe362f00adca8d13c5010e5ef5dbfc3f261849fe267352bb2202201b367635c117cd1ce002033a12e115a56be5fa8f59cdaa2ed15f8ed683d23f6dc3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + example2: + value: + dataArray: + - swapHex: >- + 0100000001c5a3b200dce3761303df00166b7f424987ba7bce0ca2806ccfd6c0492fd43b98000000006a47304402201a289a73ca3c3e3dd183193c9c52fd1cbd1607d31769879b56da5eadd00071810220296232d51d8591406848eb4a7ee7dd246403de69237afbab687f0bc84e6354cbc3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + - swapHex: >- + 0100000001b0619eea04bf5f1f765097cbbe2fad314dc6cedebedfe45e97bd30e261008820000000006a473044022075b1b3d916dc32bd7b4dd13e1681e5cb68944331a515ea5d169eb665f032617b022050d287f19c63d0b99a78af62ba580c4574b43373db134b9fc9cb157b9156d882c3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txIds: + type: array + items: + type: string + errors: + type: array + items: + type: string + required: + - status + - msg + - txIds + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Swap offer accepted successfully. + txIds: + - >- + 2e74b8df67efebbd64e90994417f2c42b4eddd1c58327bb0d548453b2409bbe0 + errors: [] + example2: + value: + statusCode: 200 + data: + status: success + msg: Swap offer accepted successfully. + txIds: + - >- + 0d1fa874f233e1a46ad3a74217e5eb656eed8f2c2dafe889e1566851e7deae3c + - >- + 81ab5a4ac721ab9eb4539cf173e248d5bb6e9226263d8361a175d38a983587ba + errors: [] + example3: + value: + statusCode: 200 + data: + status: success + msg: Swap offer accepted successfully. + txIds: + - >- + 2e74b8df67efebbd64e90994417f2c42b4eddd1c58327bb0d548453b2409bbe0 + errors: + - 'Tx Number 1 : unsupported script type' + - 'Tx Number 2 : unsupported token type' + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/exchangeOffer: + post: + summary: Creates swap offer for exchange - returns swap ID + tags: + - Transactions + description: >- + This endpoint allows user to create a swap offer object that can be used + for the exchange endpoint. The amount value is the value in satoshis + wanted in exchange for the token. Payment field is to add in extra + outputs if requested with amount in satoshis and to for address string. + NOTE : maximum of 2 extra outputs allowed + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + tokenId: + type: string + sn: + type: number + minimum: 0 + nullable: true + amount: + type: number + minimum: 1.e-8 + type: + type: string + default: BSV + enum: + - BSV + payment: + type: array + items: + type: object + properties: + to: + type: string + amount: + anyOf: + - type: string + - type: number + minimum: 0 + required: + - to + - amount + nullable: true + maxItems: 2 + required: + - amount + - type + - tokenId + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - tokenId: >- + 900d39ffb5cd0728a59c76c79ab6939af19c3c0d-sToken51br5a656s5126j + amount: 1.e-8 + type: BSV + example2: + value: + dataArray: + - tokenId: >- + 900d39ffb5cd0728a59c76c79ab6939af19c3c0d-sToken51br5a656s5126j + sn: 5 + amount: 1.e-8 + type: BSV + payment: + - to: 1CZRgtb2G7ykqyfBqFXf9AutRaWKY2fN4x + amount: 1.e-8 + - to: 1CZRgtb2G7ykqyfBqFXf9AutRaWKY2we4x + amount: 1.e-8 + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + contents: + type: array + items: + type: object + properties: + swapId: + type: string + swapOfferHex: + type: string + tokenSatoshis: + type: number + minimum: 0 + tokenContractTxid: + type: string + payment: + type: array + items: + type: object + properties: + to: + type: string + amount: + anyOf: + - type: string + - type: number + minimum: 0 + required: + - to + - amount + nullable: true + maxItems: 2 + prevTxid: + type: string + tokenId: + type: string + serialNumber: + type: number + minimum: 0 + nullable: true + tokenOwnerAddress: + type: string + totalOutputSatoshis: + type: number + minimum: 0 + makerPublicKeyHash: + type: string + required: + - swapId + - swapOfferHex + - tokenSatoshis + - tokenContractTxid + - prevTxid + - tokenId + - tokenOwnerAddress + - totalOutputSatoshis + - makerPublicKeyHash + minItems: 1 + required: + - status + - msg + - contents + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Swap offer created successfully + contents: + - swapId: 0be1541d-c44d-4209-a5d0-f197ec587e7b + swapOfferHex: >- + 0100000001e7440cf4384e060ae765557c9889a2df9547bb89c9e319c687d0845ed653e4d4000000006b48304502210086cee5783fe831dcd647ff9d2b516562573afcc80df0d3c7004f0978916a9139022058a0e27ac520e207f289cdfbd342083651b6ef77b0fcf7b8c6109386fbd6544fc3210209d882c772f19ef511c81fb161abaf98c561767b29c92f424b0b2fa16e147eb4ffffffff0100e1f505000000001976a9140bb9eb13c821d10af1f5fbf01c04577305c24d3788ac00000000 + tokenSatoshis: 1 + tokenContractTxid: >- + 4d68e9178f7eb1fc8bd4a0ac9a9f034e8f4c61010eaa286ba6344827e0b5d1cd + payment: null + prevTxid: >- + d4e453d65e84d087c619e3c989bb4795dfa289987c5565e70a064e38f40c44e7 + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-IR_MAN + tokenOwnerAddress: 12519wQZvqjuqxggUco872zKs66L9x438C + totalOutputSatoshis: 100000000 + makerPublicKeyHash: 0bb9eb13c821d10af1f5fbf01c04577305c24d37 + example2: + value: + statusCode: 200 + data: + status: success + msg: Swap offer created successfully + contents: + - swapId: 7ef4c018-1ba8-493d-9738-649994e24a86 + swapOfferHex: >- + 0100000001e7440cf4384e060ae765557c9889a2df9547bb89c9e319c687d0845ed653e4d4000000006b48304502210086cee5783fe831dcd647ff9d2b516562573afcc80df0d3c7004f0978916a9139022058a0e27ac520e207f289cdfbd342083651b6ef77b0fcf7b8c6109386fbd6544fc3210209d882c772f19ef511c81fb161abaf98c561767b29c92f424b0b2fa16e147eb4ffffffff0100e1f505000000001976a9140bb9eb13c821d10af1f5fbf01c04577305c24d3788ac00000000 + tokenSatoshis: 1 + tokenContractTxid: >- + 4d68e9178f7eb1fc8bd4a0ac9a9f034e8f4c61010eaa286ba6344827e0b5d1cd + payment: null + prevTxid: >- + d4e453d65e84d087c619e3c989bb4795dfa289987c5565e70a064e38f40c44e7 + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-IR_MAN + tokenOwnerAddress: 12519wQZvqjuqxggUco872zKs66L9x438C + totalOutputSatoshis: 100000000 + makerPublicKeyHash: 0bb9eb13c821d10af1f5fbf01c04577305c24d37 + - swapId: 45c108dc-28da-4544-b938-fa966ff8151b + swapOfferHex: >- + 0100000001e7440cf4384e060ae765557c9889a2df9547bb89c9e319c687d0845ed653e4d4000000006b483045022100ccd4f2025ec90b337fcb66c03ebae80d9057d8da36c554df3db93be3068430b90220710d6eda3911c94c36652fcb82085d7511354df3ad8f0dda3e9ac023deee9a29c3210209d882c772f19ef511c81fb161abaf98c561767b29c92f424b0b2fa16e147eb4ffffffff0100a3e111000000001976a9140bb9eb13c821d10af1f5fbf01c04577305c24d3788ac00000000 + tokenSatoshis: 1 + tokenContractTxid: >- + 4d68e9178f7eb1fc8bd4a0ac9a9f034e8f4c61010eaa286ba6344827e0b5d1cd + payment: null + prevTxid: >- + d4e453d65e84d087c619e3c989bb4795dfa289987c5565e70a064e38f40c44e7 + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-IR_MAN + tokenOwnerAddress: 12519wQZvqjuqxggUco872zKs66L9x438C + totalOutputSatoshis: 300000000 + makerPublicKeyHash: 0bb9eb13c821d10af1f5fbf01c04577305c24d37 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/exchangeSwap: + post: + summary: Atomic Swap + tags: + - Transactions + description: This endpoint allows users to accept a swap offers via swap ID + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + swapId: + type: string + required: + - swapId + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - swapId: 0a82d337-28ad-43d6-b16d-6cc60c3018f0 + example2: + value: + dataArray: + - swapId: 57d28adb-5c6b-4b3e-8572-87daa794f265 + - swapId: 43daaaf6-878c-46c0-a3fc-b34709e96c48 + - swapId: 2631b389-4231-4e35-a7c8-ee5f6c3c1c36 + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txIds: + type: array + items: + type: string + required: + - status + - msg + - txIds + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Swap offer accepted successfully + txIds: + - >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + example2: + value: + statusCode: 200 + data: + status: success + msg: Swap offer accepted successfully + txIds: + - >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + - >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/inspect: + post: + summary: Inspect an atomic swap offer. + tags: + - Transactions + description: >- + This endpoint allows users to inspect an atomic swap hex to verify the + validity of the offer. + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + swapHex: + type: string + required: + - swapHex + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - swapHex: >- + 010000000184c5740d26e45e7d3574f51bc57346bdec86478669c4a4c90252acaa7a69353d000000006b483045022100876446ffa4fb4dbe362f00adca8d13c5010e5ef5dbfc3f261849fe267352bb2202201b367635c117cd1ce002033a12e115a56be5fa8f59cdaa2ed15f8ed683d23f6dc3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + example2: + value: + dataArray: + - swapHex: >- + 0100000001c5a3b200dce3761303df00166b7f424987ba7bce0ca2806ccfd6c0492fd43b98000000006a47304402201a289a73ca3c3e3dd183193c9c52fd1cbd1607d31769879b56da5eadd00071810220296232d51d8591406848eb4a7ee7dd246403de69237afbab687f0bc84e6354cbc3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + - swapHex: >- + 0100000001b0619eea04bf5f1f765097cbbe2fad314dc6cedebedfe45e97bd30e261008820000000006a473044022075b1b3d916dc32bd7b4dd13e1681e5cb68944331a515ea5d169eb665f032617b022050d287f19c63d0b99a78af62ba580c4574b43373db134b9fc9cb157b9156d882c3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + offerDetails: + type: array + items: + anyOf: + - type: object + properties: + tokenOwnerAddress: + type: string + tokenCreatorAddress: + type: string + tokenSatoshis: + type: number + minimum: 0 + wantedSatoshis: + type: number + minimum: 0 + tokenImage: + type: string + serialNumber: + type: number + minimum: 0 + splittbale: + type: boolean + contractTxid: + type: string + tokenId: + type: string + symbol: + type: string + tokenSupply: + type: number + minimum: 0 + verified: + type: boolean + tokenName: + type: string + tokenDescription: + type: string + nullable: true + required: + - tokenOwnerAddress + - tokenCreatorAddress + - tokenSatoshis + - wantedSatoshis + - tokenImage + - serialNumber + - splittbale + - contractTxid + - tokenId + - symbol + - tokenSupply + - verified + - tokenName + - type: object + properties: + tokenOwnerAddress: + type: string + tokenCreatorAddress: + type: string + tokenSatoshis: + type: number + minimum: 0 + wantedSatoshis: + type: number + minimum: 0 + tokenId: + type: string + symbol: + type: string + sn: + type: number + minimum: 0 + splittable: + type: boolean + tokenImage: + type: string + contractTxid: + type: string + tokenName: + type: string + tokenDescription: + type: string + nullable: true + verified: + type: boolean + required: + - tokenOwnerAddress + - tokenCreatorAddress + - tokenSatoshis + - wantedSatoshis + - tokenId + - symbol + - sn + - splittable + - tokenImage + - contractTxid + - tokenName + - verified + minItems: 1 + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Offer details fetched successfully + offerDetails: + - tokenOwnerAddress: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + tokenCreatorAddress: 1BuEAp4mjJdeDGcpw6XdvtA9fWmHNF2mMX + tokenSatoshis: 1 + wantedSatoshis: 25 + tokenImage: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + serialNumber: 85 + splittbale: false + contractTxid: >- + e24cd3c552d71c2dd8513cdeac81a6d2ca48a055f73cbc58d118a33f037c9ca1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2 + symbol: WDG + tokenSupply: 123 + verified: true + tokenName: White Dragon + tokenDescription: White Dragon + example2: + value: + statusCode: 200 + data: + status: success + msg: Offer details fetched successfully + offerDetails: + - tokenOwnerAddress: 12fKJzMbsMW6HxAsCMsrL4jrxC2p8umDGf + tokenCreatorAddress: 1BuEAp4mjJdeDGcpw6XdvtA9fWmHNF2mMX + tokenSatoshis: 1 + wantedSatoshis: 100000000 + tokenImage: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + serialNumber: 0 + splittbale: true + contractTxid: >- + a29f4948fd8c17d2e9be8e21f7312dcbcafe2f65b0eb4f0bf4d261a3e3a13c8c + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2 + symbol: SBPTEST12345 + tokenSupply: 5 + verified: true + tokenName: Store Bonus Points + tokenDescription: Store Bonus Points + - tokenOwnerAddress: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + tokenCreatorAddress: 1BuEAp4mjJdeDGcpw6XdvtA9fWmHNF2mMX + tokenSatoshis: 1 + wantedSatoshis: 25 + tokenImage: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + serialNumber: 85 + splittbale: false + contractTxid: >- + e24cd3c552d71c2dd8513cdeac81a6d2ca48a055f73cbc58d118a33f037c9ca1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2 + symbol: WDG + tokenSupply: 123 + verified: true + tokenName: White Dragon + tokenDescription: White Dragon + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/redeem: + post: + summary: Smart contract Redemption. + tags: + - Smart Contracts + description: >- + This endpoint lets user redeem tokens and thus dissolving the smart + contract for satoshis. + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + amount: + type: number + minimum: 0 + tokenId: + type: string + sn: + type: number + default: 0 + minimum: 0 + required: + - amount + - tokenId + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - amount: 1 + tokenId: 8a9e7ec666f0610ff3f0540ed55f07162e9dd7a8-SBP + sn: 0 + example2: + value: + dataArray: + - amount: 1 + tokenId: 8a9e7ec666f0610ff3f0540ed55f07162e9dd7a8-SBP + sn: 0 + - amount: 1 + tokenId: 8a9e7ec666f0610ff3f0540ed55f07162e9dd7a8-SBP_TEST + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txIds: + type: array + items: + type: string + errors: + type: array + items: + type: string + required: + - status + - msg + - txIds + - errors + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Redemption successful. + txIds: + - >- + 7f06cdece4c08192e8872be802f120b85f0610e6f8e448b85c301e89ccc5bfe1 + errors: [] + example2: + value: + statusCode: 200 + data: + status: success + msg: Redemption successful. + txIds: + - >- + 7f06cdece4c08192e8872be802f120b85f0610e6f8e448b85c301e89ccc5bfe1 + - >- + d1f376ffb62f30efdd1336ec379eb462ab1068dd67a55789ab1c445cf35c540d + errors: [] + example3: + value: + statusCode: 200 + data: + status: success + msg: Redemption successful. + txIds: + - >- + d1f376ffb62f30efdd1336ec379eb462ab1068dd67a55789ab1c445cf35c540d + errors: + - Error message 1 + - Error message 2 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/createWallet: + get: + summary: Create a wallet. + tags: + - Wallets + description: >- + Create a HD wallet of choice in your user account. You can select + between standard, secure, escrow and shared wallets (see + docs.relysia.com). + parameters: + - schema: + type: string + in: header + name: walletTitle + required: true + - schema: + type: string + in: header + name: mnemonicPhrase + required: false + - schema: + type: string + in: header + name: paymail + required: false + - schema: + type: boolean + in: header + name: paymailActivate + required: false + - schema: + type: string + in: header + name: type + required: false + - schema: + type: string + nullable: true + in: header + name: walletLogo + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + walletID: + type: string + paymail: + type: string + required: + - status + - msg + - walletID + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Wallet created successfully. + walletID: 5f7b1b1b-5f7b-1b1b-5f7b-1b1b5f7b1b1b + paymail: 14735@dev.relysia.com + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/metrics: + get: + summary: Get the latest wallet UTXO state. + tags: + - Utility + description: >- + UTXOs are the base unit of transactions in the Bitcoin network. The + metrics endpoint first updates the last UTXO state, and then shows a + detailled output of each UTXO in the wallet. + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + data: + type: object + properties: + balance: + type: number + minimum: 0 + userUtxos: + type: array + items: + type: object + properties: + userId: + type: string + walletId: + type: string + script: + type: string + tx_pos: + type: number + minimum: 0 + address: + type: string + path: + type: string + tx_hash: + type: string + value: + type: number + minimum: 0 + serviceId: + type: string + nullable: true + required: + - userId + - walletId + - script + - tx_pos + - address + - path + - tx_hash + - value + minItems: 0 + required: + - balance + - userUtxos + required: + - status + - msg + - data + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: UTXO state updated successfully + data: + balance: 6078 + userUtxos: + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914ee31f7eae549febdffc53a995bdee8ff0ba2300688ac + tx_pos: 0 + address: 1NiTgXKyS4oS3fyzHp6PryeBvc6FMJDW12 + path: m/44'/0'/0'/0/0 + tx_hash: >- + 43f7f41c0ff873f3b576894fc3c7626a187258cd838f36062f54bc3b14fe3620 + value: 25 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914ee31f7eae549febdffc53a995bdee8ff0ba2300688ac + tx_pos: 1 + address: 1NiTgXKyS4oS3fyzHp6PryeBvc6FMJDW12 + path: m/44'/0'/0'/0/0 + tx_hash: >- + 43f7f41c0ff873f3b576894fc3c7626a187258cd838f36062f54bc3b14fe3620 + value: 481 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914d703dafb29efd43caad53e9f1bcb924e6546694e88ac + tx_pos: 1 + address: 1Lbtu82Jm9poEdgKB3HsTDWS9YSC91Hpny + path: m/44'/0'/0'/0/1 + tx_hash: >- + 76d79ad05cfeb4068535377cdff0113a084b084e936b7751c39895587be41d3d + value: 4933 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a91498de3990604e4fe330f65e6b0125243eb909d1dd88ac + tx_pos: 0 + address: 1EwHvcWDjWcBGBXJLae8k4dsaVo8QKsqCP + path: m/44'/0'/0'/0/4 + tx_hash: >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + value: 1 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a91447431db9649fd75c28834cb152f17cc8ea7fa11f88ac + tx_pos: 1 + address: 17VoNvtJjD19ctL5Ue3GJzzskbtXeNL4Nt + path: m/44'/0'/0'/0/8 + tx_hash: >- + 8a7e73066f07eacab9cbe9edd45d1857f589ef0c8bd725e5010962cfb9198e4e + value: 404 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a91477cb578d9fab608a794871e6c994c6ff2e55a70788ac + tx_pos: 1 + address: 1BvR1H8Bu1rRYwDWEVLoZJa37R3z19qzrK + path: m/44'/0'/0'/0/10 + tx_hash: >- + 0849c24ecb4a30c60c1bb1ec5f557d60642bb6c6d2eeb5a30ee7c9f92c88572f + value: 174 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a91477cb578d9fab608a794871e6c994c6ff2e55a70788ac + tx_pos: 1 + address: 1BvR1H8Bu1rRYwDWEVLoZJa37R3z19qzrK + path: m/44'/0'/0'/0/10 + tx_hash: >- + cf9b899bfba8d6f8a4302e747a78635cc1328a76826ac7d7d31347bb39ba486d + value: 49 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914aff862161039bc97895c6f515e629c6ece4943b188ac + tx_pos: 0 + address: 1H3SoXyeKv4mNNForRaPV8Fkzwdu55yx2b + path: m/44'/0'/0'/0/14 + tx_hash: >- + 4ee029b35a30bafbcab3a08661dc286d3c5ce9f98a1734d1163c86aabe68c7d8 + value: 1 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914aff862161039bc97895c6f515e629c6ece4943b188ac + tx_pos: 0 + address: 1H3SoXyeKv4mNNForRaPV8Fkzwdu55yx2b + path: m/44'/0'/0'/0/14 + tx_hash: >- + f123456b9d6ee63c93b2a5afa264298efc6f0bb8cd400d5aa03d037eb1c9ae56 + value: 2 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914aff862161039bc97895c6f515e629c6ece4943b188ac + tx_pos: 1 + address: 1H3SoXyeKv4mNNForRaPV8Fkzwdu55yx2b + path: m/44'/0'/0'/0/14 + tx_hash: >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + value: 1 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914e54a77f2eaffb502d4af119436e9b7982707f07288ac + tx_pos: 1 + address: 1MuNx6Vm2oE4oU9iDRLr7ebAiv196DQBzh + path: m/44'/0'/0'/0/17 + tx_hash: >- + 9ecbb4771c9e91e1f6a162d5dd3e808e57e43eedebb499f1096cb8d6813951b5 + value: 4 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914e54a77f2eaffb502d4af119436e9b7982707f07288ac + tx_pos: 1 + address: 1MuNx6Vm2oE4oU9iDRLr7ebAiv196DQBzh + path: m/44'/0'/0'/0/17 + tx_hash: >- + fb6c046fa87d963b2e35beb06e1c21b443cbf7b7f684fd4f733fa68f6ecde672 + value: 3 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/address: + get: + summary: Get your wallet address and paymail. + tags: + - Wallets + description: >- + Receive a single address and the paymail alias to receive Coins or + Token. + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + address: + type: string + paymail: + type: string + nullable: true + required: + - status + - msg + - address + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Wallet address and paymail fetched successfully. + address: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + paymail: 91@relysia.com + example2: + value: + statusCode: 200 + data: + status: success + msg: Wallet address and paymail fetched successfully. + address: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + paymail: null + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/allAddresses: + get: + summary: Get all wallet addresses. + tags: + - Wallets + description: >- + Get a list of all wallet addresses that are currently available in your + wallet. + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + addressess: + type: array + items: + type: string + required: + - status + - msg + - addressess + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Wallet addresses fetched successfully. + addressess: + - 1PLXza2i1JXyg6CuA5FW5RzkUiocpDFNV8 + - 1EcxwhQ4Y9ffda9zXvQfHaM8u7PafbvZLg + - 1LNbg5RocpuM7e7fschE6r8miwXh5jCjkA + - 1BfzNso8KAALAVKPrANrKudM6ZWzHShpZh + - 1PwzERwgengSyzBNBKEU6V2xB1jgTryovr + - 132jVsneQ8vWBaGkKbKaQLkyiigCPDhawk + - 13tGhavRUTn2vvz2tQgAGwG1oe9FdAxoNE + - 115A1j8KQmQX7HC3MNwsnwJvc6ZF6c4wYc + - 1LFNbbFP7VwSf2ajt1rytcE2yvHainoHy3 + - 1MxntVMUmbkuFiZXd8ecYSbvMWyw2awKmq + - 1HZy99hEouZuY9Z3dUznvmtacWzhrJguGd + - 1E9g8uaWq7GUvMbGkHn26ejVsZAWAEFvC1 + - 176TzKDhqk3NMx14tiDr8jWGRvMWLttptg + - 13GApJKQdzpfjMV5FWpDwGEbc1vGAD6rri + - 1K94K5FcBDDrgxEpKTckDycSW315PQUr6a + - 1KLHk7od5A9sQEVoaMtyUujyERnzZWt4sy + - 1NSRLTGcueGWjAg1Y32QjPjG9hXp5Qwhwu + - 12QLLJKe4R9FaxnzrVBdQ5a2vPmheqHsbh + - 1Gek19BzGF4urFD2sfdmPWKDGpdMSGicsS + - 1D4gnUXis2s5WH4atopeXRyFjoie4Gxirn + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/balance: + get: + summary: Get your wallet balance. + tags: + - Wallets + description: Returns both coin and token balances. + parameters: + - schema: + type: string + in: header + name: walletID + required: false + - schema: + type: string + in: header + name: type + required: false + - schema: + type: string + in: header + name: currency + required: false + - schema: + type: string + in: header + name: nextPageToken + required: false + - schema: + type: string + in: header + name: compact + required: false + deprecated: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + totalBalance: + type: object + properties: + currency: + type: string + enum: + - USD + - CHF + - INR + - EUR + - CAD + - GBP + - SYP + - SDG + - LBP + - FKP + - EGP + - BSV + balance: + type: number + required: + - currency + - balance + coins: + type: array + items: + anyOf: + - type: object + properties: + protocol: + type: string + enum: + - BSV + balance: + type: number + required: + - protocol + - balance + - type: object + properties: + Id: + type: string + protocol: + type: string + enum: + - BSV + - STAS + - STAS-50 + - STAS-20 + - STAS-789 + - STAS50 + - STASFT + - STASAPPEND + tokenId: + type: string + splittable: + type: boolean + splitable: + type: boolean + verified: + type: boolean + name: + type: string + nullable: true + address: + type: string + satsPerToken: + type: number + symbol: + type: string + redeemAddr: + type: string + image: + type: string + amount: + type: number + supply: + type: number + decimals: + type: number + sn: + anyOf: + - type: number + - type: array + items: + type: number + nullable: true + required: + - Id + - protocol + - tokenId + - splittable + - splitable + - verified + - address + - satsPerToken + - symbol + - redeemAddr + - image + - amount + - supply + - decimals + - sn + meta: + type: object + properties: + nextPageToken: + type: number + nullable: true + required: + - status + - msg + - totalBalance + - coins + - meta + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Operation Completed Successfully + totalBalance: + currency: USD + balance: 0.00003367160796545307 + coins: + - protocol: BSV + balance: 0 + - Id: 6441fe87c0dc6dd1babbe28f + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 103 + - Id: 6441fe87c0dc6dd1babbe290 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 102 + - Id: 6441fe87c0dc6dd1babbe291 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 101 + - Id: 6441fe87c0dc6dd1babbe292 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 100 + - Id: 6441fe87c0dc6dd1babbe293 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 99 + - Id: 6441fe87c0dc6dd1babbe294 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 98 + - Id: 6441fe87c0dc6dd1babbe295 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 97 + - Id: 6441fe87c0dc6dd1babbe296 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 96 + - Id: 6441fe87c0dc6dd1babbe297 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 95 + - Id: 6441fe87c0dc6dd1babbe298 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 94 + - Id: 6441fe87c0dc6dd1babbe299 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 93 + - Id: 6441fe87c0dc6dd1babbe29a + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 92 + - Id: 6441fe87c0dc6dd1babbe29b + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 91 + - Id: 6441fe87c0dc6dd1babbe29c + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 90 + - Id: 6441fe87c0dc6dd1babbe29d + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 89 + - Id: 6441fe87c0dc6dd1babbe29e + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 88 + - Id: 6441fe87c0dc6dd1babbe29f + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 87 + - Id: 6441fe87c0dc6dd1babbe2a0 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 86 + - Id: 6441fe87c0dc6dd1babbe2a1 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 85 + meta: + nextPageToken: 19 + example2: + value: + statusCode: 200 + data: + status: success + msg: Operation Completed Successfully + totalBalance: + currency: USD + balance: 0.000033666372935816003 + coins: + - protocol: BSV + balance: 0 + - Id: 6441fe87c0dc6dd1babbe28f + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 103 + supply: 123 + decimals: 0 + sn: + - 38 + - 7 + - Id: 6441fe87c0dc6dd1babbe27a + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + splittable: false + splitable: false + verified: true + name: Yujiro + address: 12519wQZvqjuqxggUco872zKs66L9x438C + satsPerToken: 1 + symbol: YJO + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://static.wikia.nocookie.net/baki/images/a/a6/Yujiro_profile.png/revision/latest/scale-to-width-down/280?cb=20220726223446 + amount: 2 + supply: 5 + decimals: 0 + sn: + - 2 + - 1 + - Id: 6441fe87c0dc6dd1babbe27b + protocol: STAS + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-IR_MAN + splittable: false + splitable: false + verified: true + name: Ironman + address: 12519wQZvqjuqxggUco872zKs66L9x438C + satsPerToken: 1 + symbol: IR_MAN + redeemAddr: 8226da9a724b0581928ee508df0174ed7b233a81 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 2 + supply: 3 + decimals: 0 + sn: + - 2 + - 1 + - Id: 6441fe87c0dc6dd1babbe27c + protocol: STAS + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-W_WOMAN + splittable: false + splitable: false + verified: true + name: Store Bonus Points + address: 12T7men1z1FU9sruoFgFx2D7JCJRgZtxrA + satsPerToken: 1 + symbol: W_WOMAN + redeemAddr: 8226da9a724b0581928ee508df0174ed7b233a81 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 5 + decimals: 0 + sn: + - 5 + - Id: 6441fe87c0dc6dd1babbe27d + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-nba-new-123 + splittable: false + splitable: false + verified: true + name: Store Bonus Points + address: 12T7men1z1FU9sruoFgFx2D7JCJRgZtxrA + satsPerToken: 1 + symbol: nba-new-123 + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 10 + supply: 3 + decimals: 0 + sn: + - 3 + - 1 + - 2 + - Id: 6441fe87c0dc6dd1babbe280 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + splittable: false + splitable: false + verified: true + name: Store Bonus Points + address: 12T7men1z1FU9sruoFgFx2D7JCJRgZtxrA + satsPerToken: 1 + symbol: Mordor-bulk + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 6 + supply: 2000 + decimals: 0 + sn: + - 1832 + - 719 + - 327 + - 1465 + - 536 + - 1590 + - Id: 6441fe87c0dc6dd1babbe282 + protocol: STAS + tokenId: >- + 7791e1839f705e2813ec744a15fd10d355ff99b2-SBPTEST12345 + splittable: true + splitable: true + verified: true + name: Store Bonus Points + address: 12fKJzMbsMW6HxAsCMsrL4jrxC2p8umDGf + satsPerToken: 1 + symbol: SBPTEST12345 + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 2 + supply: 5 + decimals: 0 + sn: + - 0 + - Id: 6441fe87c0dc6dd1babbe287 + protocol: STAS + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-BT_MAN + splittable: false + splitable: false + verified: true + name: Batman + address: 16Jg2sYouH8jGFRyUyEnoNZ1gyj9mKECMd + satsPerToken: 1 + symbol: BT_MAN + redeemAddr: 8226da9a724b0581928ee508df0174ed7b233a81 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 5 + decimals: 0 + sn: + - 5 + - Id: 6441fe87c0dc6dd1babbe289 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-KEN + splittable: false + splitable: false + verified: true + name: Kensen + address: 1892sYWjiHzkn6sD12q9Xn7s4ZHjZCmxEh + satsPerToken: 1 + symbol: KEN + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 10 + decimals: 0 + sn: + - 1 + - Id: 6441fe87c0dc6dd1babbe28a + protocol: STAS + tokenId: >- + 7791e1839f705e2813ec744a15fd10d355ff99b2-Party-Monster + splittable: false + splitable: false + verified: true + name: Party plans + address: 1AF5yUb1kCmGhCwLUsaTweGJKmkTB6fFTx + satsPerToken: 1 + symbol: Party-Monster + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://images.unsplash.com/photo-1663668566893-7a4887f9a41d?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxlZGl0b3JpYWwtZmVlZHw0MHx8fGVufDB8fHx8&auto=format&fit=crop&w=500&q=60 + amount: 3 + supply: 3 + decimals: 0 + sn: + - 3 + - 2 + - 1 + - Id: 6441fe87c0dc6dd1babbe28b + protocol: STAS + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-THE_AVGRS + splittable: true + splitable: true + verified: true + name: The Avengers + address: 1E4We5K6zFh7msq6r2ZrNuyK56X2gqTzGp + satsPerToken: 1 + symbol: THE_AVGRS + redeemAddr: 8226da9a724b0581928ee508df0174ed7b233a81 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 10 + decimals: 0 + sn: + - 0 + - Id: 6441fe87c0dc6dd1babbe28e + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-nbc-new-123 + splittable: false + splitable: false + verified: true + name: Store Bonus Points + address: 1LS54Yo1xLGkyCgcGZo6RLj5QgkqEchvUr + satsPerToken: 1 + symbol: nbc-new-123 + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 6 + supply: 3 + decimals: 0 + sn: + - 3 + - 1 + - 2 + - Id: 6441fe87c0dc6dd1babbe2e3 + protocol: STAS + tokenId: >- + 7791e1839f705e2813ec744a15fd10d355ff99b2-fight-new-123 + splittable: false + splitable: false + verified: true + name: Store Bonus Points + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: fight-new-123 + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 5 + supply: 3 + decimals: 0 + sn: + - 1 + - 3 + - 2 + - Id: 6441fe87c0dc6dd1babbe2e4 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-fightfight + splittable: true + splitable: true + verified: true + name: Fight Club + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: fightfight + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://images.unsplash.com/photo-1552072092-7f9b8d63efcb?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxzZWFyY2h8Mnx8ZmlnaHR8ZW58MHx8MHx8&auto=format&fit=crop&w=500&q=60 + amount: 4 + supply: 10 + decimals: 0 + sn: + - 0 + - Id: 6441fe87c0dc6dd1babbe2e5 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-RGT + splittable: false + splitable: false + verified: true + name: Right + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: RGT + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 9 + supply: 5 + decimals: 0 + sn: + - 5 + - 2 + - 3 + - 1 + - 4 + - Id: 6441fe87c0dc6dd1babbe2e8 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-SBP + splittable: true + splitable: true + verified: true + name: Store Bonus Points + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: SBP + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 3 + supply: 3 + decimals: 0 + sn: + - 0 + - Id: 6441fe87c0dc6dd1babbe2e9 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-fightfight2 + splittable: false + splitable: false + verified: true + name: Fight Club + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: fightfight2 + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://images.unsplash.com/photo-1552072092-7f9b8d63efcb?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxzZWFyY2h8Mnx8ZmlnaHR8ZW58MHx8MHx8&auto=format&fit=crop&w=500&q=60 + amount: 5 + supply: 5 + decimals: 0 + sn: + - 8 + - 5 + - 6 + - 7 + - 4 + - Id: 6441fe87c0dc6dd1babbe2ee + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-fightfight1 + splittable: true + splitable: true + verified: true + name: Fight Club + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: fightfight1 + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://images.unsplash.com/photo-1552072092-7f9b8d63efcb?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxzZWFyY2h8Mnx8ZmlnaHR8ZW58MHx8MHx8&auto=format&fit=crop&w=500&q=60 + amount: 5 + supply: 5 + decimals: 0 + sn: + - 0 + - Id: 6441fe87c0dc6dd1babbe2ef + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-BAA + splittable: true + splitable: true + verified: true + name: Black Adam + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: BAA + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 6 + supply: 7 + decimals: 0 + sn: + - 0 + meta: + nextPageToken: 19 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/leaderboard: + get: + summary: Get token ownership details + tags: + - Wallets + description: Returns all user data who have this particular token. + parameters: + - schema: + type: number + in: query + name: nextPageToken + required: false + - schema: + type: string + in: header + name: tokenId + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + leaderboard: + type: array + items: + type: object + properties: + paymail: + type: string + nullable: true + totalAmount: + type: number + uid: + type: string + rank: + type: number + displayName: + type: string + nullable: true + required: + - totalAmount + - uid + - rank + nextPageToken: + type: number + nullable: true + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Leaderboard fetched successfully. + leaderboard: + - paymail: 91@relysia.com + totalAmount: 100 + uid: 5f7b1b1b1b1b1b1b1b1b1b1b + rank: 1 + displayName: John Doe + - paymail: 92@relysia.com + totalAmount: 50 + uid: 5f7b1b1b1b1b1b1b1b1b1b1b + rank: 2 + - totalAmount: 25 + uid: 5f7b1b1b1b1b1b1b1b1b1b1b + rank: 3 + nextPageToken: 2 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/history: + get: + summary: Get your transaction history. + tags: + - Wallets + description: >- + The transaction history endpoint returns all past transactions, both BSV + and Tokens. + parameters: + - schema: + type: string + in: query + name: nextPageToken + required: false + - schema: + type: string + in: query + name: tokenId + required: false + - schema: + type: string + in: header + name: walletID + required: false + - schema: + type: string + in: header + name: type + required: false + - schema: + type: string + enum: + - 1.0.0 + - 1.1.0 + default: 1.0.0 + in: header + name: version + required: false + deprecated: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + histories: + type: array + items: + anyOf: + - type: object + properties: + to: + type: string + txId: + type: string + from: + type: string + timestamp: + type: string + balance_change: + type: number + docId: + type: string + type: + type: string + enum: + - debit + - credit + nullable: true + notes: + type: string + nullable: true + protocol: + type: string + enum: + - BSV + - STAS + - STAS-50 + - STAS-20 + - STAS-789 + - STAS50 + - STASFT + - STASAPPEND + required: + - to + - txId + - from + - timestamp + - balance_change + - docId + - type + - protocol + - type: object + properties: + to: + type: array + items: + type: object + properties: + amount: + type: number + image: + type: string + nullable: true + protocol: + type: string + enum: + - BSV + - STAS + - STAS-50 + - STAS-20 + - STAS-789 + - STAS50 + - STASFT + - STASAPPEND + tokenId: + type: string + nullable: true + sn: + type: number + nullable: true + to: + type: string + name: + type: string + nullable: true + decimals: + type: number + nullable: true + txId: + type: string + from: + type: string + timestamp: + type: string + totalAmount: + type: number + notes: + type: string + nullable: true + type: + type: string + enum: + - debit + - credit + required: + - to + - txId + - from + - timestamp + - totalAmount + - type + nextPageTokenId: + type: string + nullable: true + meta: + type: object + properties: + nextPageToken: + type: string + nullable: true + required: + - status + - msg + - histories + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Transaction history fetched successfully. + histories: + - to: 1BfzNso8KAALAVKPrANrKudM6ZWzHShpZh + txId: >- + c48287508391ff0b57ec528cb12ae87762af94f6c242cb4acdeed63382e5515e + from: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + timestamp: '2023-04-26 03:18:37' + balance_change: 3 + docId: >- + 0efca5f5dadcdacd0ff3a418a92c27efc6f8387b29e8647bb9ac7eea9284b13c + type: debit + protocol: STAS-789 + - to: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + txId: >- + c48287508391ff0b57ec528cb12ae87762af94f6c242cb4acdeed63382e5515d + from: 1BfzNso8KAALAVKPrANrKudM6ZWzHShpZh + timestamp: '2023-04-26 03:18:37' + balance_change: 1 + docId: >- + 0efca5f5dadcdacd0ff3a418a92c27efc6f8387b29e8647bb9ac7eea9284b13c + notes: test + type: debit + protocol: STAS-789 + nextPageTokenId: '1' + example2: + value: + statusCode: 200 + data: + status: success + msg: Transaction history fetched successfully. + histories: + - to: + - amount: 1 + image: https://www.gstatic.com/webp/gallery/1.jpg + protocol: STAS-789 + tokenId: >- + 0efca5f5dadcdacd0ff3a418a92c27efc6f8387b29e8647bb9ac7eea9284b13d + sn: 1 + to: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + name: test + decimals: 2 + txId: >- + c48287508391ff0b57ec528cb12ae87762af94f6c242cb4acdeed63382e5515d + from: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + timestamp: '2023-04-24 04:12:20' + totalAmount: 1 + type: debit + - to: + - amount: 1 + image: https://www.gstatic.com/webp/gallery/1.jpg + protocol: STAS-789 + tokenId: >- + 0efca5f5dadcdacd0ff3a418a92c27efc6f8387b29e8647bb9ac7eea9284b13c + sn: 1 + to: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + name: test + decimals: 2 + - amount: 1 + image: https://www.gstatic.com/webp/gallery/1.jpg + protocol: STAS-789 + tokenId: >- + 0efca5f5dadcdacd0ff3a418a92c27efc6f8387b29e8647bb9ac7eea9284b13c + sn: 2 + to: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + name: test + decimals: 2 + txId: >- + c48287508391ff0b57ec528cb12ae87762af94f6c242cb4acdeed63382e5515e + from: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + timestamp: '2023-04-26 03:18:37' + totalAmount: 2 + notes: test + type: credit + meta: + nextPageToken: '1' + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/wallets: + get: + summary: List of available user wallets. + tags: + - Wallets + description: >- + The endpoint provides the user with a list of all active wallets on + their account. Depending on your service requirements, you might have + one or multiple wallets. + parameters: + - schema: + type: string + in: header + name: oauth + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + wallets: + type: array + items: + type: object + properties: + walletID: + type: string + walletTitle: + type: string + walletLogo: + type: string + format: uri + nullable: true + required: + - walletID + - walletTitle + required: + - status + - msg + - wallets + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Wallets fetched successfully. + wallets: + - walletID: f1a4b3c2-1a2b-3a4b-5a6b-7a8b9c0d1e2f + walletTitle: My first wallet + walletLogo: https://www.example.com/wallet-logo.png + - walletID: f1a4b3c2-1a2b-3a4b-5a6b-7a8b9c0d1e2f + walletTitle: My second wallet + walletLogo: null + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + delete: + summary: to delete all wallet, this api will delete all wallets at once + tags: + - Delete + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: all wallets deleted successfully ! + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/mnemonic: + get: + summary: Get your mnemonic phrase. + tags: + - Wallets + description: >- + The mnemonic phrase secures your wallet keys. Each mnemonic acts as seed + of a HDPrivatekey that itself contains hundrets of PrivateKeys. + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + mnemonic: + type: string + required: + - status + - msg + - mnemonic + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Mnemonic phrase fetched successfully. + mnemonic: >- + abandon abandon abandon abandon abandon abandon abandon + abandon abandon abandon abandon about + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/pay: + post: + summary: Pay an invoice request. + tags: + - Transactions + description: >- + The endpoint enables users to pay their invoices that were earlier + resolved and put into a standardized format by the /URI endpoint. + requestBody: + content: + application/json: + schema: + type: object + properties: + uri: + type: string + type: + type: string + mainProtocol: + type: string + outputs: + type: array + items: + type: object + properties: + script: + type: string + satoshis: + type: number + required: + - script + - satoshis + nullable: true + inputs: + type: array + items: + type: object + properties: + txid: + type: string + vout: + type: number + satoshis: + type: number + minimum: 0 + scriptPubKey: + type: string + nullable: true + scriptType: + type: string + nullable: true + scriptSig: + type: string + required: + - txid + - vout + - satoshis + - scriptSig + nullable: true + modes: + type: object + additionalProperties: true + network: + type: string + nullable: true + paymentUrl: + type: string + format: uri + nullable: true + creationTimeStamp: + type: number + format: duration + nullable: true + expirationTimeStamp: + type: number + format: duration + nullable: true + memo: + type: string + nullable: true + isBSV: + type: boolean + nullable: true + peer: + type: string + nullable: true + peerData: + type: string + nullable: true + peerProtocol: + type: string + nullable: true + beneficiary: + type: object + properties: + name: + type: string + email: + type: string + address: + type: string + paymentReference: + type: string + nullable: true + required: + - name + - email + - address + - paymentReference + required: + - uri + - type + - mainProtocol + examples: + example1: + value: + uri: payto:91@dev.relysia.com?amount=1 + type: paymail + mainProtocol: paymail + outputs: + - script: 76a9141a608132952ba364d19d6ef0c09e074fb3fcfedf88ac + satoshis: 1 + inputs: [] + memo: Send to 91@dev.relysia.com + isBSV: true + peer: >- + https://dev.relysia.com/api/bsvalias/receive-transaction/91@dev.relysia.com + peerData: >- + eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJ2ZXJzaW9uIjoxLCJkZXJpdmF0aW9uUm9vdFBhdGgiOiJtLzUiLCJkZXJpdmF0aW9uUm9vdEluZGV4IjozOTE1LCJjb3VudCI6MX0.vgN6mSoxuVzSmdwXA_hJtvS_s6xyFdRVedsFAx4mt5K2fsI0Ps2pw4OCXWy6msUbAKYGOEeAqs9BoyJCOlgyng + peerProtocol: paymail + example2: + value: + uri: bitcoin:13ofTSnVngWV8VgvqpYZE4YuaWuARBkBp3?amount=0.00000001 + type: bip21 + mainProtocol: bip21 + outputs: + - script: 76a9141ec37cb9f5ab9ae49be75e8d45c02d1f2fd1c5a288ac + satoshis: 1 + inputs: [] + memo: Payment to Address + isBSV: false + peer: null + peerData: null + peerProtocol: null + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txid: + type: string + required: + - status + - msg + - txid + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Transaction sent successfully + txid: >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/initBeta: + get: + summary: Setup your Fee Manager. + tags: + - admin + description: >- + Creates a new Fee Manager that can cover the transaction fees of your + users. + parameters: + - schema: + type: string + in: header + name: mnemonic + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Fee manager init successfully + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/feeMetricsBeta: + get: + summary: Get all feeManager UTXOs. + tags: + - admin + description: The endpoint returns all UTXOs and refreshes the UTXO set. + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + totalBalance: + type: object + properties: + balance: + type: number + minimum: 0 + dustBalance: + type: number + minimum: 0 + required: + - balance + - dustBalance + availableUtxos: + type: array + items: + type: object + properties: + script: + type: string + tx_pos: + type: number + minimum: 0 + address: + type: string + path: + type: string + tx_hash: + type: string + value: + type: number + minimum: 0 + createdAt: + type: number + format: duration + state: + type: string + enum: + - available + required: + - script + - tx_pos + - address + - path + - tx_hash + - value + - createdAt + - state + required: + - status + - msg + - totalBalance + - availableUtxos + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Operation successful + totalBalance: + balance: 720682757 + dustBalance: 6310 + availableUtxos: + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 2 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + f7f1718aac0dee0a91c33de796b0c940784309960c0a74c8ada51ee6951a0a26 + value: 61184 + createdAt: 1686904968568 + state: available + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 3 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + d655d5c1bb914ab161e5239b46686c78707e2af29afae4e5d465fe4dd4b6374a + value: 68558 + createdAt: 1686904968568 + state: available + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 1 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + 8248be407c10660e28be50cdf9072caf51f6b6d6ec3783a4c089588e13647a4e + value: 51509 + createdAt: 1686904968568 + state: available + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 2 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + 53b03f45905f4dd6167712de289d2f309399a3887c33257442c0d986a1d49874 + value: 55094 + createdAt: 1686904968568 + state: available + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/feeAddressBeta: + get: + summary: Get all Fee Manager addresses. + tags: + - admin + description: >- + Returns a list of feeManager addresses. The feeManager is used to fund + transactions. + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + addresses: + type: array + items: + type: string + minItems: 1 + maxItems: 1 + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Operation Completed successfully + addresses: + - 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/feeUtxoState: + get: + summary: Get current state of fee manager UTXOs + tags: + - admin + description: The endpoint returns all UTXOs that are stored in Redis DB + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + totalBalance: + type: object + properties: + availableBalance: + type: number + minimum: 0 + dustBalance: + type: number + minimum: 0 + failedBalance: + type: number + minimum: 0 + required: + - availableBalance + - dustBalance + - failedBalance + allUtxos: + type: object + properties: + availableUtxos: + type: array + items: + type: object + properties: + script: + type: string + tx_pos: + type: number + minimum: 0 + address: + type: string + nullable: true + path: + type: string + nullable: true + tx_hash: + type: string + value: + type: number + minimum: 0 + createdAt: + type: number + format: duration + state: + type: string + enum: + - available + - dust + - failed + required: + - script + - tx_pos + - tx_hash + - value + - createdAt + - state + dustUtxos: + type: array + items: + type: object + properties: + script: + type: string + tx_pos: + type: number + minimum: 0 + address: + type: string + nullable: true + path: + type: string + nullable: true + tx_hash: + type: string + value: + type: number + minimum: 0 + createdAt: + type: number + format: duration + state: + type: string + enum: + - available + - dust + - failed + required: + - script + - tx_pos + - tx_hash + - value + - createdAt + - state + failedUtxos: + type: array + items: + type: object + properties: + script: + type: string + tx_pos: + type: number + minimum: 0 + address: + type: string + nullable: true + path: + type: string + nullable: true + tx_hash: + type: string + value: + type: number + minimum: 0 + createdAt: + type: number + format: duration + state: + type: string + enum: + - available + - dust + - failed + required: + - script + - tx_pos + - tx_hash + - value + - createdAt + - state + required: + - availableUtxos + - dustUtxos + - failedUtxos + required: + - status + - msg + - totalBalance + - allUtxos + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Operation Completed successfully + totalBalance: + availableBalance: 720682457 + dustBalance: 0 + failedBalance: 0 + allUtxos: + availableUtxos: + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 1 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + 84fc7aef9b03283615d570dfc3a3177593048187ceecf993e37272e589b0b9f9 + value: 23419 + createdAt: 1687007038684 + state: available + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 1 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + d7209a4a36db9e058af7df3ea93d5857a122de71111f2896515d2274589b0d99 + value: 88292 + createdAt: 1687007038684 + state: available + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 1 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + 0eca2699cfc73c0d53bc805c36d0cba7fc0860d1282541eeceb95afc817170aa + value: 157810 + createdAt: 1687007038684 + state: available + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 2 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + 20043ea66d4196ba094d4a64c53cfe3391ca0534800c03c23718a46daaaa4787 + value: 61163 + createdAt: 1687007038684 + state: available + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 2 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + 0ebde418ce82554dc0602d8f388f7cc48dda76e86b92fbac5ac5958a8c35d2b5 + value: 68537 + createdAt: 1687007038684 + state: available + dustUtxos: + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 2 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + 09e9c0cc768635104a0bbf0d9acfc0647b0406b961bc700f4afba87a41948fcf + value: 68760 + createdAt: 1687007038684 + state: dust + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 2 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + b2e1855268712f03af5d312bea6622d7c9dbfd00acec1108d7bf7087dec0ca65 + value: 77536 + createdAt: 1687007038684 + state: dust + failedUtxos: + - script: 76a9148d30f8237c83b899e51f41a27e1317a735749f6d88ac + tx_pos: 1 + address: 1DsYwVfBoDX9UWMcXkofoB5dTKdJB9a93u + path: m/44'/0'/0'/0/0 + tx_hash: >- + a73e37b74bdc1d632914a21d507adaf84bd3076e3a9edea8b096fe34418bb6fa + value: 66015 + createdAt: 1687007038684 + state: failed + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/currencyConversion: + get: + summary: Converts BSV satoshis to fiat currency. + tags: + - Utility + description: >- + Add a satoshi amount and fiat pair of your choice, e.g. USD, EUR, INR to + receive information of the equivalent value. + parameters: + - schema: + type: string + in: header + name: satoshis + required: true + - schema: + type: string + in: header + name: currency + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + currency: + type: string + enum: + - USD + - CHF + - INR + - EUR + - CAD + - GBP + - SYP + - SDG + - LBP + - FKP + - EGP + balance: + type: number + minimum: 0 + required: + - status + - msg + - currency + - balance + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Operation Completed Successfully + currency: USD + balance: 0.000011362378798928755 + example2: + value: + statusCode: 200 + data: + status: success + msg: Operation Completed Successfully + currency: CAD + balance: 0.02301136 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/notificationToken/{userId}: + put: + summary: Update notification token. + tags: + - Notifications + requestBody: + content: + application/json: + schema: + type: object + properties: + expoNotificationToken: + type: string + required: + - expoNotificationToken + example: + expoNotificationToken: ExponentPushToken[kfs4DxE5jRt3FsBCbzH61P] + required: true + parameters: + - schema: + type: string + in: path + name: userId + required: true + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Notification token updated successfully. + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + delete: + summary: Remove a notification token. + tags: + - Delete + parameters: + - schema: + type: string + in: path + name: userId + required: true + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: successfully ExpoToken Removed from this account ! + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/sendNotification: + post: + summary: Send a Notification + tags: + - Notifications + requestBody: + content: + application/json: + schema: + type: object + properties: + type: + type: string + default: to + userAddress: + type: string + amount: + type: number + transactionType: + type: string + default: BSV + required: + - amount + - userAddress + examples: + example1: + value: + type: to + userAddress: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + amount: 0.0001 + transactionType: BSV + example2: + value: + type: from + userAddress: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + amount: 0.0001 + transactionType: BSV + example3: + value: + type: to + userAddress: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + amount: 5 + example4: + value: + type: from + userAddress: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + amount: 2 + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Notification Sended Successfully ! + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/invoice: + post: + summary: Create an invoice. + tags: + - Transactions + description: Create an invoice to receive payments for a merchant product. + requestBody: + content: + application/json: + schema: + type: object + properties: + type: + type: string + enum: + - USD + - CHF + - INR + - EUR + - CAD + - GBP + - SYP + - SDG + - LBP + - FKP + - EGP + default: USD + amount: + type: number + nullable: true + minimum: 0 + address: + type: string + nullable: true + description: + type: string + nullable: true + expirationTimeInMinuts: + type: number + default: 1 + memo: + type: string + nullable: true + merchantData: + type: string + nullable: true + paymentOptions: + type: array + items: + type: object + properties: + transactions: + type: array + items: + type: object + properties: + native: + type: object + properties: + amount: + type: number + to: + type: string + stas: + type: object + properties: + tokenAmount: + type: number + tokenRecipient: + type: string + tokenId: + type: string + minItems: 1 + required: + - transactions + nullable: true + modeId: + type: string + nullable: true + beneficiary: + type: object + properties: + name: + type: string + email: + type: string + address: + type: string + paymentReference: + type: string + examples: + example1: + value: + type: USD + amount: 1 + address: 12519wQZvqjuqxggUco872zKs66L9x438C + description: paying 1$ for testing + expirationTimeInMinuts: 1 + memo: paying for testing + merchantData: a3621ebf-97a4-476f-a028-a7a9c55b27e8 + paymentOptions: + - transactions: + - native: + amount: 1 + to: 12519wQZvqjuqxggUco872zKs66L9x438C + beneficiary: + name: vaionex test + email: test@vaionex.com + address: 19702 Newark, Delaware, USA + example2: + value: + type: USD + amount: 1 + address: 12519wQZvqjuqxggUco872zKs66L9x438C + description: paying 1$ for testing + expirationTimeInMinuts: 1 + memo: paying for testing + merchantData: a3621ebf-97a4-476f-a028-a7a9c55b27e8 + paymentOptions: + - transactions: + - stas: + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-IR_MAN + tokenAmount: 1 + tokenRecipient: 12519wQZvqjuqxggUco872zKs66L9x438C + beneficiary: + name: vaionex test + email: test@vaionex.com + address: 19702 Newark, Delaware, USA + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + reqUrl: + type: string + format: uri + required: + - status + - msg + - reqUrl + required: + - statusCode + - data + example: + statusCode: 200 + data: + msg: Invoice created successfully. + reqUrl: >- + https://api.relysia.com/v1/paymentRequest/f3a7f350-2e2e-4e8b-af0d-58eb5eb3728a + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/paymentRequest/{invoiceId}: + get: + summary: Create an Invoice + tags: + - Transactions + description: >- + Invoices allow merchants to specify the amount of BSV or Tokens they + require to complete a value exchange, such as selling a Product. + parameters: + - schema: + type: string + in: path + name: invoiceId + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + mainProtocol: + type: string + expirationTimestamp: + type: number + format: duration + memo: + type: string + nullable: true + outputs: + type: array + items: + type: object + properties: + description: + type: string + nullable: true + script: + type: string + satoshis: + type: number + minimum: 0 + required: + - script + - satoshis + nullable: true + version: + type: string + uri: + type: string + creationTimestamp: + type: number + format: duration + type: + type: string + network: + type: string + paymentUrl: + type: string + format: uri + modes: + type: object + additionalProperties: true + beneficiary: + type: object + properties: + name: + type: string + email: + type: string + paymentReference: + type: string + address: + type: string + required: + - name + - email + - paymentReference + - address + additionalProperties: true + required: + - status + - msg + - mainProtocol + - expirationTimestamp + - version + - uri + - creationTimestamp + - type + - network + - paymentUrl + examples: + example1: + value: + statusCode: 200 + status: success + msg: Operation Completed Successfully + mainProtocol: bip272 + merchantData: a3621ebf-97a4-476f-a028-a7a9c55b27e8 + expirationTimestamp: 1686560853 + memo: paying for testing + outputs: + - description: paying 1$ for testing + script: 76a9140bb9eb13c821d10af1f5fbf01c04577305c24d3788ac + satoshis: 3971132 + version: 2.0.0 + uri: >- + pay:?r=https://api.relysia.com/v1/paymentRequest/f3a7f350-2e2e-4e8b-af0d-58eb5eb3728a + creationTimestamp: 1686560793 + type: bip272 + network: mainnet + paymentUrl: >- + https://api.relysia.com/v1/paymentRequest/pay/f3a7f350-2e2e-4e8b-af0d-58eb5eb3728a + example2: + value: + statusCode: 200 + status: success + msg: Operation Completed Successfully + network: mainnet + uri: >- + pay:?r=https://api.relysia.com/v1/paymentRequest/8f9f4c27-3782-46e2-b76f-1ef956f52c61 + memo: paying for testing + type: bip272 + paymentUrl: >- + https://api.relysia.com/v1/paymentRequest/pay/8f9f4c27-3782-46e2-b76f-1ef956f52c61 + mainProtocol: bip272 + creationTimestamp: 1686814941 + modes: + ef63d9775da5: + PaymentOption_0: + transactions: + - outputs: + stas: + - tokenId: >- + 00b91626e0a4b97f624bc1f0d8fa3a3ef35ac664-TIGLdA + tokenAmount: 1 + tokenRecipient: 1HQKnJ5FfCjcgvr6AAqNPYhY7NKuZXByMF + policies: + fees: + standard: + bytes: 1000 + satoshis: 50 + data: + bytes: 1000 + satoshis: 50 + beneficiary: + name: vaionex test + email: test@vaionex.com + paymentReference: 8f9f4c27-3782-46e2-b76f-1ef956f52c61 + address: 19702 Newark, Delaware, USA + expirationTimestamp: 1686816741 + version: 2.0.0 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/paymentRequest/pay/{invoiceId}: + post: + summary: Settle an invoice request. + tags: + - Transactions + description: The API takes invoice and settles it. + requestBody: + content: + application/json: + schema: + type: object + properties: + merchantData: + type: string + transaction: + type: string + refundTo: + type: string + nullable: true + memo: + type: string + nullable: true + additionalProperties: true + required: + - transaction + - merchantData + examples: + example1: + value: + merchantData: bc3d8da0-f930-49e3-9acc-56725ab14a0a + transaction: >- + 01000000020d76e23c0d6f6acd2e9a7d4c9b6916aa9333111fac62003a75d13a10353ee563000000006a4730440220714ffb0eff55abb4840a470760f418442a3ebf7a9bb133dfdc25808f0b05f4fd0220024b562567802e7639ccff2f1e361e178d34102a9fbdbc3aa5843ef5e1dc73fe41210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0d76e23c0d6f6acd2e9a7d4c9b6916aa9333111fac62003a75d13a10353ee563010000006a47304402205ad45fd9d02b659f987cc8321f4874bfa2729425913738cbc4444ed20e453ee4022020467301d8e50bc58e37b92cc03962acc8cfd5ac70bf704de2c4dee8c8beebc84121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff010a000000000000001976a91477bff20c60e522dfaa3350c39b030a5d004e839a88ac00000000 + example2: + value: + merchantData: ab05c66d-0397-419f-8311-9b5dfbccd6ed + transaction: >- + 01000000023a149de2c3a74c191727d17496171c0e97efbaff5735271ead9f883e214e9bd5000000006a473044022045fc063571fb291ea114facfcb2f38bf60f0e8797140e3e6f1380dcd66dffb940220178d4c79bb39f566c3b53c76293f0a38e5fbf0dac4f460783f0cc84ffb259bc341210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff3a149de2c3a74c191727d17496171c0e97efbaff5735271ead9f883e214e9bd5010000006a4730440220160354a13e8f0f72577a0aa393a981b922af9819ae5d04786d5ae226bb867db90220304c4a5eeb2fbc348c336b4a0a45de5bba6e271b32f3884bdf1c5fd1a48671604121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff010a000000000000001976a91477bff20c60e522dfaa3350c39b030a5d004e839a88ac00000000 + refundTo: 147Pha46z8xhMHjq6Wcy9ZWgUV9okUgUeu + example3: + value: + merchantData: ab05c66d-0397-419f-8311-9b5dfbccd6ed + transaction: >- + 01000000023a149de2c3a74c191727d17496171c0e97efbaff5735271ead9f883e214e9bd5000000006a473044022045fc063571fb291ea114facfcb2f38bf60f0e8797140e3e6f1380dcd66dffb940220178d4c79bb39f566c3b53c76293f0a38e5fbf0dac4f460783f0cc84ffb259bc341210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff3a149de2c3a74c191727d17496171c0e97efbaff5735271ead9f883e214e9bd5010000006a4730440220160354a13e8f0f72577a0aa393a981b922af9819ae5d04786d5ae226bb867db90220304c4a5eeb2fbc348c336b4a0a45de5bba6e271b32f3884bdf1c5fd1a48671604121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff010a000000000000001976a91477bff20c60e522dfaa3350c39b030a5d004e839a88ac00000000 + memo: paying 1$ for testing + example4: + value: + merchantData: a3621ebf-97a4-476f-a028-a7a9c55b27e8 + transaction: >- + 0100000002398e8fe2829b523f7337559393d97e70173d05f56d80d0dd0b90a5a35aa9d140000000006b483045022100ac04d62f743fdefd224c5f84c0c6562a15c93e6e45cc84d259ad074a1d42a8a402205ca8b3a296f8b7268e3d092a010785580dd18c8794f5911692e16e6c3c7c996a41210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff398e8fe2829b523f7337559393d97e70173d05f56d80d0dd0b90a5a35aa9d140010000006b483045022100cef2deea13b5ef5e012d225e10f1445c6421570613a2c02e87e8b6fe27b75fe602201e6c5b85dcc0062235581885a49b194777e9230b8314a18052a97e8b146ed24f4121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff01f4010000000000001976a91477bff20c60e522dfaa3350c39b030a5d004e839a88ac00000000 + refundTo: 147Pha46z8xhMHjq6Wcy9ZWgUV9okUgUeu + memo: paying for testing + application/bitcoinsv-payment: + schema: + type: object + properties: + merchantData: + type: string + transaction: + type: string + refundTo: + type: string + nullable: true + memo: + type: string + nullable: true + additionalProperties: true + required: + - transaction + - merchantData + examples: + example1: + value: + merchantData: bc3d8da0-f930-49e3-9acc-56725ab14a0a + transaction: >- + 01000000020d76e23c0d6f6acd2e9a7d4c9b6916aa9333111fac62003a75d13a10353ee563000000006a4730440220714ffb0eff55abb4840a470760f418442a3ebf7a9bb133dfdc25808f0b05f4fd0220024b562567802e7639ccff2f1e361e178d34102a9fbdbc3aa5843ef5e1dc73fe41210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0d76e23c0d6f6acd2e9a7d4c9b6916aa9333111fac62003a75d13a10353ee563010000006a47304402205ad45fd9d02b659f987cc8321f4874bfa2729425913738cbc4444ed20e453ee4022020467301d8e50bc58e37b92cc03962acc8cfd5ac70bf704de2c4dee8c8beebc84121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff010a000000000000001976a91477bff20c60e522dfaa3350c39b030a5d004e839a88ac00000000 + example2: + value: + merchantData: ab05c66d-0397-419f-8311-9b5dfbccd6ed + transaction: >- + 01000000023a149de2c3a74c191727d17496171c0e97efbaff5735271ead9f883e214e9bd5000000006a473044022045fc063571fb291ea114facfcb2f38bf60f0e8797140e3e6f1380dcd66dffb940220178d4c79bb39f566c3b53c76293f0a38e5fbf0dac4f460783f0cc84ffb259bc341210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff3a149de2c3a74c191727d17496171c0e97efbaff5735271ead9f883e214e9bd5010000006a4730440220160354a13e8f0f72577a0aa393a981b922af9819ae5d04786d5ae226bb867db90220304c4a5eeb2fbc348c336b4a0a45de5bba6e271b32f3884bdf1c5fd1a48671604121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff010a000000000000001976a91477bff20c60e522dfaa3350c39b030a5d004e839a88ac00000000 + refundTo: 147Pha46z8xhMHjq6Wcy9ZWgUV9okUgUeu + example3: + value: + merchantData: ab05c66d-0397-419f-8311-9b5dfbccd6ed + transaction: >- + 01000000023a149de2c3a74c191727d17496171c0e97efbaff5735271ead9f883e214e9bd5000000006a473044022045fc063571fb291ea114facfcb2f38bf60f0e8797140e3e6f1380dcd66dffb940220178d4c79bb39f566c3b53c76293f0a38e5fbf0dac4f460783f0cc84ffb259bc341210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff3a149de2c3a74c191727d17496171c0e97efbaff5735271ead9f883e214e9bd5010000006a4730440220160354a13e8f0f72577a0aa393a981b922af9819ae5d04786d5ae226bb867db90220304c4a5eeb2fbc348c336b4a0a45de5bba6e271b32f3884bdf1c5fd1a48671604121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff010a000000000000001976a91477bff20c60e522dfaa3350c39b030a5d004e839a88ac00000000 + memo: paying 1$ for testing + example4: + value: + merchantData: a3621ebf-97a4-476f-a028-a7a9c55b27e8 + transaction: >- + 0100000002398e8fe2829b523f7337559393d97e70173d05f56d80d0dd0b90a5a35aa9d140000000006b483045022100ac04d62f743fdefd224c5f84c0c6562a15c93e6e45cc84d259ad074a1d42a8a402205ca8b3a296f8b7268e3d092a010785580dd18c8794f5911692e16e6c3c7c996a41210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff398e8fe2829b523f7337559393d97e70173d05f56d80d0dd0b90a5a35aa9d140010000006b483045022100cef2deea13b5ef5e012d225e10f1445c6421570613a2c02e87e8b6fe27b75fe602201e6c5b85dcc0062235581885a49b194777e9230b8314a18052a97e8b146ed24f4121020b90adc336dcef4d35a7fb8cd7ba0f1d321c46eebc94a3bd1ed4ef63fa4e949bffffffff01f4010000000000001976a91477bff20c60e522dfaa3350c39b030a5d004e839a88ac00000000 + refundTo: 147Pha46z8xhMHjq6Wcy9ZWgUV9okUgUeu + memo: paying for testing + required: true + parameters: + - schema: + type: string + in: path + name: invoiceId + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txId: + type: string + required: + - status + - msg + - txId + required: + - status + - msg + - statusCode + - data + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Operation completed successfully. + statusCode: 200 + data: + status: success + msg: Payment Completed Successfully + txId: >- + ef8bdedd64477adcf1d297cf7fbb92c743251634841418e43f6e74db921770a3 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/domain/generateToken: + post: + summary: Generates a domain verification token + tags: + - admin + description: >- + We authenticate domains to verify whether infrastructure users are + actually owning the specific domain. + requestBody: + content: + application/json: + schema: + type: object + properties: + domain: + type: string + required: + - domain + example: + domain: example.com + required: true + parameters: + - schema: + type: string + in: header + name: authToken + required: false + - schema: + type: string + in: header + name: userID + required: false + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + verificationCode: + type: string + required: + - status + - msg + - verificationCode + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Domain verification token generated successfully + verificationCode: relysia-verification=kwlZ7D7RgL6dY7ksTgH1UWnunDP68u + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/domain/{userId}/verifyToken: + post: + summary: verify domain ownership + tags: + - admin + requestBody: + content: + application/json: + schema: + type: object + properties: + domain: + type: string + required: + - domain + example: + domain: example.com + required: true + parameters: + - schema: + type: string + in: path + name: userId + required: true + - schema: + type: string + in: header + name: authToken + required: false + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + statusCode: + type: number + domain: + type: string + required: + - status + - msg + - statusCode + - domain + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Domain verified successfully + statusCode: 200 + domain: example.com + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/paymail/{paymailId}: + get: + tags: + - paymail + parameters: + - schema: + type: string + in: path + name: paymailId + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + paymailDetails: + type: object + properties: + walletID: + type: string + paymailId: + type: string + required: + - walletID + - paymailId + required: + - status + - msg + - paymailDetails + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + paymailDetails: + walletID: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + paymailId: 91@dev.relysia.com + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/paymail: + put: + tags: + - paymail + requestBody: + content: + application/json: + schema: + type: object + properties: + newPaymailId: + type: string + required: + - newPaymailId + example: + newPaymailId: 91@dev.relysia.com + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + paymail: + type: string + required: + - status + - msg + - paymail + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + paymail: alpha200@dev.relysia.com + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/wallet: + delete: + summary: >- + to delete a wallet, this api will delete your wallet and related data of + that walletId + tags: + - Delete + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + walletId: + type: string + required: + - status + - msg + - walletId + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: wallet deleted successfully ! + walletId: ec4ae905-c5ef-41bd-adfb-4db361093245 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/paymail/activate: + post: + summary: to activate and deActivate paymail + tags: + - paymail + requestBody: + content: + application/json: + schema: + type: object + properties: + activate: + type: boolean + default: true + required: + - activate + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: paymail activated now + example2: + value: + statusCode: 200 + data: + status: success + msg: paymail deactivated now + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/reset/password: + post: + summary: Password Reset. + tags: + - Authentication + description: Reset your password and send a confirmation to the registered mail. + requestBody: + content: + application/json: + schema: + type: object + properties: + email: + type: string + format: email + required: + - email + example: + email: satoshin@gmx.com + required: true + security: + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + email: + type: string + format: email + required: + - status + - msg + - email + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Password reset link sent successfully. + email: satoshin@gmx.com + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/transpile: + post: + summary: transpile solidity code to sCrypt. + tags: + - Utility + description: Takes base64 string of solidity code and converts it to sCrypt. + requestBody: + content: + application/json: + schema: + type: object + properties: + sourceCode: + type: string + required: + - sourceCode + example: + sourceCode: >- + Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVApwcmFnbWEgc29saWRpdHkgXjAuOC4xMDsKCmNvbnRyYWN0IEVSQzcyMSB7CiAgICB1aW50MjU2IHByaXZhdGUgY29uc3RhbnQgX19Mb29wQ291bnRfXzAgPSAxOwogICAgc3RyaW5nIHByaXZhdGUgY29uc3RhbnQgdG9rZW5OYW1lID0gIk15IEVSQzcyMSBUb2tlbiI7CiAgICBzdHJpbmcgcHJpdmF0ZSBjb25zdGFudCB0b2tlblN5bWJvbCA9ICJNRVQiOwogICAgdWludDI1NiBwcml2YXRlIGNvbnN0YW50IHRvdGFsVG9rZW5zID0gMTAwMDAwMDsKICAgIG1hcHBpbmcoYWRkcmVzcyA9PiB1aW50MjU2KSBwcml2YXRlIGJhbGFuY2VzOwogICAgbWFwcGluZyh1aW50MjU2ID0+IGFkZHJlc3MpIHByaXZhdGUgdG9rZW5Pd25lcnM7CiAgICBtYXBwaW5nKHVpbnQyNTYgPT4gYm9vbCkgcHJpdmF0ZSB0b2tlbkV4aXN0czsKICAgIG1hcHBpbmcoYWRkcmVzcyA9PiBtYXBwaW5nKGFkZHJlc3MgPT4gdWludDI1NikpIHByaXZhdGUgYWxsb3dlZDsKICAgIG1hcHBpbmcoYWRkcmVzcyA9PiBtYXBwaW5nKHVpbnQyNTYgPT4gdWludDI1NikpIHByaXZhdGUgb3duZXJUb2tlbnM7CgogICAgbWFwcGluZyh1aW50MjU2ID0+IHN0cmluZykgdG9rZW5MaW5rczsKCiAgICBmdW5jdGlvbiBuYW1lKCkgZXh0ZXJuYWwgcmV0dXJucyAoc3RyaW5nIG1lbW9yeSkgewogICAgICAgIHJldHVybiB0b2tlbk5hbWU7CiAgICB9CgogICAgZnVuY3Rpb24gc3ltYm9sKCkgZXh0ZXJuYWwgcmV0dXJucyAoc3RyaW5nIG1lbW9yeSkgewogICAgICAgIHJldHVybiB0b2tlblN5bWJvbDsKICAgIH0KCiAgICBmdW5jdGlvbiB0b3RhbFN1cHBseSgpIGV4dGVybmFsIHJldHVybnMgKHVpbnQyNTYpIHsKICAgICAgICByZXR1cm4gdG90YWxUb2tlbnM7CiAgICB9CgogICAgZnVuY3Rpb24gYmFsYW5jZU9mKGFkZHJlc3MgX293bmVyKSBleHRlcm5hbCByZXR1cm5zICh1aW50MjU2KSB7CiAgICAgICAgcmV0dXJuIGJhbGFuY2VzW19vd25lcl07CiAgICB9CgoKICAgIGZ1bmN0aW9uIGFwcHJvdmUoYWRkcmVzcyBfdG8sIHVpbnQyNTYgX3Rva2VuSWQpIGV4dGVybmFsIHsKICAgICAgICByZXF1aXJlKHRva2VuRXhpc3RzW190b2tlbklkXSk7CiAgICAgICAgcmVxdWlyZShtc2cuc2VuZGVyID09IHRva2VuT3duZXJzW190b2tlbklkXSk7CiAgICAgICAgcmVxdWlyZShtc2cuc2VuZGVyICE9IF90byk7CiAgICAgICAgYWxsb3dlZFttc2cuc2VuZGVyXVtfdG9dID0gX3Rva2VuSWQ7CiAgICAgICAgZW1pdCBBcHByb3ZhbChtc2cuc2VuZGVyLCBfdG8sIF90b2tlbklkKTsKICAgIH0KCiAgICBmdW5jdGlvbiB0YWtlT3duZXJzaGlwKHVpbnQyNTYgX3Rva2VuSWQpIGV4dGVybmFsIHsKICAgICAgICByZXF1aXJlKHRva2VuRXhpc3RzW190b2tlbklkXSk7CiAgICAgICAgYWRkcmVzcyBvbGRPd25lciA9IHRva2VuT3duZXJzW190b2tlbklkXTsKICAgICAgICBhZGRyZXNzIG5ld093bmVyID0gbXNnLnNlbmRlcjsKICAgICAgICByZXF1aXJlKG5ld093bmVyICE9IG9sZE93bmVyKTsKICAgICAgICByZXF1aXJlKGFsbG93ZWRbb2xkT3duZXJdW25ld093bmVyXSA9PSBfdG9rZW5JZCk7CiAgICAgICAgYmFsYW5jZXNbb2xkT3duZXJdIC09IDE7CiAgICAgICAgdG9rZW5Pd25lcnNbX3Rva2VuSWRdID0gbmV3T3duZXI7CiAgICAgICAgYmFsYW5jZXNbb2xkT3duZXJdICs9IDE7CiAgICAgICAgZW1pdCBUcmFuc2ZlcihvbGRPd25lciwgbmV3T3duZXIsIF90b2tlbklkKTsKICAgIH0KCiAgICBmdW5jdGlvbiB0cmFuc2ZlcihhZGRyZXNzIF90bywgdWludDI1NiBfdG9rZW5JZCkgZXh0ZXJuYWwgewogICAgICAgIGFkZHJlc3MgY3VycmVudE93bmVyID0gbXNnLnNlbmRlcjsKICAgICAgICBhZGRyZXNzIG5ld093bmVyID0gX3RvOwogICAgICAgIHJlcXVpcmUodG9rZW5FeGlzdHNbX3Rva2VuSWRdKTsKICAgICAgICByZXF1aXJlKGN1cnJlbnRPd25lciA9PSB0b2tlbk93bmVyc1tfdG9rZW5JZF0pOwogICAgICAgIHJlcXVpcmUoY3VycmVudE93bmVyICE9IG5ld093bmVyKTsKICAgICAgICByZXF1aXJlKG5ld093bmVyICE9IGFkZHJlc3MoMCkpOwoKICAgICAgICBmb3IgKHVpbnQyNTYgaSA9IDA7IG93bmVyVG9rZW5zW2N1cnJlbnRPd25lcl1baV0gIT0gX3Rva2VuSWQ7IGkrKykgewogICAgICAgICAgICBvd25lclRva2Vuc1tjdXJyZW50T3duZXJdW2ldID0gMDsKICAgICAgICB9CgogICAgICAgIGJhbGFuY2VzW2N1cnJlbnRPd25lcl0gLT0gMTsKICAgICAgICB0b2tlbk93bmVyc1tfdG9rZW5JZF0gPSBuZXdPd25lcjsKICAgICAgICBiYWxhbmNlc1tuZXdPd25lcl0gKz0gMTsKICAgICAgICBlbWl0IFRyYW5zZmVyKGN1cnJlbnRPd25lciwgbmV3T3duZXIsIF90b2tlbklkKTsKICAgIH0KCiAgICBmdW5jdGlvbiB0b2tlbk9mT3duZXJCeUluZGV4KGFkZHJlc3MgX293bmVyLCB1aW50MjU2IF9pbmRleCkKICAgICAgICBleHRlcm5hbAogICAgICAgIHJldHVybnMgKHVpbnQyNTYgdG9rZW5JZCkKICAgIHsKICAgICAgICByZXR1cm4gb3duZXJUb2tlbnNbX293bmVyXVtfaW5kZXhdOwogICAgfQoKICAgIGZ1bmN0aW9uIHRva2VuTWV0YWRhdGEodWludDI1NiBfdG9rZW5JZCkKICAgICAgICBleHRlcm5hbAogICAgICAgIHJldHVybnMgKHN0cmluZyBtZW1vcnkgaW5mb1VybCkKICAgIHsKICAgICAgICByZXR1cm4gdG9rZW5MaW5rc1tfdG9rZW5JZF07CiAgICB9CgogICAgZXZlbnQgVHJhbnNmZXIoCiAgICAgICAgYWRkcmVzcyBpbmRleGVkIF9mcm9tLAogICAgICAgIGFkZHJlc3MgaW5kZXhlZCBfdG8sCiAgICAgICAgdWludDI1NiBfdG9rZW5JZAogICAgKTsKICAgIGV2ZW50IEFwcHJvdmFsKAogICAgICAgIGFkZHJlc3MgaW5kZXhlZCBfb3duZXIsCiAgICAgICAgYWRkcmVzcyBpbmRleGVkIF9hcHByb3ZlZCwKICAgICAgICB1aW50MjU2IF90b2tlbklkCiAgICApOwp9 + required: true + parameters: + - schema: + type: boolean + default: 'false' + in: header + name: force + required: false + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + scrypt: + type: string + errorLogs: + type: array + items: + type: string + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: operation completed successfully ! + scrypt: |- + struct MapKeyST0 { + PubKeyHash key0; + PubKeyHash key1; + } + + contract ERC20 { + @state + public int totalSupply; + + @state + public HashedMap balanceOf; + + @state + public HashedMap allowance; + + static const bytes name = "Solidity by Example"; + + static const bytes symbol = "SOLBYEX"; + + static const int decimals = 18; + + public function transfer(PubKeyHash recipient, int amount, Sig sig, PubKey pubKey, bool retVal, int balanceOf_msgSender, int i0, int balanceOf_recipient, int i1, SigHashPreimage txPreimage) { + PubKeyHash msgSender = hash160(pubKey); + require(checkSig(sig, pubKey)); + require((!this.balanceOf.has({msgSender, i0}) && balanceOf_msgSender == 0) || this.balanceOf.canGet({msgSender, i0}, balanceOf_msgSender)); + balanceOf_msgSender -= amount; + require((!this.balanceOf.has({recipient, i1}) && balanceOf_recipient == 0) || this.balanceOf.canGet({recipient, i1}, balanceOf_recipient)); + balanceOf_recipient += amount; + require(true == retVal); + require(this.balanceOf.set({msgSender, i0}, balanceOf_msgSender)); + require(this.balanceOf.set({recipient, i1}, balanceOf_recipient)); + require(this.propagateState(txPreimage, SigHash.value(txPreimage))); + } + + public function approve(PubKeyHash spender, int amount, Sig sig, PubKey pubKey, bool retVal, int allowance_msgSender_spender, int i0, SigHashPreimage txPreimage) { + PubKeyHash msgSender = hash160(pubKey); + require(checkSig(sig, pubKey)); + require((!this.allowance.has({{msgSender, spender}, i0}) && allowance_msgSender_spender == 0) || this.allowance.canGet({{msgSender, spender}, i0}, allowance_msgSender_spender)); + allowance_msgSender_spender = amount; + require(true == retVal); + require(this.allowance.set({{msgSender, spender}, i0}, allowance_msgSender_spender)); + require(this.propagateState(txPreimage, SigHash.value(txPreimage))); + } + + public function transferFrom(PubKeyHash sender, PubKeyHash recipient, int amount, Sig sig, PubKey pubKey, bool retVal, int allowance_sender_msgSender, int i0, int balanceOf_recipient, int i2, int balanceOf_sender, int i1, SigHashPreimage txPreimage) { + PubKeyHash msgSender = hash160(pubKey); + require(checkSig(sig, pubKey)); + require((!this.allowance.has({{sender, msgSender}, i0}) && allowance_sender_msgSender == 0) || this.allowance.canGet({{sender, msgSender}, i0}, allowance_sender_msgSender)); + allowance_sender_msgSender -= amount; + require((!this.balanceOf.has({sender, i1}) && balanceOf_sender == 0) || this.balanceOf.canGet({sender, i1}, balanceOf_sender)); + balanceOf_sender -= amount; + require((!this.balanceOf.has({recipient, i2}) && balanceOf_recipient == 0) || this.balanceOf.canGet({recipient, i2}, balanceOf_recipient)); + balanceOf_recipient += amount; + require(true == retVal); + require(this.allowance.set({{sender, msgSender}, i0}, allowance_sender_msgSender)); + require(this.balanceOf.set({recipient, i2}, balanceOf_recipient)); + require(this.balanceOf.set({sender, i1}, balanceOf_sender)); + require(this.propagateState(txPreimage, SigHash.value(txPreimage))); + } + + public function mint(int amount, Sig sig, PubKey pubKey, int balanceOf_msgSender, int i0, SigHashPreimage txPreimage) { + PubKeyHash msgSender = hash160(pubKey); + require(checkSig(sig, pubKey)); + require((!this.balanceOf.has({msgSender, i0}) && balanceOf_msgSender == 0) || this.balanceOf.canGet({msgSender, i0}, balanceOf_msgSender)); + balanceOf_msgSender += amount; + this.totalSupply += amount; + require(this.balanceOf.set({msgSender, i0}, balanceOf_msgSender)); + require(this.propagateState(txPreimage, SigHash.value(txPreimage))); + } + + public function burn(int amount, Sig sig, PubKey pubKey, int balanceOf_msgSender, int i0, SigHashPreimage txPreimage) { + PubKeyHash msgSender = hash160(pubKey); + require(checkSig(sig, pubKey)); + require((!this.balanceOf.has({msgSender, i0}) && balanceOf_msgSender == 0) || this.balanceOf.canGet({msgSender, i0}, balanceOf_msgSender)); + balanceOf_msgSender -= amount; + this.totalSupply -= amount; + require(this.balanceOf.set({msgSender, i0}, balanceOf_msgSender)); + require(this.propagateState(txPreimage, SigHash.value(txPreimage))); + } + + function propagateState(SigHashPreimage txPreimage, int value) : bool { + require(Tx.checkPreimage(txPreimage)); + bytes outputScript = this.getStateScript(); + bytes output = Utils.buildOutput(outputScript, value); + return hash256(output) == SigHash.hashOutputs(txPreimage); + } + } + errorLogs: [] + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/compile: + post: + summary: compile sCrypt code to Bitcoin Script. + tags: + - Utility + description: Takes base64 string of sCrypt code and converts it to Bitcoin Script. + requestBody: + content: + application/json: + schema: + type: object + properties: + sourceCode: + type: string + required: + - sourceCode + example: + sourceCode: >- + Y29udHJhY3QgQ291bnRlciB7DQogIEBzdGF0ZQ0KICBwdWJsaWMgaW50IGNvdW50Ow0KDQogIGZ1bmN0aW9uIGdldCgpIDogaW50IHsNCiAgICByZXR1cm4gdGhpcy5jb3VudDsNCiAgfQ0KDQogIHB1YmxpYyBmdW5jdGlvbiBpbmMoU2lnSGFzaFByZWltYWdlIHR4UHJlaW1hZ2UpIHsNCiAgICB0aGlzLmNvdW50ICs9IDE7DQogICAgcmVxdWlyZSh0aGlzLnByb3BhZ2F0ZVN0YXRlKHR4UHJlaW1hZ2UpKTsNCiAgfQ0KDQogIGZ1bmN0aW9uIHNldChpbnQgX2NvdW50KSA6IGJvb2wgew0KICAgIHRoaXMuY291bnQgPSBfY291bnQ7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICBmdW5jdGlvbiBwcm9wYWdhdGVTdGF0ZShTaWdIYXNoUHJlaW1hZ2UgdHhQcmVpbWFnZSkgOiBib29sIHsNCiAgICByZXF1aXJlKFR4LmNoZWNrUHJlaW1hZ2UodHhQcmVpbWFnZSkpOw0KICAgIGJ5dGVzIG91dHB1dFNjcmlwdCA9IHRoaXMuZ2V0U3RhdGVTY3JpcHQoKTsNCiAgICBieXRlcyBvdXRwdXQgPSBVdGlscy5idWlsZE91dHB1dChvdXRwdXRTY3JpcHQsIFNpZ0hhc2gudmFsdWUodHhQcmVpbWFnZSkpOw0KICAgIHJldHVybiBoYXNoMjU2KG91dHB1dCkgPT0gU2lnSGFzaC5oYXNoT3V0cHV0cyh0eFByZWltYWdlKTsNCiAgfQ0KfQ== + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + scrypt: + type: string + required: + - status + - msg + - scrypt + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + scrypt: >- + OP_1 40 + 97dfd76851bf465e8f715593b217714858bbe9570ff3bd5e33840a34e20ff026 + 02ba79df5f8ae7604a9830f03c7933028186aede0675a16f025dc4f8be8eec0382 + 1008ce7480da41702918d1ec8e6849ba32b4d65b1e40dc669c31a1e6306b266c + $count $__codePart__ OP_7 OP_PICK OP_NOP OP_0 OP_PICK 68 + OP_SPLIT OP_NIP OP_NOP OP_0 OP_0 OP_2 OP_PICK OP_1 OP_SPLIT + OP_DROP OP_0 OP_SPLIT OP_NIP OP_0 OP_PICK fd OP_EQUAL OP_IF + OP_3 OP_PICK OP_3 OP_SPLIT OP_DROP OP_1 OP_SPLIT OP_NIP + OP_NOP OP_0 OP_PICK 00 OP_CAT OP_BIN2NUM OP_1 OP_ROLL + OP_DROP OP_NOP OP_3 OP_ROLL OP_DROP OP_2 OP_ROLL OP_2 + OP_ROLL OP_3 OP_PICK OP_3 OP_4 OP_PICK OP_ADD OP_SPLIT + OP_DROP OP_3 OP_SPLIT OP_NIP OP_2 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_ELSE OP_0 OP_PICK fe OP_EQUAL OP_IF OP_3 OP_PICK + OP_5 OP_SPLIT OP_DROP OP_1 OP_SPLIT OP_NIP OP_NOP OP_0 + OP_PICK 00 OP_CAT OP_BIN2NUM OP_1 OP_ROLL OP_DROP OP_NOP + OP_3 OP_ROLL OP_DROP OP_2 OP_ROLL OP_2 OP_ROLL OP_3 OP_PICK + OP_5 OP_4 OP_PICK OP_ADD OP_SPLIT OP_DROP OP_5 OP_SPLIT + OP_NIP OP_2 OP_ROLL OP_DROP OP_1 OP_ROLL OP_ELSE OP_0 + OP_PICK ff OP_EQUAL OP_IF OP_3 OP_PICK OP_9 OP_SPLIT OP_DROP + OP_1 OP_SPLIT OP_NIP OP_NOP OP_0 OP_PICK 00 OP_CAT + OP_BIN2NUM OP_1 OP_ROLL OP_DROP OP_NOP OP_3 OP_ROLL OP_DROP + OP_2 OP_ROLL OP_2 OP_ROLL OP_3 OP_PICK OP_9 OP_4 OP_PICK + OP_ADD OP_SPLIT OP_DROP OP_9 OP_SPLIT OP_NIP OP_2 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_ELSE OP_3 OP_PICK OP_1 OP_SPLIT + OP_DROP OP_0 OP_SPLIT OP_NIP OP_NOP OP_0 OP_PICK 00 OP_CAT + OP_BIN2NUM OP_1 OP_ROLL OP_DROP OP_NOP OP_3 OP_ROLL OP_DROP + OP_2 OP_ROLL OP_2 OP_ROLL OP_3 OP_PICK OP_1 OP_4 OP_PICK + OP_ADD OP_SPLIT OP_DROP OP_1 OP_SPLIT OP_NIP OP_2 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_ENDIF OP_ENDIF OP_ENDIF OP_1 OP_PICK + OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP OP_1 OP_ROLL OP_DROP + OP_NOP OP_0 OP_PICK OP_NOP OP_0 OP_PICK OP_SIZE OP_NIP OP_1 + OP_PICK OP_1 OP_PICK OP_1 OP_SUB OP_SPLIT OP_DROP OP_1 + OP_PICK OP_4 OP_SUB OP_1 OP_SUB OP_SPLIT OP_NIP OP_0 OP_PICK + OP_BIN2NUM OP_2 OP_PICK OP_1 OP_PICK OP_SUB OP_4 OP_SUB OP_1 + OP_SUB OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP OP_1 OP_PICK + OP_1 OP_PICK OP_SPLIT OP_DROP OP_3 OP_ROLL OP_DROP OP_2 + OP_ROLL OP_2 OP_ROLL OP_0 OP_0 OP_3 OP_PICK OP_3 OP_PICK + OP_SPLIT OP_NIP OP_NOP OP_0 OP_PICK OP_3 OP_ROLL OP_DROP + OP_2 OP_ROLL OP_2 OP_ROLL OP_0 OP_2 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_NOP OP_NOP OP_1 OP_PICK OP_1 OP_PICK OP_1 + OP_ADD OP_SPLIT OP_DROP OP_1 OP_PICK OP_SPLIT OP_NIP OP_1 + OP_PICK OP_DUP OP_1ADD OP_3 OP_ROLL OP_DROP OP_2 OP_ROLL + OP_2 OP_ROLL OP_DROP 00 OP_1 OP_PICK OP_EQUAL OP_NOT OP_1 + OP_ROLL OP_DROP OP_NOP OP_0 OP_PICK OP_NOT OP_IF OP_NOP + OP_NOP OP_0 OP_3 OP_PICK OP_0 OP_1 OP_PICK OP_5 OP_PICK OP_1 + OP_ADD OP_SPLIT OP_DROP OP_5 OP_PICK OP_SPLIT OP_NIP + OP_BIN2NUM OP_5 OP_PICK OP_DUP OP_1ADD OP_7 OP_ROLL OP_DROP + OP_6 OP_ROLL OP_6 OP_ROLL OP_6 OP_ROLL OP_6 OP_ROLL OP_6 + OP_ROLL OP_6 OP_ROLL OP_DROP OP_0 OP_PICK 4c OP_LESSTHAN + OP_IF OP_0 OP_PICK OP_4 OP_ROLL OP_DROP OP_3 OP_ROLL OP_3 + OP_ROLL OP_3 OP_ROLL OP_2 OP_PICK OP_6 OP_PICK OP_5 OP_PICK + OP_ADD OP_SPLIT OP_DROP OP_6 OP_PICK OP_SPLIT OP_NIP OP_2 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_ELSE OP_0 OP_PICK 4c + OP_NUMEQUAL OP_IF OP_2 OP_PICK OP_6 OP_PICK OP_1 OP_ADD + OP_SPLIT OP_DROP OP_6 OP_PICK OP_SPLIT OP_NIP OP_NOP OP_0 + OP_PICK 00 OP_CAT OP_BIN2NUM OP_1 OP_ROLL OP_DROP OP_NOP + OP_4 OP_ROLL OP_DROP OP_3 OP_ROLL OP_3 OP_ROLL OP_3 OP_ROLL + OP_5 OP_PICK OP_1 OP_ADD OP_6 OP_ROLL OP_DROP OP_5 OP_ROLL + OP_5 OP_ROLL OP_5 OP_ROLL OP_5 OP_ROLL OP_5 OP_ROLL OP_5 + OP_PICK OP_DROP OP_2 OP_PICK OP_6 OP_PICK OP_5 OP_PICK + OP_ADD OP_SPLIT OP_DROP OP_6 OP_PICK OP_SPLIT OP_NIP OP_2 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_ELSE OP_0 OP_PICK 4d + OP_NUMEQUAL OP_IF OP_2 OP_PICK OP_6 OP_PICK OP_2 OP_ADD + OP_SPLIT OP_DROP OP_6 OP_PICK OP_SPLIT OP_NIP OP_NOP OP_0 + OP_PICK 00 OP_CAT OP_BIN2NUM OP_1 OP_ROLL OP_DROP OP_NOP + OP_4 OP_ROLL OP_DROP OP_3 OP_ROLL OP_3 OP_ROLL OP_3 OP_ROLL + OP_5 OP_PICK OP_2 OP_ADD OP_6 OP_ROLL OP_DROP OP_5 OP_ROLL + OP_5 OP_ROLL OP_5 OP_ROLL OP_5 OP_ROLL OP_5 OP_ROLL OP_5 + OP_PICK OP_DROP OP_2 OP_PICK OP_6 OP_PICK OP_5 OP_PICK + OP_ADD OP_SPLIT OP_DROP OP_6 OP_PICK OP_SPLIT OP_NIP OP_2 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_ELSE OP_0 OP_PICK 4e + OP_NUMEQUAL OP_IF OP_2 OP_PICK OP_6 OP_PICK OP_4 OP_ADD + OP_SPLIT OP_DROP OP_6 OP_PICK OP_SPLIT OP_NIP OP_NOP OP_0 + OP_PICK 00 OP_CAT OP_BIN2NUM OP_1 OP_ROLL OP_DROP OP_NOP + OP_4 OP_ROLL OP_DROP OP_3 OP_ROLL OP_3 OP_ROLL OP_3 OP_ROLL + OP_5 OP_PICK OP_4 OP_ADD OP_6 OP_ROLL OP_DROP OP_5 OP_ROLL + OP_5 OP_ROLL OP_5 OP_ROLL OP_5 OP_ROLL OP_5 OP_ROLL OP_5 + OP_PICK OP_DROP OP_2 OP_PICK OP_6 OP_PICK OP_5 OP_PICK + OP_ADD OP_SPLIT OP_DROP OP_6 OP_PICK OP_SPLIT OP_NIP OP_2 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_ELSE OP_0 OP_VERIFY OP_ENDIF + OP_ENDIF OP_ENDIF OP_ENDIF OP_5 OP_PICK OP_4 OP_PICK OP_ADD + OP_6 OP_ROLL OP_DROP OP_5 OP_ROLL OP_5 OP_ROLL OP_5 OP_ROLL + OP_5 OP_ROLL OP_5 OP_ROLL OP_5 OP_PICK OP_DROP OP_1 OP_PICK + OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP OP_BIN2NUM OP_NOP OP_7 + OP_ROLL OP_DROP OP_6 OP_ROLL OP_6 OP_ROLL OP_6 OP_ROLL OP_6 + OP_ROLL OP_6 OP_ROLL OP_6 OP_ROLL OP_ENDIF OP_6 OP_PICK OP_1 + OP_ADD OP_7 OP_ROLL OP_DROP OP_6 OP_ROLL OP_6 OP_ROLL OP_6 + OP_ROLL OP_6 OP_ROLL OP_6 OP_ROLL OP_6 OP_ROLL OP_6 OP_PICK + OP_DROP OP_12 OP_PICK OP_NOP OP_0 OP_PICK OP_NOP OP_0 + OP_PICK OP_12 OP_PICK OP_12 OP_PICK + 0ac407f0e4bd44bfc207355a778b046225a7068fc59ee7eda43ad905aadbffc800 + 6c266b30e6a1319c66dc401e5bd6b432ba49688eecd118297041da8074ce0810 + OP_14 OP_PICK 13 OP_PICK 13 OP_PICK OP_OR OP_NOP OP_6 + OP_PICK OP_HASH256 OP_0 OP_PICK OP_NOP OP_0 OP_PICK OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_SWAP OP_CAT OP_SWAP + OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP + OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP + OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP + OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP + OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP + OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP + OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP + OP_CAT OP_SWAP OP_CAT 00 OP_CAT OP_BIN2NUM OP_1 OP_ROLL + OP_DROP OP_NOP OP_7 OP_PICK OP_6 OP_PICK OP_6 OP_PICK OP_6 + OP_PICK OP_6 OP_PICK OP_NOP OP_3 OP_PICK OP_6 OP_PICK OP_4 + OP_PICK OP_7 OP_PICK OP_MUL OP_ADD OP_MUL + 414136d08c5ed2bf3ba048afe6dcaebafeffffffffffffffffffffffffffffff00 + OP_1 OP_PICK OP_1 OP_PICK OP_NOP OP_1 OP_PICK OP_1 OP_PICK + OP_MOD OP_0 OP_PICK OP_0 OP_LESSTHAN OP_IF OP_0 OP_PICK OP_2 + OP_PICK OP_ADD OP_ELSE OP_0 OP_PICK OP_ENDIF OP_1 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP + OP_2 OP_ROLL OP_DROP OP_1 OP_ROLL OP_1 OP_PICK OP_1 OP_PICK + OP_2 OP_DIV OP_GREATERTHAN OP_IF OP_0 OP_PICK OP_2 OP_PICK + OP_SUB OP_2 OP_ROLL OP_DROP OP_1 OP_ROLL OP_ENDIF OP_3 + OP_PICK OP_SIZE OP_NIP OP_2 OP_PICK OP_SIZE OP_NIP OP_3 + OP_PICK 20 OP_NUM2BIN OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 OP_SPLIT OP_1 + OP_SPLIT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT + OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT + OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT + OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT + OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT + OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT + OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT + OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT OP_SWAP OP_CAT + 20 OP_2 OP_PICK OP_SUB OP_SPLIT OP_NIP OP_4 OP_3 OP_PICK + OP_ADD OP_2 OP_PICK OP_ADD 30 OP_1 OP_PICK OP_CAT OP_2 + OP_CAT OP_4 OP_PICK OP_CAT OP_8 OP_PICK OP_CAT OP_2 OP_CAT + OP_3 OP_PICK OP_CAT OP_2 OP_PICK OP_CAT OP_7 OP_PICK OP_CAT + OP_0 OP_PICK OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP + OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP + OP_NOP OP_0 OP_PICK OP_7 OP_PICK OP_CHECKSIG OP_1 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP + OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL + OP_DROP OP_NOP OP_1 OP_ROLL OP_DROP OP_NOP OP_VERIFY OP_NOP + OP_0 OP_NOP OP_0 OP_PICK OP_IF OP_1 OP_ELSE 00 OP_ENDIF OP_1 + OP_ROLL OP_DROP OP_NOP OP_8 OP_PICK OP_NOP OP_0 OP_PICK OP_0 + OP_NUMEQUAL OP_IF 00 OP_ELSE OP_0 OP_PICK OP_ENDIF OP_NOP + OP_0 OP_PICK OP_SIZE OP_NIP OP_0 OP_1 OP_PICK 4c OP_LESSTHAN + OP_IF OP_1 OP_PICK OP_1 OP_NOP OP_1 OP_PICK OP_1 OP_PICK + OP_1 OP_ADD OP_NUM2BIN OP_0 OP_PICK OP_1 OP_PICK OP_SIZE + OP_NIP OP_1 OP_SUB OP_SPLIT OP_DROP OP_0 OP_SPLIT OP_NIP + OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL + OP_DROP OP_NOP OP_1 OP_ROLL OP_DROP OP_ELSE OP_1 OP_PICK + 0001 OP_LESSTHAN OP_IF 4c OP_2 OP_PICK OP_1 OP_NOP OP_1 + OP_PICK OP_1 OP_PICK OP_1 OP_ADD OP_NUM2BIN OP_0 OP_PICK + OP_1 OP_PICK OP_SIZE OP_NIP OP_1 OP_SUB OP_SPLIT OP_DROP + OP_0 OP_SPLIT OP_NIP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP OP_CAT OP_1 OP_ROLL + OP_DROP OP_ELSE OP_1 OP_PICK 000001 OP_LESSTHAN OP_IF 4d + OP_2 OP_PICK OP_2 OP_NOP OP_1 OP_PICK OP_1 OP_PICK OP_1 + OP_ADD OP_NUM2BIN OP_0 OP_PICK OP_1 OP_PICK OP_SIZE OP_NIP + OP_1 OP_SUB OP_SPLIT OP_DROP OP_0 OP_SPLIT OP_NIP OP_1 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP + OP_NOP OP_CAT OP_1 OP_ROLL OP_DROP OP_ELSE OP_1 OP_PICK + 0000000001 OP_LESSTHAN OP_IF 4e OP_2 OP_PICK OP_4 OP_NOP + OP_1 OP_PICK OP_1 OP_PICK OP_1 OP_ADD OP_NUM2BIN OP_0 + OP_PICK OP_1 OP_PICK OP_SIZE OP_NIP OP_1 OP_SUB OP_SPLIT + OP_DROP OP_0 OP_SPLIT OP_NIP OP_1 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP OP_CAT OP_1 + OP_ROLL OP_DROP OP_ELSE OP_0 OP_VERIFY OP_ENDIF OP_ENDIF + OP_ENDIF OP_ENDIF OP_0 OP_PICK OP_3 OP_PICK OP_CAT OP_1 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP + OP_NOP OP_1 OP_ROLL OP_DROP OP_NOP OP_CAT OP_7 OP_PICK OP_1 + OP_PICK OP_NOP OP_0 OP_PICK OP_SIZE OP_NIP OP_4 OP_NUM2BIN + OP_1 OP_PICK OP_1 OP_PICK OP_CAT OP_0 OP_1 OP_NUM2BIN OP_CAT + OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP OP_CAT OP_1 + OP_ROLL OP_DROP OP_NOP OP_0 OP_PICK OP_2 OP_PICK OP_NOP OP_0 + OP_PICK OP_NOP OP_0 OP_PICK OP_SIZE OP_NIP OP_1 OP_PICK OP_1 + OP_PICK 2c OP_SUB OP_SPLIT OP_DROP OP_1 OP_PICK 34 OP_SUB + OP_SPLIT OP_NIP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP + OP_NOP OP_NOP OP_0 OP_PICK 00 OP_CAT OP_BIN2NUM OP_1 OP_ROLL + OP_DROP OP_NOP OP_1 OP_ROLL OP_DROP OP_NOP OP_NOP OP_0 + OP_PICK OP_8 OP_NUM2BIN OP_2 OP_PICK OP_NOP OP_0 OP_PICK + OP_SIZE OP_NIP OP_0 OP_1 OP_PICK fd00 OP_LESSTHAN OP_IF OP_1 + OP_PICK OP_1 OP_NOP OP_1 OP_PICK OP_1 OP_PICK OP_1 OP_ADD + OP_NUM2BIN OP_0 OP_PICK OP_1 OP_PICK OP_SIZE OP_NIP OP_1 + OP_SUB OP_SPLIT OP_DROP OP_0 OP_SPLIT OP_NIP OP_1 OP_ROLL + OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP + OP_1 OP_ROLL OP_DROP OP_ELSE OP_1 OP_PICK 000001 OP_LESSTHAN + OP_IF fd OP_2 OP_PICK OP_2 OP_NOP OP_1 OP_PICK OP_1 OP_PICK + OP_1 OP_ADD OP_NUM2BIN OP_0 OP_PICK OP_1 OP_PICK OP_SIZE + OP_NIP OP_1 OP_SUB OP_SPLIT OP_DROP OP_0 OP_SPLIT OP_NIP + OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL + OP_DROP OP_NOP OP_CAT OP_1 OP_ROLL OP_DROP OP_ELSE OP_1 + OP_PICK 0000000001 OP_LESSTHAN OP_IF fe OP_2 OP_PICK OP_4 + OP_NOP OP_1 OP_PICK OP_1 OP_PICK OP_1 OP_ADD OP_NUM2BIN OP_0 + OP_PICK OP_1 OP_PICK OP_SIZE OP_NIP OP_1 OP_SUB OP_SPLIT + OP_DROP OP_0 OP_SPLIT OP_NIP OP_1 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP OP_CAT OP_1 + OP_ROLL OP_DROP OP_ELSE OP_1 OP_PICK 000000000000000001 + OP_LESSTHAN OP_IF ff OP_2 OP_PICK OP_8 OP_NOP OP_1 OP_PICK + OP_1 OP_PICK OP_1 OP_ADD OP_NUM2BIN OP_0 OP_PICK OP_1 + OP_PICK OP_SIZE OP_NIP OP_1 OP_SUB OP_SPLIT OP_DROP OP_0 + OP_SPLIT OP_NIP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP + OP_1 OP_ROLL OP_DROP OP_NOP OP_CAT OP_1 OP_ROLL OP_DROP + OP_ENDIF OP_ENDIF OP_ENDIF OP_ENDIF OP_0 OP_PICK OP_3 + OP_PICK OP_CAT OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP + OP_1 OP_ROLL OP_DROP OP_NOP OP_CAT OP_1 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_NOP OP_0 OP_PICK OP_HASH256 OP_3 OP_PICK + OP_NOP OP_0 OP_PICK OP_SIZE OP_NIP OP_1 OP_PICK OP_1 OP_PICK + OP_8 OP_SUB OP_SPLIT OP_DROP OP_1 OP_PICK 28 OP_SUB OP_SPLIT + OP_NIP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_NOP + OP_EQUAL OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 + OP_ROLL OP_DROP OP_NOP OP_NIP OP_NIP OP_NIP OP_NIP OP_NIP + OP_NIP OP_NIP OP_NIP OP_NIP OP_NIP OP_NIP OP_NIP OP_NIP + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/post: + post: + summary: Post Messages to the Blockchain. + tags: + - Utility + description: >- + The /post endpoint broadcasts array of notes to the blockchain (in B:// + protocol format). + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + notes: + type: array + items: + type: string + minLength: 1 + required: + - notes + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - notes: + - note-1 + - note-2 + example2: + value: + dataArray: + - notes: + - note-1 + - note-2 + - notes: + - note-3 + required: true + parameters: + - schema: + type: string + in: header + name: custom-token + required: false + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txIds: + type: array + items: + type: object + properties: + txId: + type: string + url: + type: string + required: + - txId + - url + errors: + type: array + items: + type: object + properties: + msg: + type: string + index: + type: number + required: + - status + - msg + - txIds + - errors + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Successfully broadcasted to the blockchain. + txIds: + - txId: >- + a9f78d83d6e1255267b727d7d7172016924e130faf33d0f4cac55d1fe92612e4 + url: >- + B://a9f78d83d6e1255267b727d7d7172016924e130faf33d0f4cac55d1fe92612e4 + errors: [] + example2: + value: + statusCode: 200 + data: + status: success + msg: Successfully broadcasted to the blockchain. + txIds: + - txId: >- + 2e0b861f3a2b7d68c09b21237ca6659cd9176832cabaf2c9f691947434fbf463 + url: >- + B://2e0b861f3a2b7d68c09b21237ca6659cd9176832cabaf2c9f691947434fbf463 + - txId: >- + 8d7732f2d0487f97173413c105865fec68449ee9a7e5159e1c3fb223c295695a + url: >- + B://8d7732f2d0487f97173413c105865fec68449ee9a7e5159e1c3fb223c295695a + errors: [] + example3: + value: + statusCode: 200 + data: + status: success + msg: Successfully broadcasted to the blockchain. + txIds: + - txId: >- + 2e0b861f3a2b7d68c09b21237ca6659cd9176832cabaf2c9f691947434fbf463 + url: >- + B://2e0b861f3a2b7d68c09b21237ca6659cd9176832cabaf2c9f691947434fbf463 + - txId: >- + 8d7732f2d0487f97173413c105865fec68449ee9a7e5159e1c3fb223c295695a + url: >- + B://8d7732f2d0487f97173413c105865fec68449ee9a7e5159e1c3fb223c295695a + errors: + - msg: Invalid note format. + index: 0 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/lookup: + post: + summary: Returns balance of all assets of Private Key + tags: + - Utility + description: >- + The lookUp endpoint will return all the balance of all assets for BSV + and STAS tokens from a private key + requestBody: + content: + application/json: + schema: + type: object + properties: + privateKey: + type: string + parameters: + - schema: + type: string + in: query + name: nextPageToken + required: false + - schema: + type: string + in: query + name: tokenId + required: false + - schema: + type: string + in: header + name: type + required: false + - schema: + type: string + in: header + name: currency + required: false + - schema: + type: boolean + default: true + in: header + name: compact + required: false + - schema: + type: number + minimum: -1 + in: header + name: maxResults + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + totalBalance: + type: object + properties: + currency: + type: string + balance: + type: number + required: + - currency + - balance + coins: + type: array + items: + anyOf: + - type: object + properties: + protocol: + type: string + balance: + type: number + required: + - protocol + - balance + - type: object + properties: + protocol: + type: string + tokenId: + type: string + splittable: + type: boolean + name: + type: string + nullable: true + address: + type: string + satsPerToken: + type: number + symbol: + type: string + redeemAddr: + type: string + image: + type: string + amount: + type: number + supply: + type: number + decimals: + type: number + sn: + anyOf: + - type: number + - type: array + items: + type: number + nullable: true + required: + - protocol + - tokenId + - splittable + - address + - satsPerToken + - symbol + - redeemAddr + - image + - amount + - supply + - decimals + - sn + meta: + type: object + properties: + nextPageToken: + type: number + nullable: true + required: + - status + - msg + - totalBalance + - coins + - meta + example: + statusCode: 200 + data: + status: success + msg: operation completed successfully + totalBalance: + currency: USD + balance: 0.0001570996557778815 + coins: + - protocol: BSV + balance: 0.000005 + - protocol: STAS-789 + tokenId: a12e6c27b08430bccd4d801271e93d76994cac22-STASYO6 + splittable: false + verified: true + name: Store Bonus Points + address: 1JpvnEDrLR1rXZrUZNkhWSJd3x9D9ib16i + satsPerToken: 1 + symbol: STASYO6 + redeemAddr: a12e6c27b08430bccd4d801271e93d76994cac22 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 20 + decimals: 0 + sn: + - 8 + /v1/asm: + post: + summary: Upload custom ASM scripts in a transaction + tags: + - Transactions + description: >- + The asm endpoint allows custom scripts to be added as outputs in a + transaction + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + asm: + type: string + amount: + type: number + minimum: 0 + required: + - asm + - amount + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - asm: >- + OP_DUP OP_HASH160 + 4a548f3da5526d1e2f8b5c3584ebb9739edfbe3b OP_EQUALVERIFY + OP_CHECKSIG + amount: 1.e-8 + example2: + value: + dataArray: + - asm: >- + OP_DUP OP_HASH160 + 4a548f3da5526d1e2f8b5c3584ebb9739edfbe3b OP_EQUALVERIFY + OP_CHECKSIG + amount: 1.e-8 + - asm: >- + OP_DUP OP_HASH160 + 4a548f3da5526d1e2f8b5c3584ebb9739edfbe3b OP_EQUALVERIFY + OP_CHECKSIG + amount: 1.e-7 + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txid: + type: string + required: + - status + - msg + - txid + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Transaction successfully broadcasted + txid: >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/sign: + post: + summary: Sign a message to an address string + tags: + - Utility + description: >- + The sign endpoint will create a 64bit encoded signature of a message and + an address string + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + address: + type: string + nullable: true + derivationPath: + type: string + nullable: true + message: + type: string + minLength: 1 + required: + - message + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - derivationPath: m/44'/0'/0'/0/0 + message: Hello World from path + example2: + value: + dataArray: + - address: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + message: Hello World + example3: + value: + dataArray: + - address: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + message: Hello World + - derivationPath: m/44'/0'/0'/0/0 + message: Hello World from path + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + data: + type: array + items: + type: object + properties: + derivationPath: + type: string + address: + type: string + signature: + type: string + required: + - derivationPath + - address + - signature + required: + - status + - msg + - data + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Successfully signed message + data: + - derivationPath: m/44'/0'/0'/0/0 + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + signature: >- + H50lZfAgH47Qg5va5EIrJJ1ss76D51f6TMEHiOrbUhaHJqC13zoH2mHS9BbBttSznmQwtLQB04addED5CLkYZVU= + example2: + value: + statusCode: 200 + data: + status: success + msg: Successfully signed message + data: + - derivationPath: m/44'/0'/0'/0/0 + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + signature: >- + H9m3vJiQU5q6aDuGpbAf+brX7eG70Q4X1nOoOO/uf4+MZSLh5T5Z6foBrbHzMGe1mPpII2G9Q0TSsvI5dZMxc2Y= + - derivationPath: m/44'/0'/0'/0/5 + address: 12fKJzMbsMW6HxAsCMsrL4jrxC2p8umDGf + signature: >- + INwmOzibOQZD2jYoDqgGcQcIXUngrY6usA2bIvPp0Js1TMDPwZ/Fiq6VVhrO3fqWw54LQ2yoe6ZzATstZZj+YXw= + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v2/balance: + get: + summary: Get your wallet balance. + tags: + - Wallets + description: Returns both coin and token balances. + parameters: + - schema: + type: string + in: query + name: nextPageToken + required: false + - schema: + type: string + in: query + name: tokenId + required: false + - schema: + type: string + in: query + name: symbol + required: false + - schema: + type: string + in: header + name: walletID + required: false + - schema: + type: string + in: header + name: type + required: false + - schema: + type: string + in: header + name: currency + required: false + - schema: + type: boolean + default: true + in: header + name: compact + required: false + - schema: + type: number + minimum: -1 + in: header + name: maxResults + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + totalBalance: + type: object + properties: + currency: + type: string + enum: + - USD + - CHF + - INR + - EUR + - CAD + - GBP + - SYP + - SDG + - LBP + - FKP + - EGP + - BSV + balance: + type: number + required: + - currency + - balance + coins: + type: array + items: + anyOf: + - type: object + properties: + protocol: + type: string + enum: + - BSV + balance: + type: number + required: + - protocol + - balance + - type: object + properties: + Id: + type: string + protocol: + type: string + enum: + - BSV + - STAS + - STAS-50 + - STAS-20 + - STAS-789 + - STAS50 + - STASFT + - STASAPPEND + tokenId: + type: string + splittable: + type: boolean + splitable: + type: boolean + verified: + type: boolean + name: + type: string + nullable: true + address: + type: string + satsPerToken: + type: number + symbol: + type: string + redeemAddr: + type: string + image: + type: string + amount: + type: number + supply: + type: number + decimals: + type: number + sn: + anyOf: + - type: number + - type: array + items: + type: number + nullable: true + required: + - Id + - protocol + - tokenId + - splittable + - splitable + - verified + - address + - satsPerToken + - symbol + - redeemAddr + - image + - amount + - supply + - decimals + - sn + meta: + type: object + properties: + nextPageToken: + type: number + nullable: true + required: + - status + - msg + - totalBalance + - coins + - meta + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Operation Completed Successfully + totalBalance: + currency: USD + balance: 0.000033622769602482665 + coins: + - protocol: BSV + balance: 0 + - Id: 6441fe87c0dc6dd1babbe28f + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 103 + supply: 123 + decimals: 0 + sn: + - 85 + - 30 + - 61 + - 81 + - 74 + - Id: 6441fe87c0dc6dd1babbe27a + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-YJO + splittable: false + splitable: false + verified: true + name: Yujiro + address: 12519wQZvqjuqxggUco872zKs66L9x438C + satsPerToken: 1 + symbol: YJO + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://static.wikia.nocookie.net/baki/images/a/a6/Yujiro_profile.png/revision/latest/scale-to-width-down/280?cb=20220726223446 + amount: 2 + supply: 5 + decimals: 0 + sn: + - 1 + - 2 + - Id: 6441fe87c0dc6dd1babbe27b + protocol: STAS + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-IR_MAN + splittable: false + splitable: false + verified: true + name: Ironman + address: 12519wQZvqjuqxggUco872zKs66L9x438C + satsPerToken: 1 + symbol: IR_MAN + redeemAddr: 8226da9a724b0581928ee508df0174ed7b233a81 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 2 + supply: 3 + decimals: 0 + sn: + - 1 + - 2 + - Id: 6441fe87c0dc6dd1babbe27c + protocol: STAS + tokenId: 8226da9a724b0581928ee508df0174ed7b233a81-W_WOMAN + splittable: false + splitable: false + verified: true + name: Store Bonus Points + address: 12T7men1z1FU9sruoFgFx2D7JCJRgZtxrA + satsPerToken: 1 + symbol: W_WOMAN + redeemAddr: 8226da9a724b0581928ee508df0174ed7b233a81 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 5 + decimals: 0 + sn: + - 5 + - Id: 6441fe87c0dc6dd1babbe27d + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-nba-new-123 + splittable: false + splitable: false + verified: true + name: Store Bonus Points + address: 12T7men1z1FU9sruoFgFx2D7JCJRgZtxrA + satsPerToken: 1 + symbol: nba-new-123 + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 10 + supply: 3 + decimals: 0 + sn: + - 1 + - 3 + - 2 + meta: + nextPageToken: 5 + example2: + value: + statusCode: 200 + data: + status: success + msg: Operation Completed Successfully + totalBalance: + currency: USD + balance: 0.000033622769602482665 + coins: + - protocol: BSV + balance: 0 + - Id: 6441fe87c0dc6dd1babbe28f + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 103 + - Id: 6441fe87c0dc6dd1babbe290 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 102 + - Id: 6441fe87c0dc6dd1babbe291 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 101 + - Id: 6441fe87c0dc6dd1babbe292 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 100 + - Id: 6441fe87c0dc6dd1babbe293 + protocol: STAS + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + splittable: false + splitable: false + verified: true + name: White Dragon + address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + satsPerToken: 1 + symbol: WDG + redeemAddr: 7791e1839f705e2813ec744a15fd10d355ff99b2 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + amount: 1 + supply: 123 + decimals: 0 + sn: 99 + meta: + nextPageToken: 5 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v2/history: + get: + summary: Get your transaction history. + tags: + - Wallets + description: >- + The transaction history endpoint returns all past transactions, both BSV + and Tokens. + parameters: + - schema: + type: string + in: query + name: nextPageToken + required: false + - schema: + type: string + in: query + name: tokenId + required: false + - schema: + type: string + in: query + name: protocol + required: false + - schema: + type: string + in: query + name: limit + required: false + - schema: + type: string + in: header + name: walletID + required: false + - schema: + type: string + in: header + name: type + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Successful response + content: + application/json: + schema: + description: Successful response + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + histories: + type: array + items: + type: object + properties: + to: + type: array + items: + type: object + properties: + amount: + type: number + image: + type: string + nullable: true + protocol: + type: string + enum: + - BSV + - STAS + - STAS-50 + - STAS-20 + - STAS-789 + - STAS50 + - STASFT + - STASAPPEND + tokenId: + type: string + nullable: true + sn: + type: number + nullable: true + to: + type: string + name: + type: string + nullable: true + decimals: + type: number + nullable: true + txId: + type: string + from: + type: string + timestamp: + type: string + totalAmount: + type: number + notes: + type: string + nullable: true + type: + type: string + enum: + - debit + - credit + nullable: true + required: + - to + - txId + - from + - timestamp + - totalAmount + - type + meta: + type: object + properties: + nextPageToken: + type: string + nullable: true + required: + - status + - msg + - histories + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Transaction history fetched successfully. + histories: + - to: + - amount: 1 + image: https://www.gstatic.com/webp/gallery/1.jpg + protocol: STAS-789 + tokenId: >- + 0efca5f5dadcdacd0ff3a418a92c27efc6f8387b29e8647bb9ac7eea9284b13d + sn: 1 + to: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + name: test + decimals: 2 + txId: >- + c48287508391ff0b57ec528cb12ae87762af94f6c242cb4acdeed63382e5515d + from: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + timestamp: '2023-04-24 04:12:20' + totalAmount: 1 + type: debit + - to: + - amount: 1 + image: https://www.gstatic.com/webp/gallery/1.jpg + protocol: STAS-789 + tokenId: >- + 0efca5f5dadcdacd0ff3a418a92c27efc6f8387b29e8647bb9ac7eea9284b13c + sn: 1 + to: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + name: test + decimals: 2 + - amount: 1 + image: https://www.gstatic.com/webp/gallery/1.jpg + protocol: STAS-789 + tokenId: >- + 0efca5f5dadcdacd0ff3a418a92c27efc6f8387b29e8647bb9ac7eea9284b13c + sn: 2 + to: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + name: test + decimals: 2 + txId: >- + c48287508391ff0b57ec528cb12ae87762af94f6c242cb4acdeed63382e5515e + from: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2 + timestamp: '2023-04-26 03:18:37' + totalAmount: 2 + notes: test + type: credit + meta: + nextPageToken: '1' + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v2/token/{id}: + get: + summary: Get STAS token details. + tags: + - Smart Contracts + description: Insert your STAS tokenId to receive information about it. + parameters: + - schema: + type: string + in: path + name: id + required: true + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + contractTxs: + type: array + items: + type: string + minItems: 1 + issuanceTxs: + type: array + items: + type: string + minItems: 1 + utxos: + type: number + owners: + type: number + transactionsCount: + type: number + circulationSupply: + type: number + name: + type: string + tokenId: + type: string + symbol: + type: string + description: + type: string + image: + type: string + totalSupply: + type: number + decimals: + type: number + satsPerToken: + type: number + properties: + type: object + properties: + legal: + type: object + properties: + terms: + type: string + nullable: true + licenceId: + type: string + nullable: true + nullable: true + issuer: + type: object + properties: + organisation: + type: string + nullable: true + legalForm: + type: string + nullable: true + governingLaw: + type: string + nullable: true + issuerCountry: + type: string + nullable: true + jurisdiction: + type: string + nullable: true + email: + type: string + nullable: true + nullable: true + meta: + type: object + properties: + schemaId: + type: string + nullable: true + website: + type: string + nullable: true + legal: + type: object + properties: + terms: + type: string + nullable: true + nullable: true + media: + type: array + items: + type: object + properties: + URI: + type: string + nullable: true + type: + type: string + nullable: true + altURI: + type: string + nullable: true + nullable: true + nullable: true + nullable: true + nullable: true + splitable: + type: boolean + protocol: + type: string + serialNumber: + type: number + data: + type: array + required: + - status + - msg + - contractTxs + - issuanceTxs + - utxos + - owners + - transactionsCount + - circulationSupply + - name + - tokenId + - symbol + - description + - image + - totalSupply + - decimals + - satsPerToken + - properties + - splitable + - protocol + - serialNumber + - data + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + contractTxs: + - >- + d1f376ffb62f30efdd1336ec379eb462ab1068dd67a55789ab1c445cf35c540d + issuanceTxs: + - >- + 7f06cdece4c08192e8872be802f120b85f0610e6f8e448b85c301e89ccc5bfe1 + utxos: 3 + owners: 1 + transactionsCount: 1 + circulationSupply: 3 + name: Store Bonus Points + tokenId: 8a9e7ec666f0610ff3f0540ed55f07162e9dd7a8 + symbol: SBPgdsfgdfsgds + description: A supermarket bonus point. + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + totalSupply: 3 + decimals: 0 + satsPerToken: 1 + properties: + legal: + terms: >- + STAS, Inc. retains all rights to the token script. Use + is subject to terms at https://stastoken.com/license. + licenceId: stastoken.com + issuer: + organisation: Vaionex Corp. + legalForm: Limited + governingLaw: US + issuerCountry: US + jurisdiction: US + email: info@vaionex.com + meta: + schemaId: STAS1.0 + website: vaionex.com + legal: + terms: Your token terms and description. + media: + - URI: string + type: string + altURI: string + splitable: false + protocol: STAS-789 + serialNumber: 0 + data: + - '' + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v2/inspect: + post: + summary: Inspect an atomic swap offer. + tags: + - Transactions + description: >- + This endpoint allows users to inspect an atomic swap hex to verify the + validity of the offer. + requestBody: + content: + application/json: + schema: + type: object + properties: + dataArray: + type: array + items: + type: object + properties: + swapHex: + type: string + required: + - swapHex + minItems: 1 + required: + - dataArray + examples: + example1: + value: + dataArray: + - swapHex: >- + 010000000184c5740d26e45e7d3574f51bc57346bdec86478669c4a4c90252acaa7a69353d000000006b483045022100876446ffa4fb4dbe362f00adca8d13c5010e5ef5dbfc3f261849fe267352bb2202201b367635c117cd1ce002033a12e115a56be5fa8f59cdaa2ed15f8ed683d23f6dc3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + example2: + value: + dataArray: + - swapHex: >- + 0100000001c5a3b200dce3761303df00166b7f424987ba7bce0ca2806ccfd6c0492fd43b98000000006a47304402201a289a73ca3c3e3dd183193c9c52fd1cbd1607d31769879b56da5eadd00071810220296232d51d8591406848eb4a7ee7dd246403de69237afbab687f0bc84e6354cbc3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + - swapHex: >- + 0100000001b0619eea04bf5f1f765097cbbe2fad314dc6cedebedfe45e97bd30e261008820000000006a473044022075b1b3d916dc32bd7b4dd13e1681e5cb68944331a515ea5d169eb665f032617b022050d287f19c63d0b99a78af62ba580c4574b43373db134b9fc9cb157b9156d882c3210387d82034a417c41916f212a70978c199fead7a3a2769f4d3ed0ebce8f361f835ffffffff0150c30000000000001976a914ec83f1fb2c52dbd7b2d4c70cf95150560d611b9088ac00000000 + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + offerDetails: + type: array + items: + type: object + properties: + address: + type: string + protocol: + type: string + enum: + - STAS50 + - STASFT + - STASAPPEND + - BSV + - STAS + - STAS-50 + - STAS-20 + - STAS-789 + amount: + type: number + minimum: 0 + verified: + type: boolean + nullable: true + spent: + type: boolean + nullable: true + tokenId: + type: string + nullable: true + sn: + type: number + image: + type: string + nullable: true + tokenSymbol: + type: string + nullable: true + contractTxid: + type: string + nullable: true + name: + type: string + nullable: true + tokenSupply: + type: number + nullable: true + redeemAddress: + type: string + nullable: true + splittable: + type: boolean + satsPerToken: + type: number + minimum: 0 + wantedProtocol: + type: string + enum: + - STAS50 + - STASFT + - STASAPPEND + - BSV + - STAS + - STAS-50 + - STAS-20 + - STAS-789 + wantedAmount: + type: number + minimum: 0 + wantedTokenId: + type: string + nullable: true + wantedSn: + type: number + wantedName: + type: string + nullable: true + wantedTokenSplittable: + type: boolean + nullable: true + required: + - address + - protocol + - amount + - wantedProtocol + - wantedAmount + minItems: 1 + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Offer details fetched successfully + offerDetails: + - address: 12fKJzMbsMW6HxAsCMsrL4jrxC2p8umDGf + protocol: STAS + amount: 1 + verified: true + spent: false + tokenId: >- + 7791e1839f705e2813ec744a15fd10d355ff99b2-SBPTEST12345 + sn: 0 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + tokenSymbol: SBPTEST12345 + contractTxid: >- + a29f4948fd8c17d2e9be8e21f7312dcbcafe2f65b0eb4f0bf4d261a3e3a13c8c + name: Store Bonus Points + tokenSupply: 5 + redeemAddress: 7791e1839f705e2813ec744a15fd10d355ff99b2 + splittable: true + satsPerToken: 1 + wantedProtocol: BSV + wantedAmount: 1 + example2: + value: + statusCode: 200 + data: + status: success + msg: Offer details fetched successfully + offerDetails: + - address: 12fKJzMbsMW6HxAsCMsrL4jrxC2p8umDGf + protocol: STAS + amount: 1 + verified: true + spent: false + tokenId: >- + 7791e1839f705e2813ec744a15fd10d355ff99b2-SBPTEST12345 + sn: 0 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + tokenSymbol: SBPTEST12345 + contractTxid: >- + a29f4948fd8c17d2e9be8e21f7312dcbcafe2f65b0eb4f0bf4d261a3e3a13c8c + name: Store Bonus Points + tokenSupply: 5 + redeemAddress: 7791e1839f705e2813ec744a15fd10d355ff99b2 + splittable: true + satsPerToken: 1 + wantedProtocol: BSV + wantedAmount: 1 + - address: 1NZaXzJHBLTqeBXn45AvkoPCkbwatizDCW + protocol: STAS + amount: 1 + verified: true + spent: false + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-WDG + sn: 5 + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + tokenSymbol: WDG + contractTxid: >- + e24cd3c552d71c2dd8513cdeac81a6d2ca48a055f73cbc58d118a33f037c9ca1 + name: White Dragon + tokenSupply: 123 + redeemAddress: 7791e1839f705e2813ec744a15fd10d355ff99b2 + splittable: false + wantedProtocol: BSV + wantedAmount: 2.5e-7 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v2/issue: + post: + summary: Mint a Token. + tags: + - Smart Contracts + description: >- + Mint a token with given specifications (can be both token or NFT). More + on docs.relysia.com. + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + protocolId: + type: string + default: STAS + symbol: + type: string + description: + type: string + image: + type: string + tokenSupply: + type: number + minimum: 1 + default: 3 + decimals: + type: number + default: 0 + nullable: true + minimum: 0 + maximum: 8 + satsPerToken: + type: number + default: 1 + minimum: 0 + properties: + type: object + properties: + legal: + type: object + properties: + terms: + type: string + default: >- + STAS, Inc. retains all rights to the token script. + Use is subject to terms at + https://stastoken.com/license. + nullable: true + licenceId: + type: string + default: stastoken.com + nullable: true + nullable: true + issuer: + type: object + properties: + organisation: + type: string + default: Vaionex Corp. + nullable: true + legalForm: + type: string + default: Limited + nullable: true + governingLaw: + type: string + default: US + nullable: true + issuerCountry: + type: string + default: US + nullable: true + jurisdiction: + type: string + default: US + nullable: true + email: + type: string + default: info@vaionex.com + nullable: true + nullable: true + meta: + type: object + properties: + schemaId: + type: string + default: STAS1.0 + nullable: true + website: + type: string + default: vaionex.com + nullable: true + legal: + type: object + properties: + terms: + type: string + default: Your token terms and description. + nullable: true + nullable: true + media: + type: array + items: + type: object + properties: + URI: + type: string + nullable: true + type: + type: string + nullable: true + altURI: + type: string + nullable: true + nullable: true + nullable: true + nullable: true + nullable: true + splitable: + type: boolean + default: 'true' + nullable: true + data: + type: object + additionalProperties: true + default: {} + nftMetadataSerialNumberStart: + type: number + nullable: true + nftMetadataTotalSupply: + type: number + nullable: true + required: + - name + - symbol + - image + - description + - satsPerToken + - tokenSupply + examples: + example1: + value: + name: Store Bonus Points + symbol: SBP + description: A supermarket bonus point. + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + tokenSupply: 3 + decimals: 0 + satsPerToken: 1 + properties: + legal: + terms: >- + STAS, Inc. retains all rights to the token script. Use + is subject to terms at https://stastoken.com/license. + licenceId: stastoken.com + issuer: + organisation: Vaionex Corp. + legalForm: Limited + governingLaw: US + issuerCountry: US + jurisdiction: US + email: info@vaionex.com + meta: + schemaId: STAS1.0 + website: vaionex.com + legal: + terms: Your token terms and description. + media: + - URI: string + type: string + altURI: string + splitable: true + data: {} + example2: + value: + name: Store Bonus Points + symbol: SBP + description: A supermarket bonus point. + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + tokenSupply: 3 + decimals: 0 + satsPerToken: 1 + properties: + legal: + terms: >- + STAS, Inc. retains all rights to the token script. Use + is subject to terms at https://stastoken.com/license. + licenceId: stastoken.com + issuer: + organisation: Vaionex Corp. + legalForm: Limited + governingLaw: US + issuerCountry: US + jurisdiction: US + email: info@vaionex.com + meta: + schemaId: STAS1.0 + website: vaionex.com + legal: + terms: Your token terms and description. + media: + - URI: string + type: string + altURI: string + splitable: true + data: + data1: + - data1 + - data2 + data2: + - data1 + - data2 + required: true + parameters: + - schema: + type: string + in: header + name: protocol + required: false + - schema: + type: boolean + default: 'false' + in: header + name: reminting + required: false + - schema: + type: string + in: header + name: walletID + required: false + - schema: + type: string + default: NFT + in: header + name: type + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + tokenId: + type: string + tokenObj: + type: object + properties: + userId: + type: string + serviceId: + type: string + nullable: true + symbol: + type: string + name: + type: string + description: + type: string + image: + type: string + totalSupply: + type: number + minimum: 1 + satsPerToken: + type: number + minimum: 0 + decimals: + type: number + nullable: true + properties: + type: object + properties: + legal: + type: object + properties: + terms: + type: string + default: >- + STAS, Inc. retains all rights to the token + script. Use is subject to terms at + https://stastoken.com/license. + nullable: true + licenceId: + type: string + default: stastoken.com + nullable: true + nullable: true + issuer: + type: object + properties: + organisation: + type: string + default: Vaionex Corp. + nullable: true + legalForm: + type: string + default: Limited + nullable: true + governingLaw: + type: string + default: US + nullable: true + issuerCountry: + type: string + default: US + nullable: true + jurisdiction: + type: string + default: US + nullable: true + email: + type: string + default: info@vaionex.com + nullable: true + nullable: true + meta: + type: object + properties: + schemaId: + type: string + default: STAS1.0 + nullable: true + website: + type: string + default: vaionex.com + nullable: true + legal: + type: object + properties: + terms: + type: string + default: Your token terms and description. + nullable: true + nullable: true + media: + type: array + items: + type: object + properties: + URI: + type: string + nullable: true + type: + type: string + nullable: true + altURI: + type: string + nullable: true + nullable: true + nullable: true + nullable: true + nullable: true + splittable: + type: boolean + protocolId: + type: string + contractTxid: + type: string + issueTxid: + type: string + contractAddress: + type: string + contractPublickey: + type: string + splitable: + type: boolean + required: + - userId + - symbol + - name + - description + - image + - totalSupply + - satsPerToken + - splittable + - protocolId + - contractTxid + - issueTxid + - contractAddress + - contractPublickey + - splitable + required: + - status + - msg + - tokenId + - tokenObj + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Token created successfully. + tokenId: cb75d56ad85630475ca4af078dcbf37828970d8d-HELLO12344 + tokenObj: + userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + symbol: HELLO12344 + name: Store Bonus Points + description: A supermarket bonus point. + image: >- + https://upload.wikimedia.org/wikipedia/en/9/95/Test_image.jpg + totalSupply: 3 + satsPerToken: 1 + decimals: 0 + properties: + legal: + terms: >- + STAS, Inc. retains all rights to the token script. + Use is subject to terms at + https://stastoken.com/license. + licenceId: stastoken.com + issuer: + organisation: Vaionex Corp. + legalForm: Limited + governingLaw: US + issuerCountry: US + jurisdiction: US + email: info@vaionex.com + meta: + schemaId: STAS1.0 + website: vaionex.com + legal: + terms: Your token terms and description. + media: + - URI: string + type: string + altURI: string + splittable: true + protocolId: STAS + contractTxid: >- + ec376960b7cf25ae846338253e403082fe5f4bc76d06ad547bf03403ee4403b5 + issueTxid: >- + e3dcb8dfee84a7a510b1b073d7b1b773ac61749370e51a6dbe38d8171213d36f + contractAddress: 1KYoLAjrtNGULBHvPy1fT6T5xwqtcFQ4yA + contractPublickey: >- + 02e8f852e5015f8f12c228992a84b3b70c6789630b9ebef70529b802061db7a42f + splitable: true + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v2/send: + post: + summary: Transfer coins to an address. + tags: + - Transactions + description: >- + Use the /send endpoint to create transactions to peers. The /send + endpoint is agnostic to sending either Tokens or BSV. + requestBody: + content: + application/json: + schema: + type: object + properties: + bundle: + type: boolean + default: true + nullable: true + txPayloads: + type: array + items: + type: object + properties: + to: + type: string + amount: + type: number + minimum: 1.e-8 + notes: + type: string + nullable: true + sn: + type: number + nullable: true + minimum: 0 + tokenId: + type: string + nullable: true + data: + type: array + nullable: true + items: + type: string + required: + - to + - amount + minItems: 1 + required: + - txPayloads + examples: + example1: + value: + txPayloads: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 0.000005 + example2: + value: + txPayloads: + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + example3: + value: + txPayloads: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 0.000005 + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 0.000005 + notes: test + example4: + value: + txPayloads: + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 5 + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 3 + notes: test + - to: 1JQheacLPdM5ySCkrZkV66G2ApAXe1mqLj + amount: 1 + tokenId: 7791e1839f705e2813ec744a15fd10d355ff99b2-Mordor-bulk + sn: 3 + notes: test + data: + - test1 + - test2 + example5: + value: + bundle: false + txPayloads: + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 1.e-7 + - to: 17n2JVhrCf1oYSMkZtZNjcf1deteUEKQsH + amount: 1.e-7 + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Operation completed successfully + content: + application/json: + schema: + description: Operation completed successfully + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + msg: + type: string + transactionCount: + type: number + minimum: 1 + successCount: + type: number + failedCount: + type: number + transactions: + type: array + items: + type: object + properties: + statusCode: + type: number + enum: + - 200 + - 400 + - 500 + - 207 + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txId: + type: string + required: + - transactionCount + - failedCount + - successCount + - transactions + examples: + example1: + value: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + transactionCount: 1 + successCount: 1 + failedCount: 0 + transactions: + - statusCode: 200 + status: success + msg: Operation completed successfully + txId: >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + example2: + value: + statusCode: 200 + data: + status: success + msg: Operation completed successfully + transactionCount: 2 + successCount: 2 + failedCount: 0 + transactions: + - statusCode: 200 + status: success + msg: Operation completed successfully + txId: >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + - statusCode: 200 + status: string + msg: string + txId: >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + '207': + description: Operation completed with partial success + content: + application/json: + schema: + description: Operation completed with partial success + type: object + properties: + statusCode: + type: number + enum: + - 207 + data: + type: object + properties: + status: + type: string + enum: + - partial success + msg: + type: string + transactionCount: + type: number + minimum: 2 + successCount: + type: number + minimum: 1 + failedCount: + type: number + minimum: 1 + transactions: + type: array + items: + type: object + properties: + statusCode: + type: number + enum: + - 200 + - 400 + - 500 + - 207 + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txId: + type: string + nullable: true + required: + - msg + - failedCount + - successCount + - transactions + - transactionCount + example: + statusCode: 207 + data: + status: partial success + msg: Operation completed with partial success + transactionCount: 2 + successCount: 1 + failedCount: 1 + transactions: + - statusCode: 200 + status: success + msg: Operation completed successfully + txId: >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + - statusCode: 500 + status: error + msg: Operation failed + txId: >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + '500': + description: Operation failed + content: + application/json: + schema: + description: Operation failed + type: object + properties: + statusCode: + type: number + enum: + - 200 + - 400 + - 500 + - 207 + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + transactionCount: + type: number + minimum: 1 + successCount: + type: number + enum: + - 0 + failedCount: + type: number + minimum: 1 + transactions: + type: array + minItems: 1 + items: + type: object + properties: + statusCode: + type: string + enum: + - 200 + - 400 + - 500 + - 207 + status: + type: string + enum: + - error + msg: + type: string + required: + - msg + - status + example: + statusCode: 500 + data: + status: error + msg: Operation failed + transactionCount: 1 + successCount: 0 + failedCount: 1 + transactions: + - statusCode: 500 + status: string + msg: string + txId: null + /v1/plan/{serviceType}/activate: + post: + tags: + - quota + requestBody: + content: + application/json: + schema: + type: object + properties: + chargeFrom: + type: string + serviceId: + type: string + required: + - serviceId + example: + serviceId: f1a4b3c2-1a2b-3a4b-5a6b-7a8b9c0d1e2f + required: true + parameters: + - schema: + type: string + in: path + name: serviceType + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + data: + type: object + properties: + serviceId: + type: string + plan: + type: object + properties: + serviceType: + type: string + cost: + type: number + minimum: 0 + apiCallLimit: + type: number + minimum: 0 + feeManagerFundPerMonth: + type: number + minimum: 0 + unavailableApiList: + type: object + additionalProperties: + type: number + minimum: 0 + nullable: true + projectLimit: + type: number + minimum: 0 + nullable: true + serviceFeeManagerFillingLimit: + type: number + minimum: 0 + createdBy: + type: string + required: + - serviceType + - cost + - apiCallLimit + - feeManagerFundPerMonth + - serviceFeeManagerFillingLimit + - createdBy + usage: + type: object + properties: + apiCallUsage: + type: number + unavailableApiList: + type: object + additionalProperties: + type: number + nullable: true + projectUsage: + type: number + nullable: true + projects: + type: array + items: + type: string + nullable: true + nullable: true + required: + - serviceId + - plan + required: + - status + - msg + - data + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Plan activated successfully + data: + serviceId: 48fa916b-9a71-4e8c-a6ab-e8892418da52 + plan: + serviceType: free + cost: 0 + apiCallLimit: 10000 + feeManagerFundPerMonth: 0.1 + unavailableApiList: + /upload: 0 + /v1/offer: 0 + /v1/swap: 0 + /v1/issue: 3 + projectLimit: 0 + serviceFeeManagerFillingLimit: 0 + createdBy: gtgd4e5JMhT5O09F0EEBR8vW5rq1 + usage: + apiCallUsage: 0 + unavailableApiList: + /upload: 0 + /v1/offer: 0 + /v1/swap: 0 + /v1/issue: 3 + projectUsage: 0 + projects: [] + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/plan/quota: + put: + tags: + - quota + requestBody: + content: + application/json: + schema: + type: object + properties: + serviceType: + type: string + serviceId: + type: string + required: + - serviceId + - serviceType + example: + serviceType: free + serviceId: 5f7b1b1b-5f7b-1b1b-5f7b-1b1b5f7b1b1b + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Plan updated successfully + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/plan/deactivate: + put: + tags: + - quota + requestBody: + content: + application/json: + schema: + type: object + properties: + serviceId: + type: string + required: + - serviceId + example: + serviceId: 5f7b1b1b-5f7b-1b1b-5f7b-1b1b5f7b1b1b + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Plan deactivated successfully + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /admin/v1/setup: + post: + tags: + - admin + requestBody: + content: + application/json: + schema: + type: object + properties: + projectName: + type: string + db_store_mode: + type: string + type: + type: string + paymailDomain: + type: string + firebaseConfig: + type: object + properties: + apiKey: + type: string + authDomain: + type: string + databaseURL: + type: string + projectId: + type: string + storageBucket: + type: string + messagingSenderId: + type: string + appId: + type: string + measurementId: + type: string + additionalProperties: true + legal: + type: object + properties: + organisation: + type: string + legalForm: + type: string + governingLaw: + type: string + mailingAddress: + type: string + issuerCountry: + type: string + jurisdiction: + type: string + email: + type: string + additionalProperties: true + primaryDatabase: + type: string + supabaseConfig: + type: object + properties: + supabaseUrl: + type: string + supabaseKey: + type: string + additionalProperties: true + examples: + example1: + value: + projectName: vaionex production + db_store_mode: SHARED + type: FEE_MANAGER + paymailDomain: example.com + firebaseConfig: + apiKey: AIzaSyDiAjG-example-1234566_cW + authDomain: example.firebaseapp.com + databaseURL: https://example.firebaseio.com + projectId: example + storageBucket: example.appspot.com + messagingSenderId: '540114563587' + appId: 1:123456872:web:d24d9c3d71a38519as45sj788526 + measurementId: G-M2K6YG42T2 + legal: + organisation: vaionex corp. + legalForm: limited + governingLaw: US + mailingAddress: 1234 Newark, Delaware, USA + issuerCountry: US + jurisdiction: US + email: info@example.com + primaryDatabase: FIREBASE + supabaseConfig: null + example2: + value: + projectName: vaionex production + db_store_mode: SHARED + type: FEE_MANAGER + paymailDomain: example.com + firebaseConfig: null + legal: + organisation: vaionex corp. + legalForm: limited + governingLaw: US + mailingAddress: 1234 Newark, Delaware, USA + issuerCountry: US + jurisdiction: US + email: info@example.com + primaryDatabase: SUPABASE + supabaseConfig: + supabaseUrl: https://examples.supabase.co + supabaseKey: your access key... + security: + - authToken: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + serviceId: + type: string + required: + - status + - msg + - serviceId + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Setup added successfully + serviceId: 89a54d0b-6907-4e5b-9e5f-c2e72a1f5e34 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /admin/v1/setup/{serviceId}: + get: + tags: + - admin + parameters: + - schema: + type: string + in: path + name: serviceId + required: true + security: + - authToken: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + serviceId: + type: string + additionalProperties: true + required: + - status + - msg + - serviceId + required: + - statusCode + - data + examples: + example1: + value: + statusCode: 200 + data: + msg: operation completed successfully ! + serviceId: d0b67a32-a314-4375-aab5-724bbba342e6 + firebaseConfig: + apiKey: AIzaSyDiAjG-example-1234566_cW + authDomain: example.firebaseapp.com + databaseURL: https://example.firebaseio.com + projectId: example + storageBucket: example.appspot.com + messagingSenderId: '540114563587' + appId: 1:123456872:web:d24d9c3d71a38519as45sj788526 + measurementId: G-M2K6YG42T2 + tokenConfig: + organisation: vaionex corp. + legalForm: limited + governingLaw: US + mailingAddress: 1234 Newark, Delaware, USA + issuerCountry: US + jurisdiction: US + email: info@example.com + userId: gtgd4e5JMhT5O09F0EEBR8vW5rq1 + domain: relysia-dev-infrastructure.com + creationDate: 1685960279 + updationDate: 1685960279 + type: 0 + projectName: vaionex dev 2 + serviceIdRef: d0b67a32-a314-4375-aab5-724bbba342e6 + serviceIdStatus: 0 + primaryDatabase: FIREBASE + supabaseConfig: null + example2: + value: + statusCode: 200 + data: + msg: operation completed successfully ! + serviceId: d0b67a32-a314-4375-aab5-724bbba342e6 + firebaseConfig: null + tokenConfig: + organisation: vaionex corp. + legalForm: limited + governingLaw: US + mailingAddress: 1234 Newark, Delaware, USA + issuerCountry: US + jurisdiction: US + email: info@example.com + userId: gtgd4e5JMhT5O09F0EEBR8vW5rq1 + domain: relysia-dev-infrastructure.com + creationDate: 1685960279 + updationDate: 1685960279 + type: 0 + projectName: vaionex dev 2 + serviceIdRef: d0b67a32-a314-4375-aab5-724bbba342e6 + serviceIdStatus: 0 + primaryDatabase: SUPABASE + supabaseConfig: + supabaseUrl: https://example.supabase.co + supabaseKey: eyJhbGciOiJIUzI1NiIExample + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + put: + tags: + - admin + requestBody: + content: + application/json: + schema: + type: object + properties: + projectName: + type: string + db_store_mode: + type: string + type: + type: string + paymailDomain: + type: string + firebaseConfig: + type: object + properties: + apiKey: + type: string + authDomain: + type: string + databaseURL: + type: string + projectId: + type: string + storageBucket: + type: string + messagingSenderId: + type: string + appId: + type: string + measurementId: + type: string + additionalProperties: true + legal: + type: object + properties: + organisation: + type: string + legalForm: + type: string + governingLaw: + type: string + mailingAddress: + type: string + issuerCountry: + type: string + jurisdiction: + type: string + email: + type: string + additionalProperties: true + supabaseConfig: + type: object + properties: + supabaseUrl: + type: string + supabaseKey: + type: string + additionalProperties: true + examples: + example1: + value: + projectName: vaionex production 1 + db_store_mode: DEDICATED + type: CLASSIC_MODE + paymailDomain: example.com + firebaseConfig: + apiKey: AIzaSyDiAjG-example-1234566_cW + authDomain: example.firebaseapp.com + databaseURL: https://example.firebaseio.com + projectId: example + storageBucket: example.appspot.com + messagingSenderId: '540114563587' + appId: 1:123456872:web:d24d9c3d71a38519as45sj788526 + measurementId: G-M2K6YG42T2 + legal: + organisation: vaionex corp. + legalForm: limited + governingLaw: US + mailingAddress: 1234 Newark, Delaware, USA + issuerCountry: US + jurisdiction: US + email: info@example.com + example2: + value: + projectName: vaionex production 1 + db_store_mode: DEDICATED + type: CLASSIC_MODE + paymailDomain: example.com + legal: + organisation: vaionex corp. + legalForm: limited + governingLaw: US + mailingAddress: 1234 Newark, Delaware, USA + issuerCountry: US + jurisdiction: US + email: info@example.com + supabaseConfig: + supabaseUrl: https://example.supabase.co + supabaseKey: an api keys + parameters: + - schema: + type: string + in: path + name: serviceId + required: true + security: + - authToken: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + serviceId: + type: string + required: + - status + - msg + - serviceId + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Setup updated successfully + serviceId: 53082017-fc5b-429d-87d4-cdf69b0d7b3d + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + delete: + tags: + - admin + parameters: + - schema: + type: string + in: path + name: serviceId + required: true + security: + - authToken: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + serviceId: + type: string + required: + - status + - msg + - serviceId + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: operation completed successfully ! + serviceId: d0b67a32-a314-4375-aab5-724bbba342e6 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /admin/v1/setup/serviceIds: + get: + tags: + - admin + security: + - authToken: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + serviceIds: + type: array + items: + type: string + minItems: 1 + required: + - status + - msg + - serviceIds + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: operation completed successfully ! + serviceIds: + - d0b67a32-a314-4375-aab5-724bbba342e6 + - 53082017-fc5b-429d-87d4-cdf69b0d7b3d + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /admin/v1/metrics: + post: + tags: + - admin + requestBody: + content: + application/json: + schema: + type: object + properties: + walletId: + type: string + userId: + type: string + required: + - walletId + - userId + example: + walletId: 5f7b1b1b-5f7b-1b1b-5f7b-1b1b5f7b1b1b + userId: 5f7f1b9b9b9b9b9b9b9b9b9b + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + data: + type: object + properties: + balance: + type: number + minimum: 0 + userUtxos: + type: array + items: + type: object + properties: + userId: + type: string + walletId: + type: string + script: + type: string + tx_pos: + type: number + minimum: 0 + address: + type: string + path: + type: string + tx_hash: + type: string + value: + type: number + minimum: 0 + serviceId: + type: string + nullable: true + required: + - userId + - walletId + - script + - tx_pos + - address + - path + - tx_hash + - value + minItems: 0 + required: + - balance + - userUtxos + required: + - status + - msg + - data + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: UTXO state updated successfully + data: + balance: 6078 + userUtxos: + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914ee31f7eae549febdffc53a995bdee8ff0ba2300688ac + tx_pos: 0 + address: 1NiTgXKyS4oS3fyzHp6PryeBvc6FMJDW12 + path: m/44'/0'/0'/0/0 + tx_hash: >- + 43f7f41c0ff873f3b576894fc3c7626a187258cd838f36062f54bc3b14fe3620 + value: 25 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914ee31f7eae549febdffc53a995bdee8ff0ba2300688ac + tx_pos: 1 + address: 1NiTgXKyS4oS3fyzHp6PryeBvc6FMJDW12 + path: m/44'/0'/0'/0/0 + tx_hash: >- + 43f7f41c0ff873f3b576894fc3c7626a187258cd838f36062f54bc3b14fe3620 + value: 481 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914d703dafb29efd43caad53e9f1bcb924e6546694e88ac + tx_pos: 1 + address: 1Lbtu82Jm9poEdgKB3HsTDWS9YSC91Hpny + path: m/44'/0'/0'/0/1 + tx_hash: >- + 76d79ad05cfeb4068535377cdff0113a084b084e936b7751c39895587be41d3d + value: 4933 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a91498de3990604e4fe330f65e6b0125243eb909d1dd88ac + tx_pos: 0 + address: 1EwHvcWDjWcBGBXJLae8k4dsaVo8QKsqCP + path: m/44'/0'/0'/0/4 + tx_hash: >- + 93a69ce25cec69b3a096427edb9d9761ace5671debcdc1a02cb260eacf037d21 + value: 1 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a91447431db9649fd75c28834cb152f17cc8ea7fa11f88ac + tx_pos: 1 + address: 17VoNvtJjD19ctL5Ue3GJzzskbtXeNL4Nt + path: m/44'/0'/0'/0/8 + tx_hash: >- + 8a7e73066f07eacab9cbe9edd45d1857f589ef0c8bd725e5010962cfb9198e4e + value: 404 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a91477cb578d9fab608a794871e6c994c6ff2e55a70788ac + tx_pos: 1 + address: 1BvR1H8Bu1rRYwDWEVLoZJa37R3z19qzrK + path: m/44'/0'/0'/0/10 + tx_hash: >- + 0849c24ecb4a30c60c1bb1ec5f557d60642bb6c6d2eeb5a30ee7c9f92c88572f + value: 174 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a91477cb578d9fab608a794871e6c994c6ff2e55a70788ac + tx_pos: 1 + address: 1BvR1H8Bu1rRYwDWEVLoZJa37R3z19qzrK + path: m/44'/0'/0'/0/10 + tx_hash: >- + cf9b899bfba8d6f8a4302e747a78635cc1328a76826ac7d7d31347bb39ba486d + value: 49 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914aff862161039bc97895c6f515e629c6ece4943b188ac + tx_pos: 0 + address: 1H3SoXyeKv4mNNForRaPV8Fkzwdu55yx2b + path: m/44'/0'/0'/0/14 + tx_hash: >- + 4ee029b35a30bafbcab3a08661dc286d3c5ce9f98a1734d1163c86aabe68c7d8 + value: 1 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914aff862161039bc97895c6f515e629c6ece4943b188ac + tx_pos: 0 + address: 1H3SoXyeKv4mNNForRaPV8Fkzwdu55yx2b + path: m/44'/0'/0'/0/14 + tx_hash: >- + f123456b9d6ee63c93b2a5afa264298efc6f0bb8cd400d5aa03d037eb1c9ae56 + value: 2 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914aff862161039bc97895c6f515e629c6ece4943b188ac + tx_pos: 1 + address: 1H3SoXyeKv4mNNForRaPV8Fkzwdu55yx2b + path: m/44'/0'/0'/0/14 + tx_hash: >- + 80e5b09f1613a0f82c94216e84db747b80b631be8618eb97f3ea4ab440ea223f + value: 1 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914e54a77f2eaffb502d4af119436e9b7982707f07288ac + tx_pos: 1 + address: 1MuNx6Vm2oE4oU9iDRLr7ebAiv196DQBzh + path: m/44'/0'/0'/0/17 + tx_hash: >- + 9ecbb4771c9e91e1f6a162d5dd3e808e57e43eedebb499f1096cb8d6813951b5 + value: 4 + - userId: JZzO1ySdhkPkBYQLXa66EbXDUFD2 + walletId: 58c4e3e0-c4d3-413e-a8b9-3b30508e8c83 + script: 76a914e54a77f2eaffb502d4af119436e9b7982707f07288ac + tx_pos: 1 + address: 1MuNx6Vm2oE4oU9iDRLr7ebAiv196DQBzh + path: m/44'/0'/0'/0/17 + tx_hash: >- + fb6c046fa87d963b2e35beb06e1c21b443cbf7b7f684fd4f733fa68f6ecde672 + value: 3 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /admin/v1/tokenMetrics: + post: + tags: + - admin + requestBody: + content: + application/json: + schema: + type: object + properties: + userId: + type: string + walletId: + type: string + required: + - userId + - walletId + example: + walletId: 5f7b1b1b-5f7b-1b1b-5f7b-1b1b5f7b1b1b + userId: 5f7f1b9b9b9b9b9b9b9b9b9b + required: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: migration started successfully + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /admin/v1/plans: + post: + tags: + - admin + requestBody: + content: + application/json: + schema: + type: object + properties: + serviceType: + type: string + cost: + type: number + minimum: 0 + apiCallLimit: + type: number + minimum: 0 + feeManagerFundPerMonth: + type: number + minimum: 0 + unavailableApiList: + type: object + additionalProperties: + type: number + minimum: 0 + nullable: true + projectLimit: + type: number + nullable: true + minimum: 0 + serviceFeeManagerFillingLimit: + type: number + minimum: 0 + required: + - serviceType + - cost + - apiCallLimit + - feeManagerFundPerMonth + - serviceFeeManagerFillingLimit + examples: + example1: + value: + serviceType: free + cost: 0 + apiCallLimit: 10000 + feeManagerFundPerMonth: 0.1 + unavailableApiList: + /upload: 0 + /v1/offer: 0 + /v1/swap: 0 + /v1/issue: 3 + projectLimit: 0 + serviceFeeManagerFillingLimit: 0 + example2: + value: + serviceType: unlimited + cost: 30 + apiCallLimit: 1000000 + feeManagerFundPerMonth: 10 + unavailableApiList: + /v1/offer: 0 + /v1/swap: 0 + projectLimit: 2 + serviceFeeManagerFillingLimit: 1 + example3: + value: + serviceType: business + cost: 120 + apiCallLimit: 3000000 + feeManagerFundPerMonth: 20 + unavailableApiList: {} + projectLimit: 30 + serviceFeeManagerFillingLimit: 40 + required: true + security: + - authToken: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + createPlanData: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - createPlanData + example: + statusCode: 200 + createPlanData: + status: success + msg: Plan created successfully + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /admin/v1/plans/{serviceType}: + put: + tags: + - admin + requestBody: + content: + application/json: + schema: + type: object + properties: + cost: + type: number + nullable: true + minimum: 0 + apiCallLimit: + type: number + nullable: true + minimum: 0 + feeManagerFundPerMonth: + type: number + nullable: true + minimum: 0 + unavailableApiList: + type: object + additionalProperties: + type: number + minimum: 0 + nullable: true + projectLimit: + type: number + nullable: true + minimum: 0 + serviceFeeManagerFillingLimit: + type: number + nullable: true + minimum: 0 + example: + cost: 0 + apiCallLimit: 10000 + feeManagerFundPerMonth: 0 + unavailableApiList: + api1: 1000 + projectLimit: 1 + serviceFeeManagerFillingLimit: 1000 + parameters: + - schema: + type: string + in: path + name: serviceType + required: true + security: + - authToken: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + updatedPlanData: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - updatedPlanData + example: + statusCode: 200 + updatedPlanData: + status: success + msg: Plan updated successfully + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + delete: + tags: + - admin + parameters: + - schema: + type: string + in: path + name: serviceType + required: true + security: + - authToken: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + deletedPlanData: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - deletedPlanData + example: + statusCode: 200 + deletedPlanData: + status: success + msg: Plan deleted successfully + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + get: + tags: + - admin + parameters: + - schema: + type: string + in: path + name: serviceType + required: true + security: + - authToken: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + planData: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + data: + type: object + properties: + serviceType: + type: string + cost: + type: string + apiCallLimit: + type: string + feeManagerFundPerMonth: + type: string + unavailableApiList: + type: string + nullable: true + projectLimit: + type: string + nullable: true + serviceFeeManagerFillingLimit: + type: string + createdBy: + type: string + required: + - serviceType + - cost + - apiCallLimit + - feeManagerFundPerMonth + - serviceFeeManagerFillingLimit + - createdBy + required: + - status + - msg + - data + required: + - statusCode + - planData + example: + statusCode: 200 + planData: + status: success + msg: Plan created successfully + data: + serviceType: free + cost: '0' + apiCallLimit: '10000' + feeManagerFundPerMonth: '0.1' + unavailableApiList: '{"/upload":0,"/v1/offer":0,"/v1/swap":0,"/v1/issue":3}' + projectLimit: '0' + serviceFeeManagerFillingLimit: '0' + createdBy: gtgd4e5JMhT5O09F0EEBR8vW5rq1 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /admin/v1/plan/list: + get: + tags: + - admin + description: Get list of available plans and their details also + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + planListData: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + data: + type: array + items: + type: object + properties: + serviceType: + type: string + apiCallLimit: + type: string + feeManagerFundPerMonth: + type: string + unavailableApiList: + type: object + additionalProperties: + type: number + minimum: 0 + nullable: true + projectLimit: + type: string + nullable: true + serviceFeeManagerFillingLimit: + type: string + required: + - serviceType + - apiCallLimit + - feeManagerFundPerMonth + - serviceFeeManagerFillingLimit + nullable: true + required: + - status + - msg + - data + required: + - statusCode + - planListData + example: + statusCode: 200 + planListData: + status: success + msg: Plan list fetched successfully + data: + - serviceType: unlimited + apiCallLimit: '1000000' + feeManagerFundPerMonth: '10' + unavailableApiList: + /v1/offer: 0 + /v1/swap: 0 + projectLimit: '2' + serviceFeeManagerFillingLimit: '1' + - serviceType: free + apiCallLimit: '10000' + feeManagerFundPerMonth: '0.1' + unavailableApiList: + /upload: 0 + /v1/offer: 0 + /v1/swap: 0 + /v1/issue: 3 + projectLimit: '0' + serviceFeeManagerFillingLimit: '0' + - serviceType: business + apiCallLimit: '3000000' + feeManagerFundPerMonth: '20' + unavailableApiList: {} + projectLimit: '30' + serviceFeeManagerFillingLimit: '40' + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /upload: + post: + summary: Blockchain File Upload. + tags: + - Utility + description: >- + The /upload endpoint broadcasts a media file (supplied as URL) to the + blockchain (in B:// protocol format). + requestBody: + content: + application/json: + schema: + type: object + properties: + fileUrl: + type: string + fileName: + type: string + required: + - fileUrl + - fileName + example: + fileUrl: >- + https://firebasestorage.googleapis.com/v0/b/pay-button-vaionexdev/o/1KB.png?alt=media&token=73f89b38-32c2-4fbe-814e-e6774833b9ab + fileName: Relysia Test nft image size 1 kb. + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + uploadObj: + type: object + properties: + fileName: + type: string + fileType: + type: string + fileSize: + type: number + timeStamp: + type: string + format: date-time + txid: + type: string + address: + type: string + addressPath: + type: string + url: + type: string + required: + - fileName + - fileType + - fileSize + - timeStamp + - txid + - address + - addressPath + - url + required: + - status + - msg + - uploadObj + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: File uploaded successfully. + uploadObj: + fileName: Relysia Test nft image size 1 kb. + fileType: image + fileSize: 1121 + timeStamp: '2023-06-14T09:08:52.015Z' + txid: >- + b4e118004c8246e1e9a552fd2a98dca1196698cb0076c21085c4f8112addfabe + address: 1BuEAp4mjJdeDGcpw6XdvtA9fWmHNF2mMX + addressPath: m/44'/0'/0'/0/0 + url: >- + B://b4e118004c8246e1e9a552fd2a98dca1196698cb0076c21085c4f8112addfabe + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /post: + post: + summary: Post Messages to the Blockchain. + tags: + - Utility + description: >- + The /post endpoint broadcasts a note to the blockchain (in B:// protocol + format). + requestBody: + content: + application/json: + schema: + type: object + properties: + notes: + type: array + items: + type: string + minItems: 1 + maxItems: 100000 + required: + - notes + example: + notes: + - This is a test note. + - This is another test note. + - ... + required: true + parameters: + - schema: + type: string + in: header + name: walletID + required: false + deprecated: true + security: + - authToken: [] + - serviceID: [] + responses: + '200': + description: Default Response + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + txid: + type: string + required: + - status + - msg + - txid + required: + - statusCode + - data + example: + statusCode: 200 + data: + status: success + msg: Transaction successfully broadcasted to the blockchain. + txid: >- + b7c1c08c89bc9105cf49199ef4c6ccde23df9fa5d5a720c8ec04d47b1c3436a1 + '400': + description: Bad request + content: + application/json: + schema: + description: Bad request + type: object + properties: + statusCode: + type: number + data: + type: object + properties: + status: + type: string + enum: + - success + - error + - partial success + msg: + type: string + required: + - status + - msg + required: + - statusCode + - data + example: + statusCode: 400 + data: + status: error + msg: Err msg + /v1/bsvalias/id/{paymail}: + get: + tags: + - paymail + parameters: + - schema: + type: string + in: path + name: paymail + required: true + responses: + '200': + description: Default Response + /v1/bsvalias/address/{paymail}: + post: + tags: + - paymail + requestBody: + content: + application/json: + schema: + type: object + properties: + senderHandle: + type: string + dt: + type: string + signature: + type: string + amount: + type: number + purpose: + type: string + senderName: + type: string + required: + - dt + - senderHandle + required: true + parameters: + - schema: + type: string + in: path + name: paymail + required: true + - schema: + type: string + default: application/json + in: header + name: Content-Type + required: false + responses: + '200': + description: Default Response + /v1/bsvalias/verifypubkey/{paymail}/{pubkey}: + post: + tags: + - paymail + parameters: + - schema: + type: string + in: path + name: paymail + required: true + - schema: + type: string + in: path + name: pubkey + required: true + responses: + '200': + description: Default Response + /v1/bsvalias/receive-transaction/{paymail}: + post: + tags: + - paymail + requestBody: + content: + application/json: + schema: + type: object + properties: + hex: + type: string + reference: + type: string + metadata: + type: object + properties: + sender: + type: string + pubkey: + type: string + signature: + type: string + note: + type: string + required: + - hex + - reference + - metadata + required: true + parameters: + - schema: + type: string + in: path + name: paymail + required: true + responses: + '200': + description: Default Response + /v1/bsvalias/p2p-payment-destination/{paymail}: + post: + tags: + - paymail + requestBody: + content: + application/json: + schema: + type: object + properties: + satoshis: + type: number + required: + - satoshis + required: true + parameters: + - schema: + type: string + in: path + name: paymail + required: true + responses: + '200': + description: Default Response + /.well-known/bsvalias: + get: + tags: + - paymail + responses: + '200': + description: Default Response +servers: + - url: https://api.relysia.com +tags: + - name: Authentication + description: User Authentication and Registration. + externalDocs: + description: find more info about auth Api + url: https://docs.relysia.com/getting-started/setup + - name: Identity + description: User identity related APIs. + externalDocs: + description: find more info about user Api. + url: https://docs.relysia.com/getting-started/setup + - name: Wallets + description: Blockchain wallet management related APIs. + externalDocs: + description: 'Our Documentation:' + url: https://docs.relysia.com/wallets + - name: Transactions + description: Blockchain transaction related APIs. + externalDocs: + description: Our Documentation + url: https://docs.relysia.com/payments/transactions + - name: Smart Contracts + description: Token and Smart Contract related APIs. + externalDocs: + description: Our documentation + url: https://docs.relysia.com/token + - name: Utility + description: Useful blockchain tools. + externalDocs: + description: Our documentation + url: https://docs.relysia.com/utility + - name: paymail + description: BSV alias related APIs + - name: Notifications + description: Push Notifications. + - name: Delete + description: 'Danger Zone: Delete Entries from the DB.' +externalDocs: + description: Relysia Infrastructure Documentation + url: https://docs.relysia.com diff --git a/sdks/db/intermediate-fixed-specs/rivery/openapi.yaml b/sdks/db/intermediate-fixed-specs/rivery/openapi.yaml new file mode 100644 index 000000000..49724a03d --- /dev/null +++ b/sdks/db/intermediate-fixed-specs/rivery/openapi.yaml @@ -0,0 +1,14146 @@ +openapi: 3.0.3 +info: + title: Rivery API + description: > + + # Rivery API documentation + + + Welcome to the Rivery API Documentation. + + + Using the Rivery API, you can automate any single or group operations you + perform in the Rivery console. + + You can create, execute, and delete Rivers, create DataFrames, automate + processes, and more. + + The Rivery API is structured around REST. It accepts JSON request bodies, + returns JSON responses, + + and employs conventional HTTP response codes, authentication, and verbs to + access and use data through HTTP requests. + + + Consult our [Legacy API](https://api-docs.rivery.io/) documentation. + + + Please [contact our Support team]( mailto:) if you have + any questions or concerns. + + + # Authorization + + ## Rivery API Token + + To generate a Bearer token, please check out [Rivery's + docs](https://docs.rivery.io/docs/rivery-api). + + + Every bearer token is a combination of account, environment, and scopes + attached. Every time the token is provided, + + the API compares its scopes with the request required scope. + + If the scope is not valid, an insufficient permissions (403) response code + returned. + + + ## Scopes + + A scope is defined as a combination of the entity in Rivery, and the + operation allowed to perform on the entity. + + + The entity can be any entity available via the API, for example - + connection. + + An operation can be one of specific operations allowed for each scope. For + example: list or edit. + + Therefore, listing connections scope will be set as `connection:list`. + + Please make sure the Bearer token is has the right scopes attached for all + of the needed requests. + contact: + name: Rivery Documentation + url: https://docs.rivery.io/ + email: contact@rivery.io + version: 1.0.0 + x-logo: + url: https://riveryio.wpengine.com/wp-content/uploads/2021/08/logo-main.svg +servers: + - url: https://api.rivery.io + description: US + - url: https://api.eu-west-1.rivery.io + description: EU +paths: + /v1/accounts/{account_id}/environments/{environment_id}/dataframes: + get: + tags: + - Dataframes + summary: Get Dataframes + description: |- + **Authorization scope:** `dataframe:list` + + **Get all dataframe entities from the DB** + operationId: list_dataframes + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - description: The number of items per page in the paginated list. + required: false + schema: + type: integer + maximum: 500 + minimum: 1 + title: Items Per Page + description: The number of items per page in the paginated list. + default: 20 + name: items_per_page + in: query + - description: The current page number in the paginated list. + required: false + schema: + type: integer + minimum: 1 + title: Page + description: The current page number in the paginated list. + default: 1 + name: page + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DataframePaginationResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + post: + tags: + - Dataframes + summary: Add Dataframe + description: |- + **Authorization scope:** `dataframe:write` + + **Creates a new dataframe entity.** + **** + **Please note that the Dataframe's name has to be unique** + operationId: add_dataframe + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DataframeAddInput' + required: true + responses: + '201': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DataframeResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/dataframes/{dataframe_name}: + get: + tags: + - Dataframes + summary: Get Dataframe + description: |- + **Authorization scope:** `dataframe:list` + + **Get a specific dataframe by name.** + operationId: get_dataframe + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: Dataframe Name + name: dataframe_name + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DataframeResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + put: + tags: + - Dataframes + summary: Update Dataframe + description: |- + **Authorization scope:** `dataframe:write` + + **Updates an existing dataframe entity. Please note that only the connecting_settings field can be modified** + operationId: update_dataframe + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: Dataframe Name + name: dataframe_name + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DataframeUpdateInput' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/DataframeResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + delete: + tags: + - Dataframes + summary: Delete Dataframe + description: |- + **Authorization scope:** `dataframe:write` + + **Delete a dataframe.** + operationId: delete_dataframe + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: Dataframe Name + name: dataframe_name + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/dataframes/{dataframe_name}/download: + get: + tags: + - Dataframes + summary: Download Dataframe + description: |- + **Authorization scope:** `dataframe:list` + + **This endpoint creates a new task for downloading a dataframe.** + **** + **** + **Be advised: the task is an async operation, which means that** + **after creating the task, the client must call the endpoint GET** + **operation in order to get the result.** + operationId: download_dataframe + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: Dataframe Name + name: dataframe_name + in: path + responses: + '202': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/OperationResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/dataframes/{dataframe_name}/clear: + post: + tags: + - Dataframes + summary: Clear Dataframe Values + description: |- + **Authorization scope:** `dataframe:write` + + **This endpoint creates an asynchronous operation for clearing the** + **Dataframe's data.** + **.** + **** + **Please note - this is different from deleting the Dataframe,** + **which deletes both the Dataframe's data and configuration.** + operationId: clear_dataframe_values + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: Dataframe Name + name: dataframe_name + in: path + responses: + '202': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/OperationResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/activities_statistics: + get: + tags: + - Activities + summary: Get Activities Statistic + description: |- + **Authorization scope:** `activity:list` + + **Get environment's activity statistics.** + **** + **The statistics include how many units(RPU) were consumed, and how** + **many runs ended with each status.** + operationId: get_activities_statistic + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: Start Time + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: start_time + in: query + - description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: End Time + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: end_time + in: query + - description: A list of statuses to filter + required: false + schema: + items: + $ref: '#/components/schemas/ActivityStatusEnum' + type: array + description: A list of statuses to filter + name: status + in: query + - description: The ID of the group to filter + required: false + schema: + items: + type: string + type: array + title: Group Id + description: The ID of the group to filter + name: group_id + in: query + - description: >- + A flag that indicates whether the river is scheduled. If not set + then activities of all rivers will be returned + required: false + schema: + allOf: + - $ref: '#/components/schemas/ScheduleEnum' + description: >- + A flag that indicates whether the river is scheduled. If not set + then activities of all rivers will be returned + name: is_scheduled + in: query + - description: Get statistics for rivers that has the search query in their name + required: false + schema: + type: string + title: Search + description: Get statistics for rivers that has the search query in their name + name: search + in: query + - description: The river type + required: false + schema: + items: + $ref: '#/components/schemas/RiverTypeEnum' + type: array + description: The river type + name: river_type + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityStatisticResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_statistics: + get: + tags: + - Activities + summary: Get River Activities Statistic + description: |- + **Authorization scope:** `activity:list` + + **Get river's activity statistics (summary).** + **** + **The statistics include how many units(RPU) were consumed, and how** + **many runs ended with each status** + operationId: get_river_activities_statistic + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: Start Time + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: start_time + in: query + - description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: End Time + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: end_time + in: query + - required: false + schema: + items: + $ref: '#/components/schemas/ActivityStatusEnum' + type: array + name: status + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivityStatisticResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_targets: + get: + tags: + - Activities + summary: Get River Activities Targets + description: |- + **Authorization scope:** `activity:list` + + **Get river's activity targets (table names) in a specific time frame for** + **specific river and their status.** + **** + **This endpoint should be used for multi table rivers.** + operationId: get_river_activities_targets + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: Start Time + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: start_time + in: query + - description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: End Time + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: end_time + in: query + - description: Filter by the run group ID + required: false + schema: + type: string + title: Run Group Id + description: Filter by the run group ID + name: run_group_id + in: query + - description: Filter by the sub river ID + required: false + schema: + type: string + title: Sub River Id + description: Filter by the sub river ID + name: sub_river_id + in: query + - description: >- + A list of statuses. Only targets with those statuses will be + returned + required: false + schema: + items: + $ref: '#/components/schemas/ActivityStatusEnum' + type: array + description: >- + A list of statuses. Only targets with those statuses will be + returned + name: status + in: query + - description: Indicates by which parameter to sort the targets + required: false + schema: + allOf: + - $ref: '#/components/schemas/TargetsSortByEnum' + description: Indicates by which parameter to sort the targets + default: last_run + name: sort_by + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: desc + name: sort_order + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivityTargetResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_run_groups: + get: + tags: + - Activities + summary: List River Activities Run Groups + description: |- + **Authorization scope:** `activity:list` + + **Get list of run groups that occurred in a specific time** + **frame for specific river and their status.** + operationId: list_river_activities_run_groups + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: Start Time + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: start_time + in: query + - description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: End Time + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: end_time + in: query + - description: Filter by the target table name + required: false + schema: + type: string + title: Target Name + description: Filter by the target table name + name: target_name + in: query + - description: Filter by the sub river ID + required: false + schema: + type: string + title: Sub River Id + description: Filter by the sub river ID + name: sub_river_id + in: query + - description: >- + A list of statuses. Only run groups with this statuses will be + returned. + required: false + schema: + items: + $ref: '#/components/schemas/RunGroupStatusEnum' + type: array + description: >- + A list of statuses. Only run groups with this statuses will be + returned. + name: status + in: query + - description: Cache context id is an internal query parameter for cache purposes + required: false + schema: + type: string + title: Cache Context Id + description: Cache context id is an internal query parameter for cache purposes + name: cache_context_id + in: query + - required: false + schema: + type: integer + minimum: 1 + title: Page + default: 1 + name: page + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/RunGroupSortByEnum' + default: last_run + name: sort_by + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: desc + name: sort_order + in: query + - required: false + schema: + type: integer + maximum: 200 + minimum: 1 + title: Items Per Page + default: 50 + name: items_per_page + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivityRunGroupResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_run_groups/{run_group_id}: + get: + tags: + - Activities + summary: Get River Activities Run Groups + description: Get a specific run group id + operationId: get_river_activities_run_groups + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - required: true + schema: + type: string + title: Run Group Id + name: run_group_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivityRunGroupWithStatistics' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_sub_rivers: + get: + tags: + - Activities + summary: Get River Activities Sub Rivers + description: |- + **Authorization scope:** `activity:list` + + **Get list of sub rivers that ran in a specific time frame.** + **** + **Additional filters can be added such as target name or run group id.** + operationId: get_river_activities_sub_rivers + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: Start Time + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: start_time + in: query + - description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: End Time + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: end_time + in: query + - description: Filter by the target table name + required: false + schema: + type: string + title: Target Name + description: Filter by the target table name + name: target_name + in: query + - description: Filter by the run group ID + required: false + schema: + type: string + title: Run Group Id + description: Filter by the run group ID + name: run_group_id + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivitySubRiverResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs: + get: + tags: + - Activities + summary: Get River Activities Runs + description: |- + **Authorization scope:** `activity:list` + + **Get list of runs for a specific river in a specific time frame.** + **** + **This endpoint return information about the runs.** + operationId: list_river_activities_runs + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: Start Time + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: start_time + in: query + - description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: End Time + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: end_time + in: query + - description: Filter by the target table name + required: false + schema: + type: string + title: Target Name + description: Filter by the target table name + name: target_name + in: query + - description: Filter by the run group ID + required: false + schema: + type: string + title: Run Group Id + description: Filter by the run group ID + name: run_group_id + in: query + - description: Filter by the sub river ID + required: false + schema: + type: string + title: Sub River Id + description: Filter by the sub river ID + name: sub_river_id + in: query + - required: false + schema: + type: integer + minimum: 1 + title: Page + default: 1 + name: page + in: query + - required: false + schema: + type: integer + maximum: 200 + minimum: 1 + title: Items Per Page + default: 20 + name: items_per_page + in: query + - description: Indicates by which parameter to sort the runs + required: false + schema: + allOf: + - $ref: '#/components/schemas/RunsSortByEnum' + description: Indicates by which parameter to sort the runs + default: start_time + name: sort_by + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: desc + name: sort_order + in: query + - description: Cache context id is an internal query parameter for cache purposes + required: false + schema: + type: string + title: Cache Context Id + description: Cache context id is an internal query parameter for cache purposes + name: cache_context_id + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivityRunsResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}: + get: + tags: + - Activities + summary: Get River Activities Run + description: |- + **Authorization scope:** `activity:list` + + **Get a specific run details.** + operationId: get_river_activities_run + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - required: true + schema: + type: string + title: Run Id + name: run_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivityRun' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}/logic_steps: + get: + tags: + - Activities + summary: Get River Activities Run Logic Steps + description: |- + **Authorization scope:** `activity:list` + + **Get the status of each logic step for a specific run.** + operationId: get_river_activities_run_logic_steps + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - required: true + schema: + type: string + title: Run Id + name: run_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivityRunLogicStepsResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}/variables: + get: + tags: + - Activities + summary: Get Activities Logic Variables + description: >- + **Authorization scope:** `activity:list` + + **This endpoint retrieves the values of the logic variables in a specific run.** + **The values are stored for a short period of time and will expire after + that time.** + + **If the values have expired, an error message will be returned.** + operationId: get_activities_logic_variables + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - required: true + schema: + type: string + title: Run Id + name: run_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityLogicVariableResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}/logic_steps/{step_id}/logs: + get: + tags: + - Activities + summary: Get Activities Logic Step Log + description: |- + **Authorization scope:** `activity:list` + + **Get the logs of a python logic step.** + operationId: get_activities_logic_step_log + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - required: true + schema: + type: string + title: Run Id + name: run_id + in: path + - required: true + schema: + type: string + title: Step Id + name: step_id + in: path + - description: The step iteration number + required: false + schema: + type: integer + minimum: 0 + title: Iteration Number + description: The step iteration number + default: 0 + name: iteration_number + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverActivityRunLogicStepsLogsResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/activities: + get: + tags: + - Activities + summary: Get Activities + description: |- + **Authorization scope:** `activity:list` + + **Get summary of activities for the account and environment summarized by** + **river.** + operationId: get_activities + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: Start Time + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: start_time + in: query + - description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: true + schema: + type: string + format: date-time + title: End Time + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: end_time + in: query + - required: false + schema: + items: + $ref: '#/components/schemas/ActivityStatusEnum' + type: array + name: status + in: query + - description: The ID of the group to filter + required: false + schema: + items: + type: string + type: array + title: Group Id + description: The ID of the group to filter + name: group_id + in: query + - description: >- + A flag that indicates whether the river is scheduled. If not set + then activities of all rivers will be returned + required: false + schema: + allOf: + - $ref: '#/components/schemas/ScheduleEnum' + description: >- + A flag that indicates whether the river is scheduled. If not set + then activities of all rivers will be returned + name: is_scheduled + in: query + - required: false + schema: + type: integer + minimum: 1 + title: Page + default: 1 + name: page + in: query + - required: false + schema: + type: integer + maximum: 200 + minimum: 1 + title: Items Per Page + default: 20 + name: items_per_page + in: query + - description: Cache context id is an internal query parameter for cache purposes + required: false + schema: + type: string + title: Cache Context Id + description: Cache context id is an internal query parameter for cache purposes + name: cache_context_id + in: query + - description: Search for a specific river by river name + required: false + schema: + type: string + title: Search + description: Search for a specific river by river name + name: search + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/ActivitySortByEnum' + default: last_run + name: sort_by + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: desc + name: sort_order + in: query + - description: The river type + required: false + schema: + items: + $ref: '#/components/schemas/RiverTypeEnum' + type: array + description: The river type + name: river_type + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ActivitiesResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}/logs: + get: + tags: + - Activities + summary: Get Run Logs + description: |- + **Authorization scope:** `activity:list` + + **This method fetches the logs for a given run id of a river.** + operationId: get_run_logs + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - required: true + schema: + type: string + title: Run Id + name: run_id + in: path + responses: + '200': + description: Successful Response + content: + text/html: + schema: + type: string + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/versions: + get: + tags: + - Rivers + summary: List River Versions + description: |- + **Authorization scope:** `river:list` + + **This endpoint returns all river versions for a given river_cross_id.** + operationId: list_river_versions + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - description: The number of items per page in the paginated list. + required: false + schema: + type: integer + maximum: 500 + minimum: 1 + title: Items Per Page + description: The number of items per page in the paginated list. + default: 20 + name: items_per_page + in: query + - description: The current page number in the paginated list. + required: false + schema: + type: integer + minimum: 1 + title: Page + description: The current page number in the paginated list. + default: 1 + name: page + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverVersionsResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/versions/{version_id}: + get: + tags: + - Rivers + summary: Get River Version + description: |- + **Authorization scope:** `river:list` + + **This endpoint returns a given version for a version id and river_cross_id.** + operationId: get_river_version + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - required: true + schema: + type: string + title: Version Id + name: version_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverVersions' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}: + get: + tags: + - Rivers + summary: Get River + description: |- + **Authorization scope:** `river:list` + + **This endpoint gets a river.** + operationId: get_river + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverModel' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + put: + tags: + - Beta Endpoints + summary: Edit River + description: |- + **Authorization scope:** `river:write` + + **This endpoint updates a river.** + operationId: edit_river + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WriteRiverInput' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverModel' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + delete: + tags: + - Rivers + summary: Delete River + description: |- + **Authorization scope:** `river:write` + + **This endpoint deletes a river** + operationId: delete_river + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers: + get: + tags: + - Rivers + summary: List Rivers + description: |- + **Authorization scope:** `river:list` + + **This endpoint gets a summary of all the rivers in an environment** + operationId: list_rivers + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - description: The current page number in the paginated list. + required: false + schema: + type: integer + minimum: 1 + title: Page + description: The current page number in the paginated list. + default: 1 + name: page + in: query + - description: The number of items per page in the paginated list. + required: false + schema: + type: integer + maximum: 500 + minimum: 1 + title: Items Per Page + description: The number of items per page in the paginated list. + default: 20 + name: items_per_page + in: query + - description: The river group name + required: false + schema: + type: string + title: Group Name + description: The river group name + name: group_name + in: query + - description: The river group id + required: false + schema: + items: + type: string + type: array + title: Group Id + description: The river group id + name: group_id + in: query + - description: The river name + required: false + schema: + type: string + title: Name + description: The river name + name: name + in: query + - description: The river schedule status + required: false + schema: + allOf: + - $ref: '#/components/schemas/RiverScheduleStatusEnum' + description: The river schedule status + name: schedule + in: query + - description: The river status + required: false + schema: + items: + $ref: '#/components/schemas/RiverStatusEnum' + type: array + description: The river status + name: river_status + in: query + - description: The river sort by filter + required: false + schema: + allOf: + - $ref: '#/components/schemas/ListRiversSortByFilterEnum' + description: The river sort by filter + default: last_updated_at + name: sort_by + in: query + - description: The river sort order filter + required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + description: The river sort order filter + default: desc + name: sort_order + in: query + - description: The river type + required: false + schema: + items: + $ref: '#/components/schemas/RiverTypeEnum' + type: array + description: The river type + name: river_type + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverListResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + post: + tags: + - Beta Endpoints + summary: Add River + description: |- + **Authorization scope:** `river:write` + + **This endpoint creates a river.** + operationId: add_river + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WriteRiverInput' + required: true + responses: + '201': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverModel' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/cdc_config: + get: + tags: + - Rivers + summary: Get Cdc Config + description: >- + **Authorization scope:** `river:list` + + **This endpoint gets the cdc config:** + **** + + *** Gets cdc offset by provided datasource type to see the last position + of the cdc** + operationId: get_cdc_config_limit_scope + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/CdcConfig' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + post: + tags: + - Rivers + summary: Set Cdc Config + description: >- + **Authorization scope:** `river:write` + + **This endpoint set the cdc config:** + **** + + *** Set the cdc offset that next run of the river can continue from + specific position** + operationId: set_cdc_config_limit_scope + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CdcConfig' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + delete: + tags: + - Rivers + summary: Delete Cdc Config + description: |- + **Authorization scope:** `river:write` + + **This endpoint delete the cdc config:** + operationId: delete_cdc_config + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/cancel_run: + post: + tags: + - Rivers + summary: Cancel River Run + description: |- + **Authorization scope:** `river:execute` + + **This endpoint cancels a specific run if run_id is provided or multiple runs if run_group_id is provided.** + operationId: cancel_river_run + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CancelRiverRunBody' + required: true + responses: + '202': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/GeneralResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/run: + post: + tags: + - Rivers + summary: Run River + description: |- + **Authorization scope:** `river:execute` + + **This endpoint runs a river.** + **** + **Throttling rules:** + *** River can be executed up to 2 times per minute** + *** Each user can execute a river up to 15 times per minute** + operationId: run_river + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - description: >- + A flag that indicates whether to run all active sub rivers of the + master river + required: false + schema: + type: boolean + title: Run Sub Rivers + description: >- + A flag that indicates whether to run all active sub rivers of the + master river + default: false + name: run_sub_rivers + in: query + responses: + '202': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiversRunResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/sub_rivers/{sub_river_id}/run: + post: + tags: + - Rivers + summary: Run Sub River + description: |- + **Authorization scope:** `river:execute` + + **This endpoint runs a sub_river.** + operationId: run_sub_river + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - required: true + schema: + type: string + title: Sub River Id + name: sub_river_id + in: path + responses: + '202': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiversRunResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/variables: + get: + tags: + - Rivers + summary: Get River Variables + description: |- + **Authorization scope:** `river:list` + + **Get all river variables** + operationId: get_river_variables + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - description: The number of items per page in the paginated list. + required: false + schema: + type: integer + maximum: 500 + minimum: 1 + title: Items Per Page + description: The number of items per page in the paginated list. + default: 20 + name: items_per_page + in: query + - description: The current page number in the paginated list. + required: false + schema: + type: integer + minimum: 1 + title: Page + description: The current page number in the paginated list. + default: 1 + name: page + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverVariablesPaginatedResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + put: + tags: + - Rivers + summary: Update River Variable + description: >- + **Authorization scope:** `river:write` + + **This endpoint updates a variable for a river.** + **Given a list of variables, it will replace all existing variables for + the logic river with the provided list.** + operationId: update_river_variable + parameters: + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - description: The number of items per page in the paginated list. + required: false + schema: + type: integer + maximum: 500 + minimum: 1 + title: Items Per Page + description: The number of items per page in the paginated list. + default: 20 + name: items_per_page + in: query + - description: The current page number in the paginated list. + required: false + schema: + type: integer + minimum: 1 + title: Page + description: The current page number in the paginated list. + default: 1 + name: page + in: query + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateRiverVariableInputList' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverVariablesPaginatedResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments: + get: + tags: + - Environments + summary: List Environments + description: |- + **Authorization scope:** `environment:list` + + **Get list of environments entities for an account** + operationId: list_environments + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: false + schema: + type: boolean + title: Include Deleted + default: false + name: include_deleted + in: query + - required: false + schema: + type: boolean + title: Is Deployable Environments + default: false + name: is_deployable_environments + in: query + - description: The number of items per page in the paginated list. + required: false + schema: + type: integer + maximum: 500 + minimum: 1 + title: Items Per Page + description: The number of items per page in the paginated list. + default: 20 + name: items_per_page + in: query + - description: The current page number in the paginated list. + required: false + schema: + type: integer + minimum: 1 + title: Page + description: The current page number in the paginated list. + default: 1 + name: page + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/ListEnvironmentsPaginationResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}: + get: + tags: + - Environments + summary: Get Environment + description: |- + **Authorization scope:** `environment:list` + + **Get a specific environment** + operationId: get_environment + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/EnvironmentsFields' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/scim_provisioning: + get: + tags: + - Accounts + summary: Get Scim Provisioning Status + description: |- + **Authorization scope:** `account:write` + + **Get SCIM provisioning status** + operationId: get_scim_provisioning_status + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/GetScimTokenStatusResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + put: + tags: + - Accounts + summary: Add Or Update Scim Provisioning + description: >- + **Authorization scope:** `account:write` + + **Add or update SCIM provisioning.** + **This endpoint returns the connection string used to communicate with + your SCIM app and the authentication token** + operationId: create_or_update_scim_provisioning + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/CreateOrUpdateScimTokenResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + delete: + tags: + - Accounts + summary: Delete Scim Provisioning + description: |- + **Authorization scope:** `account:write` + + **Deletes the scim provisioning. This endpoint won't delete any existing resource that were already sync by the SCIM.** + operationId: delete_scim_provisioning + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + responses: + '204': + description: Successful Response + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/audit_events: + get: + tags: + - Audit Events + summary: List Audit Events + description: |- + **Authorization scope:** `audit:list` + + **List audit events** + operationId: list_audit_events + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + required: false + schema: + type: string + format: date-time + title: Start Time + description: >- + The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm + example: '2020-01-01T12:00:00' + name: start_time + in: query + - description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm If end_time is supplied without + start_time the start_time will be the previous day of the end_time + required: false + schema: + type: string + format: date-time + title: End Time + description: >- + The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or + YYYY-MM-DDTHH:MM:SS.mmmmmm If end_time is supplied without + start_time the start_time will be the previous day of the end_time + example: '2020-01-01T12:00:00' + name: end_time + in: query + - description: A list of users id's who initiated the event + required: false + schema: + items: + type: string + type: array + title: User Id + description: A list of users id's who initiated the event + example: 5eda28ee6b028e1ce7a2b5ed + name: user_id + in: query + - description: A list of entity types + required: false + schema: + items: + $ref: '#/components/schemas/AuditEventTypeEnum' + type: array + description: A list of entity types + examples: + - connections + - rivers + - river_groups + name: event_type + in: query + - description: A list of event types + required: false + schema: + items: + $ref: '#/components/schemas/AuditEntityTypeEnum' + type: array + description: A list of event types + examples: + - delete + - create + - update + name: entity_type + in: query + - description: A unique logical identifier of an entity, usually the cross_id + required: false + schema: + type: string + title: Entity Logical Key + description: A unique logical identifier of an entity, usually the cross_id + example: 5eda28ee6b028e1ce7a2b5ec + name: entity_logical_key + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/AuditEventsPaginationResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/audit_events/{event_id}: + get: + tags: + - Audit Events + summary: Get Audit Event + description: |- + **Authorization scope:** `audit:list` + + **Get a specific audit event by event_id.** + operationId: get_audit_event + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - description: The id of the audit event + required: true + schema: + type: string + title: Event Id + description: The id of the audit event + example: eac285a5a9ae4ada9ccd49889a651e16 + name: event_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/AuditEventsResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/connections/{connection_cross_id}: + delete: + tags: + - Connections + summary: Delete Connection + description: |- + **Authorization scope:** `connection:delete` + + **This endpoint deletes a connection** + operationId: delete_connection + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: Connection Cross Id + name: connection_cross_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: {} + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/teams: + get: + tags: + - Groups + summary: List Teams + description: |- + **Authorization scope:** `team:list` + + **Get all user teams** + operationId: list_teams + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: false + schema: + type: integer + title: Page + default: 1 + name: page + in: query + - required: false + schema: + type: integer + maximum: 200 + title: Items Per Page + default: 20 + name: items_per_page + in: query + - description: The internal display name of the team + required: false + schema: + type: string + title: Display Name + description: The internal display name of the team + example: Marketing team + name: display_name + in: query + - description: The team source local (rivery) or external (Active Directory) + required: false + schema: + type: string + title: Source + description: The team source local (rivery) or external (Active Directory) + example: rivery + name: source + in: query + - description: The remote display name of the team + required: false + schema: + type: string + title: Remote Display Name + description: The remote display name of the team + example: Core team + name: remote_display_name + in: query + - description: Sorted the results by attributes + required: false + schema: + allOf: + - $ref: '#/components/schemas/TeamsSortByEnum' + description: Sorted the results by attributes + default: display_name + name: sort_by + in: query + - required: false + schema: + allOf: + - $ref: '#/components/schemas/SortOrderEnum' + default: desc + name: sort_order + in: query + - description: List of team ids + required: false + schema: + items: + type: string + type: array + title: Team Id + description: List of team ids + example: + - 65ce173412f5e196b2b9b163 + name: team_id + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/UserTeamsListResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + post: + tags: + - Groups + summary: Create Team + description: |- + **Authorization scope:** `team:write` + + **Create user team** + operationId: create_team + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateUserTeam' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/UserTeamsModel' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/teams/{team_id}: + get: + tags: + - Groups + summary: Get Team + description: |- + **Authorization scope:** `team:list` + + **Get user team by id** + operationId: get_team + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Team Id + name: team_id + in: path + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/UserTeamsModel' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + put: + tags: + - Groups + summary: Update Team + description: |- + **Authorization scope:** `team:write` + + **Update team** + operationId: update_team + parameters: + - required: true + schema: + type: string + title: Team Id + name: team_id + in: path + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateUserTeamsInput' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/UserTeamsModel' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + delete: + tags: + - Groups + summary: Delete Team + description: |- + **Authorization scope:** `team:write` + + **Delete user team** + operationId: delete_team + parameters: + - required: true + schema: + type: string + title: Team Id + name: team_id + in: path + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + responses: + '204': + description: Successful Response + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + patch: + tags: + - Groups + summary: Patch Team + description: |- + **Authorization scope:** `team:write` + + **Patch team by id** + operationId: patch_team + parameters: + - required: true + schema: + type: string + title: Team Id + name: team_id + in: path + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchUserTeamsInput' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/UserTeamsModel' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/copy: + post: + tags: + - Beta Endpoints + summary: Copy River + description: |- + **Authorization scope:** `river:write` + + **This endpoint creates a copy of a river** + operationId: copy_river + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + responses: + '201': + description: Successful Response + headers: + Location: + description: The location of the created resource + type: string + content: + application/json: + schema: + $ref: '#/components/schemas/CopyRiverResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/restore: + put: + tags: + - Beta Endpoints + summary: Restore River Version + description: |- + **Authorization scope:** `river:write` + + **This endpoint restores a river to a specific version** + operationId: restore_river + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RestoreRiverVersionInput' + required: true + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/RiverModel' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/enable_cdc: + post: + tags: + - Beta Endpoints + summary: Enable Cdc + description: |- + **Authorization scope:** `river:write` + + **This endpoint enables the CDC extraction for a CDC river.** + operationId: enable_cdc + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + responses: + '202': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/OperationResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/disable_cdc: + post: + tags: + - Beta Endpoints + summary: Disable Cdc + description: |- + **Authorization scope:** `river:write` + + **This endpoint disables the CDC extraction for a CDC river.** + operationId: disable_cdc + parameters: + - required: true + schema: + type: string + title: Account Id + name: account_id + in: path + - required: true + schema: + type: string + title: Environment Id + name: environment_id + in: path + - required: true + schema: + type: string + title: River Cross Id + name: river_cross_id + in: path + responses: + '202': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/OperationResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/predefined_metadata/columns: + get: + tags: + - Beta Endpoints + summary: Get Predefined Columns + description: >- + This endpoint gets all predefined columns per datasource id and + report_id. + operationId: get_predefined_columns + parameters: + - description: The datasource of the columns. + required: true + schema: + allOf: + - $ref: '#/components/schemas/SourceTypeEnum' + description: The datasource of the columns. + example: shopify + name: datasource_id + in: query + - description: The report id + required: true + schema: + type: string + title: Report + description: The report id + example: orders + name: report + in: query + - description: Name of the column to filter + required: false + schema: + type: string + title: Column Name + description: Name of the column to filter + example: id + name: column_name + in: query + - description: The number of items per page in the paginated list. + required: false + schema: + type: integer + maximum: 500 + minimum: 1 + title: Items Per Page + description: The number of items per page in the paginated list. + default: 20 + name: items_per_page + in: query + - description: The current page number in the paginated list. + required: false + schema: + type: integer + minimum: 1 + title: Page + description: The current page number in the paginated list. + default: 1 + name: page + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PredefinedColumnsPaginatedResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/predefined_metadata/tables: + get: + tags: + - Beta Endpoints + summary: Get Predefined Tables + description: This endpoint gets all predefined tables per datasource id. + operationId: get_predefined_tables + parameters: + - description: The datasource of the columns. + required: true + schema: + allOf: + - $ref: '#/components/schemas/SourceTypeEnum' + description: The datasource of the columns. + example: shopify + name: datasource_id + in: query + - description: Name of the report to filter + required: false + schema: + type: string + title: Report Name + description: Name of the report to filter + example: orders + name: report_name + in: query + - description: The number of items per page in the paginated list. + required: false + schema: + type: integer + maximum: 500 + minimum: 1 + title: Items Per Page + description: The number of items per page in the paginated list. + default: 20 + name: items_per_page + in: query + - description: The current page number in the paginated list. + required: false + schema: + type: integer + minimum: 1 + title: Page + description: The current page number in the paginated list. + default: 1 + name: page + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PredefinedTablesModelPaginatedResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/predefined_metadata/metadata: + get: + tags: + - Beta Endpoints + summary: Get Predefined Metadata + description: This endpoint gets all predefined metadata datasource id and report id. + operationId: get_predefined_metadata + parameters: + - description: The datasource of the columns. + required: true + schema: + allOf: + - $ref: '#/components/schemas/SourceTypeEnum' + description: The datasource of the columns. + example: shopify + name: datasource_id + in: query + - description: The report id + required: true + schema: + type: string + title: Report Id + description: The report id + example: predefined_orders + name: report_id + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/PredefinedMetadataModelResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] + /v1/river_source/metadata: + get: + tags: + - Beta Endpoints + summary: Get Source Metadata + description: This endpoint gets all source metadata. + operationId: get_source_metadata + parameters: + - description: The source name + required: true + schema: + allOf: + - $ref: '#/components/schemas/SourceTypeEnum' + description: The source name + example: shopify + name: source_name + in: query + responses: + '200': + description: Successful Response + content: + application/json: + schema: + $ref: '#/components/schemas/SourcedMetadataModelResponse' + '422': + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/HTTPValidationError' + security: + - HTTPBearer: [] +components: + schemas: + ActionProperties: + properties: + properties_type: + type: string + enum: + - actions + title: Properties Type + default: actions + additionalProperties: false + type: object + title: ActionProperties + description: Action properties which define the action river properties + ActivitiesResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + account_id: + type: string + title: Account Id + description: The account id + environment_id: + type: string + title: Environment Id + description: The environment id + items: + items: + $ref: '#/components/schemas/Activity' + type: array + title: Items + cache_context_id: + type: string + title: Cache Context Id + nullable: true + type: object + required: + - current_page_size + - account_id + - environment_id + - items + - cache_context_id + title: ActivitiesResponse + description: General activities response + Activity: + properties: + account_id: + type: string + title: Account Id + environment_id: + type: string + title: Environment Id + cross_id: + type: string + title: Cross Id + river_id: + type: string + title: River Id + master_river_id: + type: string + title: Master River Id + river_name: + type: string + title: River Name + is_sub_river: + type: boolean + title: Is Sub River + is_master_river: + type: boolean + title: Is Master River + is_multi: + type: boolean + title: Is Multi + is_deleted: + type: boolean + title: Is Deleted + group_id: + type: string + title: Group Id + is_scheduled: + type: boolean + title: Is Scheduled + total_files: + type: integer + title: Total Files + units: + type: number + title: Units + description: Total RPU (units) + example: 2.1 + rpu: + type: number + title: Rpu + description: Total RPU + example: 2.1 + total_size: + type: integer + title: Total Size + last_run: + type: integer + title: Last Run + pending: + type: integer + title: Pending + failed: + type: integer + title: Failed + running: + type: integer + title: Running + succeeded: + type: integer + title: Succeeded + canceled: + type: integer + title: Canceled + datasource_id: + type: string + title: Datasource Id + type: object + required: + - account_id + - environment_id + - cross_id + - river_id + - master_river_id + - river_name + - is_sub_river + - is_master_river + - is_multi + - is_deleted + - is_scheduled + - total_files + - units + - rpu + - total_size + - last_run + - pending + - failed + - running + - succeeded + - canceled + - datasource_id + title: Activity + description: Activity properties to return. + ActivityLogicVariableResponse: + properties: + items: + items: + $ref: '#/components/schemas/RiverVariablesFields' + type: array + title: Items + type: object + required: + - items + title: ActivityLogicVariableResponse + description: The activities logic variables response + ActivitySortByEnum: + type: string + enum: + - river_name + - last_run + - units + title: ActivitySortByEnum + description: Activities sort properties in the UI. + ActivityStatisticResponse: + properties: + account_id: + type: string + title: Account Id + environment_id: + type: string + title: Environment Id + total_units: + type: number + title: Total Units + description: Total RPU (units) + example: 2.1 + total_rpu: + type: number + title: Total Rpu + description: Total RPU + example: 2.1 + running: + type: integer + title: Running + canceled: + type: integer + title: Canceled + pending: + type: integer + title: Pending + failed: + type: integer + title: Failed + succeeded: + type: integer + title: Succeeded + skipped: + type: integer + title: Skipped + type: object + required: + - account_id + - environment_id + - total_units + - total_rpu + - running + - canceled + - pending + - failed + - succeeded + - skipped + title: ActivityStatisticResponse + description: Activity statistics response + ActivityStatusEnum: + type: string + enum: + - pending + - canceled + - succeeded + - failed + - running + - skipped + title: ActivityStatusEnum + description: The external status of a run (being used in the api) + AthenaAdditionalTargetSettings: + properties: + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: >- + The order expression of the river entity,to filter duplications from + the source data by the provided order expression (for `merge` + loading method). + example: id desc,createDate asc + nullable: true + target_loading: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: >- + The target loading of the table entity,if not specified the default + loading mode of the riverwill be used. + example: merge + nullable: true + target_type: + type: string + enum: + - athena + title: Target Type + description: Internal field, populated automatically + default: athena + nullable: true + replace_invalid_utf_characters: + type: boolean + title: Replace Invalid Utf Characters + description: Enable replacing invalid UTF characters in the target + default: false + truncate_columns: + type: boolean + title: Truncate Columns + description: Whether or not to truncate the columns in the target + default: false + type: object + title: AthenaAdditionalTargetSettings + description: Athena specific target settings + AthenaModifiedColumn: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the column is selected and should be modified. + example: true + name: + type: string + title: Name + description: The name of the column. + example: column_name + type: + type: string + title: Type + description: The type of the column. + example: string + nullable: true + alias: + type: string + title: Alias + description: The alias of the column in the target table. + example: column_alias + nullable: true + expression: + type: string + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + example: select 'test' + nullable: true + is_key: + type: boolean + title: Is Key + description: If the column is a key. + example: true + nullable: true + sort_order: + type: integer + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + example: 1 + nullable: true + is_sort_key: + type: boolean + title: Is Sort Key + description: If the column is a sort column. + example: true + nullable: true + calculated_column_mode: + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + example: source + nullable: true + order: + type: integer + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + example: 1 + nullable: true + target_type: + type: string + enum: + - athena + title: Target Type + description: Internal field, populated automatically + default: athena + nullable: true + additionalProperties: false + type: object + required: + - is_selected + - name + title: AthenaModifiedColumn + description: Athena specific columns settings + AthenaTargetSettings: + properties: + name: + type: string + enum: + - athena + title: Name + description: The name of the target + default: athena + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + table_name: + type: string + title: Table Name + description: >- + The table name of this target (only relevant for non multi table + source to target rivers) + default: '' + example: Table 1 + nullable: true + target_prefix: + type: string + title: Target Prefix + description: >- + The table prefix of this target (only relevant for multi table + source to target rivers) + default: '' + example: start_at_ + nullable: true + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: The order expression of the river entity. + example: id desc,createDate asc + nullable: true + loading_method: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: The loading method of this target + example: merge + merge_method: + allOf: + - $ref: '#/components/schemas/MergeMethod' + description: >- + The merge method to preform,only relevant when the loading mode is + Merge,if not provided the default merge method will be used.(merge) + example: merge + nullable: true + file_zone_settings: + allOf: + - $ref: '#/components/schemas/RiverFileZoneSettings' + title: File Zone Settings + description: The file zone settings of this target + nullable: true + file_path_destination: + type: string + title: File Path Destination + description: The file name and path + example: path/to/file + bucket_name: + type: string + title: Bucket Name + description: The bucket name + example: bucket + additional_settings: + type: object + title: Additional Settings + description: The additional settings of this target + default: {} + example: + key: value + nullable: true + type: object + required: + - loading_method + title: AthenaTargetSettings + description: Athena target settings properties to return. + AuditEntityTypeEnum: + type: string + enum: + - accounts + - connections + - rivers + - river_groups + - users + title: AuditEntityTypeEnum + description: The audit event entity types + AuditEventTypeEnum: + type: string + enum: + - create + - delete + - update + title: AuditEventTypeEnum + description: The audit events, events type + AuditEventsPaginationResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + items: + items: + $ref: '#/components/schemas/AuditEventsResponse' + type: array + title: Items + type: object + required: + - items + title: AuditEventsPaginationResponse + description: Audit events pagination response + AuditEventsResponse: + properties: + event_id: + type: string + title: Event Id + description: The id of the audit event + event_initiator: + type: string + title: Event Initiator + description: Where the event was initiated + example: UI + event_datetime: + type: string + title: Event Datetime + description: The event date time in UTC timezone + example: '2022-08-02T13:38:44.054000' + event_type: + allOf: + - $ref: '#/components/schemas/AuditEventTypeEnum' + description: The type of the event + example: create + event_result_status: + type: integer + title: Event Result Status + description: The status of the API request of the event + example: 200 + event_name: + type: string + title: Event Name + description: >- + The name of the event in the following + format-event_type:entity_type:additional_info + example: update:rivers:without_version + entity_type: + allOf: + - $ref: '#/components/schemas/AuditEntityTypeEnum' + description: The type of entity that was recorded + example: rivers + entity_logical_key: + type: string + title: Entity Logical Key + default: A unique logical identifier of an entity, usually the cross_id + example: 5eda28ee6b028e1ce7a2b5ec + account_id: + type: string + title: Account Id + description: The account id the event originated for + example: 5ebec4ca6b028e2da4191dde + environment_id: + type: string + title: Environment Id + description: The environment id the event originated for + example: 5ebec4ca6b028e2da4191de1 + user_id: + type: string + title: User Id + description: The user id the event originated for + example: 60d08931f5682c0d9fa24890 + user_name: + type: string + title: User Name + description: The name of the user that originated the event + example: Rivi Ee + entity_name: + type: string + title: Entity Name + description: >- + The name of the event entity, this could be the name of the river, + connection etc. + example: My First River + entity_subtype: + type: string + title: Entity Subtype + description: >- + The even subtype, this could be a river classification like logic or + s2t rivers + examples: + - src_to_trgt + - logic + additional_info: + type: string + title: Additional Info + default: Additional information saved for the event + example: '{"version_id": "637582d3c32287000fc1d69f"}' + type: object + required: + - event_id + - event_initiator + - event_datetime + - event_type + - event_result_status + - event_name + - entity_type + - account_id + - environment_id + - user_id + title: AuditEventsResponse + description: Audit events response + AzureSqlAdditionalTargetSettings: + properties: + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: >- + The order expression of the river entity,to filter duplications from + the source data by the provided order expression (for `merge` + loading method). + example: id desc,createDate asc + nullable: true + target_loading: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: >- + The target loading of the table entity,if not specified the default + loading mode of the riverwill be used. + example: merge + nullable: true + target_type: + type: string + enum: + - azure_sql + title: Target Type + description: Internal field, populated automatically + default: azure_sql + nullable: true + type: object + title: AzureSqlAdditionalTargetSettings + description: Azure SQL specific target settings + AzureSqlModifiedColumn: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the column is selected and should be modified. + example: true + name: + type: string + title: Name + description: The name of the column. + example: column_name + type: + type: string + title: Type + description: The type of the column. + example: string + nullable: true + alias: + type: string + title: Alias + description: The alias of the column in the target table. + example: column_alias + nullable: true + expression: + type: string + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + example: select 'test' + nullable: true + is_key: + type: boolean + title: Is Key + description: If the column is a key. + example: true + nullable: true + sort_order: + type: integer + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + example: 1 + nullable: true + is_sort_key: + type: boolean + title: Is Sort Key + description: If the column is a sort column. + example: true + nullable: true + calculated_column_mode: + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + example: source + nullable: true + order: + type: integer + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + example: 1 + nullable: true + target_type: + type: string + enum: + - azure_sql + title: Target Type + description: Internal field, populated automatically + default: azure_sql + nullable: true + additionalProperties: false + type: object + required: + - is_selected + - name + title: AzureSqlModifiedColumn + description: AzureSql specific columns settings + AzureSqlTargetSettings: + properties: + name: + type: string + enum: + - azure_sql + title: Name + description: The name of the target + default: azure_sql + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + table_name: + type: string + title: Table Name + description: >- + The table name of this target (only relevant for non multi table + source to target rivers) + default: '' + example: Table 1 + nullable: true + target_prefix: + type: string + title: Target Prefix + description: >- + The table prefix of this target (only relevant for multi table + source to target rivers) + default: '' + example: start_at_ + nullable: true + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: The order expression of the river entity. + example: id desc,createDate asc + nullable: true + loading_method: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: The loading method of this target + example: merge + merge_method: + allOf: + - $ref: '#/components/schemas/MergeMethod' + description: >- + The merge method to preform,only relevant when the loading mode is + Merge,if not provided the default merge method will be used.(merge) + example: merge + nullable: true + file_zone_settings: + allOf: + - $ref: '#/components/schemas/RiverFileZoneSettings' + title: File Zone Settings + description: The file zone settings of this target + nullable: true + file_path_destination: + type: string + title: File Path Destination + description: The file name and path + example: path/to/file + bucket_name: + type: string + title: Bucket Name + description: The bucket name + example: bucket + additional_settings: + type: object + title: Additional Settings + description: The additional settings of this target + default: {} + example: + key: value + nullable: true + type: object + required: + - loading_method + title: AzureSqlTargetSettings + description: Azure SQL target settings properties to return. + AzureSynapseAnalyticsModifiedColumn: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the column is selected and should be modified. + example: true + name: + type: string + title: Name + description: The name of the column. + example: column_name + type: + type: string + title: Type + description: The type of the column. + example: string + nullable: true + alias: + type: string + title: Alias + description: The alias of the column in the target table. + example: column_alias + nullable: true + expression: + type: string + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + example: select 'test' + nullable: true + is_key: + type: boolean + title: Is Key + description: If the column is a key. + example: true + nullable: true + sort_order: + type: integer + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + example: 1 + nullable: true + is_sort_key: + type: boolean + title: Is Sort Key + description: If the column is a sort column. + example: true + nullable: true + calculated_column_mode: + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + example: source + nullable: true + order: + type: integer + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + example: 1 + nullable: true + target_type: + type: string + enum: + - azure_synapse_analytics + title: Target Type + description: Internal field, populated automatically + default: azure_synapse_analytics + nullable: true + additionalProperties: false + type: object + required: + - is_selected + - name + title: AzureSynapseAnalyticsModifiedColumn + description: AzureSynapseAnalytics specific columns settings + AzureSynapseAnalyticsTargetSettings: + properties: + name: + type: string + enum: + - azure_synapse_analytics + title: Name + description: The name of the target + default: azure_synapse_analytics + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + table_name: + type: string + title: Table Name + description: >- + The table name of this target (only relevant for non multi table + source to target rivers) + default: '' + example: Table 1 + nullable: true + target_prefix: + type: string + title: Target Prefix + description: >- + The table prefix of this target (only relevant for multi table + source to target rivers) + default: '' + example: start_at_ + nullable: true + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: The order expression of the river entity. + example: id desc,createDate asc + nullable: true + loading_method: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: The loading method of this target + example: merge + merge_method: + allOf: + - $ref: '#/components/schemas/MergeMethod' + description: >- + The merge method to preform,only relevant when the loading mode is + Merge,if not provided the default merge method will be used.(merge) + example: merge + nullable: true + file_zone_settings: + allOf: + - $ref: '#/components/schemas/RiverFileZoneSettings' + title: File Zone Settings + description: The file zone settings of this target + nullable: true + file_path_destination: + type: string + title: File Path Destination + description: The file name and path + example: path/to/file + bucket_name: + type: string + title: Bucket Name + description: The bucket name + example: bucket + additional_settings: + type: object + title: Additional Settings + description: The additional settings of this target + default: {} + example: + key: value + nullable: true + type: object + required: + - loading_method + title: AzureSynapseAnalyticsTargetSettings + description: Azure Synapse Analytics target settings properties to return. + BigQueryAdditionalTargetSettings: + properties: + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: >- + The order expression of the river entity,to filter duplications from + the source data by the provided order expression (for `merge` + loading method). + example: id desc,createDate asc + nullable: true + target_loading: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: >- + The target loading of the table entity,if not specified the default + loading mode of the riverwill be used. + example: merge + nullable: true + target_type: + type: string + enum: + - bigquery + title: Target Type + description: Internal field, populated automatically + default: bigquery + nullable: true + use_standard_sql: + type: boolean + title: Use Standard Sql + description: >- + Indication if to use standard SQL, default is true, if false will + use legacy SQL. + example: true + nullable: true + split_tables: + type: string + title: Split Tables + description: Split tables at target. + default: no_split + example: no_split + nullable: true + split_interval: + type: string + title: Split Interval + description: The interval by which to split the tables if split table is on. + example: daily + nullable: true + split_data: + type: string + title: Split Data + description: >- + The expression by which to split the tablesif split tables by + expression is chosen. + example: a>3 + nullable: true + partition_type: + type: string + title: Partition Type + description: The type of partition to partition that table by. + example: timestamp + nullable: true + partition_granularity: + type: string + title: Partition Granularity + description: The partition granularity to split the table by. + example: day + nullable: true + type: object + title: BigQueryAdditionalTargetSettings + description: BigQuery specific target settings + BigQueryModifiedColumn: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the column is selected and should be modified. + example: true + name: + type: string + title: Name + description: The name of the column. + example: column_name + type: + type: string + title: Type + description: The type of the column. + example: string + nullable: true + alias: + type: string + title: Alias + description: The alias of the column in the target table. + example: column_alias + nullable: true + expression: + type: string + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + example: select 'test' + nullable: true + is_key: + type: boolean + title: Is Key + description: If the column is a key. + example: true + nullable: true + sort_order: + type: integer + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + example: 1 + nullable: true + is_sort_key: + type: boolean + title: Is Sort Key + description: If the column is a sort column. + example: true + nullable: true + calculated_column_mode: + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + example: source + nullable: true + order: + type: integer + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + example: 1 + nullable: true + is_partition: + type: boolean + title: Is Partition + description: Indication if the column is a partition column + default: false + nullable: true + target_type: + type: string + enum: + - bigquery + title: Target Type + description: Internal field, populated automatically + default: bigquery + nullable: true + additionalProperties: false + type: object + required: + - is_selected + - name + title: BigQueryModifiedColumn + description: Big Query specific columns settings + BigQueryTargetSettings: + properties: + name: + type: string + enum: + - bigquery + title: Name + description: The name of the target + default: bigquery + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + table_name: + type: string + title: Table Name + description: >- + The table name of this target (only relevant for non multi table + source to target rivers) + default: '' + example: Table 1 + nullable: true + target_prefix: + type: string + title: Target Prefix + description: >- + The table prefix of this target (only relevant for multi table + source to target rivers) + default: '' + example: start_at_ + nullable: true + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: The order expression of the river entity. + example: id desc,createDate asc + nullable: true + loading_method: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: The loading method of this target + example: merge + merge_method: + allOf: + - $ref: '#/components/schemas/MergeMethod' + description: >- + The merge method to preform,only relevant when the loading mode is + Merge,if not provided the default merge method will be used.(merge) + example: merge + nullable: true + file_zone_settings: + allOf: + - $ref: '#/components/schemas/RiverFileZoneSettings' + title: File Zone Settings + description: The file zone settings of this target + nullable: true + file_path_destination: + type: string + title: File Path Destination + description: The file name and path + example: path/to/file + bucket_name: + type: string + title: Bucket Name + description: The bucket name + example: bucket + additional_settings: + type: object + title: Additional Settings + description: The additional settings of this target + default: {} + example: + key: value + nullable: true + dataset_id: + type: string + title: Dataset Id + description: The dataset ID of this target + example: dataset_1 + nullable: true + type: object + required: + - loading_method + title: BigQueryTargetSettings + description: BigQuery target settings properties to return. + BlobStorageSettings: + properties: + name: + type: string + enum: + - blob_storage + title: Name + description: The name of the target + default: blob_storage + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + path: + type: string + title: Path + description: The path of the file zone entity. + example: my_path + bucket_name: + type: string + title: Bucket Name + description: The bucket name of the file zone entity. + example: my_bucket + partitioned_kind: + allOf: + - $ref: '#/components/schemas/PartitionedKindEnum' + description: The partitioned kind of the file zone entity. + example: by_day + type: object + required: + - path + - bucket_name + - partitioned_kind + title: BlobStorageSettings + description: Azure Blob Storage target settings properties to return. + CalculatedColumnModeEnum: + type: string + enum: + - source + - target + title: CalculatedColumnModeEnum + description: >- + The calculated column mode + + Calculated column mode is used to determine if the calculated column is + a new column or an override of an existing + + It can be used either on the source or the target + CancelRiverRunBody: + properties: + run_id: + type: string + title: Run Id + description: The run_id to cancel. + run_group_id: + type: string + title: Run Group Id + description: >- + The run_group_id to cancel. Use this field when you want to cancel + multiple tables or sub rivers + type: object + title: CancelRiverRunBody + description: Cancel River Run body + CdcConfig: + properties: + config: + oneOf: + - $ref: '#/components/schemas/CdcMysqlConfig' + - $ref: '#/components/schemas/CdcPostgresConfig' + - $ref: '#/components/schemas/CdcSqlServerConfig' + - $ref: '#/components/schemas/CdcMongodbConfig' + - $ref: '#/components/schemas/CdcOracleConfig' + title: Config + discriminator: + propertyName: datasource_type + mapping: + mysql: '#/components/schemas/CdcMysqlConfig' + postgres: '#/components/schemas/CdcPostgresConfig' + mssql: '#/components/schemas/CdcSqlServerConfig' + mongodb: '#/components/schemas/CdcMongodbConfig' + oracle: '#/components/schemas/CdcOracleConfig' + type: object + required: + - config + title: CdcConfig + description: The cdc config request class. + CdcMongodbConfig: + properties: + last_updated: + type: string + title: Last Updated + default: '2024-03-29T20:59:22.070733Z' + datasource_type: + type: string + enum: + - mongodb + title: Datasource Type + default: mongodb + resume_token: + type: string + title: Resume Token + description: The resume token position offset + type: object + required: + - resume_token + title: CdcMongodbConfig + description: |- + Cdc Mongodb Config: + * resume token offset of the Mongodb database CDC + CdcMysqlConfig: + properties: + last_updated: + type: string + title: Last Updated + default: '2024-03-29T20:59:22.070733Z' + datasource_type: + type: string + enum: + - mysql + title: Datasource Type + default: mysql + binlog_file: + type: string + title: Binlog File + description: The bin log file + example: mysql-bin-changelog.000931 + binlog_position: + type: string + title: Binlog Position + description: The binlog position + example: '515820321' + gtid: + type: string + title: Gtid + description: The gtid position offset + example: >- + 51d431b9-585e-11ed-9222-022d1416c792:1-34,7e0646d8-b3e4-11eb-a15e-0a47d4c912dc:1-21343,8937b67f-3ab2-11ea-9bc9-0ad74248f0fe:1-5182243242,c23585e8-579a-11ed-83e3-0a47d4c912dc:1-12 + type: object + title: CdcMysqlConfig + description: |- + Cdc mysql config: + * binlog offset of the MYSQL database CDC + CdcOracleConfig: + properties: + last_updated: + type: string + title: Last Updated + default: '2024-03-29T20:59:22.070733Z' + datasource_type: + type: string + enum: + - oracle + title: Datasource Type + default: oracle + scn_offset: + type: integer + title: Scn Offset + description: The system change number offset + type: object + required: + - scn_offset + title: CdcOracleConfig + description: |- + Cdc Oracle config: + * system change number of the Oracle database CDC + CdcPostgresConfig: + properties: + last_updated: + type: string + title: Last Updated + default: '2024-03-29T20:59:22.070733Z' + datasource_type: + type: string + enum: + - postgres + title: Datasource Type + default: postgres + lsn_offset: + type: integer + title: Lsn Offset + description: The lsn position offset + example: 518 + type: object + required: + - lsn_offset + title: CdcPostgresConfig + description: |- + Cdc postgres config: + * lsn offset of the postgres database CDC + CdcSqlServerConfig: + properties: + last_updated: + type: string + title: Last Updated + default: '2024-03-29T20:59:22.070733Z' + datasource_type: + type: string + enum: + - mssql + title: Datasource Type + default: mssql + lsn_offset_sql_server: + type: string + title: Lsn Offset Sql Server + description: The lsn offset sql server position offset + example: '0x0000004B000009350003' + type: object + required: + - lsn_offset_sql_server + title: CdcSqlServerConfig + description: |- + Cdc sql server config: + * lsn offset of the sql server database CDC + ColumnsIncrementTypeEnum: + type: string + enum: + - INTEGER + - TIMESTAMP + - DATE + - FLOAT + - STRING + - DATETIME + title: ColumnsIncrementTypeEnum + description: All increment columns data types + ColumnsIntervalTypeEnum: + type: string + enum: + - datetime + - runningnumber + - epoch + - row_version + - date + title: ColumnsIntervalTypeEnum + description: The column's interval type + ColumnsModeEnum: + type: string + enum: + - NULLABLE + - REPEATED + title: ColumnsModeEnum + description: All column modes. + ColumnsTypeEnum: + type: string + enum: + - INTEGER + - TIMESTAMP + - DATE + - FLOAT + - STRING + - DATETIME + - BOOLEAN + - RECORD + - VARCHAR + - SMALLINT + - BIGINT + - OBJECT + - NUMBER + - VARIANT + - JSON + - TEXT + - TIME + - TINYINT + title: ColumnsTypeEnum + description: All column data types. + ConvertFileTypeEnum: + type: string + enum: + - parquet + title: ConvertFileTypeEnum + description: >- + Conversion service types of file conversions. + + The conversion service supports multiple conversion including CSV and + JSON but the back only support PARQUET for now + + Once the back adds support for the other file types we can add them here + CopyRiverResponse: + properties: + details: + type: string + title: Details + cross_id: + type: string + title: Cross Id + description: The new river cross id + example: 62e7f4352c13160013dc39be + type: object + required: + - details + - cross_id + title: CopyRiverResponse + description: Copy river response + CreateOrUpdateScimTokenResponse: + properties: + account_id: + type: string + title: Account Id + description: The account id + examples: + - 65c2465a76ba59de1a868a4e + scim_service_url: + type: string + title: Scim Service Url + description: The connection string (URL) used to communicate with your SCIM app + examples: + - https://rivery-scim.rivery.io + token: + type: string + title: Token + description: >- + The SCIM authentication token. Keep the token somewhere safe. The + token will be shown only once. + examples: + - '1234' + type: object + required: + - account_id + - scim_service_url + - token + title: CreateOrUpdateScimTokenResponse + description: SCIM Token create or update response. + CreateUserTeam: + properties: + display_name: + type: string + title: Display Name + description: The display name in rivery + example: Rivery Core Team + description: + type: string + title: Description + description: Internal description + example: Some description + environments: + type: object + title: Environments + description: Dictionary of environment id and environment role + default: {} + example: + 633ede20f1fc5500111fd7b3: + role: viewer + 5f887c764c40e5598f717676: + role: viewer + is_all_environment_admin: + type: boolean + title: Is All Environment Admin + description: Indicates if group have Admin permission for all environment + default: false + example: true + type: object + required: + - display_name + title: CreateUserTeam + description: Request create user groups input. + DatabaseTableInput: + properties: + run_type_and_datasource: + type: string + enum: + - multi_tables + title: Run Type And Datasource + description: Internal field + default: multi_tables + details: + allOf: + - $ref: '#/components/schemas/WriteDatabaseTableDetailsInput' + title: Details + description: The database table details + type: object + required: + - details + title: DatabaseTableInput + description: |- + Table properties which define the db table data + This schema is being used for read + DatabricksModifiedColumn: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the column is selected and should be modified. + example: true + name: + type: string + title: Name + description: The name of the column. + example: column_name + type: + type: string + title: Type + description: The type of the column. + example: string + nullable: true + alias: + type: string + title: Alias + description: The alias of the column in the target table. + example: column_alias + nullable: true + expression: + type: string + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + example: select 'test' + nullable: true + is_key: + type: boolean + title: Is Key + description: If the column is a key. + example: true + nullable: true + sort_order: + type: integer + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + example: 1 + nullable: true + is_sort_key: + type: boolean + title: Is Sort Key + description: If the column is a sort column. + example: true + nullable: true + calculated_column_mode: + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + example: source + nullable: true + order: + type: integer + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + example: 1 + nullable: true + target_type: + type: string + enum: + - databricks + title: Target Type + description: Internal field, populated automatically + default: databricks + nullable: true + additionalProperties: false + type: object + required: + - is_selected + - name + title: DatabricksModifiedColumn + description: Databricks specific columns settings + DatabricksTargetSettings: + properties: + name: + type: string + enum: + - databricks + title: Name + description: The name of the target + default: databricks + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + table_name: + type: string + title: Table Name + description: >- + The table name of this target (only relevant for non multi table + source to target rivers) + default: '' + example: Table 1 + nullable: true + target_prefix: + type: string + title: Target Prefix + description: >- + The table prefix of this target (only relevant for multi table + source to target rivers) + default: '' + example: start_at_ + nullable: true + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: The order expression of the river entity. + example: id desc,createDate asc + nullable: true + loading_method: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: The loading method of this target + example: merge + merge_method: + allOf: + - $ref: '#/components/schemas/MergeMethod' + description: >- + The merge method to preform,only relevant when the loading mode is + Merge,if not provided the default merge method will be used.(merge) + example: merge + nullable: true + file_zone_settings: + allOf: + - $ref: '#/components/schemas/RiverFileZoneSettings' + title: File Zone Settings + description: The file zone settings of this target + nullable: true + file_path_destination: + type: string + title: File Path Destination + description: The file name and path + example: path/to/file + bucket_name: + type: string + title: Bucket Name + description: The bucket name + example: bucket + additional_settings: + type: object + title: Additional Settings + description: The additional settings of this target + default: {} + example: + key: value + nullable: true + type: object + required: + - loading_method + title: DatabricksTargetSettings + description: Databricks target settings properties to return. + DataframeAddInput: + properties: + connection_settings: + allOf: + - $ref: '#/components/schemas/DataframeConnectionSettingsInput' + title: Connection Settings + description: The connection settings of the dataframe + example: |- + "connection_settings":{ + "connection" : "6278159bcfc148000fad5632", + "datasource_id" : "s3", + "storage_type" : "aws", + "default_bucket" : "rivery-dev-tests"} + + name: + type: string + title: Name + description: The name of the dataframe - must be unique + example: unique_name + type: object + required: + - name + title: DataframeAddInput + description: |- + Input for adding Dataframe + + DataframeConnectionSettingsInput: + properties: + connection: + type: string + title: Connection + description: The connection of the connection_settings + example: 62e7f4352c13160013dc39be + datasource_id: + type: string + title: Datasource Id + description: The datasource_id of the connection_settings + example: aws + default_bucket: + type: string + title: Default Bucket + description: The default bucket of the connection settings + example: some_s3_bucket + storage_type: + type: string + title: Storage Type + description: The storage type of the connection settings + example: s3 + type: object + required: + - connection + - datasource_id + - default_bucket + - storage_type + title: DataframeConnectionSettingsInput + description: |- + Input for the Dataframe connection settings + + DataframePaginationResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + account_id: + type: string + title: Account Id + description: The account id + environment_id: + type: string + title: Environment Id + description: The environment id + items: + items: + $ref: '#/components/schemas/DataframeResponse' + type: array + title: Items + type: object + required: + - current_page_size + - account_id + - environment_id + - items + title: DataframePaginationResponse + description: |- + Dataframe response properties to return as a paginated list + + DataframeResponse: + properties: + account_id: + type: string + title: Account Id + description: The account id of the user + example: 62e7f4352c13160013dc39be + environment_id: + type: string + title: Environment Id + description: The environment id of the user + example: 82e7f4122c13169813dc395g + connection_settings: + type: object + title: Connection Settings + description: The connection settings of the dataframe + default: {} + example: |- + "connection_settings":{ + "connection" : "6278159bcfc148000fad5632", + "datasource_id" : "s3", + "storage_type" : "aws", + "default_bucket" : "rivery-dev-tests"} + name: + type: string + title: Name + description: The name of the dataframe - must be unique + example: unique_name + type: object + required: + - account_id + - environment_id + - name + title: DataframeResponse + description: |- + Dataframe response properties to return + + DataframeUpdateInput: + properties: + connection_settings: + allOf: + - $ref: '#/components/schemas/DataframeConnectionSettingsInput' + title: Connection Settings + description: The connection settings of the dataframe + example: |- + "connection_settings":{ + "connection" : "6278159bcfc148000fad5632", + "datasource_id" : "s3", + "storage_type" : "aws", + "default_bucket" : "rivery-dev-tests"} + + type: object + title: DataframeUpdateInput + description: Input for updating Dataframe + DateRange: + properties: + time_period: + allOf: + - $ref: '#/components/schemas/RiverTimePeriodEnum' + description: The time period of the river entity. + default: custom + example: custom + nullable: true + start_date: + type: string + title: Start Date + description: The start date of the river entity. + example: '2020-12-01T00:00:00.000Z' + nullable: true + end_date: + type: string + title: End Date + description: The end date of the river entity. + example: '2020-01-01T00:00:00.000Z' + nullable: true + days_back: + type: integer + title: Days Back + description: The days back of the river entity. + default: 0 + example: 1 + include_end_value: + type: boolean + title: Include End Value + description: Whether to include or exclude the end_value in the date range + default: false + example: true + extra: + name: date_range.include_end_value + type: switch + display_name: Include the End Value of the End Date + left_label: true + split_time_intervals: + allOf: + - $ref: '#/components/schemas/SplitTimeIntervals' + title: Split Time Intervals + description: The interval time to split by when using date increment. + default: + time_interval: dont_split + interval_size: 1 + example: + time_interval: days + interval_size: 3 + update_increment_on_failures: + type: boolean + title: Update Increment On Failures + description: >- + If to update the start date for the next extraction even if the + current extraction is unsuccessful. + default: false + example: true + type: object + title: DateRange + description: Date range when using incremental loading method. + DistributionMethodEnum: + type: string + enum: + - all + - even + - key + title: DistributionMethodEnum + description: |- + Enum for distribution methods in Redshift as a target, example: + ALL - A copy of the entire table is distributed to every node + EmailTargetSettings: + properties: + name: + type: string + enum: + - target_email + title: Name + description: The name of the target + default: target_email + email_list: + items: + type: string + type: array + maxItems: 15 + minItems: 1 + title: Email List + description: A list of email addresses to send the data to. + example: + - example@example.io + type: object + required: + - email_list + title: EmailTargetSettings + description: Email target settings properties to return. + EnvironmentsColorEnum: + type: string + enum: + - gray.400 + - tagGreen + - cBlues + - tagCyan + - tagGeekBlue + - cPurples + - tagPurple + - tagMagenta + - cOranges + - tagOrange + - yellow.200 + title: EnvironmentsColorEnum + description: The EnvironmentsColor enum provides all color options for environments + EnvironmentsFields: + properties: + _id: + type: string + title: ' Id' + account: + type: string + title: Account + description: The account id of the user + example: 62e7f4352c13160013dc39be + user_created: + type: string + title: User Created + description: The user id of the user who first created the environment + example: 62e7f4352c13160013dc39be + created_at: + anyOf: + - type: string + format: date-time + - type: string + title: Created At + description: >- + The environment creation date time in UTC timezone. Time format + YYYY-MM-DDThh:mm:ss.ms + example: '2022-07-25T18:38:55.640Z' + cross_id: + type: string + title: Cross Id + description: The cross id of the environment + example: 62e7f4352c13160013dc39be + updated_at: + anyOf: + - type: string + format: date-time + - type: string + title: Updated At + description: The time in which the environment was last updated (UTC time zone) + example: '2022-08-02T13:38:44.054000' + environment_name: + type: string + title: Environment Name + description: The environment name + example: Dev Environment + color: + allOf: + - $ref: '#/components/schemas/EnvironmentsColorEnum' + description: The environment color as shown in the app + default: gray.400 + example: Gray + description: + type: string + title: Description + description: The environment description + example: Development environment for new rivers + variables: + type: object + title: Variables + description: Environment's variables + example: + days_ago: '0' + aws_file_zone: Rivery-rivery + gcs_file_zone: Rivery-rivery + azure_file_zone: Rivery-rivery + hours_offset: '0' + is_deleted: + type: boolean + title: Is Deleted + description: A flag that indicates whether the environment is deleted + default: false + example: 'False' + deleted_by: + type: string + title: Deleted By + description: >- + The user id of the user who deleted the environment (if the + environment is deleted) + example: 62e7f4352c13160013dc39be + deleted_at: + anyOf: + - type: string + format: date-time + - type: string + title: Deleted At + description: >- + The time in which the environment was deleted (if the environment is + deleted). Time format YYYY-MM-DDThh:mm:ss.ms + example: '2022-07-25T18:38:55.640Z' + is_default: + type: boolean + title: Is Default + description: >- + A flag that indicates whether the environment is the account's + default environment + default: 'False' + example: 'True' + updated_by: + type: string + title: Updated By + description: The user id of the user who last updated the environment + example: 62e7f4352c13160013dc39be + type: object + required: + - _id + - account + - cross_id + - environment_name + - variables + title: EnvironmentsFields + description: |- + Environments properties to return. + + ExtractMethodEnum: + type: string + enum: + - all + - incremental + - log + title: ExtractMethodEnum + description: |- + Extract method enum. + The supported extract methods are: + - All - for extracting all the data with no filter + - Incremental - for extracting the data with an increment filter by a certain field / column + - LogBased - for CDC extraction using logs + FacebookAdsAdsTypeEnum: + type: string + enum: + - ads_ids + - ads_names + - ads_filter + title: FacebookAdsAdsTypeEnum + description: Facebook Ads, ads type enum + FacebookAdsCampaignsTypeEnum: + type: string + enum: + - campaigns_ids + - campaigns_names + - campaigns_filter + title: FacebookAdsCampaignsTypeEnum + description: Facebook Ads campaigns type enum + FacebookAdsSetsTypeEnum: + type: string + enum: + - adsets_ids + - adsets_names + - adsets_filter + title: FacebookAdsSetsTypeEnum + description: Facebook Ads ad sets type enum + FinancialStatusEnum: + type: string + enum: + - any + - paid + - unpaid + - voided + - pending + - refunded + - authorized + - partially_paid + - partially_refunded + title: FinancialStatusEnum + description: Shopify financial order status enum + GCSModifiedColumn: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the column is selected and should be modified. + example: true + name: + type: string + title: Name + description: The name of the column. + example: column_name + type: + type: string + title: Type + description: The type of the column. + example: string + nullable: true + alias: + type: string + title: Alias + description: The alias of the column in the target table. + example: column_alias + nullable: true + expression: + type: string + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + example: select 'test' + nullable: true + is_key: + type: boolean + title: Is Key + description: If the column is a key. + example: true + nullable: true + sort_order: + type: integer + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + example: 1 + nullable: true + is_sort_key: + type: boolean + title: Is Sort Key + description: If the column is a sort column. + example: true + nullable: true + calculated_column_mode: + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + example: source + nullable: true + order: + type: integer + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + example: 1 + nullable: true + target_type: + type: string + enum: + - GCS + title: Target Type + description: Internal field, populated automatically + default: GCS + nullable: true + additionalProperties: false + type: object + required: + - is_selected + - name + title: GCSModifiedColumn + description: GCS specific columns settings + GcsTargetSettings: + properties: + name: + type: string + enum: + - GCS + title: Name + description: The name of the target + default: GCS + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + path: + type: string + title: Path + description: The path of the file zone entity. + example: my_path + bucket_name: + type: string + title: Bucket Name + description: The bucket name of the file zone entity. + example: my_bucket + partitioned_kind: + allOf: + - $ref: '#/components/schemas/PartitionedKindEnum' + description: The partitioned kind of the file zone entity. + example: by_day + type: object + required: + - path + - bucket_name + - partitioned_kind + title: GcsTargetSettings + description: GCS target settings properties to return. + GeneralResponse: + properties: + details: + type: string + title: Details + type: object + required: + - details + title: GeneralResponse + description: General response schema contains only details + GetScimTokenStatusResponse: + properties: + account_id: + type: string + title: Account Id + description: The account id + examples: + - 65c2465a76ba59de1a868a4e + is_enabled: + type: boolean + title: Is Enabled + description: A flag that indicates whether SCIM provisioning is enabled + examples: + - true + scim_service_url: + type: string + title: Scim Service Url + description: The connection string (URL) used to communicate with your SCIM app + examples: + - https://rivery-scim.rivery.io + type: object + required: + - account_id + - is_enabled + - scim_service_url + title: GetScimTokenStatusResponse + description: SCIM token get status + GroupOrUserSourceEnum: + type: string + enum: + - rivery + - active_directory + title: GroupOrUserSourceEnum + description: >- + The source group. can be locally from Rivery or imported from external + provider + HTTPValidationError: + properties: + detail: + items: + $ref: '#/components/schemas/ValidationError' + type: array + title: Detail + type: object + title: HTTPValidationError + IDNameInput: + properties: + id: + type: string + title: Id + description: The if of the entity + name: + type: string + title: Name + description: The name of the entity + type: object + required: + - id + title: IDNameInput + description: Basic ID and Name input + IncrementColumn: + properties: + name: + type: string + title: Name + description: The column’s name + example: column name + type: + allOf: + - $ref: '#/components/schemas/ColumnsIncrementTypeEnum' + description: The data type of the increment column in the DB + example: DATETIME + incremental_type: + allOf: + - $ref: '#/components/schemas/ColumnsIntervalTypeEnum' + description: The interval type of the column + example: datetime + is_default: + type: boolean + title: Is Default + description: >- + A boolean field that indicates if the column should be the default + increment column + default: false + example: false + type: object + required: + - name + - type + - incremental_type + title: IncrementColumn + description: Increment columns for the table entity + IncrementalFieldEnum: + type: string + enum: + - updated at + - created at + title: IncrementalFieldEnum + description: Shopify addresses/customers incremental field enum + IntervalTimeExternalEnum: + type: string + enum: + - dont_split + - minutes + - hours + - days + - weeks + - months + - years + title: IntervalTimeExternalEnum + description: >- + Intervals by time options (external enum for IntervalChunkSizeEnum + options) + LegacyRiverResponse: + properties: + river_definition: + type: object + title: River Definition + description: The definition of the river version + example: + river: + name: river_name + id: 55fr7d4270fdca16cac18261 + type: river_type + version: river_version + source: + type: source_type + id: 55fr7d4270fdca16cac18261 + name: source_name + source_task_config: + type: object + title: Source Task Config + description: The source task config of the river version + example: + task: + name: task_name + target_task_config: + type: object + title: Target Task Config + description: The target task config of the river version + example: + task: + name: task_name + type: object + required: + - river_definition + - source_task_config + title: LegacyRiverResponse + description: >- + This class is used to return the river version definition in the legacy + format. + ListEnvironmentsPaginationResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + account_id: + type: string + title: Account Id + description: The account id + items: + items: + $ref: '#/components/schemas/EnvironmentsFields' + type: array + title: Items + type: object + required: + - current_page_size + - account_id + - items + title: ListEnvironmentsPaginationResponse + description: The list environments response to return as a paginated list + ListRiverObject: + properties: + name: + type: string + title: Name + description: Name of the river + example: river_name + river_status: + allOf: + - $ref: '#/components/schemas/RiverStatusEnum' + description: Status of the river + example: active + group_name: + type: string + title: Group Name + description: Name of the group associated with the river + example: river_group_1 + group_id: + type: string + title: Group Id + description: the id of the group associated with the river + example: 62e7f4352c13160013dc39be + river_schedulers: + items: + type: string + type: array + title: River Schedulers + description: List of schedulers used for the river + example: + - 0 * * * * + - 0 0 1 * * + datasource_id: + type: string + title: Datasource Id + description: Source ID of the river + example: 5f7d4270fdca16cac18261 + last_user_name_modified: + type: string + title: Last User Name Modified + description: User name of the last modifier + example: user_name + river_cross_id: + type: string + title: River Cross Id + description: River cross ID + example: 5f7d4270fdca16cac18261 + last_updated_at: + type: string + format: date-time + title: Last Updated At + description: Last time the river was modified + example: '2021-01-01T00:00:00.000Z' + description: + type: string + title: Description + description: Description of the river, if available + example: river_description + nullable: true + is_api_v2: + type: boolean + title: Is Api V2 + description: Flag indicating whether the river is using API v2 + example: true + river_type: + allOf: + - $ref: '#/components/schemas/RiverTypeEnum' + description: Type of the river + example: source_to_target + created_at: + type: string + format: date-time + title: Created At + description: Time the river was created + example: '2021-01-01T00:00:00.000Z' + type: object + required: + - name + - river_status + - group_name + - group_id + - river_schedulers + - datasource_id + - last_user_name_modified + - river_cross_id + - last_updated_at + - is_api_v2 + - river_type + - created_at + title: ListRiverObject + description: River list object for the list endpoint. + ListRiversSortByFilterEnum: + type: string + enum: + - last_updated_at + - source_name + - river_name + - group_name + - group_id + title: ListRiversSortByFilterEnum + description: The river sort by filter enum provide all the sort by options. + LoadingMode: + type: string + enum: + - overwrite + - append + - merge + title: LoadingMode + description: 'Enum for loading modes ' + LogicBlockTypeEnum: + type: string + enum: + - big_query_sql + - river + - redshift + - action + - azure_datalake + - azure_sql + - azure_datalake_job + - snowflake + - logicode + - azure_sql_dwh + - postgres + - databricks + - firebolt + - athena + title: LogicBlockTypeEnum + description: >- + Logic step can have block types - this enum enumerate the different + block types + LogicContainerTypeEnum: + type: string + enum: + - run_once + - loop_over + - condition + title: LogicContainerTypeEnum + description: ALl of the logic container options + LogicProperties: + properties: + properties_type: + type: string + enum: + - logic + title: Properties Type + default: logic + additionalProperties: false + type: object + title: LogicProperties + description: Logic properties which define the logic river properties + LogicStep: + properties: + is_container: + type: boolean + title: Is Container + description: A flag that indicates whether this step is a container or not + example: true + container_type: + allOf: + - $ref: '#/components/schemas/LogicContainerTypeEnum' + description: The container type - if any + example: run_once + start_date_utc: + type: string + format: date-time + title: Start Date Utc + description: >- + The start date time in UTC timezone.Time format + YYYY-MM-DDThh:mm:ss.ms + example: '2022-07-25T18:38:55.640Z' + start_date_in_milliseconds: + type: integer + title: Start Date In Milliseconds + description: The start epoch in milliseconds. + example: 1658774335000 + end_date_utc: + type: string + format: date-time + title: End Date Utc + description: The end date time in UTC timezone.Time format YYYY-MM-DDThh:mm:ss.ms + example: '2022-07-25T18:38:55.640Z' + nullable: true + end_date_in_milliseconds: + type: integer + title: End Date In Milliseconds + description: The end epoch in milliseconds. + example: 1658774335000 + nullable: true + step_status: + allOf: + - $ref: '#/components/schemas/ActivityStatusEnum' + description: The step status + example: succeeded + loop_iteration_number: + type: integer + title: Loop Iteration Number + description: >- + If loop exist, it will contain the loop iteration number, otherwise + 0 + duration: + type: string + title: Duration + description: >- + Step duration. Format h:mm:ss.ms. If step failed or canceled the + duration will be 'None' + example: '0:01:23.275006' + step_execution_id: + type: string + title: Step Execution Id + step_id: + type: string + title: Step Id + step_index: + type: string + title: Step Index + error_description: + type: string + title: Error Description + description: The error description if any + example: error + nullable: true + logicode_statistics: + allOf: + - $ref: '#/components/schemas/LogicodeStatistics' + title: Logicode Statistics + description: The logicode statistics of RPU, duration and network + nullable: true + block_type: + allOf: + - $ref: '#/components/schemas/LogicBlockTypeEnum' + description: The logic block type + example: action + nullable: true + type: object + required: + - is_container + - start_date_utc + - start_date_in_milliseconds + - step_status + - loop_iteration_number + - duration + - step_execution_id + - step_id + - step_index + title: LogicStep + description: Logic step configuration + LogicodeStatistics: + properties: + logicode_rpu: + type: number + title: Logicode Rpu + description: The total RPUs that were consumed during this step run + logicode_network_mb: + type: number + title: Logicode Network Mb + description: The total network (in and out) consumption of this step run + logicode_duration_seconds: + type: number + title: Logicode Duration Seconds + description: The duration of this step + type: object + required: + - logicode_rpu + - logicode_network_mb + - logicode_duration_seconds + title: LogicodeStatistics + description: Logicode (python) statistics + MergeMethod: + type: string + enum: + - switch_tables + - delete_insert + - merge + title: MergeMethod + description: 'Enum for merge methods ' + MongoDBAdditionalSourceSettings: + properties: + filter_expression: + type: string + title: Filter Expression + description: The filter expression of the river entity. + default: '' + example: id > 100 + source_type: + type: string + enum: + - mongodb + title: Source Type + description: Internal field, populated automatically + default: mongodb + nullable: true + concurrent_requests_number: + type: integer + title: Concurrent Requests Number + description: Number of connections to open concurrently to MongoDB + default: 1 + example: 1 + nullable: true + type: object + title: MongoDBAdditionalSourceSettings + description: MongoDB specific source settings + MongoDBSourceCDCSettings: + properties: + default_tables_migration_option: + allOf: + - $ref: '#/components/schemas/RiverTablesMigrationDefaultSyncOption' + description: >- + This option determine the tables migration option. For example. + Choosing SKIP_INITIAL_MIGRATIONwill cause all tables to inherit the + status from the River level to be used for a one-time process. + default: RUN_INITIAL_MIGRATION + example: SKIP_INITIAL_MIGRATION + datasource_id: + type: string + enum: + - mongodb + title: Datasource Id + description: The data source id of this source + default: mongodb + type: object + title: MongoDBSourceCDCSettings + description: MongoDB Source settings properties. + MySQLAdditionalSourceSettings: + properties: + filter_expression: + type: string + title: Filter Expression + description: The filter expression of the river entity. + default: '' + example: id > 100 + source_type: + type: string + enum: + - mysql + title: Source Type + description: Internal field, populated automatically + default: mysql + nullable: true + type: object + title: MySQLAdditionalSourceSettings + description: MySQL specific source settings + MysqlSourceCDCSettings: + properties: + default_tables_migration_option: + allOf: + - $ref: '#/components/schemas/RiverTablesMigrationDefaultSyncOption' + description: >- + This option determine the tables migration option. For example. + Choosing SKIP_INITIAL_MIGRATIONwill cause all tables to inherit the + status from the River level to be used for a one-time process. + default: RUN_INITIAL_MIGRATION + example: SKIP_INITIAL_MIGRATION + datasource_id: + type: string + enum: + - mysql + title: Datasource Id + description: The data source id of this source + default: mysql + type: object + title: MysqlSourceCDCSettings + description: Mysql Source settings properties to return. + NotificationSettings: + properties: + warning: + allOf: + - $ref: '#/components/schemas/RiverNotificationReport' + title: Warning + description: Notification report for warning. + nullable: true + failure: + allOf: + - $ref: '#/components/schemas/RiverNotificationReport' + title: Failure + description: Notification report for failure. + nullable: true + run_threshold: + allOf: + - $ref: '#/components/schemas/RiverNotificationReport' + title: Run Threshold + description: Notification report for run threshold. + nullable: true + type: object + title: NotificationSettings + description: |- + Notification settings properties for the entire river + (define what to do on warning, error, failure/timeout) + OperationResponse: + properties: + operation_id: + type: string + title: Operation Id + description: The ID of the operation + example: 62e7f4352c13160013dc39be + operation_type: + type: string + title: Operation Type + description: The type of the operation + example: dataframe + last_update_date: + type: string + format: date-time + title: Last Update Date + description: The date time in UTC timezone of the last update + example: '2022-08-02T13:38:44.054000' + status: + allOf: + - $ref: '#/components/schemas/PullRequestStatus' + description: The current status of the operation id + example: D + result: + title: Result + description: The result of the operation + example: 'true' + error_message: + type: string + title: Error Message + description: The error message of the operation + example: '[RVR-QBK-003]: Response value error: Missing Rows/Columns' + type: object + required: + - operation_id + - operation_type + - last_update_date + - status + title: OperationResponse + description: |- + Operation properties to return. + + OracleAdditionalSourceSettings: + properties: + filter_expression: + type: string + title: Filter Expression + description: The filter expression of the river entity. + default: '' + example: id > 100 + source_type: + type: string + enum: + - oracle + title: Source Type + description: Internal field, populated automatically + default: oracle + nullable: true + type: object + title: OracleAdditionalSourceSettings + description: Oracle specific source settings + OracleSourceCDCSettings: + properties: + default_tables_migration_option: + allOf: + - $ref: '#/components/schemas/RiverTablesMigrationDefaultSyncOption' + description: >- + This option determine the tables migration option. For example. + Choosing SKIP_INITIAL_MIGRATIONwill cause all tables to inherit the + status from the River level to be used for a one-time process. + default: RUN_INITIAL_MIGRATION + example: SKIP_INITIAL_MIGRATION + datasource_id: + type: string + enum: + - oracle + title: Datasource Id + description: The data source id of this source + default: oracle + type: object + title: OracleSourceCDCSettings + description: Oracle Source settings properties to return. + PartitionedKindEnum: + type: string + enum: + - by_day + - by_hour + - by_minute + title: PartitionedKindEnum + description: Partitioned kind for storages + PatchUserTeamsInput: + properties: + display_name: + type: string + title: Display Name + description: The display name in rivery + example: Rivery Core Team + description: + type: string + title: Description + description: Internal description + example: Some description + environments: + type: object + title: Environments + description: Dictionary of environment id and environment role + example: + 633ede20f1fc5500111fd7b3: + role: viewer + 5f887c764c40e5598f717676: + role: viewer + is_all_environment_admin: + type: boolean + title: Is All Environment Admin + description: Indicates if group have Admin permission for all environment + example: true + type: object + title: PatchUserTeamsInput + description: Request patch user groups input. + PostgreSQLAdditionalSourceSettings: + properties: + filter_expression: + type: string + title: Filter Expression + description: The filter expression of the river entity. + default: '' + example: id > 100 + source_type: + type: string + enum: + - postgresql + title: Source Type + description: Internal field, populated automatically + default: postgresql + nullable: true + type: object + title: PostgreSQLAdditionalSourceSettings + description: PostgreSQL specific source settings + PostgresAdditionalTargetSettings: + properties: + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: >- + The order expression of the river entity,to filter duplications from + the source data by the provided order expression (for `merge` + loading method). + example: id desc,createDate asc + nullable: true + target_loading: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: >- + The target loading of the table entity,if not specified the default + loading mode of the riverwill be used. + example: merge + nullable: true + target_type: + type: string + enum: + - postgres + title: Target Type + description: Internal field, populated automatically + default: postgres + nullable: true + analyze_tables: + type: boolean + title: Analyze Tables + description: Analyze the tables after the load process + default: false + type: object + title: PostgresAdditionalTargetSettings + description: Postgres specific target settings + PostgresModifiedColumn: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the column is selected and should be modified. + example: true + name: + type: string + title: Name + description: The name of the column. + example: column_name + type: + type: string + title: Type + description: The type of the column. + example: string + nullable: true + alias: + type: string + title: Alias + description: The alias of the column in the target table. + example: column_alias + nullable: true + expression: + type: string + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + example: select 'test' + nullable: true + is_key: + type: boolean + title: Is Key + description: If the column is a key. + example: true + nullable: true + sort_order: + type: integer + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + example: 1 + nullable: true + is_sort_key: + type: boolean + title: Is Sort Key + description: If the column is a sort column. + example: true + nullable: true + calculated_column_mode: + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + example: source + nullable: true + order: + type: integer + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + example: 1 + nullable: true + target_type: + type: string + enum: + - postgres + title: Target Type + description: Internal field, populated automatically + default: postgres + nullable: true + additionalProperties: false + type: object + required: + - is_selected + - name + title: PostgresModifiedColumn + description: Postgres specific columns settings + PostgresSourceCDCSettings: + properties: + default_tables_migration_option: + allOf: + - $ref: '#/components/schemas/RiverTablesMigrationDefaultSyncOption' + description: >- + This option determine the tables migration option. For example. + Choosing SKIP_INITIAL_MIGRATIONwill cause all tables to inherit the + status from the River level to be used for a one-time process. + default: RUN_INITIAL_MIGRATION + example: SKIP_INITIAL_MIGRATION + datasource_id: + type: string + enum: + - postgres + title: Datasource Id + description: The data source id of this source + default: postgres + custom_replication_slot: + type: string + title: Custom Replication Slot + description: The custom replication slot of this source + example: custom_replication_slot + custom_publication: + type: string + title: Custom Publication + description: The custom publication of this source + example: custom_publication + type: object + title: PostgresSourceCDCSettings + description: Postgres Source settings properties to return. + PostgresTargetSettings: + properties: + name: + type: string + enum: + - postgres + title: Name + description: The name of the target + default: postgres + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + table_name: + type: string + title: Table Name + description: >- + The table name of this target (only relevant for non multi table + source to target rivers) + default: '' + example: Table 1 + nullable: true + target_prefix: + type: string + title: Target Prefix + description: >- + The table prefix of this target (only relevant for multi table + source to target rivers) + default: '' + example: start_at_ + nullable: true + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: The order expression of the river entity. + example: id desc,createDate asc + nullable: true + loading_method: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: The loading method of this target + example: merge + merge_method: + allOf: + - $ref: '#/components/schemas/MergeMethod' + description: >- + The merge method to preform,only relevant when the loading mode is + Merge,if not provided the default merge method will be used.(merge) + example: merge + nullable: true + file_zone_settings: + allOf: + - $ref: '#/components/schemas/RiverFileZoneSettings' + title: File Zone Settings + description: The file zone settings of this target + nullable: true + file_path_destination: + type: string + title: File Path Destination + description: The file name and path + example: path/to/file + bucket_name: + type: string + title: Bucket Name + description: The bucket name + example: bucket + additional_settings: + type: object + title: Additional Settings + description: The additional settings of this target + default: {} + example: + key: value + nullable: true + type: object + required: + - loading_method + title: PostgresTargetSettings + description: Postgres target settings properties to return. + PredefinedColumnModel: + properties: + name: + type: string + title: Name + description: The column name. + example: column_name + type: + allOf: + - $ref: '#/components/schemas/ColumnsTypeEnum' + description: The column's data type. + example: STRING + is_key: + type: boolean + title: Is Key + description: Whether the column is a key. + default: false + example: true + alias: + type: string + title: Alias + description: The column name's alias. + example: column_alias + mode: + allOf: + - $ref: '#/components/schemas/ColumnsModeEnum' + description: The column's mode. + example: NULLABLE + datasource_id: + allOf: + - $ref: '#/components/schemas/SourceTypeEnum' + description: The column datasource id. + example: shopify + report: + type: string + title: Report + description: The column's report id. + example: orders + fields: + items: + type: string + type: array + title: Fields + description: A list of subfields for the original field + type: object + required: + - name + - type + - datasource_id + - report + title: PredefinedColumnModel + description: Predefined report column structure + PredefinedColumnsPaginatedResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + items: + items: + $ref: '#/components/schemas/PredefinedColumnModel' + type: array + title: Items + description: A list of predefined columns + type: object + required: + - current_page_size + - items + title: PredefinedColumnsPaginatedResponse + description: The response for the get predefined columns. + PredefinedMetadataModelResponse: + properties: + title: + type: string + title: Title + description: The report title. + example: my title + description: + type: string + title: Description + description: The report description. + example: report description + properties: + type: object + title: Properties + description: The report fields and metadata. + required: + items: + type: string + type: array + title: Required + description: A list of required report fields + example: + - id + type: object + required: + - title + - description + - properties + title: PredefinedMetadataModelResponse + description: The response for the get predefined metadata. + PredefinedReportShopifyTableInput: + properties: + run_type_and_datasource: + type: string + enum: + - predefined_report_shopify + title: Run Type And Datasource + description: Internal field + default: predefined_report_shopify + details: + anyOf: + - $ref: '#/components/schemas/WriteShopifyPredefinedOrdersReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedShopReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedAddressesReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedAnalyticReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedCustomersReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedInventoryLevelsReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedMarketingEventsReport' + - $ref: >- + #/components/schemas/WriteShopifyPredefinedOrderTransactionsReport + - $ref: '#/components/schemas/WriteShopifyPredefinedProductsReport' + title: Details + description: The predefined report table details + additionalProperties: false + type: object + required: + - details + title: PredefinedReportShopifyTableInput + description: |- + Table properties which define the predefined report table data + This schema is being used for read + PredefinedTableModel: + properties: + id: + type: string + title: Id + description: The table id. + example: table_id + increment_columns: + items: + $ref: '#/components/schemas/IncrementColumn' + type: array + title: Increment Columns + description: List of columns that the table can run incrementally by. + example: + - incremental_type: runningnumber + type: FLOAT + name: days_unsigned__c + is_default: false + datasource_id: + type: string + title: Datasource Id + description: The id of the datasource. + example: shopify + report_id: + type: string + title: Report Id + description: The id of the report. + example: predefined_orders + report_name: + type: string + title: Report Name + description: The name of the report. + example: orders + no_increment: + type: boolean + title: No Increment + description: Indication if there is no increment for the report. + nullable: true + increment_required: + type: boolean + title: Increment Required + description: Indication if the increment is required for the report. + nullable: true + user_parameters: + items: + type: string + type: array + title: User Parameters + description: List of parameters the user can input and change. + default: [] + example: + - date + nullable: true + hide_parameters: + items: + type: string + type: array + title: Hide Parameters + description: List of parameters hidden to the user + default: [] + nullable: true + type: object + required: + - id + - increment_columns + - datasource_id + - report_id + - report_name + title: PredefinedTableModel + description: >- + Predefined table properties to return (for Shopify, Facebook ads, + etc...) + PredefinedTablesModelPaginatedResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + items: + items: + $ref: '#/components/schemas/PredefinedTableModel' + type: array + title: Items + description: A list of predefined tables + type: object + required: + - current_page_size + - items + title: PredefinedTablesModelPaginatedResponse + description: The response for the get predefined tables. + ProductsIncrementalFieldEnum: + type: string + enum: + - updated at + - created at + - published at + title: ProductsIncrementalFieldEnum + description: Shopify products incremental field enum + PullRequestStatus: + type: string + enum: + - W + - E + - R + - D + title: PullRequestStatus + description: >- + The status of the pull request that we use in the back, and expose in + the API + RedshiftAdditionalTargetSettings: + properties: + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: >- + The order expression of the river entity,to filter duplications from + the source data by the provided order expression (for `merge` + loading method). + example: id desc,createDate asc + nullable: true + target_loading: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: >- + The target loading of the table entity,if not specified the default + loading mode of the riverwill be used. + example: merge + nullable: true + target_type: + type: string + enum: + - redshift + title: Target Type + description: Internal field, populated automatically + default: redshift + nullable: true + distribution_method: + allOf: + - $ref: '#/components/schemas/DistributionMethodEnum' + description: The distribution method of the target. + default: even + example: even + merge_method: + allOf: + - $ref: '#/components/schemas/MergeMethod' + description: >- + The merge method of the table, if not specified the default merge + method of the riverwill be used. + example: merge + nullable: true + type: object + title: RedshiftAdditionalTargetSettings + description: Redshift specific target settings + RedshiftModifiedColumn: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the column is selected and should be modified. + example: true + name: + type: string + title: Name + description: The name of the column. + example: column_name + type: + type: string + title: Type + description: The type of the column. + example: string + nullable: true + alias: + type: string + title: Alias + description: The alias of the column in the target table. + example: column_alias + nullable: true + expression: + type: string + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + example: select 'test' + nullable: true + is_key: + type: boolean + title: Is Key + description: If the column is a key. + example: true + nullable: true + sort_order: + type: integer + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + example: 1 + nullable: true + is_sort_key: + type: boolean + title: Is Sort Key + description: If the column is a sort column. + example: true + nullable: true + calculated_column_mode: + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + example: source + nullable: true + order: + type: integer + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + example: 1 + nullable: true + target_type: + type: string + enum: + - redshift + title: Target Type + description: Internal field, populated automatically + default: redshift + nullable: true + length: + type: integer + title: Length + description: The length of VARCHAR columns. + example: 256 + nullable: true + scale: + type: integer + title: Scale + description: The scale of DECIMAL columns. + example: 0 + nullable: true + precision: + type: integer + title: Precision + description: The precision of DECIMAL columns. + example: 18 + nullable: true + is_dist_key: + type: boolean + title: Is Dist Key + description: >- + If the column is a unique Distkey column on which the table is + distributed to each node + example: true + nullable: true + is_sorted: + type: boolean + title: Is Sorted + description: >- + If the column should be sorted (if true- sort_order is the order of + the column for sorting. + example: true + nullable: true + additionalProperties: false + type: object + required: + - is_selected + - name + title: RedshiftModifiedColumn + description: Redshift specific columns settings + RedshiftTargetSettings: + properties: + name: + type: string + enum: + - redshift + title: Name + description: The name of the target + default: redshift + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + table_name: + type: string + title: Table Name + description: >- + The table name of this target (only relevant for non multi table + source to target rivers) + default: '' + example: Table 1 + nullable: true + target_prefix: + type: string + title: Target Prefix + description: >- + The table prefix of this target (only relevant for multi table + source to target rivers) + default: '' + example: start_at_ + nullable: true + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: The order expression of the river entity. + example: id desc,createDate asc + nullable: true + loading_method: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: The loading method of this target + example: merge + merge_method: + allOf: + - $ref: '#/components/schemas/MergeMethod' + description: >- + The merge method to preform,only relevant when the loading mode is + Merge,if not provided the default merge method will be used.(merge) + example: merge + nullable: true + file_zone_settings: + allOf: + - $ref: '#/components/schemas/RiverFileZoneSettings' + title: File Zone Settings + description: The file zone settings of this target + nullable: true + file_path_destination: + type: string + title: File Path Destination + description: The file name and path + example: path/to/file + bucket_name: + type: string + title: Bucket Name + description: The bucket name + example: bucket + additional_settings: + type: object + title: Additional Settings + description: The additional settings of this target + default: {} + example: + key: value + nullable: true + schema_name: + type: string + title: Schema Name + description: The schema name of this target + example: Schema 1 + nullable: true + type: object + required: + - loading_method + title: RedshiftTargetSettings + description: Redshift target settings properties to return. + RestoreRiverVersionInput: + properties: + version_id: + type: string + title: Version Id + description: The id of the version to restore. + example: 5f7d4270fdca16cac18261 + additionalProperties: false + type: object + required: + - version_id + title: RestoreRiverVersionInput + description: Input for restoring a river version + RiverActivityRun: + properties: + run_id: + type: string + title: Run Id + description: The run ID + example: 5658a1c9ea724ee59f048cbb5a6f734a + datasource_id: + type: string + title: Datasource Id + description: The datasource ID + example: mysql + error_description: + type: string + title: Error Description + description: The error description if any + example: error + nullable: true + units: + type: number + title: Units + description: Total RPU (units) + example: 2.1 + rpu: + type: number + title: Rpu + description: Total RPU + example: 2.1 + run_group_id: + type: string + title: Run Group Id + description: The run group id + example: 201dcf8182ad4a59868cb41b957fdc8d + status: + $ref: '#/components/schemas/ActivityStatusEnum' + source_name: + type: string + title: Source Name + description: The name of the source + example: mysql + target_name: + type: string + title: Target Name + description: The target table name + example: table + nullable: true + start_date_utc: + type: string + format: date-time + title: Start Date Utc + description: >- + The start date time in UTC timezone.Time format + YYYY-MM-DDThh:mm:ss.ms + example: '2022-07-25T18:38:55.640Z' + start_date_in_milliseconds: + type: integer + title: Start Date In Milliseconds + description: The start epoch in milliseconds. + example: 1658774335000 + end_date_utc: + type: string + format: date-time + title: End Date Utc + description: The end date time in UTC timezone.Time format YYYY-MM-DDThh:mm:ss.ms + example: '2022-07-25T18:38:55.640Z' + nullable: true + end_date_in_milliseconds: + type: integer + title: End Date In Milliseconds + description: The end epoch in milliseconds. + example: 1658774335000 + nullable: true + sub_river_id: + type: string + title: Sub River Id + description: The sub river id + example: 507f191e810c19729de860ea + nullable: true + is_sub_river_run: + type: boolean + title: Is Sub River Run + description: A flag that indicates whether this run is of a sub river or not + example: false + type: object + required: + - run_id + - datasource_id + - units + - rpu + - run_group_id + - status + - source_name + - start_date_utc + - start_date_in_milliseconds + - is_sub_river_run + title: RiverActivityRun + description: A run + RiverActivityRunGroup: + properties: + run_group_id: + type: string + title: Run Group Id + description: The run group id + example: 201dcf8182ad4a59868cb41b957fdc8d + status: + type: string + title: Status + units: + type: number + title: Units + description: Total RPU (units) + example: 2.1 + rpu: + type: number + title: Rpu + description: Total RPU + example: 2.1 + max_duration_in_milliseconds: + type: integer + title: Max Duration In Milliseconds + run_date_epoch_milliseconds: + type: integer + title: Run Date Epoch Milliseconds + run_date_utc: + type: string + format: date-time + title: Run Date Utc + run_end_date_epoch_milliseconds: + type: integer + title: Run End Date Epoch Milliseconds + description: The end epoch in milliseconds. + example: 1658774335000 + nullable: true + run_end_date_utc: + type: string + format: date-time + title: Run End Date Utc + description: The end date time in UTC timezone.Time format YYYY-MM-DDThh:mm:ss.ms + example: '2022-07-25T18:38:55.640Z' + nullable: true + type: object + required: + - run_group_id + - status + - run_date_epoch_milliseconds + - run_date_utc + title: RiverActivityRunGroup + description: The run group details + RiverActivityRunGroupResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + account_id: + type: string + title: Account Id + description: The account id + environment_id: + type: string + title: Environment Id + description: The environment id + items: + items: + $ref: '#/components/schemas/RiverActivityRunGroup' + type: array + title: Items + river_cross_id: + type: string + title: River Cross Id + type: object + required: + - current_page_size + - account_id + - environment_id + - items + - river_cross_id + title: RiverActivityRunGroupResponse + description: The response for the activity run groups + RiverActivityRunGroupWithStatistics: + properties: + run_group_id: + type: string + title: Run Group Id + description: The run group id + example: 201dcf8182ad4a59868cb41b957fdc8d + status: + type: string + title: Status + units: + type: number + title: Units + description: Total RPU (units) + example: 2.1 + rpu: + type: number + title: Rpu + description: Total RPU + example: 2.1 + max_duration_in_milliseconds: + type: integer + title: Max Duration In Milliseconds + run_date_epoch_milliseconds: + type: integer + title: Run Date Epoch Milliseconds + run_date_utc: + type: string + format: date-time + title: Run Date Utc + run_end_date_epoch_milliseconds: + type: integer + title: Run End Date Epoch Milliseconds + description: The end epoch in milliseconds. + example: 1658774335000 + nullable: true + run_end_date_utc: + type: string + format: date-time + title: Run End Date Utc + description: The end date time in UTC timezone.Time format YYYY-MM-DDThh:mm:ss.ms + example: '2022-07-25T18:38:55.640Z' + nullable: true + running: + type: integer + title: Running + canceled: + type: integer + title: Canceled + pending: + type: integer + title: Pending + failed: + type: integer + title: Failed + succeeded: + type: integer + title: Succeeded + skipped: + type: integer + title: Skipped + type: object + required: + - run_group_id + - status + - run_date_epoch_milliseconds + - run_date_utc + - running + - canceled + - pending + - failed + - succeeded + - skipped + title: RiverActivityRunGroupWithStatistics + description: The run group details with statistics + RiverActivityRunLogicStepsLogsResponse: + properties: + logs_url: + type: string + title: Logs Url + type: object + required: + - logs_url + title: RiverActivityRunLogicStepsLogsResponse + description: run's logic step logs + RiverActivityRunLogicStepsResponse: + properties: + account_id: + type: string + title: Account Id + environment_id: + type: string + title: Environment Id + river_cross_id: + type: string + title: River Cross Id + run_id: + type: string + title: Run Id + steps: + additionalProperties: + $ref: '#/components/schemas/LogicStep' + type: object + title: Steps + type: object + required: + - account_id + - environment_id + - river_cross_id + - run_id + - steps + title: RiverActivityRunLogicStepsResponse + description: run's logic step + RiverActivityRunsResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + account_id: + type: string + title: Account Id + description: The account id + environment_id: + type: string + title: Environment Id + description: The environment id + items: + items: + $ref: '#/components/schemas/RiverActivityRun' + type: array + title: Items + river_cross_id: + type: string + title: River Cross Id + type: object + required: + - current_page_size + - account_id + - environment_id + - items + - river_cross_id + title: RiverActivityRunsResponse + description: The activity run response + RiverActivityStatisticResponse: + properties: + account_id: + type: string + title: Account Id + environment_id: + type: string + title: Environment Id + total_units: + type: number + title: Total Units + description: Total RPU (units) + example: 2.1 + total_rpu: + type: number + title: Total Rpu + description: Total RPU + example: 2.1 + running: + type: integer + title: Running + canceled: + type: integer + title: Canceled + pending: + type: integer + title: Pending + failed: + type: integer + title: Failed + succeeded: + type: integer + title: Succeeded + skipped: + type: integer + title: Skipped + river_cross_id: + type: string + title: River Cross Id + type: object + required: + - account_id + - environment_id + - total_units + - total_rpu + - running + - canceled + - pending + - failed + - succeeded + - skipped + - river_cross_id + title: RiverActivityStatisticResponse + description: Statistics response + RiverActivitySubRiver: + properties: + sub_river_id: + type: string + title: Sub River Id + sub_river_name: + type: string + title: Sub River Name + type: object + required: + - sub_river_id + - sub_river_name + title: RiverActivitySubRiver + description: Activity's sub river + RiverActivitySubRiverResponse: + properties: + items: + items: + $ref: '#/components/schemas/RiverActivitySubRiver' + type: array + title: Items + account_id: + type: string + title: Account Id + environment_id: + type: string + title: Environment Id + river_cross_id: + type: string + title: River Cross Id + type: object + required: + - items + - account_id + - environment_id + - river_cross_id + title: RiverActivitySubRiverResponse + description: The response of the sub river + RiverActivityTarget: + properties: + target_name: + type: string + title: Target Name + status: + $ref: '#/components/schemas/ActivityStatusEnum' + units: + type: number + title: Units + description: Total RPU (units) + example: 2.1 + rpu: + type: number + title: Rpu + description: Total RPU + example: 2.1 + last_run: + type: string + format: date-time + title: Last Run + type: object + required: + - target_name + - status + - units + - rpu + - last_run + title: RiverActivityTarget + description: The activity target + RiverActivityTargetResponse: + properties: + items: + items: + $ref: '#/components/schemas/RiverActivityTarget' + type: array + title: Items + account_id: + type: string + title: Account Id + environment_id: + type: string + title: Environment Id + river_cross_id: + type: string + title: River Cross Id + type: object + required: + - items + - account_id + - environment_id + - river_cross_id + title: RiverActivityTargetResponse + description: Target response + RiverFileZoneSettings: + properties: + path: + type: string + title: Path + description: The path of the file zone entity. + example: my_path + bucket_name: + type: string + title: Bucket Name + description: The bucket name of the file zone entity. + example: my_bucket + nullable: true + partitioned_kind: + allOf: + - $ref: '#/components/schemas/PartitionedKindEnum' + description: The partitioned kind of the file zone entity. + example: by_day + type: object + required: + - path + - partitioned_kind + title: RiverFileZoneSettings + description: River File zone settings properties to return. + RiverKindEnum: + type: string + enum: + - sub_river + - main_river + title: RiverKindEnum + description: River kind + RiverListResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + account_id: + type: string + title: Account Id + description: The account id + environment_id: + type: string + title: Environment Id + description: The environment id + items: + items: + $ref: '#/components/schemas/ListRiverObject' + type: array + title: Items + type: object + required: + - current_page_size + - account_id + - environment_id + - items + title: RiverListResponse + description: List rivers response object. + RiverMetadata: + properties: + description: + type: string + title: Description + description: The description of the river. + default: '' + example: River 1 description + river_status: + allOf: + - $ref: '#/components/schemas/RiverStatusEnum' + description: The status of the river. + default: disabled + example: active + type: object + title: RiverMetadata + description: River metadata properties for the CREATE + RiverMetadataExtended: + properties: + description: + type: string + title: Description + description: The description of the river. + default: '' + example: River 1 description + river_status: + allOf: + - $ref: '#/components/schemas/RiverStatusEnum' + description: The status of the river. + default: disabled + example: active + current_version_id: + type: string + title: Current Version Id + description: The current version ID of the river. + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + created_by: + type: string + title: Created By + description: The User that created the river. + example: SomeUser + last_updated_by: + type: string + title: Last Updated By + description: The User that last updated the river. + example: SomeUser + created_at: + type: string + format: date-time + title: Created At + description: The date the river was created. + example: '2020-09-01T00:00:00Z' + last_updated_at: + type: string + format: date-time + title: Last Updated At + description: The date the river was last updated. + example: '2020-09-01T12:00:00.000Z' + type: object + required: + - last_updated_by + - created_at + - last_updated_at + title: RiverMetadataExtended + description: Extended RiverMetadata to be returned with the GET + RiverModel: + properties: + cross_id: + type: string + title: Cross Id + description: The river cross id. + example: 62e7f4352c13160013dc39be + account_id: + type: string + title: Account Id + description: The account id. + example: 62e7f4352c13160013dc39be + kind: + allOf: + - $ref: '#/components/schemas/RiverKindEnum' + description: The kind of the river. + default: main_river + example: main_river + type: + allOf: + - $ref: '#/components/schemas/RiverTypeEnum' + description: The type of the river. + example: source_to_target + name: + type: string + title: Name + description: The name of the river. + example: my_river + environment_id: + type: string + title: Environment Id + description: The environment cross id. + example: 62e7f4352c13160013dc39be + environment_name: + type: string + title: Environment Name + description: The environment name. + example: my_environment + group_id: + type: string + title: Group Id + description: The group id. + example: 62e7f4352c13160013dc39be + group_name: + type: string + title: Group Name + description: The group name. + example: my_group + metadata: + allOf: + - $ref: '#/components/schemas/RiverMetadataExtended' + title: Metadata + description: The river metadata. + properties: + oneOf: + - $ref: '#/components/schemas/SourceToTargetRiverProperties' + - $ref: '#/components/schemas/ActionProperties' + - $ref: '#/components/schemas/LogicProperties' + title: Properties + description: The river properties, will change according to the river type. + discriminator: + propertyName: properties_type + mapping: + source_to_target: '#/components/schemas/SourceToTargetRiverProperties' + actions: '#/components/schemas/ActionProperties' + logic: '#/components/schemas/LogicProperties' + settings: + allOf: + - $ref: '#/components/schemas/RiverSettings' + title: Settings + description: River settings. + nullable: true + schedulers: + items: + $ref: '#/components/schemas/RiverSchedule' + type: array + title: Schedulers + description: River schedulers. + default: [] + nullable: true + type: object + required: + - cross_id + - account_id + - type + - name + - environment_id + - environment_name + - group_id + - group_name + - metadata + - properties + title: RiverModel + description: River properties to return + RiverNotificationReport: + properties: + email: + type: string + title: Email + description: Email address to send the report to in case of failure. + example: test@test.com + is_enabled: + type: boolean + title: Is Enabled + description: A flag that indicates whether the notification is enabled. + default: false + example: true + execution_time_limit_seconds: + type: integer + title: Execution Time Limit Seconds + description: >- + The execution time limit in seconds of the river before reporting, + only relevant for on run_threshold. + example: 43200 + nullable: true + type: object + required: + - email + title: RiverNotificationReport + description: |- + River Notification Report properties + + RiverRunResponse: + properties: + sub_river_id: + type: string + title: Sub River Id + description: The river cross id + example: 62e7f4352c13160013dc39be + nullable: true + run_id: + type: string + title: Run Id + description: The run id of the run process + example: 1f1468d097754cd8892468c2763ebfe8 + status: + allOf: + - $ref: '#/components/schemas/ActivityStatusEnum' + description: the status of the run process + example: pending + message: + type: string + title: Message + description: the message of the run process + example: The river is already in progress. + nullable: true + type: object + required: + - run_id + - status + title: RiverRunResponse + description: Run properties to return + RiverSchedule: + properties: + cron_expression: + type: string + title: Cron Expression + description: The cron expression of the river entity. + example: '* * * * *' + nullable: true + is_enabled: + type: boolean + title: Is Enabled + description: The is enabled of the river. + default: false + example: true + type: object + title: RiverSchedule + description: |- + River schedule properties to return. + + RiverScheduleStatusEnum: + type: string + enum: + - all + - scheduled + - unscheduled + title: RiverScheduleStatusEnum + description: River schedule status enum + RiverSettings: + properties: + run_timeout_seconds: + type: integer + title: Run Timeout Seconds + description: The timeout of the river in seconds. + default: 43200 + example: 43200 + notification: + allOf: + - $ref: '#/components/schemas/NotificationSettings' + title: Notification + description: River notification settings. + nullable: true + type: object + title: RiverSettings + description: |- + River settings properties to return. + + RiverStatusEnum: + type: string + enum: + - active + - disabled + title: RiverStatusEnum + description: >- + River status enum. + + Used in the is_enabled field which is part of the river properties. + + Disabled status for a river means the river cannot be executed while + active status river can. + RiverTablesMigrationDefaultSyncOption: + type: string + enum: + - SKIP_INITIAL_MIGRATION + - RUN_INITIAL_MIGRATION + title: RiverTablesMigrationDefaultSyncOption + description: >- + Each river can have a few options when it comes to migration of tables + + 1. skip_initial_migration: will mean that the tables will inherit the + status from the river and skip the migration + + 2. run_initial_migration: (default for most cases) will mean that tables + will fully migrate in the first run + RiverTimePeriodEnum: + type: string + enum: + - custom + - yesterday + - today + - last_7_days + - last_365_days + - week_to_date + - previous_week + - previous_week_to_date + - last_week + - month_to_date + - previous_month + - previous_month_to_date + - year_to_date + title: RiverTimePeriodEnum + description: River supported time periods + RiverTypeEnum: + type: string + enum: + - src_to_trgt + - source_to_target + - actions + - logic + title: RiverTypeEnum + description: All of the EXTERNAL river types + RiverVariableSettings: + properties: + clear_value_on_start: + type: boolean + title: Clear Value On Start + description: Option for clearing variable on river start + default: false + example: false + is_multi_value: + type: boolean + title: Is Multi Value + description: Indicator for variable containing multiple values + default: false + example: false + is_encrypted: + type: boolean + title: Is Encrypted + description: Option for encrypting variable value + default: false + example: true + is_private: + type: boolean + title: Is Private + description: Option for private variable value in source to target rivers + default: false + example: false + add_to_results: + type: boolean + title: Add To Results + description: Add variables to results for actions river + example: false + type: object + title: RiverVariableSettings + description: |- + Variable settings fields. + + RiverVariablesFields: + properties: + account: + type: string + title: Account + description: The account of the river + example: 55fr7d4270fdca16cac18261 + env_id: + type: string + title: Env Id + description: The environment of the river + example: 55fr7d4270fdca16cac18261 + river_id: + type: string + title: River Id + description: The ID of the river + example: 55fr7d4270fdca16cac18261 + name: + type: string + title: Name + description: The name of the variable + example: credentials + settings: + type: object + title: Settings + description: variable settings + example: + clear_value_on_start: true + is_multi_value: false + is_private: false + is_encrypted: false + value: + anyOf: + - type: string + - items: {} + type: array + title: Value + description: value of variable + example: '1234' + type: object + required: + - account + - env_id + - river_id + - name + - settings + title: RiverVariablesFields + description: |- + River variable properties to return. + + RiverVariablesPaginatedResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + account_id: + type: string + title: Account Id + description: The account id + environment_id: + type: string + title: Environment Id + description: The environment id + items: + items: + $ref: '#/components/schemas/RiverVariablesFields' + type: array + title: Items + type: object + required: + - current_page_size + - account_id + - environment_id + - items + title: RiverVariablesPaginatedResponse + description: >- + Final river variables paginated response for all variables in a single + river. + + RiverVersionMetadata: + properties: + account_id: + type: string + title: Account Id + description: The account id of the river version + example: 55fr7d4270fdca16cac18261 + user_info: + allOf: + - $ref: '#/components/schemas/UserInfo' + title: User Info + description: Contains user name and user email information + nullable: true + environment_id: + type: string + title: Environment Id + description: The environment id of the river version + example: 55fr7d4270fdca16cac18261 + insert_date: + type: string + format: date-time + title: Insert Date + description: The insert date time of the river version in UTC timezone + example: '2022-08-02T13:38:44.054000' + version_id: + type: string + title: Version Id + description: The version id of the river version + example: 55fr7d4270fdca16cac18261 + previous_version: + type: string + title: Previous Version + description: The previous version id of the river version + example: 55fr7d4270fdca16cac18261 + created_by: + type: string + title: Created By + description: The creator id of the river version + example: 55fr7d4270fdca16cac18261 + river_id: + type: string + title: River Id + description: The river id of the river version + example: 55fr7d4270fdca16cac18261 + restored_by: + type: string + title: Restored By + description: The restore id of the river version + example: 55fr7d4270fdca16cac18261 + restore_date: + type: string + format: date-time + title: Restore Date + description: The restore date time of the river version in UTC timezone + example: '2022-08-02T13:38:44.054000' + nullable: true + name: + type: string + title: Name + description: Name of river version + example: river_version_name + bookmarked: + type: boolean + title: Bookmarked + description: Flag indicating whether the river version is bookmarked or not + default: false + example: false + type: object + required: + - account_id + - environment_id + - insert_date + - version_id + - created_by + - river_id + title: RiverVersionMetadata + description: |- + River Versions metadata. This class does not contain the version itself. + + RiverVersions: + properties: + account_id: + type: string + title: Account Id + description: The account id of the river version + example: 55fr7d4270fdca16cac18261 + user_info: + allOf: + - $ref: '#/components/schemas/UserInfo' + title: User Info + description: Contains user name and user email information + nullable: true + environment_id: + type: string + title: Environment Id + description: The environment id of the river version + example: 55fr7d4270fdca16cac18261 + insert_date: + type: string + format: date-time + title: Insert Date + description: The insert date time of the river version in UTC timezone + example: '2022-08-02T13:38:44.054000' + version_id: + type: string + title: Version Id + description: The version id of the river version + example: 55fr7d4270fdca16cac18261 + previous_version: + type: string + title: Previous Version + description: The previous version id of the river version + example: 55fr7d4270fdca16cac18261 + created_by: + type: string + title: Created By + description: The creator id of the river version + example: 55fr7d4270fdca16cac18261 + river_id: + type: string + title: River Id + description: The river id of the river version + example: 55fr7d4270fdca16cac18261 + restored_by: + type: string + title: Restored By + description: The restore id of the river version + example: 55fr7d4270fdca16cac18261 + restore_date: + type: string + format: date-time + title: Restore Date + description: The restore date time of the river version in UTC timezone + example: '2022-08-02T13:38:44.054000' + nullable: true + name: + type: string + title: Name + description: Name of river version + example: river_version_name + bookmarked: + type: boolean + title: Bookmarked + description: Flag indicating whether the river version is bookmarked or not + default: false + example: false + river: + anyOf: + - $ref: '#/components/schemas/LegacyRiverResponse' + - $ref: '#/components/schemas/RiverModel' + title: River + description: The definition of the river version + example: + river definition: some definition + type: object + required: + - account_id + - environment_id + - insert_date + - version_id + - created_by + - river_id + - river + title: RiverVersions + description: |- + River Versions properties to return. + + RiverVersionsResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + account_id: + type: string + title: Account Id + description: The account id + environment_id: + type: string + title: Environment Id + description: The environment id + statistics: + $ref: '#/components/schemas/RiverVersionsStats' + items: + items: + $ref: '#/components/schemas/RiverVersionMetadata' + type: array + title: Items + type: object + required: + - current_page_size + - account_id + - environment_id + - statistics + - items + title: RiverVersionsResponse + description: |- + River Versions response. + + RiverVersionsStats: + properties: + bookmarked_versions: + type: integer + title: Bookmarked Versions + description: Number of bookmarked river versions + example: 3 + bookmarks_allowed: + type: integer + title: Bookmarks Allowed + description: Maximum number of bookmarked river versions allowed + example: 30 + total_versions: + type: integer + title: Total Versions + description: Total number of existing river versions + example: 3 + snapshot_versions: + type: integer + title: Snapshot Versions + description: Number of snapshot river versions + example: 2 + versions_allowed: + type: integer + title: Versions Allowed + description: Maximum number of non-bookmarked river versions allowed + example: 70 + type: object + required: + - bookmarked_versions + - bookmarks_allowed + - total_versions + - snapshot_versions + - versions_allowed + title: RiverVersionsStats + description: |- + River versions stats fields. + + RiversRunResponse: + properties: + runs: + items: + $ref: '#/components/schemas/RiverRunResponse' + type: array + title: Runs + river_cross_id: + type: string + title: River Cross Id + run_group_id: + type: string + title: Run Group Id + type: object + required: + - runs + - river_cross_id + - run_group_id + title: RiversRunResponse + description: >- + Run response properties to return + + The response is a list since in the case of sub rivers that are multiple + runs, + + and we want to be able to return them all + RunGroupSortByEnum: + type: string + enum: + - units + - last_run + - max_duration + title: RunGroupSortByEnum + description: Activities sort properties in the UI. + RunGroupStatusEnum: + type: string + enum: + - partially succeeded + - pending + - canceled + - succeeded + - failed + - running + - skipped + title: RunGroupStatusEnum + description: The run group enum provide all the status that run group can have. + RunTypeEnum: + type: string + enum: + - custom + - multi_tables + - legacy + - predefined_report + title: RunTypeEnum + description: River run types + RunningNumber: + properties: + start_value: + type: integer + title: Start Value + description: The start value of the river entity. + example: 1 + nullable: true + end_value: + type: integer + title: End Value + description: The end value of the river entity. + example: 100 + nullable: true + include_end_value: + type: boolean + title: Include End Value + description: >- + Whether to include or exclude the end_value in the running number + range + default: false + example: true + rows_in_chunk: + type: integer + title: Rows In Chunk + description: The rows in chunk of the river entity. + default: 100000 + example: 1000 + type: object + title: RunningNumber + description: >- + Running number when using incremental on a running number and not date + time + RunsSortByEnum: + type: string + enum: + - units + - start_time + - table_name + title: RunsSortByEnum + description: Activities sort properties in the UI. + S3ModifiedColumn: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the column is selected and should be modified. + example: true + name: + type: string + title: Name + description: The name of the column. + example: column_name + type: + type: string + title: Type + description: The type of the column. + example: string + nullable: true + alias: + type: string + title: Alias + description: The alias of the column in the target table. + example: column_alias + nullable: true + expression: + type: string + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + example: select 'test' + nullable: true + is_key: + type: boolean + title: Is Key + description: If the column is a key. + example: true + nullable: true + sort_order: + type: integer + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + example: 1 + nullable: true + is_sort_key: + type: boolean + title: Is Sort Key + description: If the column is a sort column. + example: true + nullable: true + calculated_column_mode: + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + example: source + nullable: true + order: + type: integer + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + example: 1 + nullable: true + target_type: + type: string + enum: + - s3 + title: Target Type + description: Internal field, populated automatically + default: s3 + nullable: true + additionalProperties: false + type: object + required: + - is_selected + - name + title: S3ModifiedColumn + description: S3 specific columns settings + S3TargetSettings: + properties: + name: + type: string + enum: + - s3 + title: Name + description: The name of the target + default: s3 + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + path: + type: string + title: Path + description: The path of the file zone entity. + example: my_path + bucket_name: + type: string + title: Bucket Name + description: The bucket name of the file zone entity. + example: my_bucket + partitioned_kind: + allOf: + - $ref: '#/components/schemas/PartitionedKindEnum' + description: The partitioned kind of the file zone entity. + example: by_day + convert_file_type: + allOf: + - $ref: '#/components/schemas/ConvertFileTypeEnum' + description: The type of file to convert to + example: parquet + nullable: true + type: object + required: + - path + - bucket_name + - partitioned_kind + title: S3TargetSettings + description: S3 target settings properties to return. + ScheduleEnum: + type: string + enum: + - 'true' + - 'false' + title: ScheduleEnum + description: Schedule can be either True or False (enabled or disabled) + Schema: + properties: + name: + type: string + title: Name + description: The name of the schema + tables: + items: + oneOf: + - $ref: '#/components/schemas/DatabaseTableInput' + - $ref: '#/components/schemas/PredefinedReportShopifyTableInput' + discriminator: + propertyName: run_type_and_datasource + mapping: + multi_tables: '#/components/schemas/DatabaseTableInput' + predefined_report_shopify: '#/components/schemas/PredefinedReportShopifyTableInput' + type: array + title: Tables + default: [] + type: object + required: + - name + title: Schema + description: The schema we use for GET operations + SnowflakeAdditionalTargetSettings: + properties: + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: >- + The order expression of the river entity,to filter duplications from + the source data by the provided order expression (for `merge` + loading method). + example: id desc,createDate asc + nullable: true + target_loading: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: >- + The target loading of the table entity,if not specified the default + loading mode of the riverwill be used. + example: merge + nullable: true + target_type: + type: string + enum: + - snowflake + title: Target Type + description: Internal field, populated automatically + default: snowflake + nullable: true + merge_method: + allOf: + - $ref: '#/components/schemas/MergeMethod' + description: >- + The merge method of the table, if not specified the default merge + method of the riverwill be used. + example: merge + nullable: true + enforce_masking_policy: + type: boolean + title: Enforce Masking Policy + description: >- + Reserve the data masking policy that is applied on the column level + in your target table. + default: false + example: false + nullable: true + recreate_keys: + type: boolean + title: Recreate Keys + description: Recreate the table keys. + default: false + example: false + nullable: true + escape_character: + type: string + title: Escape Character + description: >- + Escape characters allow special characters in strings to be + interpreted as literal characters, rather than as control characters + inside the query + example: \t + nullable: true + type: object + title: SnowflakeAdditionalTargetSettings + description: Snowflake specific target settings + SnowflakeModifiedColumn: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the column is selected and should be modified. + example: true + name: + type: string + title: Name + description: The name of the column. + example: column_name + type: + type: string + title: Type + description: The type of the column. + example: string + nullable: true + alias: + type: string + title: Alias + description: The alias of the column in the target table. + example: column_alias + nullable: true + expression: + type: string + title: Expression + description: >- + This tells us the column is an expression or not so we know if it + suppose to exist in the source / target or is it auto generated. + example: select 'test' + nullable: true + is_key: + type: boolean + title: Is Key + description: If the column is a key. + example: true + nullable: true + sort_order: + type: integer + title: Sort Order + description: >- + The sort order of the column (number), sort order are used in the + merge process to determine the order of the merge keys. + example: 1 + nullable: true + is_sort_key: + type: boolean + title: Is Sort Key + description: If the column is a sort column. + example: true + nullable: true + calculated_column_mode: + allOf: + - $ref: '#/components/schemas/CalculatedColumnModeEnum' + description: >- + The mode of the calculated column.Help to identify if the column is + source expression or target expression,required if the column is an + expression. + example: source + nullable: true + order: + type: integer + title: Order + description: >- + The order of the column in the expression,required if the column is + an expression. + example: 1 + nullable: true + target_type: + type: string + enum: + - snowflake + title: Target Type + description: Internal field, populated automatically + default: snowflake + nullable: true + additionalProperties: false + type: object + required: + - is_selected + - name + title: SnowflakeModifiedColumn + description: Snowflake specific columns settings + SnowflakeTargetSettings: + properties: + name: + type: string + enum: + - snowflake + title: Name + description: The name of the target + default: snowflake + connection_id: + type: string + title: Connection Id + description: The connection ID of this target + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this target + example: Connection 1 + nullable: true + table_name: + type: string + title: Table Name + description: >- + The table name of this target (only relevant for non multi table + source to target rivers) + default: '' + example: Table 1 + nullable: true + target_prefix: + type: string + title: Target Prefix + description: >- + The table prefix of this target (only relevant for multi table + source to target rivers) + default: '' + example: start_at_ + nullable: true + is_ordered_merge_key: + type: boolean + title: Is Ordered Merge Key + description: >- + If the table got any and should consider filter out duplicates data + between source filemerge process(by order). + default: false + example: true + order_expression: + type: string + title: Order Expression + description: The order expression of the river entity. + example: id desc,createDate asc + nullable: true + loading_method: + allOf: + - $ref: '#/components/schemas/LoadingMode' + description: The loading method of this target + example: merge + merge_method: + allOf: + - $ref: '#/components/schemas/MergeMethod' + description: >- + The merge method to preform,only relevant when the loading mode is + Merge,if not provided the default merge method will be used.(merge) + example: merge + nullable: true + file_zone_settings: + allOf: + - $ref: '#/components/schemas/RiverFileZoneSettings' + title: File Zone Settings + description: The file zone settings of this target + nullable: true + file_path_destination: + type: string + title: File Path Destination + description: The file name and path + example: path/to/file + bucket_name: + type: string + title: Bucket Name + description: The bucket name + example: bucket + additional_settings: + type: object + title: Additional Settings + description: The additional settings of this target + default: {} + example: + key: value + nullable: true + database_name: + type: string + title: Database Name + description: The database name of this target + example: Database 1 + nullable: true + schema_name: + type: string + title: Schema Name + description: The schema name of this target + example: Schema 1 + nullable: true + type: object + required: + - loading_method + title: SnowflakeTargetSettings + description: Snowflake target settings properties to return. + SortOrderEnum: + type: string + enum: + - desc + - asc + title: SortOrderEnum + description: Sorting can be either asc or desc, used in the api-service + SourceSettings: + properties: + name: + allOf: + - $ref: '#/components/schemas/SourceTypeEnum' + description: The name of the source (correlate to source type in db) + example: mysql + nullable: true + connection_id: + type: string + title: Connection Id + description: The connection ID of this source. + example: 5f4d3b3d9f9c8b0001f6b0e6 + nullable: true + connection_name: + type: string + title: Connection Name + description: The connection name of this source. + example: Connection 1 + nullable: true + run_type: + allOf: + - $ref: '#/components/schemas/RunTypeEnum' + description: The run type of this source. + default: multi_tables + example: predefined_report + cdc_settings: + oneOf: + - $ref: '#/components/schemas/MysqlSourceCDCSettings' + - $ref: '#/components/schemas/PostgresSourceCDCSettings' + - $ref: '#/components/schemas/OracleSourceCDCSettings' + - $ref: '#/components/schemas/MongoDBSourceCDCSettings' + title: Cdc Settings + description: The CDC settings of this source. + discriminator: + propertyName: datasource_id + mapping: + mysql: '#/components/schemas/MysqlSourceCDCSettings' + postgres: '#/components/schemas/PostgresSourceCDCSettings' + oracle: '#/components/schemas/OracleSourceCDCSettings' + mongodb: '#/components/schemas/MongoDBSourceCDCSettings' + nullable: true + additional_settings: + type: object + title: Additional Settings + description: The additional settings of this source. + default: {} + example: + extract_method: all + nullable: true + type: object + required: + - name + title: SourceSettings + description: Source settings properties to return. + SourceToTargetRiverProperties: + properties: + properties_type: + type: string + enum: + - source_to_target + title: Properties Type + default: source_to_target + source: + allOf: + - $ref: '#/components/schemas/SourceSettings' + title: Source + description: The source of the river. + target: + oneOf: + - $ref: '#/components/schemas/SnowflakeTargetSettings' + - $ref: '#/components/schemas/BigQueryTargetSettings' + - $ref: '#/components/schemas/RedshiftTargetSettings' + - $ref: '#/components/schemas/S3TargetSettings' + - $ref: '#/components/schemas/EmailTargetSettings' + - $ref: '#/components/schemas/BlobStorageSettings' + - $ref: '#/components/schemas/GcsTargetSettings' + - $ref: '#/components/schemas/DatabricksTargetSettings' + - $ref: '#/components/schemas/AzureSynapseAnalyticsTargetSettings' + - $ref: '#/components/schemas/AthenaTargetSettings' + - $ref: '#/components/schemas/AzureSqlTargetSettings' + - $ref: '#/components/schemas/PostgresTargetSettings' + title: Target + description: The target of the river. + discriminator: + propertyName: name + mapping: + snowflake: '#/components/schemas/SnowflakeTargetSettings' + bigquery: '#/components/schemas/BigQueryTargetSettings' + redshift: '#/components/schemas/RedshiftTargetSettings' + s3: '#/components/schemas/S3TargetSettings' + target_email: '#/components/schemas/EmailTargetSettings' + blob_storage: '#/components/schemas/BlobStorageSettings' + GCS: '#/components/schemas/GcsTargetSettings' + databricks: '#/components/schemas/DatabricksTargetSettings' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsTargetSettings' + athena: '#/components/schemas/AthenaTargetSettings' + azure_sql: '#/components/schemas/AzureSqlTargetSettings' + postgres: '#/components/schemas/PostgresTargetSettings' + schemas: + items: + $ref: '#/components/schemas/Schema' + type: array + title: Schemas + description: The schemas of the river entity + default: [] + additionalProperties: false + type: object + required: + - source + - target + title: SourceToTargetRiverProperties + description: Source to target River properties that is being used for GET purposes + SourceTypeEnum: + type: string + enum: + - mysql + - postgresql + - oracle + - mongodb + - shopify + - facebook ads + title: SourceTypeEnum + description: The source type enum provide all the source type options. + SourcedMetadataModelResponse: + properties: + title: + type: string + title: Title + description: The datasource title. + example: my title + description: + type: string + title: Description + description: The datasource description. + example: report description + properties: + type: object + title: Properties + description: The datasource fields and metadata. + required: + items: + type: string + type: array + title: Required + description: A list of required datasource fields + example: + - id + type: object + required: + - title + - description + - properties + title: SourcedMetadataModelResponse + description: The response for the get source metadata. + SplitTimeIntervals: + properties: + time_interval: + allOf: + - $ref: '#/components/schemas/IntervalTimeExternalEnum' + description: The interval time unit to split when using date increment. + default: dont_split + example: days + extra: + name: date_range.split_time_intervals.time_interval + type: split_time_intervals + display_name: >- + Split your loading data into several intervals in case of a large + amount of returned data by: + interval_size: + type: integer + title: Interval Size + description: >- + The number of time units for each interval - for example, when the + interval is set to days and the interval size is 3, each interval + will extract data for 3 days. + default: 1 + example: 3 + extra: + name: date_range.split_time_intervals.interval_size + type: number + display_name: Split Interval Size + condition: + different: dont_split + field_name: date_range.split_time_intervals.time_interval + type: object + title: SplitTimeIntervals + description: >- + Settings for splitting to time intervals when using incremental loading + method by dates. + StatusEnum: + type: string + enum: + - any + - cancelled + - closed + - open + title: StatusEnum + description: Shopify order status enum + TableCDCSettings: + properties: + initiate_table: + type: boolean + title: Initiate Table + description: Initiate migration process for CDC table + example: true + nullable: true + overwrite_table_in_migration: + type: boolean + title: Overwrite Table In Migration + description: Overwrite target table for CDC migration process + example: true + nullable: true + type: object + title: TableCDCSettings + description: The table CDC settings + TableStatusEnum: + type: string + enum: + - waiting_for_migration + - migrating + - tracked + - live + title: TableStatusEnum + description: Table status for rivers in multi table mode + TargetsSortByEnum: + type: string + enum: + - units + - last_run + - table_name + title: TargetsSortByEnum + description: Activities sort properties in the UI. + TeamsSortByEnum: + type: string + enum: + - display_name + - created_at + - source + - is_all_environment_admin + title: TeamsSortByEnum + description: User teams sort properties in the UI. + UpdateRiverVariableInput: + properties: + name: + type: string + title: Name + description: The name of the variable + example: credentials + settings: + allOf: + - $ref: '#/components/schemas/RiverVariableSettings' + title: Settings + description: settings class for variable + example: + clear_value_on_start: true + is_multi_value: false + is_encrypted: false + value: + anyOf: + - type: string + - items: {} + type: array + title: Value + description: value of a variable + example: '1234' + type: object + required: + - name + - settings + title: UpdateRiverVariableInput + description: |- + Logic river variable fields for update. + + UpdateRiverVariableInputList: + properties: + items: + items: + $ref: '#/components/schemas/UpdateRiverVariableInput' + type: array + title: Items + type: object + required: + - items + title: UpdateRiverVariableInputList + description: |- + List of logic river variable fields for update. + + UpdateUserTeamsInput: + properties: + display_name: + type: string + title: Display Name + description: The display name in rivery + example: Rivery Core Team + description: + type: string + title: Description + description: Internal description + example: Some description + environments: + type: object + title: Environments + description: Dictionary of environment id and environment role + example: + 633ede20f1fc5500111fd7b3: + role: viewer + 5f887c764c40e5598f717676: + role: viewer + is_all_environment_admin: + type: boolean + title: Is All Environment Admin + description: Indicates if group have Admin permission for all environment + default: false + example: true + type: object + title: UpdateUserTeamsInput + description: Request update user groups input. + UserInfo: + properties: + user_name: + type: string + title: User Name + description: river version creator username + example: createdby_username + user_email: + type: string + title: User Email + description: river version creator email + example: createdby@rivery.io + type: object + required: + - user_name + - user_email + title: UserInfo + description: |- + River version creator info. + + UserTeamsListResponse: + properties: + next_page: + type: string + title: Next Page + description: The next page URL + nullable: true + previous_page: + type: string + title: Previous Page + description: The previous page URL + nullable: true + page: + type: integer + title: Page + description: The page number + default: 1 + current_page_size: + type: integer + title: Current Page Size + description: The current page size + total_items: + type: integer + title: Total Items + description: The total number of entities fetched + default: 0 + account_id: + type: string + title: Account Id + description: The account id + items: + items: + $ref: '#/components/schemas/UserTeamsModel' + type: array + title: Items + type: object + required: + - current_page_size + - account_id + - items + title: UserTeamsListResponse + description: List user teams response + UserTeamsModel: + properties: + _id: + type: string + title: ' Id' + description: The user group id + example: 633ede20f1fc5500111fd7b3 + account_id: + type: string + title: Account Id + description: The account id + example: 55bf7c4270fdca16cac18761 + display_name: + type: string + title: Display Name + description: The display name in rivery + example: Rivery Core Team + remote_display_name: + type: string + title: Remote Display Name + description: The SCIM display name + example: Core Team + description: + type: string + title: Description + description: Internal description + example: Some description + environments: + type: object + title: Environments + description: Dictionary of environment id and environment role + default: {} + example: + 633ede20f1fc5500111fd7b3: + role: viewer + 5f887c764c40e5598f717676: + role: viewer + is_all_environment_admin: + type: boolean + title: Is All Environment Admin + description: Indicates if group have Admin permission for all environment + default: false + example: true + source: + allOf: + - $ref: '#/components/schemas/GroupOrUserSourceEnum' + description: >- + Source if this group locally of rivery or imported from external + such as Active Directory + default: rivery + example: rivery + created_at: + type: string + format: date-time + title: Created At + description: Created team datatime + example: '2024-03-29T20:59:20.796255' + type: object + required: + - _id + - account_id + - display_name + - created_at + title: UserTeamsModel + description: Base user team model properties to return. + ValidationError: + properties: + loc: + items: + anyOf: + - type: string + - type: integer + type: array + title: Location + msg: + type: string + title: Message + type: + type: string + title: Error Type + type: object + required: + - loc + - msg + - type + title: ValidationError + WriteDatabaseTableDetailsInput: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: The name of the target table (relevant to multi-tables rivers) + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + allOf: + - $ref: '#/components/schemas/ExtractMethodEnum' + description: >- + The extract method of the table entity.if not specified the extract + method of the riverwill be used. + example: incremental + nullable: true + name: + type: string + title: Name + description: The name of the table + example: table_name + incremental_field: + type: string + title: Incremental Field + description: The interval field of the river entity. + example: some_date_field + nullable: true + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: >- + The date range of the river entity only needed if the extract method + is incremental. + nullable: true + running_number: + allOf: + - $ref: '#/components/schemas/RunningNumber' + title: Running Number + description: >- + The running number of the river entity only needed if the extract + method is incremental. + nullable: true + exporter_chunk_size: + type: integer + title: Exporter Chunk Size + description: >- + The exporter chunk size of the river entity. i.e. the number of rows + to extract per chuck + default: 30000 + example: 1000 + table_status: + allOf: + - $ref: '#/components/schemas/TableStatusEnum' + description: The table status of the river entity. + default: waiting_for_migration + example: waiting_for_migration + cdc_settings: + allOf: + - $ref: '#/components/schemas/TableCDCSettings' + title: Cdc Settings + description: The CDC settings of this table. + nullable: true + additional_source_settings: + oneOf: + - $ref: '#/components/schemas/MongoDBAdditionalSourceSettings' + - $ref: '#/components/schemas/MySQLAdditionalSourceSettings' + - $ref: '#/components/schemas/PostgreSQLAdditionalSourceSettings' + - $ref: '#/components/schemas/OracleAdditionalSourceSettings' + title: Additional Source Settings + description: The additional source settings of this table. + examples: + - filter_expression: '' + source_type: mongodb + concurrent_requests_number: 1 + discriminator: + propertyName: source_type + mapping: + mongodb: '#/components/schemas/MongoDBAdditionalSourceSettings' + mysql: '#/components/schemas/MySQLAdditionalSourceSettings' + postgresql: '#/components/schemas/PostgreSQLAdditionalSourceSettings' + oracle: '#/components/schemas/OracleAdditionalSourceSettings' + nullable: true + additionalProperties: false + type: object + required: + - target_table + - name + title: WriteDatabaseTableDetailsInput + description: |- + Table properties which define the db table details data + This schema is being used for Create or Update purposes + WriteDatabaseTableInput: + properties: + run_type_and_datasource: + type: string + enum: + - multi_tables + title: Run Type And Datasource + description: Internal field + default: multi_tables + details: + allOf: + - $ref: '#/components/schemas/WriteDatabaseTableDetailsInput' + title: Details + description: The database table details + type: object + required: + - details + title: WriteDatabaseTableInput + description: |- + Table properties which define the db table data + This schema is being used for Create or Update purposes + WriteFacebookAdsPredefinedAdAccountActivitiesReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_ad_account_activities + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - Date + title: Incremental Field + description: The interval field of the river entity. + default: Date + example: date_field + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteFacebookAdsPredefinedAdAccountActivitiesReport + description: Facebook ads predefined ad account activities report, used for write. + WriteFacebookAdsPredefinedAdAccountReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + type: string + enum: + - predefined_ad_account + title: Report Id + description: The report id + type: object + required: + - target_table + - report_id + title: WriteFacebookAdsPredefinedAdAccountReport + description: Facebook ads predefined ad account report, used for write. + WriteFacebookAdsPredefinedAdCreativesReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_ad_creatives + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - Ads Creation Date + title: Incremental Field + description: The interval field of the river entity. + default: Ads Creation Date + example: ads_creation_date_field + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteFacebookAdsPredefinedAdCreativesReport + description: Facebook ads predefined ad creatives report, used for write. + WriteFacebookAdsPredefinedAdLeadsFormsReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + type: string + enum: + - predefined_ad_leads_forms + title: Report Id + description: The report id + type: object + required: + - target_table + - report_id + title: WriteFacebookAdsPredefinedAdLeadsFormsReport + description: Facebook ads predefined ad leads forms report, used for write. + WriteFacebookAdsPredefinedAdLeadsReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_ad_leads + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - Ads Creation Date + title: Incremental Field + description: The interval field of the river entity. + default: Ads Creation Date + example: ads_creation_date + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteFacebookAdsPredefinedAdLeadsReport + description: Facebook ads predefined ad leads report, used for write. + WriteFacebookAdsPredefinedAdSetsReport: + properties: + adsets_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Adsets Ac + description: Leave empty for all ad sets + default: [] + adsets_filter: + items: + type: string + type: array + title: Adsets Filter + description: Leave empty for all ad sets + default: [] + adsets_ids: + items: + type: string + type: array + title: Adsets Ids + description: Leave empty for all ad sets + default: [] + adsets_names: + items: + type: string + type: array + title: Adsets Names + description: Leave empty for all ad sets + default: [] + adsets_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsSetsTypeEnum' + description: The type of ad sets input to use + examples: + - adsets_names + - adsets_ids + - adsets_filter + campaigns_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Campaigns Ac + description: Leave empty for all campaigns + default: [] + campaigns_filter: + items: + type: string + type: array + title: Campaigns Filter + description: Leave empty for all campaigns + default: [] + campaigns_ids: + items: + type: string + type: array + title: Campaigns Ids + description: Leave empty for all campaigns + default: [] + campaigns_names: + items: + type: string + type: array + title: Campaigns Names + description: Leave empty for all campaigns + default: [] + campaigns_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsCampaignsTypeEnum' + description: The type of campaigns input to use + examples: + - campaigns_names + - campaigns_ids + - campaigns_filter + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + type: string + enum: + - predefined_adsets + title: Report Id + description: The report id + type: object + required: + - target_table + - report_id + title: WriteFacebookAdsPredefinedAdSetsReport + description: Facebook ads predefined ad sets report, used for write. + WriteFacebookAdsPredefinedAdsPixelsReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_ads_pixels + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - Date + title: Incremental Field + description: The interval field of the river entity. + default: Date + example: date_field + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteFacebookAdsPredefinedAdsPixelsReport + description: Facebook ads predefined ads pixels report, used for write. + WriteFacebookAdsPredefinedAdsReport: + properties: + ads_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Ads Ac + description: Leave empty for all ads + default: [] + ads_filter: + items: + type: string + type: array + title: Ads Filter + description: Leave empty for all ads + default: [] + ads_ids: + items: + type: string + type: array + title: Ads Ids + description: Leave empty for all ads + default: [] + ads_names: + items: + type: string + type: array + title: Ads Names + description: Leave empty for all ads + default: [] + ads_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsAdsTypeEnum' + description: The type of ads input to use + examples: + - ads_ids + - ads_names + - ads_filter + adsets_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Adsets Ac + description: Leave empty for all ad sets + default: [] + adsets_filter: + items: + type: string + type: array + title: Adsets Filter + description: Leave empty for all ad sets + default: [] + adsets_ids: + items: + type: string + type: array + title: Adsets Ids + description: Leave empty for all ad sets + default: [] + adsets_names: + items: + type: string + type: array + title: Adsets Names + description: Leave empty for all ad sets + default: [] + adsets_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsSetsTypeEnum' + description: The type of ad sets input to use + examples: + - adsets_names + - adsets_ids + - adsets_filter + campaigns_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Campaigns Ac + description: Leave empty for all campaigns + default: [] + campaigns_filter: + items: + type: string + type: array + title: Campaigns Filter + description: Leave empty for all campaigns + default: [] + campaigns_ids: + items: + type: string + type: array + title: Campaigns Ids + description: Leave empty for all campaigns + default: [] + campaigns_names: + items: + type: string + type: array + title: Campaigns Names + description: Leave empty for all campaigns + default: [] + campaigns_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsCampaignsTypeEnum' + description: The type of campaigns input to use + examples: + - campaigns_names + - campaigns_ids + - campaigns_filter + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_ads + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - Ads Creation Date + title: Incremental Field + description: The interval field of the river entity. + default: Ads Creation Date + example: ads_creation_date + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteFacebookAdsPredefinedAdsReport + description: Facebook ads predefined ads report, used for write. + WriteFacebookAdsPredefinedCampaignsReport: + properties: + campaigns_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Campaigns Ac + description: Leave empty for all campaigns + default: [] + campaigns_filter: + items: + type: string + type: array + title: Campaigns Filter + description: Leave empty for all campaigns + default: [] + campaigns_ids: + items: + type: string + type: array + title: Campaigns Ids + description: Leave empty for all campaigns + default: [] + campaigns_names: + items: + type: string + type: array + title: Campaigns Names + description: Leave empty for all campaigns + default: [] + campaigns_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsCampaignsTypeEnum' + description: The type of campaigns input to use + examples: + - campaigns_names + - campaigns_ids + - campaigns_filter + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + type: string + enum: + - predefined_campaigns + title: Report Id + description: The report id + type: object + required: + - target_table + - report_id + title: WriteFacebookAdsPredefinedCampaignsReport + description: Facebook ads predefined campaigns report, used for write. + WriteFacebookAdsPredefinedCustomAudiencesReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + type: string + enum: + - predefined_custom_audiences + title: Report Id + description: The report id + type: object + required: + - target_table + - report_id + title: WriteFacebookAdsPredefinedCustomAudiencesReport + description: Facebook ads predefined custom audiences report, used for write. + WriteFacebookAdsPredefinedCustomConversionsReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + type: string + enum: + - predefined_custom_conversions + title: Report Id + description: The report id + type: object + required: + - target_table + - report_id + title: WriteFacebookAdsPredefinedCustomConversionsReport + description: Facebook ads predefined custom conversions report, used for write. + WriteFacebookAdsPredefinedInsightBasicReport: + properties: + ads_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Ads Ac + description: Leave empty for all ads + default: [] + ads_filter: + items: + type: string + type: array + title: Ads Filter + description: Leave empty for all ads + default: [] + ads_ids: + items: + type: string + type: array + title: Ads Ids + description: Leave empty for all ads + default: [] + ads_names: + items: + type: string + type: array + title: Ads Names + description: Leave empty for all ads + default: [] + ads_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsAdsTypeEnum' + description: The type of ads input to use + examples: + - ads_ids + - ads_names + - ads_filter + adsets_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Adsets Ac + description: Leave empty for all ad sets + default: [] + adsets_filter: + items: + type: string + type: array + title: Adsets Filter + description: Leave empty for all ad sets + default: [] + adsets_ids: + items: + type: string + type: array + title: Adsets Ids + description: Leave empty for all ad sets + default: [] + adsets_names: + items: + type: string + type: array + title: Adsets Names + description: Leave empty for all ad sets + default: [] + adsets_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsSetsTypeEnum' + description: The type of ad sets input to use + examples: + - adsets_names + - adsets_ids + - adsets_filter + campaigns_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Campaigns Ac + description: Leave empty for all campaigns + default: [] + campaigns_filter: + items: + type: string + type: array + title: Campaigns Filter + description: Leave empty for all campaigns + default: [] + campaigns_ids: + items: + type: string + type: array + title: Campaigns Ids + description: Leave empty for all campaigns + default: [] + campaigns_names: + items: + type: string + type: array + title: Campaigns Names + description: Leave empty for all campaigns + default: [] + campaigns_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsCampaignsTypeEnum' + description: The type of campaigns input to use + examples: + - campaigns_names + - campaigns_ids + - campaigns_filter + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_insight_report_basic + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - Date + title: Incremental Field + description: The interval field of the river entity. + default: Date + example: date_field + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteFacebookAdsPredefinedInsightBasicReport + description: Facebook ads predefined insights basic report, used for write. + WriteFacebookAdsPredefinedInsightReportAgeGender: + properties: + ads_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Ads Ac + description: Leave empty for all ads + default: [] + ads_filter: + items: + type: string + type: array + title: Ads Filter + description: Leave empty for all ads + default: [] + ads_ids: + items: + type: string + type: array + title: Ads Ids + description: Leave empty for all ads + default: [] + ads_names: + items: + type: string + type: array + title: Ads Names + description: Leave empty for all ads + default: [] + ads_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsAdsTypeEnum' + description: The type of ads input to use + examples: + - ads_ids + - ads_names + - ads_filter + adsets_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Adsets Ac + description: Leave empty for all ad sets + default: [] + adsets_filter: + items: + type: string + type: array + title: Adsets Filter + description: Leave empty for all ad sets + default: [] + adsets_ids: + items: + type: string + type: array + title: Adsets Ids + description: Leave empty for all ad sets + default: [] + adsets_names: + items: + type: string + type: array + title: Adsets Names + description: Leave empty for all ad sets + default: [] + adsets_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsSetsTypeEnum' + description: The type of ad sets input to use + examples: + - adsets_names + - adsets_ids + - adsets_filter + campaigns_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Campaigns Ac + description: Leave empty for all campaigns + default: [] + campaigns_filter: + items: + type: string + type: array + title: Campaigns Filter + description: Leave empty for all campaigns + default: [] + campaigns_ids: + items: + type: string + type: array + title: Campaigns Ids + description: Leave empty for all campaigns + default: [] + campaigns_names: + items: + type: string + type: array + title: Campaigns Names + description: Leave empty for all campaigns + default: [] + campaigns_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsCampaignsTypeEnum' + description: The type of campaigns input to use + examples: + - campaigns_names + - campaigns_ids + - campaigns_filter + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_insight_report_age_gender + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - Date + title: Incremental Field + description: The interval field of the river entity. + default: Date + example: date_field + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteFacebookAdsPredefinedInsightReportAgeGender + description: Facebook ads predefined insights age gender report, used for write. + WriteFacebookAdsPredefinedInsightReportCountry: + properties: + ads_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Ads Ac + description: Leave empty for all ads + default: [] + ads_filter: + items: + type: string + type: array + title: Ads Filter + description: Leave empty for all ads + default: [] + ads_ids: + items: + type: string + type: array + title: Ads Ids + description: Leave empty for all ads + default: [] + ads_names: + items: + type: string + type: array + title: Ads Names + description: Leave empty for all ads + default: [] + ads_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsAdsTypeEnum' + description: The type of ads input to use + examples: + - ads_ids + - ads_names + - ads_filter + adsets_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Adsets Ac + description: Leave empty for all ad sets + default: [] + adsets_filter: + items: + type: string + type: array + title: Adsets Filter + description: Leave empty for all ad sets + default: [] + adsets_ids: + items: + type: string + type: array + title: Adsets Ids + description: Leave empty for all ad sets + default: [] + adsets_names: + items: + type: string + type: array + title: Adsets Names + description: Leave empty for all ad sets + default: [] + adsets_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsSetsTypeEnum' + description: The type of ad sets input to use + examples: + - adsets_names + - adsets_ids + - adsets_filter + campaigns_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Campaigns Ac + description: Leave empty for all campaigns + default: [] + campaigns_filter: + items: + type: string + type: array + title: Campaigns Filter + description: Leave empty for all campaigns + default: [] + campaigns_ids: + items: + type: string + type: array + title: Campaigns Ids + description: Leave empty for all campaigns + default: [] + campaigns_names: + items: + type: string + type: array + title: Campaigns Names + description: Leave empty for all campaigns + default: [] + campaigns_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsCampaignsTypeEnum' + description: The type of campaigns input to use + examples: + - campaigns_names + - campaigns_ids + - campaigns_filter + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_insight_report_country + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - Date + title: Incremental Field + description: The interval field of the river entity. + default: Date + example: date_field + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteFacebookAdsPredefinedInsightReportCountry + description: Facebook ads predefined insights country report, used for write. + WriteFacebookAdsPredefinedInsightReportPlatform: + properties: + ads_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Ads Ac + description: Leave empty for all ads + default: [] + ads_filter: + items: + type: string + type: array + title: Ads Filter + description: Leave empty for all ads + default: [] + ads_ids: + items: + type: string + type: array + title: Ads Ids + description: Leave empty for all ads + default: [] + ads_names: + items: + type: string + type: array + title: Ads Names + description: Leave empty for all ads + default: [] + ads_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsAdsTypeEnum' + description: The type of ads input to use + examples: + - ads_ids + - ads_names + - ads_filter + adsets_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Adsets Ac + description: Leave empty for all ad sets + default: [] + adsets_filter: + items: + type: string + type: array + title: Adsets Filter + description: Leave empty for all ad sets + default: [] + adsets_ids: + items: + type: string + type: array + title: Adsets Ids + description: Leave empty for all ad sets + default: [] + adsets_names: + items: + type: string + type: array + title: Adsets Names + description: Leave empty for all ad sets + default: [] + adsets_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsSetsTypeEnum' + description: The type of ad sets input to use + examples: + - adsets_names + - adsets_ids + - adsets_filter + campaigns_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Campaigns Ac + description: Leave empty for all campaigns + default: [] + campaigns_filter: + items: + type: string + type: array + title: Campaigns Filter + description: Leave empty for all campaigns + default: [] + campaigns_ids: + items: + type: string + type: array + title: Campaigns Ids + description: Leave empty for all campaigns + default: [] + campaigns_names: + items: + type: string + type: array + title: Campaigns Names + description: Leave empty for all campaigns + default: [] + campaigns_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsCampaignsTypeEnum' + description: The type of campaigns input to use + examples: + - campaigns_names + - campaigns_ids + - campaigns_filter + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_insight_report_platform + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - Date + title: Incremental Field + description: The interval field of the river entity. + default: Date + example: date_field + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteFacebookAdsPredefinedInsightReportPlatform + description: Facebook ads predefined insights platform report, used for write. + WriteFacebookAdsPredefinedInsightReportProduct: + properties: + ads_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Ads Ac + description: Leave empty for all ads + default: [] + ads_filter: + items: + type: string + type: array + title: Ads Filter + description: Leave empty for all ads + default: [] + ads_ids: + items: + type: string + type: array + title: Ads Ids + description: Leave empty for all ads + default: [] + ads_names: + items: + type: string + type: array + title: Ads Names + description: Leave empty for all ads + default: [] + ads_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsAdsTypeEnum' + description: The type of ads input to use + examples: + - ads_ids + - ads_names + - ads_filter + adsets_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Adsets Ac + description: Leave empty for all ad sets + default: [] + adsets_filter: + items: + type: string + type: array + title: Adsets Filter + description: Leave empty for all ad sets + default: [] + adsets_ids: + items: + type: string + type: array + title: Adsets Ids + description: Leave empty for all ad sets + default: [] + adsets_names: + items: + type: string + type: array + title: Adsets Names + description: Leave empty for all ad sets + default: [] + adsets_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsSetsTypeEnum' + description: The type of ad sets input to use + examples: + - adsets_names + - adsets_ids + - adsets_filter + campaigns_ac: + items: + $ref: '#/components/schemas/IDNameInput' + type: array + title: Campaigns Ac + description: Leave empty for all campaigns + default: [] + campaigns_filter: + items: + type: string + type: array + title: Campaigns Filter + description: Leave empty for all campaigns + default: [] + campaigns_ids: + items: + type: string + type: array + title: Campaigns Ids + description: Leave empty for all campaigns + default: [] + campaigns_names: + items: + type: string + type: array + title: Campaigns Names + description: Leave empty for all campaigns + default: [] + campaigns_type: + allOf: + - $ref: '#/components/schemas/FacebookAdsCampaignsTypeEnum' + description: The type of campaigns input to use + examples: + - campaigns_names + - campaigns_ids + - campaigns_filter + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_insight_report_product + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - Date + title: Incremental Field + description: The interval field of the river entity. + default: Date + example: date_field + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteFacebookAdsPredefinedInsightReportProduct + description: Facebook ads predefined insights product report, used for write. + WriteFacebookAdsPredefinedSavedAudiencesReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + type: string + enum: + - predefined_saved_audiences + title: Report Id + description: The report id + type: object + required: + - target_table + - report_id + title: WriteFacebookAdsPredefinedSavedAudiencesReport + description: Facebook ads predefined saved audiences report, used for write. + WritePredefinedReportFacebookAdsTableInput: + properties: + run_type_and_datasource: + type: string + enum: + - predefined_report_facebook ads + title: Run Type And Datasource + description: Internal field + default: predefined_report_facebook ads + details: + anyOf: + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedInsightBasicReport + - $ref: '#/components/schemas/WriteFacebookAdsPredefinedCampaignsReport' + - $ref: '#/components/schemas/WriteFacebookAdsPredefinedAdsReport' + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedAdLeadsFormsReport + - $ref: '#/components/schemas/WriteFacebookAdsPredefinedAdsPixelsReport' + - $ref: '#/components/schemas/WriteFacebookAdsPredefinedAdSetsReport' + - $ref: '#/components/schemas/WriteFacebookAdsPredefinedAdAccountReport' + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedAdAccountActivitiesReport + - $ref: '#/components/schemas/WriteFacebookAdsPredefinedAdCreativesReport' + - $ref: '#/components/schemas/WriteFacebookAdsPredefinedAdLeadsReport' + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedCustomAudiencesReport + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedCustomConversionsReport + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedInsightReportAgeGender + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedInsightReportCountry + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedInsightReportPlatform + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedInsightReportProduct + - $ref: >- + #/components/schemas/WriteFacebookAdsPredefinedSavedAudiencesReport + title: Details + description: The predefined report table details + additionalProperties: false + type: object + required: + - details + title: WritePredefinedReportFacebookAdsTableInput + description: |- + Table properties which define the predefined report table data + This schema is being used for Create or Update purposes + WritePredefinedReportShopifyTableInput: + properties: + run_type_and_datasource: + type: string + enum: + - predefined_report_shopify + title: Run Type And Datasource + description: Internal field + default: predefined_report_shopify + details: + anyOf: + - $ref: '#/components/schemas/WriteShopifyPredefinedOrdersReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedShopReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedAddressesReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedAnalyticReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedCustomersReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedInventoryLevelsReport' + - $ref: '#/components/schemas/WriteShopifyPredefinedMarketingEventsReport' + - $ref: >- + #/components/schemas/WriteShopifyPredefinedOrderTransactionsReport + - $ref: '#/components/schemas/WriteShopifyPredefinedProductsReport' + title: Details + description: The predefined report table details + additionalProperties: false + type: object + required: + - details + title: WritePredefinedReportShopifyTableInput + description: |- + Table properties which define the predefined report table data + This schema is being used for Create or Update purposes + WriteRiverInput: + properties: + name: + type: string + title: Name + description: The name of the river. + example: river_name + kind: + allOf: + - $ref: '#/components/schemas/RiverKindEnum' + description: The kind of the river. + default: main_river + example: main_river + nullable: true + type: + allOf: + - $ref: '#/components/schemas/RiverTypeEnum' + description: The type of river. + example: source_to_target + group_id: + type: string + title: Group Id + description: The id of the group the river belongs to. + example: 55fr7d4270fdca16cac18261 + nullable: true + group_name: + type: string + title: Group Name + description: The name of the group the river belongs to. + example: river_group_1 + nullable: true + metadata: + allOf: + - $ref: '#/components/schemas/RiverMetadata' + title: Metadata + description: An object containing river metadata. + default: + description: '' + river_status: disabled + settings: + allOf: + - $ref: '#/components/schemas/RiverSettings' + title: Settings + description: An object containing river settings. + default: + run_timeout_seconds: 43200 + properties: + oneOf: + - $ref: '#/components/schemas/WriteSourceToTargetRiverPropertiesInput' + - $ref: '#/components/schemas/ActionProperties' + - $ref: '#/components/schemas/LogicProperties' + title: Properties + description: The properties of a river. + discriminator: + propertyName: properties_type + mapping: + source_to_target: '#/components/schemas/WriteSourceToTargetRiverPropertiesInput' + actions: '#/components/schemas/ActionProperties' + logic: '#/components/schemas/LogicProperties' + schedulers: + items: + $ref: '#/components/schemas/RiverSchedule' + type: array + maxItems: 1 + minItems: 0 + title: Schedulers + description: >- + An object containing the schedule settings. Currently support only + one scheduler + default: [] + cross_id: + type: string + title: Cross Id + description: The cross_id of the river to be deployed. + nullable: true + hidden: true + deployment_definition: + type: object + title: Deployment Definition + description: The deployment definition of the river to be deployed. + nullable: true + hidden: true + additionalProperties: false + type: object + required: + - name + - type + - properties + title: WriteRiverInput + description: River fields for new river creation / update an existing river. + WriteSchemaInput: + properties: + name: + type: string + title: Name + description: The name of the schema + tables: + items: + oneOf: + - $ref: '#/components/schemas/WriteDatabaseTableInput' + - $ref: '#/components/schemas/WritePredefinedReportShopifyTableInput' + - $ref: >- + #/components/schemas/WritePredefinedReportFacebookAdsTableInput + discriminator: + propertyName: run_type_and_datasource + mapping: + multi_tables: '#/components/schemas/WriteDatabaseTableInput' + predefined_report_shopify: '#/components/schemas/WritePredefinedReportShopifyTableInput' + predefined_report_facebook ads: >- + #/components/schemas/WritePredefinedReportFacebookAdsTableInput + type: array + title: Tables + default: [] + type: object + required: + - name + title: WriteSchemaInput + description: Schema properties to write (PUT operations) + WriteShopifyPredefinedAddressesReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_addresses + title: Report Id + description: The report id + incremental_field: + allOf: + - $ref: '#/components/schemas/IncrementalFieldEnum' + description: The interval field of the river entity. + default: updated at + example: date_field + extra: + display_name: Incremental Field + type: incremental_field + options: + - label: updated at + value: updated at + - label: created at + value: created at + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteShopifyPredefinedAddressesReport + description: Shopify predefined addresses report, used for write. + report_index: + extract_method: 0 + incremental_field: 1 + incremental_type: 2 + date_range: 3 + advanced_settings: 4 + include_end_value: 4.1 + time_interval: 4.2 + interval_size: 4.3 + skip_failed_queues: 5 + extra_fields: + skip_failed_queues: + display_name: Number of allowed failed queues + name: skip_failed_queues + value: 0 + required: false + type: number + readonly: true + chakra: true + WriteShopifyPredefinedAnalyticReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_analytic_reports + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - updated at + title: Incremental Field + description: The interval field of the river entity. + default: updated at + example: date_field + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteShopifyPredefinedAnalyticReport + description: Shopify predefined analytic report, used for write. + report_index: + extract_method: 0 + incremental_field: 1 + incremental_type: 2 + date_range: 3 + advanced_settings: 4 + include_end_value: 4.1 + time_interval: 4.2 + interval_size: 4.3 + skip_failed_queues: 5 + extra_fields: + skip_failed_queues: + display_name: Number of allowed failed queues + name: skip_failed_queues + value: 0 + required: false + type: number + readonly: true + chakra: true + WriteShopifyPredefinedCustomersReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_customers + title: Report Id + description: The report id + incremental_field: + allOf: + - $ref: '#/components/schemas/IncrementalFieldEnum' + description: The interval field of the river entity. + default: updated at + example: date_field + extra: + display_name: Incremental Field + type: incremental_field + options: + - label: updated at + value: updated at + - label: created at + value: created at + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteShopifyPredefinedCustomersReport + description: Shopify predefined analytic report, used for write. + report_index: + extract_method: 0 + incremental_field: 1 + incremental_type: 2 + date_range: 3 + advanced_settings: 4 + include_end_value: 4.1 + time_interval: 4.2 + interval_size: 4.3 + skip_failed_queues: 5 + extra_fields: + skip_failed_queues: + display_name: Number of allowed failed queues + name: skip_failed_queues + value: 0 + required: false + type: number + readonly: true + chakra: true + WriteShopifyPredefinedInventoryLevelsReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_inventory_levels + title: Report Id + description: The report id + incremental_field: + allOf: + - $ref: '#/components/schemas/IncrementalFieldEnum' + description: The interval field of the river entity. + default: created at + example: date_field + extra: + display_name: Incremental Field + type: incremental_field + options: + - label: updated at + value: updated at + - label: created at + value: created at + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteShopifyPredefinedInventoryLevelsReport + description: Shopify predefined inventory levels report, used for write. + report_index: + extract_method: 0 + incremental_field: 1 + incremental_type: 2 + date_range: 3 + advanced_settings: 4 + include_end_value: 4.1 + time_interval: 4.2 + interval_size: 4.3 + skip_failed_queues: 5 + extra_fields: + skip_failed_queues: + display_name: Number of allowed failed queues + name: skip_failed_queues + value: 0 + required: false + type: number + readonly: true + chakra: true + WriteShopifyPredefinedMarketingEventsReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + type: string + enum: + - predefined_marketing_events + title: Report Id + description: The report id + type: object + required: + - target_table + - report_id + title: WriteShopifyPredefinedMarketingEventsReport + description: Shopify predefined marketing events report, used for write. + report_index: + extract_method: 0 + WriteShopifyPredefinedOrderTransactionsReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_order_transactions + title: Report Id + description: The report id + incremental_field: + allOf: + - $ref: '#/components/schemas/IncrementalFieldEnum' + description: The interval field of the river entity. + default: updated at + example: date_field + extra: + display_name: Incremental Field + type: incremental_field + options: + - label: updated at + value: updated at + - label: created at + value: created at + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteShopifyPredefinedOrderTransactionsReport + description: Shopify predefined order transaction report, used for write. + report_index: + extract_method: 0 + incremental_field: 1 + incremental_type: 2 + date_range: 3 + advanced_settings: 4 + include_end_value: 4.1 + time_interval: 4.2 + interval_size: 4.3 + skip_failed_queues: 5 + extra_fields: + skip_failed_queues: + display_name: Number of allowed failed queues + name: skip_failed_queues + value: 0 + required: false + type: number + readonly: true + chakra: true + WriteShopifyPredefinedOrdersReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_orders + title: Report Id + description: The report id + incremental_field: + type: string + enum: + - updated at + title: Incremental Field + description: The interval field of the river entity. + default: updated at + example: date_field + extra: + display_name: Incremental Field + type: incremental_field + options: + - label: updated at + value: updated at + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + status: + allOf: + - $ref: '#/components/schemas/StatusEnum' + description: Filter by order status + default: any + extra: + required: true + chakra: true + display_name: Status + type: list_single_options + options: + - id: any + name: Any + - id: cancelled + name: Cancelled + - id: closed + name: Closed + - id: open + name: Open + financial_status: + allOf: + - $ref: '#/components/schemas/FinancialStatusEnum' + description: Filter by order's financial status + default: any + extra: + chakra: true + display_name: Financial Status + type: list_single_options + options: + - id: any + name: Any + - id: paid + name: Paid + - id: unpaid + name: Unpaid + - id: voided + name: Voided + - id: pending + name: Pending + - id: refunded + name: Refunded + - id: authorized + name: Authorized + - id: partially_paid + name: Partially paid + - id: partially_refunded + name: Partially refunded + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteShopifyPredefinedOrdersReport + description: Shopify predefined orders report, used for write. + report_index: + status: 0 + financial_status: 1 + extract_method: 2 + incremental_field: 3 + incremental_type: 4 + date_range: 5 + advanced_settings: 6 + include_end_value: 6.1 + time_interval: 6.2 + interval_size: 6.3 + skip_failed_queues: 7 + extra_fields: + skip_failed_queues: + display_name: Number of allowed failed queues + name: skip_failed_queues + value: 0 + required: false + type: number + readonly: true + chakra: true + WriteShopifyPredefinedProductsReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: incremental + example: incremental + extra: + title: Extract Method + type: extract_method + name: extract_method + display_name: Pick the way you would like to extract data from your source + is_disabled: true + report_id: + type: string + enum: + - predefined_products + title: Report Id + description: The report id + incremental_field: + allOf: + - $ref: '#/components/schemas/ProductsIncrementalFieldEnum' + description: The interval field of the river entity. + default: updated at + example: date_field + extra: + display_name: Incremental Field + type: incremental_field + options: + - label: updated at + value: updated at + - label: created at + value: created at + - label: published at + value: published at + date_range: + allOf: + - $ref: '#/components/schemas/DateRange' + title: Date Range + description: The date range of the river entity. + extra: + type: date_range + additionalProperties: false + type: object + required: + - target_table + - report_id + - date_range + title: WriteShopifyPredefinedProductsReport + description: Shopify predefined products report, used for write. + report_index: + extract_method: 0 + incremental_field: 1 + incremental_type: 2 + date_range: 3 + advanced_settings: 4 + include_end_value: 4.1 + time_interval: 4.2 + interval_size: 4.3 + skip_failed_queues: 5 + extra_fields: + skip_failed_queues: + display_name: Number of allowed failed queues + name: skip_failed_queues + value: 0 + required: false + type: number + readonly: true + chakra: true + WriteShopifyPredefinedShopReport: + properties: + is_selected: + type: boolean + title: Is Selected + description: If the table is selected or not. + default: false + example: true + target_table: + type: string + title: Target Table + description: >- + The name of the target table relevant to multi-tables and predefined + rivers + example: target_table_name + modified_columns: + items: + oneOf: + - $ref: '#/components/schemas/BigQueryModifiedColumn' + - $ref: '#/components/schemas/SnowflakeModifiedColumn' + - $ref: '#/components/schemas/RedshiftModifiedColumn' + - $ref: '#/components/schemas/S3ModifiedColumn' + - $ref: '#/components/schemas/GCSModifiedColumn' + - $ref: '#/components/schemas/AthenaModifiedColumn' + - $ref: '#/components/schemas/AzureSqlModifiedColumn' + - $ref: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + - $ref: '#/components/schemas/DatabricksModifiedColumn' + - $ref: '#/components/schemas/PostgresModifiedColumn' + discriminator: + propertyName: target_type + mapping: + bigquery: '#/components/schemas/BigQueryModifiedColumn' + snowflake: '#/components/schemas/SnowflakeModifiedColumn' + redshift: '#/components/schemas/RedshiftModifiedColumn' + s3: '#/components/schemas/S3ModifiedColumn' + GCS: '#/components/schemas/GCSModifiedColumn' + athena: '#/components/schemas/AthenaModifiedColumn' + azure_sql: '#/components/schemas/AzureSqlModifiedColumn' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsModifiedColumn' + databricks: '#/components/schemas/DatabricksModifiedColumn' + postgres: '#/components/schemas/PostgresModifiedColumn' + type: array + title: Modified Columns + description: >- + The modified columns of the river entityfor example if you want to + unselect a column or change the column name or type. + default: [] + additional_target_settings: + oneOf: + - $ref: '#/components/schemas/SnowflakeAdditionalTargetSettings' + - $ref: '#/components/schemas/RedshiftAdditionalTargetSettings' + - $ref: '#/components/schemas/BigQueryAdditionalTargetSettings' + - $ref: '#/components/schemas/AthenaAdditionalTargetSettings' + - $ref: '#/components/schemas/AzureSqlAdditionalTargetSettings' + - $ref: '#/components/schemas/PostgresAdditionalTargetSettings' + title: Additional Target Settings + description: The additional target settings of this table. + examples: + - is_ordered_merge_key: false + target_type: snowflake + enforce_masking_policy: false + recreate_keys: false + - is_ordered_merge_key: false + target_type: redshift + distribution_method: even + - is_ordered_merge_key: false + target_type: bigquery + split_tables: no_split + discriminator: + propertyName: target_type + mapping: + snowflake: '#/components/schemas/SnowflakeAdditionalTargetSettings' + redshift: '#/components/schemas/RedshiftAdditionalTargetSettings' + bigquery: '#/components/schemas/BigQueryAdditionalTargetSettings' + athena: '#/components/schemas/AthenaAdditionalTargetSettings' + azure_sql: '#/components/schemas/AzureSqlAdditionalTargetSettings' + postgres: '#/components/schemas/PostgresAdditionalTargetSettings' + nullable: true + extract_method: + type: string + title: Extract Method + description: The extract method of the table entity. + default: all + example: all + extra: + title: Extract Method + display_name: Pick the way you would like to extract data from your source + example: all + is_disabled: true + type: extract_method + name: extract_method + report_id: + type: string + enum: + - predefined_shop + title: Report Id + description: The report id + type: object + required: + - target_table + - report_id + title: WriteShopifyPredefinedShopReport + description: Shopify predefined shop report, used for write. + report_index: + extract_method: 0 + WriteSourceToTargetRiverPropertiesInput: + properties: + properties_type: + type: string + enum: + - source_to_target + title: Properties Type + default: source_to_target + source: + allOf: + - $ref: '#/components/schemas/SourceSettings' + title: Source + description: The source of the river. + target: + oneOf: + - $ref: '#/components/schemas/SnowflakeTargetSettings' + - $ref: '#/components/schemas/BigQueryTargetSettings' + - $ref: '#/components/schemas/RedshiftTargetSettings' + - $ref: '#/components/schemas/S3TargetSettings' + - $ref: '#/components/schemas/EmailTargetSettings' + - $ref: '#/components/schemas/BlobStorageSettings' + - $ref: '#/components/schemas/GcsTargetSettings' + - $ref: '#/components/schemas/DatabricksTargetSettings' + - $ref: '#/components/schemas/AzureSynapseAnalyticsTargetSettings' + - $ref: '#/components/schemas/AthenaTargetSettings' + - $ref: '#/components/schemas/AzureSqlTargetSettings' + - $ref: '#/components/schemas/PostgresTargetSettings' + title: Target + description: The target of the river. + discriminator: + propertyName: name + mapping: + snowflake: '#/components/schemas/SnowflakeTargetSettings' + bigquery: '#/components/schemas/BigQueryTargetSettings' + redshift: '#/components/schemas/RedshiftTargetSettings' + s3: '#/components/schemas/S3TargetSettings' + target_email: '#/components/schemas/EmailTargetSettings' + blob_storage: '#/components/schemas/BlobStorageSettings' + GCS: '#/components/schemas/GcsTargetSettings' + databricks: '#/components/schemas/DatabricksTargetSettings' + azure_synapse_analytics: '#/components/schemas/AzureSynapseAnalyticsTargetSettings' + athena: '#/components/schemas/AthenaTargetSettings' + azure_sql: '#/components/schemas/AzureSqlTargetSettings' + postgres: '#/components/schemas/PostgresTargetSettings' + schemas: + items: + $ref: '#/components/schemas/WriteSchemaInput' + type: array + title: Schemas + description: The schemas of the river entity + default: [] + additionalProperties: false + type: object + required: + - source + - target + title: WriteSourceToTargetRiverPropertiesInput + description: Source to target River properties that is being used for PUT purposes + securitySchemes: + HTTPBearer: + type: http + scheme: bearer +tags: + - name: Rivers + description: Management of rivers + - name: Activities + description: Get the Rivery's activities data with various of GET operations + - name: Connections + description: Management of connection entities + - name: Dataframes + description: Management of dataframe entities + - name: Environments + description: Listing account's environments + - name: Accounts + description: Listing accounts + - name: Audit Events + description: Listing account's audit events + - name: Beta Endpoints + description: Beta endpoints diff --git a/sdks/db/intermediate-fixed-specs/secoda/openapi.yaml b/sdks/db/intermediate-fixed-specs/secoda/openapi.yaml new file mode 100644 index 000000000..0c4af1eab --- /dev/null +++ b/sdks/db/intermediate-fixed-specs/secoda/openapi.yaml @@ -0,0 +1,5157 @@ +openapi: 3.0.0 +info: + title: Secoda API + version: 1.0.0 + description: > + Use this API to programmatically use Secoda's data enablement features. With + these APIs, you can bring in resource metadata, build documentation + pipelines, and manage workspace settings programmatically. + + + To learn more about Secoda, visit the [Secoda + documentation](https://docs.secoda.co/). + + + To get in touch with Secoda, contact customer support at support@secoda.co. + + + ## Getting Started + + + ### Authentication + + + Secoda API's require an Authorization header with a Bearer token. You can + generate an API key in your workspace, as outlined + [here](https://docs.secoda.co/secoda-api/authentication). + + + ### Base URL + + + To determine the base URL of your API requests, please refer to the chart + below. + + + | Workspace URL | Base URL | + + | ---------------------- | ---------------------- | + + | app.secoda.co | api.secoda.co | + + | eu.secoda.co | eapi.secoda.co | + + | apac.secoda.co | aapi.secoda.co | + + + For teams with an On Premise or Managed instance with a custom domain, the + Base URL is the custom domain followed by `/api/v1`. + + + ## Helpful Information + + + Secoda’s APIs generally follow the CRUD pattern (Create, Read, Update, + Delete). The data elements that are managed with these APIs are called + Resources. Generally, each resource maps to an integration, with many set + and customizable properties called Metadata. + + + ### Important Terminology + + + **Workspace:** + + In Secoda, a workspace is the environment within the application where teams + can integrate resources and metadata and add documentation, either through + the UI or programatically through the API. + + + **Resource:** + + In Secoda, a resource is any entity that metadata can be added to. This + includes, but is not limited to, tables, dashboards, charts, columns, + queries, documents, dictionary terms, and more. + + + **Metadata:** + + In Secoda, metadata is the additional information you can provide to add + context to your resources. This includes descriptions, definitions, owners, + custom properties, and more. Metadata is the lifeblood of Secoda; the more + you put in, the more you'll get out of the tool! + + + ### Resource Heirarchy + + + Nearly all resources in Secoda can be nested under a parent. A resource has + a one to many relationship with its child. This means thats a parent + resource can have several children, but a child resource can only have one + parent. + + + For Collections, Dictionary Terms, and Documents, the parent must be the + same resource type. However, there are two unique heirarchy structures that + the application expects when adding net new resources. + + + **Table Heirarchy:** Integration > Databases > Schemas > Tables > Columns > + Columns (if nested) + + + **Dashboard Heirarchy:** Integration > Groups > Dashboards > Charts +servers: + - url: https://api.secoda.co + description: Base URL for all US cloud based workspaces. + - url: https://eapi.secoda.co + description: Base URL for all EU cloud based workspaces. + - url: https://aapi.secoda.co + description: Base URL for all APAC cloud based workspaces. + - url: https://{customer_domain}.secoda.co/api/v1 + description: Base URL for On Premise Secoda workspaces. + variables: + customer_domain: + default: customer_domain + description: The specific domain set up for your On Premise Secoda workspace. +security: + - ApiKeyAuth: [] +tags: + - name: Integrations + description: External sources from which resources and metadata are extracted. + - name: Databases + description: Databases or similar data elements from an integration. + - name: Schemas + description: Schemas or similar data elements from an integration. + - name: Tables + description: Tables or similar data elements from an integration. + - name: Columns + description: Columns or similar data elements from an integration. + - name: Dashboard Groups + description: A grouping of related dashboards or charts from an integration. + - name: Dashboards + description: Dashboards or similar visualization elements from an integration. + - name: Charts + description: Charts or similar visualization elements from an integration. + - name: Event Categories + description: A grouping of related events from an integration. + - name: Events + description: Data elements representing an event from an integration. + - name: Event Properties + description: The properties associated with an event from an integration. + - name: Lineage + description: > + The dependencies between resources. Learn more about lineage + [here](https://docs.secoda.co/features/data-lineage). + - name: Tags + description: >- + Labels used to categorize, filter, and classify resources. Learn more + about tags + [here](https://docs.secoda.co/resource-and-metadata-management/tags/custom-tags). + - name: Terms + description: > + Definitions and explanations of specific data-related concepts. Learn more + about terms [here](https://docs.secoda.co/features/metrics). + - name: Collections + description: > + Groups of related resources within the workspace. Learn more about + collections [here](https://docs.secoda.co/features/collections-1). + - name: Questions + description: > + Questions asked by data consumers and their associated answers in the + workspace. Learn more about questions + [here](https://docs.secoda.co/features/ask-questions-in-secoda). + - name: Documents + description: > + Mark down content used to add documentation to the workspace. Learn more + about documents [here](https://docs.secoda.co/features/documents). + - name: Queries + description: > + Queries from an extraction. Learn more about queries + [here](https://docs.secoda.co/features/queries). + - name: Users + description: > + Members within the workspace. Learn more about user management + [here](https://docs.secoda.co/user-management). + - name: Teams + description: > + Teams within the workspace. Learn more about team management + [here](https://docs.secoda.co/user-management/teams). + - name: User Groups + description: > + Groups within the workspace. Learn more about team management + [here](https://docs.secoda.co/user-management/groups). + - name: Monitors + description: > + Monitors allow Secoda admins to have insight into the health of the data + stack. Learn more about monitors + [here](https://docs.secoda.co/features/monitoring). +paths: + /integration/integrations: + post: + tags: + - Integrations + summary: Create a New Integration + description: >- + Use this endpoint to create a [custom + integration](https://docs.secoda.co/integrations/custom-integration), or + add credentials for a native integration programatically. + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Represents the name of the integration data source or tool. + example: Sample Integration + type: + type: string + description: This indicates the type of integration (e.g., "custom"). + example: custom + teams: + type: array + items: + type: string + description: >- + Indicates the teams associated with this integration. The + access can be edited in the UI. + example: + - 4c0e07c0-306a-4f4e-8b2b-6a8d7a33d251 + - a5423e2e-93b8-4b2c-af3c-7b7f0eefea14 + credentials: + type: object + description: >- + If you are adding a custom integration, the value of this + parameter should always be empty {}. + example: {} + responses: + '201': + description: Integration created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/IntegrationResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + get: + tags: + - Integrations + summary: List Integrations + description: This endpoint will return all the integrations active in your workspace. + parameters: + - name: type + in: query + schema: + type: string + description: The type of integrations to filter. + example: bigquery + responses: + '200': + description: List of integrations. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/IntegrationResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + /integration/integrations/{integration_id}: + get: + tags: + - Integrations + summary: Get Integration by ID + description: This endpoint will provide the details of an individual integration. + parameters: + - name: integration_id + in: path + required: true + schema: + type: string + description: The ID of the integration to retrieve. + example: d31e59c7-cd52-4398-9d6e-da313a7b7775 + responses: + '200': + description: Integration details retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/IntegrationResponse' + '404': + description: Integration not found. + '500': + description: Internal server error. + /integration/integrations/{integration_id}/import_metadata: + post: + tags: + - Integrations + summary: Upload Integration Metadata (via CSV) + description: >- + This endpoint allows the upload of integration metadata using a CSV. + This can also be done through the UI. See more about CSV uploads + [here](https://docs.secoda.co/integrations/custom-integration/import-your-resources). + parameters: + - name: integration_id + in: path + required: true + schema: + type: string + description: The ID of the integration to upload metadata for. + example: d31e59c7-cd52-4398-9d6e-da313a7b7775 + requestBody: + required: true + content: + multipart/form-data: + schema: + type: object + properties: + file: + description: >- + The path to the CSV file containing your metadata and + resources. The format of the CSV file can be found + [here](https://docs.secoda.co/integrations/custom-integration/import-your-resources/create-your-csv). + type: string + format: binary + example: path/to/your/file.csv + responses: + '200': + description: Integration metadata uploaded successfully. + '404': + description: Integration not found. + '500': + description: Internal server error. + /integration/integrations/{integration_id}/import_jsonl_metadata: + post: + tags: + - Integrations + summary: Upload Integration Metadata (via JSONL) + description: >- + This endpoint allows the upload of integration metadata as well as + integration lineage using a JSONL file. This can also be done through + the UI. See more about JSONL uploads + [here](https://docs.secoda.co/integrations/custom-integration/import-your-resources). + parameters: + - name: integration_id + in: path + required: true + schema: + type: string + description: The ID of the integration to upload metadata and/or lineage for. + example: d31e59c7-cd52-4398-9d6e-da313a7b7775 + requestBody: + required: true + content: + multipart/form-data: + schema: + type: object + required: + - resources_file + properties: + resources_file: + type: string + format: binary + description: >- + The path to the your resources file. The expected formatting + of this file can be found + [here](https://docs.secoda.co/integrations/custom-integration/import-your-resources/create-your-jsonl-file). + example: path/to/your/resources_file.jsonl + lineages_file: + description: >- + The path to the your lineages file. The expected formatting + of this file can be found + [here](https://docs.secoda.co/integrations/custom-integration/import-your-resources/create-your-jsonl-file). + type: string + format: binary + example: path/to/your/lineages_file.jsonl + responses: + '200': + description: Integration JSONL file uploaded successfully. + '404': + description: Integration not found. + '500': + description: Internal server error. + /table/databases: + post: + tags: + - Databases + summary: Create a New Database + description: >- + Create a new database resource. It must have a schema as a parent, and + an associated integration. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Database created successfully + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + get: + tags: + - Databases + summary: List Databases + description: Use this endpoint to see all the databases active in your workspace. + parameters: + - in: query + name: title + schema: + type: string + description: The title of the database to search for. + example: customers + responses: + '200': + description: List of databases. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/BaseResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + /table/databases/{database_id}: + get: + tags: + - Databases + summary: Get Database by ID + description: Use this endpoint for retrieving a specific database by its ID. + parameters: + - in: path + name: database_id + required: true + schema: + type: string + description: The unique identifier of the database to retrieve. + example: 27498d73-db31-4a4e-8cf0-faccff1bed0f + responses: + '200': + description: Database retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '404': + description: Database not found. + '500': + description: Internal server error. + /table/schemas: + post: + tags: + - Schemas + description: >- + Create a new schema. Schema must have one database as a parent, and be + associated with an integration. + summary: Create a New Schema + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + native_type: + type: string + description: >- + The native type of the schema as it's referred to in the + integration. + example: System + database: + type: string + description: The title of the database. + example: Sample Database + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Schema created successfully + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + get: + tags: + - Schemas + summary: List Schemas + description: >- + Endpoint for retrieving a list of schemas with optional filtering by + parent schema and title. + parameters: + - in: query + name: parent + schema: + type: string + description: The ID of the parent database to filter by. + - in: query + name: title + schema: + type: string + description: The title of the schema to filter by. + responses: + '200': + description: List of schemas. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/BaseResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + /table/schemas/{schema_id}: + parameters: + - in: path + name: schema_id + required: true + description: The ID of the schema to retrieve or update. + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + schema: + type: string + get: + tags: + - Schemas + summary: Get Schema by ID + description: Retrieve schema details by its unique ID. + responses: + '200': + description: Schema details retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '404': + description: Schema not found. + '500': + description: Internal server error. + patch: + tags: + - Schemas + summary: Update Schema by ID + description: Use this endpoint to update schema metadata. + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: Schema updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '400': + description: Bad request. + '404': + description: Schema not found. + '500': + description: Internal server error. + /table/tables: + post: + tags: + - Tables + summary: Create a New Table + description: >- + Create a new table with a schema as a parent. The table must be + associated with an integration. + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + native_type: + type: string + description: The native type of the table. + example: Dataset + database: + type: string + description: The name of the database the table belongs to. + example: Sample Database + schema: + type: string + description: The name of the schema the table belongs to. + example: Sample Schema + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Table created successfully + content: + application/json: + schema: + $ref: '#/components/schemas/TableResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + get: + tags: + - Tables + summary: List Tables + description: > + This endpoint retrieves a list of tables, with optional filters for the + integration, the schema, and the title of the table resource. + parameters: + - name: integration_id + in: query + description: Integration ID + schema: + type: string + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + - name: parent_id + in: query + description: ID of the schema + schema: + type: string + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + - name: title + in: query + description: Title of the table + schema: + type: string + example: Sample Table + responses: + '200': + description: List of databases. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/TableResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + /table/tables/{table_id}: + get: + tags: + - Tables + summary: Get Table by ID + description: | + This endpoint retrieves a specific table by its ID. + parameters: + - name: table_id + in: path + description: ID of the table to retrieve + required: true + schema: + type: string + example: d935a76c-2125-4c30-9389-ef42fa7e23bb + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/TableResponse' + '404': + description: Table not found. + '500': + description: Internal server error. + patch: + tags: + - Tables + summary: Update Table by ID + description: | + Use this endpoint to update table metadata. + parameters: + - name: table_id + in: path + description: ID of the table to update + required: true + schema: + type: string + example: d935a76c-2125-4c30-9389-ef42fa7e23bb + requestBody: + description: Table data to update + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/TableResponse' + '400': + description: Bad request. + '404': + description: Table not found. + '500': + description: Internal server error. + delete: + tags: + - Tables + summary: Delete Table by ID + description: | + This endpoint deletes a specific table by its ID. + parameters: + - name: table_id + in: path + description: ID of the table to delete + required: true + schema: + type: string + example: e7691426-2c2a-46b4-98e7-d09d0b82b2b1 + responses: + '204': + description: Table deleted successfully + '404': + description: Table not found. + '500': + description: Internal server error. + /table/columns: + post: + tags: + - Columns + summary: Create a New Column + description: > + This endpoint allows you to create a new column. Columns must have + tables as a parent or another column for nested records. Columns must be + associated with an integration. + requestBody: + content: + application/json: + schema: + type: object + properties: + native_type: + type: string + description: The native data type of the column in the source. + example: Record + data_type: + type: string + description: The type of the column. + example: null + is_pk: + type: string + description: Indicates whether the column is a primary key. + example: false + table_database: + type: string + description: The name of the database where the column's table belongs. + example: Sample Database + table_schema: + type: string + description: The name of the schema where the column's table belongs. + example: Sample Schema + table_title: + type: string + description: The title of the table to which the column belongs. + example: Sample Table + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Column created successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ColumnResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + get: + tags: + - Columns + summary: List Columns + description: > + This endpoint allows you to retrieve a list of all columns in the + workspace. Optional filters for integration_id, title, and parent_id + (the table or parent column) are available. + parameters: + - name: integration_id + in: query + description: Optional. Filter columns by integration identifier. + schema: + type: string + example: 6c69de0f-b269-4380-bcf5-0686de276b9e + - name: parent_id + in: query + description: >- + Optional. Filter columns by parent identifier. This could be the ID + of the table or of the parent column in the case of nested columns. + schema: + type: string + example: c444bc26-433e-4cd2-b3ee-f5a1fbb2caf8 + - name: title + in: query + description: Optional. Filter columns by title of the column. + schema: + type: string + example: Sample Column + - name: table_title + in: query + description: >- + Optional. Filter columns by title of the table that the columns + belong to. If several integrations have the same naming of tables, + it is recommended to combine this with the `integration_id`. + schema: + type: string + example: Sample Table + responses: + '200': + description: List of columns. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/ColumnResponse' + '400': + description: Bad request. + '500': + description: Internal server error. + /table/columns/{column_id}: + get: + tags: + - Columns + summary: Get Column by ID + description: > + This endpoint allows you to retrieve information about a specific column + by its identifier. + parameters: + - name: column_id + in: path + description: Identifier of the column to retrieve. + required: true + schema: + type: string + example: 8b2e01e0-603b-4559-8eac-4e16ecc61fc7 + responses: + '200': + description: Column retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ColumnResponse' + '404': + description: Column not found. + '500': + description: Internal server error. + patch: + tags: + - Columns + summary: Edit Column by ID + description: > + This endpoint allows you to edit the metadata of a specific column by + its identifier. + parameters: + - name: column_id + in: path + description: Identifier of the column to retrieve. + required: true + schema: + type: string + example: 8b2e01e0-603b-4559-8eac-4e16ecc61fc7 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: Column retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ColumnResponse' + '404': + description: Column not found. + '500': + description: Internal server error. + delete: + tags: + - Columns + summary: Delete Column by ID + description: | + This endpoint allows you to delete a specific column by its identifier. + parameters: + - name: column_id + in: path + description: Identifier of the column to delete. + required: true + schema: + type: string + example: 8b2e01e0-603b-4559-8eac-4e16ecc61fc7 + responses: + '204': + description: Column deleted successfully. + '404': + description: Column not found. + '500': + description: Internal server error. + /dashboard/groups: + post: + summary: Create a New Dashboard Group + description: >- + Use this endpoint to create a dashboard group, which will be the parent + of dashboards. + tags: + - Dashboard Groups + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + native_type: + type: string + description: The native type of the group. + example: dashboard_group + url: + type: string + description: Reprents the URL of the group. + example: sample.url.com + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardGroupResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + summary: List Dashboard Groups + description: >- + List all the dashboard groups in the workspace. Optional filter by + title. + tags: + - Dashboard Groups + parameters: + - in: query + name: title + schema: + type: string + description: Filter groups by title + example: Sample Group + responses: + '200': + description: List of groups. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/DashboardGroupResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /dashboard/groups/{group_id}: + get: + summary: Get Dashboard Group by ID + description: Retrieve the information of a specific dashboard group. + tags: + - Dashboard Groups + parameters: + - in: path + name: group_id + required: true + schema: + type: string + description: ID of the dashboard group to retrieve + example: 43d7c33d-ad74-4dfb-bfad-c172f6701afb + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardGroupResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + /dashboard/dashboards: + post: + tags: + - Dashboards + summary: Create a new Dashboard + description: > + Create a new dashboard with the provided data. Dashboards must have a + Group as a parent, and be associated with an integration. + requestBody: + description: Dashboard data + required: true + content: + application/json: + schema: + type: object + properties: + group: + type: string + description: >- + Indicates the title name of the group to which the dashboard + belongs. + example: Sample Group + url: + type: string + description: Indicates the URL of the dashboard. + example: sample.url.com + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Dashboards + summary: List Dashboards + description: > + Retrieve a list of dashboards with optional filtering using the + integration_id, parent_id (the dashboard group), and title. + parameters: + - name: integration_id + in: query + schema: + type: string + example: cf103b47-8576-4467-ad34-384cd523abd9 + description: Filter by integration ID + - name: parent_id + in: query + schema: + type: string + example: 43d7c33d-ad74-4dfb-bfad-c172f6701afb + description: Filter by parent ID + - name: title + in: query + schema: + type: string + description: Filter by title + example: Sample Dashboard + responses: + '200': + description: List of dashboards. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/DashboardResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /dashboard/dashboards/{dashboard_id}: + get: + tags: + - Dashboards + summary: Get Dashboard by ID + description: | + Retrieve a specific dashboard by its ID. + parameters: + - name: dashboard_id + in: path + required: true + schema: + type: string + description: The ID of the dashboard to retrieve. + example: 226dc8aa-fa8d-4646-8b11-6652cdc64065 + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + patch: + tags: + - Dashboards + summary: Update Dashboard by ID + description: | + Use this endpoint to update dashboard metadata. + parameters: + - name: dashboard_id + in: path + required: true + schema: + type: string + description: The ID of the dashboard to update. + example: 226dc8aa-fa8d-4646-8b11-6652cdc64065 + requestBody: + description: Represents the description of the dashboard + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + delete: + tags: + - Dashboards + summary: Delete Dashboard by ID + description: | + Delete a specific dashboard by its ID. + parameters: + - name: dashboard_id + in: path + required: true + schema: + type: string + description: The ID of the dashboard to delete. + example: 0b3938f4-692c-4d78-b40c-247c75dc6930 + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DashboardResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + /dashboard/charts: + post: + tags: + - Charts + summary: Create a new Chart + description: > + Create a new chart with the provided data. Charts must have a dashboard + as a parent, and be associated with an integration. + requestBody: + description: Chart data + required: true + content: + application/json: + schema: + type: object + properties: + native_type: + type: string + description: Set a different name to the charts term. + example: Other Chart + group: + type: string + description: Indicates the name of the group. + url: + type: string + description: Indicates the URL of the chart. + example: sample.url.com + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/ChartResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Charts + summary: List Charts + description: > + Retrieve a list of charts with optional filtering by integration_id, + parent_id (the dashboard the chart belongs to), and title. + parameters: + - name: integration_id + in: query + schema: + type: string + description: Filter by integration ID + example: cf103b47-8576-4467-ad34-384cd523abd9 + - name: parent_id + in: query + schema: + type: string + example: 226dc8aa-fa8d-4646-8b11-6652cdc64065 + description: Filter by parent ID + - name: title + in: query + schema: + type: string + description: Filter by title + example: Sample Chart + responses: + '200': + description: List of charts. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/ChartResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /dashboard/charts/{chart_id}: + get: + tags: + - Charts + summary: Get Chart by ID + description: | + Retrieve a specific chart by its ID. + parameters: + - name: chart_id + in: path + required: true + schema: + type: string + description: The ID of the chart to retrieve. + example: 45813776-8934-442d-adf7-74ec921c53bf + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ChartResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + patch: + tags: + - Charts + summary: Update Chart by ID + description: Use this endpoint to update chart metadata. + parameters: + - name: chart_id + in: path + required: true + schema: + type: string + description: The ID of the chart to update. + example: 45813776-8934-442d-adf7-74ec921c53bf + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ChartResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + delete: + tags: + - Charts + summary: Delete Chart by ID + description: | + Delete a specific chart by its ID. + parameters: + - name: chart_id + in: path + required: true + schema: + type: string + description: The ID of the chart to delete. + example: 45813776-8934-442d-adf7-74ec921c53bf + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ChartResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + /lineage/manual: + post: + tags: + - Lineage + summary: Create new Lineage + description: >- + Create a new lineage object manually. Only one direction of the + relationship needs to be created. The opposite direction of the lineage + is automatically generated. + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + from_entity: + type: string + description: Indicates the source of the resource data. + example: 7879886b-9e0e-4d02-8b37-c7d3c496a587 + to_entity: + type: string + description: >- + Points to the final destination of the resouce data through + various transformations and entities. + example: b500ef23-c9b4-4259-a87d-d77b8b588f06 + direction: + type: string + description: >- + Represents the flow of the resource data. Values can be - +
  • Upstream
  • Downstream
+ example: DOWNSTREAM + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/LineageResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Lineage + summary: List Lineage + description: >- + Get lineage objects with optional filtering by source and destination + entity. + parameters: + - name: from_entity__in + in: query + schema: + type: string + example: 7879886b-9e0e-4d02-8b37-c7d3c496a587 + description: The source resource. + - name: to_entity__in + in: query + schema: + type: string + example: b500ef23-c9b4-4259-a87d-d77b8b588f06 + description: The destination resource. + responses: + '200': + description: List of lineage entries. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/LineageResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /lineage/manual/{lineage_id}: + get: + tags: + - Lineage + summary: Get Lineage by ID + description: Get a lineage object by its ID. + parameters: + - name: lineage_id + in: path + required: true + description: The ID of the lineage entry to retrieve. + schema: + type: string + example: 34d983b3-bfe0-4b49-abea-0692c8be6693 + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/LineageResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + delete: + tags: + - Lineage + summary: Delete Lineage by ID + description: Delete a lineage object by its ID. + parameters: + - name: lineage_id + in: path + required: true + description: The ID of the lineage entry to delete. + schema: + type: string + example: 34d983b3-bfe0-4b49-abea-0692c8be6693 + responses: + '204': + description: No Content + '404': + description: Not Found + '500': + description: Internal Server Error + /tag: + post: + tags: + - Tags + summary: Create a new Tag + description: Create a new tag for the workspace. + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Indicates the name of the tag. + example: Sample Tag + description: + type: string + description: Indicates the description of the tag. + example: This is a sample tag. + color: + type: string + description: Defines the different colors of the tags. + example: '#4299E1' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/TagsResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Tags + summary: List Tags + description: Get a list of tags. No filtering is currently available. + responses: + '200': + description: List of tags. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/TagsResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /tag/{tag_id}: + get: + tags: + - Tags + summary: Get Tag by ID + description: Get a tag by its ID. + parameters: + - name: tag_id + in: path + required: true + description: The ID of the tag to retrieve. + schema: + type: string + example: 69e0b863-8bb8-47e1-b566-8b8d57441c70 + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/TagsResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + patch: + tags: + - Tags + summary: Update Tag by ID + description: Use this endpoint to update tag name, colour, or icon. + parameters: + - name: tag_id + in: path + required: true + description: The ID of the tag to update. + schema: + type: string + example: 38040671-8f1d-4322-b895-4fd7b73317bf + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + color: + type: string + description: Represents the color of the tags. + example: '#316650' + required: + - color + responses: + '204': + description: No Content + '404': + description: Not Found + '500': + description: Internal Server Error + delete: + tags: + - Tags + summary: Delete Tag by ID + description: Delete a tag by its ID. + parameters: + - name: tag_id + in: path + required: true + description: The ID of the tag to delete. + schema: + type: string + example: 69e0b863-8bb8-47e1-b566-8b8d57441c70 + responses: + '204': + description: No Content + '404': + description: Not Found + '500': + description: Internal Server Error + /user: + post: + tags: + - Users + summary: Create a New User + description: Create a new user in the workspace. + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + first_name: + type: string + description: Indicates the first name of the user. + example: Sample + last_name: + type: string + description: Indicates the last name of the user. + example: User + email: + type: string + description: Indicates the email id of the user. + example: sample@sample.com + role: + type: string + description: >- + Indicates the role of the user. Values can be -
  • + Admin
  • Editor
  • Viewer
+ example: editor + _role: + type: string + description: >- + Indicates the role of the user. Values can be -
  • + Admin
  • Editor
  • Viewer
+ example: editor + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/UsersResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Users + summary: List Users + description: Get a list of users. + responses: + '200': + description: List of users. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/UsersResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /user/{id}: + get: + tags: + - Users + summary: Get User by ID + description: Get a user by their ID. + parameters: + - name: id + in: path + required: true + description: The ID of the user to retrieve. + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/UsersResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + patch: + tags: + - Users + summary: Update User by ID + description: >- + Use this endpoint to update the user. Editable fields include the first + name, last name, and role. + parameters: + - name: id + in: path + required: true + description: The ID of the user to update. + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + first_name: + type: string + description: Indicates the first name of the user. + example: Sample + last_name: + type: string + description: Indicates the last name of the user. + example: User + responses: + '200': + description: User updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/UsersResponse' + '400': + description: Bad Request + '404': + description: User not found + '500': + description: Internal Server Error + delete: + tags: + - Users + summary: Delete User by ID + description: Delete a user by their ID. + parameters: + - name: id + in: path + required: true + description: The ID of the user to delete. + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + responses: + '204': + description: No Content + '404': + description: Not Found + '500': + description: Internal Server Error + /auth/teams: + post: + tags: + - Teams + summary: Create a New Team + description: Create a new team in the workspace. + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Indicates the name of the team. + example: Test Team + icon: + type: string + description: Indicates the icon of the team. + example: 😀 + type: + type: string + description: >- + Indicates the type of the team. If a team is Open, this + means it is Public and can be joined by anyone in the + workspace. If a team is Closed, the team is private and only + admins can invite members into the team. Values can be - +
  • OPEN
  • CLOSED
+ example: OPEN + description: + type: string + description: Description of the team. + example: This is the best team in this workspace. + sidebar_settings: + type: object + description: >- + Use these settings to toggle which pages should be shown to + team members in the side bar. + properties: + home: + type: boolean + description: Whether to show the home page to team members. + example: true + catalog: + type: boolean + description: Whether to show the catalog page to team members. + example: true + documents: + type: boolean + description: Whether to show the documents page to team members. + example: true + questions: + type: boolean + description: Whether to show the questions page to team members. + example: true + dictionary: + type: boolean + description: Whether to show the dictionary page to team members. + example: true + collections: + type: boolean + description: Whether to show the collections page to team members. + example: true + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/TeamsResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Teams + summary: List Teams + description: Get a list of teams in the workspace. + responses: + '200': + description: List of teams. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/TeamsResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /auth/teams/{id}: + get: + tags: + - Teams + summary: Get Team by ID + description: Get a team by their ID. + parameters: + - name: id + in: path + required: true + description: The ID of the team to retrieve. + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/TeamsResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + patch: + tags: + - Teams + summary: Update Team by ID + description: >- + Use this endpoint to update the Team. Editable fields include the name, + description, icon, type, and sidebar settings. + parameters: + - name: id + in: path + required: true + description: The ID of the team to update. + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Indicates the name of the team. + example: New Team + responses: + '200': + description: Team updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/TeamsResponse' + '400': + description: Bad Request + '404': + description: User not found + '500': + description: Internal Server Error + delete: + tags: + - Teams + summary: Delete Team by ID + description: >- + Delete a team by their ID. Any resources that belong solely to this team + will be set to the default team. + parameters: + - name: id + in: path + required: true + description: The ID of the team to delete. + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + responses: + '204': + description: No Content + '404': + description: Not Found + '500': + description: Internal Server Error + /auth/group: + post: + tags: + - User Groups + summary: Create a New User Group + description: Create a new user group in the workspace. + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Indicates the name of the group. + example: Data Stewards + icon: + type: string + description: Indicates the icon of the team. + example: 😀 + description: + type: string + description: Description of the group. + example: Users responsible for keeping documentation up to date. + users: + type: array + description: A list of user IDs that are part of this group. + example: + - 33733f42-8ff7-460b-9e20-50a2133d3bb0 + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + items: + type: string + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/UserGroupResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - User Groups + summary: List User Groups + description: Get a list of user groups in the workspace. + responses: + '200': + description: List of groups. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/UserGroupResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /auth/group/{id}: + get: + tags: + - User Groups + summary: Get User Group by ID + description: Get a user group by their ID. + parameters: + - name: id + in: path + required: true + description: The ID of the group to retrieve. + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/UserGroupResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + patch: + tags: + - User Groups + summary: Update User Group by ID + description: >- + Use this endpoint to update the Group. Editable fields include the name, + description, icon, and users. + parameters: + - name: id + in: path + required: true + description: The ID of the group to update. + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Indicates the name of the group. + example: New Group + responses: + '200': + description: Group updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/UserGroupResponse' + '400': + description: Bad Request + '404': + description: User not found + '500': + description: Internal Server Error + delete: + tags: + - User Groups + summary: Delete User Group by ID + description: Delete a group by their ID. + parameters: + - name: id + in: path + required: true + description: The ID of the group to delete. + schema: + type: string + example: 3131f219-16bb-4c95-853a-894ae12db42a + responses: + '204': + description: No Content + '404': + description: Not Found + '500': + description: Internal Server Error + /dictionary/terms: + post: + tags: + - Terms + summary: Create a New Dictionary Term + description: > + This endpoint allows you to create a new dictionary term with the + specified data. The `title` will map to the dictionary term name, and + the definition of the term can be added to the `definition` field. + requestBody: + required: true + content: + application/json: + schema: + type: object + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/TermResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Terms + summary: List Dictionary Terms + description: > + This endpoint allows you to retrieve a list of dictionary terms with + optional filtering by name of the term (title). + parameters: + - in: query + name: title + description: Filter terms by title (optional) + schema: + type: string + example: Sample Dictionary Term + responses: + '200': + description: List of dictionary terms. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/TermResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /dictionary/terms/{term_id}: + get: + tags: + - Terms + summary: Get Dictionary Term by ID + description: > + This endpoint allows you to retrieve a single dictionary term by its + unique identifier (term_id). + parameters: + - in: path + name: term_id + description: The unique identifier of the dictionary term + required: true + schema: + type: string + example: 61ce0a34-ce90-4f1a-a135-f122dcbed242 + responses: + '200': + description: Dictionary term retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/TermResponse' + '404': + description: Term not found + '500': + description: Internal Server Error + patch: + tags: + - Terms + summary: Edit Dictionary Term by ID + description: > + This endpoint allows you to edit the metadata of a dictionary term by + its unique identifier (term_id). + parameters: + - in: path + name: term_id + description: The unique identifier of the dictionary term to edit + required: true + schema: + type: string + example: 61ce0a34-ce90-4f1a-a135-f122dcbed24 + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: Description updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/TermResponse' + '400': + description: Bad Request + '404': + description: Term not found + '500': + description: Internal Server Error + delete: + tags: + - Terms + summary: Delete Dictionary Term by ID + description: > + This endpoint allows you to delete a dictionary term by its unique + identifier (term_id). + parameters: + - in: path + name: term_id + description: The unique identifier of the dictionary term to delete + required: true + schema: + type: string + example: 61ce0a34-ce90-4f1a-a135-f122dcbed242 + responses: + '204': + description: Term deleted successfully + '404': + description: Term not found + '500': + description: Internal Server Error + /collection/collections: + post: + tags: + - Collections + summary: Create a New Collection + description: > + This endpoint allows you to create a new collection. Note, adding + resources to a collection through the API must be done on the resource + that is added (by adding the collection_id to the `collections` + parameter). Related resources cannot be added using the + `/collection/collections` endpoints. + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + icon: + type: string + description: >- + Graphical or visual representation that symbolizes or + represents an item within the collection + example: 🗂 + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/CollectionResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Collections + summary: List Collections + description: > + This endpoint allows you to retrieve a list of collections. You can + optionally filter the collections by title using the "title" query + parameter. + parameters: + - in: query + name: title + description: Filter collections by title (optional) + schema: + type: string + example: Sample Collection + responses: + '200': + description: List of collections. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/CollectionResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /collection/collections/{collection_id}: + get: + tags: + - Collections + summary: Get Collection by ID + description: > + This endpoint allows you to retrieve a collection by its unique + identifier (collection_id). + parameters: + - in: path + name: collection_id + description: The unique identifier of the collection + required: true + schema: + type: string + example: 3ea9a7c2-9538-46a0-899d-b2018c80113c + responses: + '200': + description: Collection retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/CollectionResponse' + '404': + description: Collection not found + '500': + description: Internal Server Error + patch: + tags: + - Collections + summary: Edit Collection by ID + description: >- + Use this endpoint to update collections. Note, adding resources to a + collection through the API must be done on the resource that is added + (by adding the collection_id to the `collections` parameter). Related + resources cannot be added using the `/collection/collections` endpoints. + parameters: + - in: path + name: collection_id + description: The unique identifier of the collection to edit + required: true + schema: + type: string + example: 3ea9a7c2-9538-46a0-899d-b2018c80113c + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: Description updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/CollectionResponse' + '400': + description: Bad Request + '404': + description: Collection not found + '500': + description: Internal Server Error + delete: + tags: + - Collections + summary: Delete Collection by ID + description: > + This endpoint allows you to delete a collection by its unique identifier + (collection_id). + parameters: + - in: path + name: collection_id + description: The unique identifier of the collection to delete + required: true + schema: + type: string + example: 3ea9a7c2-9538-46a0-899d-b2018c80113c + responses: + '204': + description: Collection deleted successfully + '404': + description: Collection not found + '500': + description: Internal Server Error + /question/questions: + post: + tags: + - Questions + summary: Create a New Question + description: > + This endpoint allows you to create a new question. The answer to the + question can be set in the answer field, or added as a reply to the + `question/replies` endpoint. + requestBody: + required: true + content: + application/json: + schema: + type: object + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + properties: + assigned_to: + type: string + description: Represents to whom the question is assigned to. + example: 33733f42-8ff7-460b-9e20-50a2133d3bb0 + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/QuestionResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Questions + summary: List Questions + description: | + This endpoint allows you to retrieve a list of questions. + responses: + '200': + description: List of questions. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/QuestionResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /question/questions/{question_id}: + get: + tags: + - Questions + summary: Get Question by ID + description: > + This endpoint allows you to retrieve a question by its unique identifier + (question_id). + parameters: + - in: path + name: question_id + description: The unique identifier of the question + required: true + schema: + type: string + example: 7795133a-6e36-4ef2-b95a-664babb99b71 + responses: + '200': + description: Question retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/QuestionResponse' + '404': + description: Question not found + '500': + description: Internal Server Error + patch: + tags: + - Questions + summary: Edit Question by ID + description: > + This endpoint allows you to edit the metadata of a question by its + unique identifier (question_id). + parameters: + - in: path + name: question_id + description: The unique identifier of the question to edit + required: true + schema: + type: string + example: 7795133a-6e36-4ef2-b95a-664babb99b71 + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: Definition updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/QuestionResponse' + '400': + description: Bad Request + '404': + description: Question not found + '500': + description: Internal Server Error + delete: + tags: + - Questions + summary: Delete Question by ID + description: > + This endpoint allows you to delete a question by its unique identifier + (question_id). + parameters: + - in: path + name: question_id + description: The unique identifier of the question to delete + required: true + schema: + type: string + example: 4272310f-0129-4982-8849-4b20edd3f2d5 + responses: + '204': + description: Question deleted successfully + '404': + description: Question not found + '500': + description: Internal Server Error + /question/replies: + post: + summary: Create a New Question Reply + description: > + This endpoint allows you to create a new reply to a specified question + (indicated by the parent_id). + tags: + - Questions + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + definition: + type: string + description: The answer of the reply + example: Replying to the question + accepted_answer: + type: boolean + description: >- + Indicates if the answer is accepted or not. Values can be - +
  • True
  • False
+ example: false + parent: + type: string + description: The unique identifier of the parent question + example: 7795133a-6e36-4ef2-b95a-664babb99b71 + owners: + type: array + items: + type: string + description: Defines the UUIDs that are the owners of the replies. + example: 33733f42-8ff7-460b-9e20-50a2133d3bb0 + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/ReplyResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + summary: List Question Replies + description: > + This endpoint allows you to retrieve a list of replies. You can + optionally filter the replies by question_id using the "question_id" + query parameter. + tags: + - Questions + parameters: + - in: query + name: question_id + description: Filter replies by question_id (optional) + schema: + type: string + example: 7795133a-6e36-4ef2-b95a-664babb99b71 + responses: + '200': + description: List of replies. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/ReplyResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /question/replies/{reply_id}: + get: + summary: Get Question Reply by ID + description: > + This endpoint allows you to retrieve a reply by its unique identifier + (reply_id). + tags: + - Questions + parameters: + - in: path + name: reply_id + description: The unique identifier of the reply + required: true + schema: + type: string + example: 47f9d5ab-4ae1-4eea-a8b8-6d3847829b3f + responses: + '200': + description: Reply retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/ReplyResponse' + '404': + description: Reply not found + '500': + description: Internal Server Error + patch: + summary: Edit Question Reply by ID + description: > + This endpoint allows you to edit the content of a reply by its unique + identifier (reply_id). You can also use this endoint to set this reply + as the accepted answer. + tags: + - Questions + parameters: + - in: path + name: reply_id + description: The unique identifier of the reply to edit + required: true + schema: + type: string + example: 47f9d5ab-4ae1-4eea-a8b8-6d3847829b3f + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + definition: + type: string + description: The updated definition for the reply + example: Changing the answer. + accepted_answer: + type: boolean + description: >- + Indicates if the answer is accepted or not. Values can be - +
  • True
  • False
+ example: false + responses: + '200': + description: Definition updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/ReplyResponse' + '400': + description: Bad Request + '404': + description: Reply not found + '500': + description: Internal Server Error + delete: + summary: Delete Question Reply by ID + description: > + This endpoint allows you to delete a reply by its unique identifier + (reply_id). + tags: + - Questions + parameters: + - in: path + name: reply_id + description: The unique identifier of the reply to delete + required: true + schema: + type: string + example: 47f9d5ab-4ae1-4eea-a8b8-6d3847829b3f + responses: + '204': + description: Reply deleted successfully + '404': + description: Reply not found + '500': + description: Internal Server Error + /document: + post: + summary: Create a New Document + description: > + This endpoint allows you to create a new document with the specified + data. The document content is pulled from the `definition` parameter. + tags: + - Documents + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + icon: + type: string + description: The icon of the document + example: 🗂 + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/DocumentResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + summary: List Documents + description: > + This endpoint allows you to retrieve a list of documents. You can + optionally filter the documents by title using the "title" query + parameter. + tags: + - Documents + parameters: + - in: query + name: title + description: Filter documents by title (optional) + schema: + type: string + example: Sample Document + responses: + '200': + description: List of documents. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/DocumentResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /document/{document_id}: + get: + summary: Get Document by ID + description: > + This endpoint allows you to retrieve a document by its unique identifier + (document_id). + tags: + - Documents + parameters: + - in: path + name: document_id + description: The unique identifier of the document + required: true + schema: + type: string + example: 1f5c76c3-e7a3-406f-b51e-7ba220244f1b + responses: + '200': + description: Document retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/DocumentResponse' + '404': + description: Document not found + '500': + description: Internal Server Error + patch: + summary: Edit Document by ID + description: > + This endpoint allows you to edit the definition of a document by its + unique identifier (document_id). The definition of the document maps to + the visible content of the document itself. + tags: + - Documents + parameters: + - in: path + name: document_id + description: The unique identifier of the document to edit + required: true + schema: + type: string + example: 1f5c76c3-e7a3-406f-b51e-7ba220244f1b + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: Definition updated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/DocumentResponse' + '400': + description: Bad Request + '404': + description: Document not found + '500': + description: Internal Server Error + delete: + summary: Delete Document by ID + description: > + This endpoint allows you to delete a document by its unique identifier + (document_id). + tags: + - Documents + parameters: + - in: path + name: document_id + description: The unique identifier of the document to delete + required: true + schema: + type: string + example: 1f5c76c3-e7a3-406f-b51e-7ba220244f1b + responses: + '204': + description: Document deleted successfully + '404': + description: Document not found + '500': + description: Internal Server Error + /query/queries: + get: + summary: List Queries + description: > + This endpoint allows you to retrieve a list of all queries in the + workspace. No filtering is available at this time. + tags: + - Queries + responses: + '200': + description: List of queries. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/QueryResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /query/queries/{query_id}: + get: + summary: Get Query by ID + description: > + This endpoint allows you to retrieve a query by its unique identifier + (query_id). + tags: + - Queries + parameters: + - in: path + name: query_id + description: The unique identifier of the query + required: true + schema: + type: string + example: 871fc00d-828b-4348-9353-c635313ee459 + responses: + '200': + description: Query retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/QueryResponse' + '404': + description: Query not found + '500': + description: Internal Server Error + /monitors/monitors: + get: + summary: List Monitors + description: > + This endpoint allows you to retrieve a list of all the monitors in your + workspace. + tags: + - Monitors + responses: + '200': + description: List of Monitors. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/MonitorResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /monitors/monitors/{monitor_id}: + get: + summary: Get Monitor by ID + description: > + This endpoint allows you to retrieve a monitors by it's ID. You can find + the ID in the URL of the monitor when accessing it from the Secoda UI. + tags: + - Monitors + parameters: + - in: path + name: monitor_id + description: The unique identifier of the monitor + required: true + schema: + type: string + example: 871fc00d-828b-4348-9353-c635313ee459 + responses: + '200': + description: Monitor retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/MonitorResponse' + '404': + description: Monitor not found + '500': + description: Internal Server Error + /monitors/incidents: + get: + summary: List Incidents + description: > + This endpoint allows you to retrieve a list of all the incidents in your + workspace. + tags: + - Monitors + responses: + '200': + description: List of Incidents. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/IncidentResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /monitors/incident/{incident_id}: + get: + summary: Get Incident by ID + description: | + This endpoint allows you to retrieve an incident by it's ID. + tags: + - Monitors + parameters: + - in: path + name: incident_id + description: The unique identifier of the incident + required: true + schema: + type: string + example: 871fc00d-828b-4348-9353-c635313ee459 + responses: + '200': + description: Monitor retrieved successfully + content: + application/json: + schema: + $ref: '#/components/schemas/IncidentResponse' + '404': + description: Incident not found + '500': + description: Internal Server Error + /monitors/measurements: + get: + summary: List Measurements + description: > + This endpoint allows you to retrieve a list of all the measurements in + your workspace filtered by a Monitor or Incident. A query param of + either the Monitor ID or Incident ID is required. + + + If using monitoring in automatic mode, thresholds will take some time to + populate as the system learnins the appropriate range for your data. + tags: + - Monitors + parameters: + - in: query + name: monitor + description: The unique identifier of the monitor + schema: + type: string + example: 871fc00d-828b-4348-9353-c635313ee459 + - in: query + name: incident_id + description: The unique identifier of the incident + schema: + type: string + example: 40b3e4d3-3bf8-4ec4-ae87-56d1e738ca76 + responses: + '200': + description: List of Measurements. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/MeasurementResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /event/category: + post: + summary: Create a New Event Category + description: >- + Use this endpoint to create a new event category. This will be the + parent of events. The category must be associated to an integration. + tags: + - Event Categories + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + title: + type: string + description: The name of the category. + example: Landing Page + integration: + type: string + description: The UUID of the associated integration. + teams: + type: array + description: The teams the category belongs to. + example: + - e8ac09ede51e4e618eaf59942c98c260 + responses: + '201': + description: Event category created + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + summary: List Event Categories + description: >- + List all the event categories in the workspace. Optional filter by + title. + tags: + - Event Categories + parameters: + - in: query + name: title + schema: + type: string + description: Filter event categories by title + example: Landing Page + responses: + '200': + description: List of event categories. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/BaseResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /event/category/{event_category_id}: + get: + summary: Get Event Category by Id + description: Retrieve the information of a specific event category. + tags: + - Event Categories + parameters: + - name: event_category_id + required: true + in: path + schema: + type: string + description: ID of the event category to retrieve + example: 43d7c33dad744dfbbfadc172f6701afb + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + /event/events: + post: + tags: + - Events + summary: Create a new Event + description: >- + Create a new event with the provided data. Events must have a Category + as a parent, and be associated with an integration. + requestBody: + required: true + content: + application/json: + schema: + type: object + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + responses: + '201': + description: Event created + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + get: + tags: + - Events + summary: List Events + description: >- + Retrieve a list of events with optional filtering using the + integration_id, parent_id (the event category), and title. + parameters: + - name: integration_id + in: query + schema: + type: string + example: cf103b4785764467ad34384cd523abd9 + description: Filter by integration ID + - name: parent_id + in: query + schema: + type: string + example: 43d7c33dad744dfbbfadc172f6701afb + description: Filter by parent ID + - name: title + in: query + schema: + type: string + description: Filter by title + example: Clicked + responses: + '200': + description: List of events. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/BaseResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /event/events/{event_id}: + get: + tags: + - Events + summary: Get Event by ID + description: Retrieve a specific event by its ID. + parameters: + - name: event_id + in: path + required: true + schema: + type: string + description: The ID of the event to retrieve. + example: 226dc8aafa8d46468b116652cdc64065 + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + patch: + tags: + - Events + summary: Update an Event by ID + description: Use this endpoint to partially update event metadata. + parameters: + - name: event_id + in: path + required: true + schema: + type: string + description: The ID of the event to update. + example: 226dc8aafa8d46468b116652cdc64065 + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + delete: + tags: + - Events + summary: Delete Event by ID + description: Delete a specific event by it's ID. + parameters: + - name: event_id + in: path + required: true + schema: + type: string + description: The ID of the event to delete. + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/BaseResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + /event/event_properties: + post: + tags: + - Event Properties + summary: Create a new Event Property + description: >- + Create a new event property with the provided data. Event properties + must have an Event as a parent, and be associated with an integration. + requestBody: + required: true + content: + application/json: + schema: + type: object + allOf: + - $ref: '#/components/schemas/BaseResourceRequest' + properties: + type: + type: string + description: >- + The type of property associated with the event. Examples + include string, enum, integer, etc. + example: enum + enum: + type: string + description: >- + If the property type is enum, this field indicates the + various enum values. + example: red, green, yellow + is_required: + type: boolean + description: Set this to true if the property is required. + responses: + '200': + description: Event property created. + content: + application/json: + schema: + $ref: '#/components/schemas/EventPropertyResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + get: + tags: + - Event Properties + summary: List Event Properties + description: >- + Retrieve a list of events with optional filtering using the + integration_id, parent_id (the event), and title. + parameters: + - name: integration_id + in: query + schema: + type: string + example: cf103b4785764467ad34384cd523abd9 + description: Filter by integration ID + - name: parent_id + in: query + schema: + type: string + example: 43d7c33dad744dfbbfadc172f6701afb + description: Filter by parent ID + - name: title + in: query + schema: + type: string + description: Filter by title + example: 'true' + responses: + '200': + description: List of event properties. + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ListResponse' + - type: object + properties: + results: + type: array + items: + $ref: '#/components/schemas/EventPropertyResponse' + '400': + description: Bad Request + '500': + description: Internal Server Error + /event/event_properties/{event_property_id}: + get: + tags: + - Event Properties + summary: Get Event Property by ID + description: Retrieve a specific event property by its ID. + parameters: + - name: event_property_id + in: path + required: true + schema: + type: string + description: The ID of the event property to retrieve. + example: 226dc8aafa8d46468b116652cdc64065 + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/EventPropertyResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + patch: + tags: + - Event Properties + summary: Update an Event Property by ID + description: Use this endpoint to partially update event metadata. + parameters: + - name: event_property_id + in: path + required: true + schema: + type: string + description: The ID of the event property to update. + example: 226dc8aafa8d46468b116652cdc64065 + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BasePatchRequest' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/EventPropertyResponse' + '404': + description: Not Found + '500': + description: Internal Server Error + delete: + tags: + - Event Properties + summary: Delete Event Property by ID + description: Delete a specific event property by it's ID. + parameters: + - name: event_property_id + in: path + required: true + schema: + type: string + description: The ID of the event property to delete. + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/EventPropertyResponse' + '404': + description: Not Found + '500': + description: Internal Server Error +components: + securitySchemes: + ApiKeyAuth: + type: http + scheme: bearer + bearerFormat: string + schemas: + UserGroupResponse: + type: object + properties: + id: + type: string + example: f3bdd4f8-d6ea-4f9b-8384-e179fa8eb3da + description: The ID of the group. + created_at: + type: string + example: '2023-05-10T14:27:23.797657Z' + description: The creation timestamp of the group. + updated_at: + type: string + example: '2023-10-20T13:53:06.088248Z' + description: The last update timestamp of the group. + users: + type: array + items: + type: string + example: + - 33733f42-8ff7-460b-9e20-50a2133d3bb0 + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + description: List of user IDs of the members in the group. + name: + type: string + example: Data Stewards + description: The name of the group. + icon: + type: string + example: 🧪 + description: The icon associated with the group. + description: + type: string + example: >- + Group of users that are responsible for keeping documentation + updated. + description: The description of the group. + workspace_id: + type: string + example: f71585fa-251c-4102-8d81-c97c57c8d435 + description: The ID of the workspace associated with the grop. + snowflake_role: + description: This field can be ignored. + MonitorResponse: + type: object + properties: + id: + type: string + example: 886337a0-f298-4259-84dc-710879c826de + description: The unique identifier of the monitor. + created_at: + type: string + example: '2023-10-12T14:59:58.781935Z' + description: The timestamp when the monitor was created. + updated_at: + type: string + example: '2023-10-12T15:06:19.251573Z' + description: The timestamp when the data was last updated. + integration: + type: string + example: 337c5803-b484-4128-a24d-dcc55dee2ea2 + description: The identifier of the integration associated with the resource. + target: + type: string + example: 11db7782-4030-4acf-93e4-85aff3b860a1 + description: The identifier of the resource that the monitor is watching. + workspace: + type: string + example: e051db43-cda6-42dc-8a69-12d1aefc3a91 + description: The identifier of the workspace. + metric_type: + type: string + enum: + - row_count + - cardinality + - mean + - max + - min + - unique_percentage + - null_percentage + - freshness + - custom_sql + example: null_percentage + description: The type of metric. + metric_config: + type: string + description: Configuration for the metric. + frequency: + type: integer + example: 24 + description: The frequency with which this monitor is run. + name: + type: string + example: Null percentage in amount + description: >- + The full name of the monitor, includes the metric type and target + resource. + is_enabled: + type: boolean + example: true + description: Whether the monitor is enabled. + last_attempted_at: + type: string + example: '2023-10-12T15:03:40.693728Z' + description: The timestamp of the last attempted monitor. + last_success_at: + type: string + format: date-time + description: >- + The timestamp of the last check on Secoda's access and ability to + read the data source on which this monitor is set. This is + connctivity check - not a data quality check. + example: '2023-09-29T17:46:22.552345Z' + last_error_at: + type: string + example: null + description: The timestamp of the last error, if any. + last_error_message: + type: string + example: '' + description: The message associated with the last error, if any. + condition_auto_sensitivity: + type: integer + example: 5 + description: The automatic sensitivity condition. + condition_manual_min: + type: integer + example: null + description: The manual minimum condition if set by the user. + condition_manual_max: + type: integer + example: null + description: The manual maximum condition if set by the user. + status: + type: string + enum: + - normal + - incident + - error + - learning + - inactive + description: The status of the monitor. + example: incident + display_metadata: + type: object + description: >- + This is an internally used object that provides additional + information about the incident. This can be ignored by customers. + properties: + target: + type: object + properties: + icon: + type: string + example: null + description: Icon associated with the target resource, if one exists. + label: + type: string + example: amount + description: Title of the target resource. + entity_type: + type: string + example: column + description: The type of the target resource (e.g., column). + integration: + type: string + example: 337c5803-b484-4128-a24d-dcc55dee2ea2 + description: >- + The UUID of the integration from which the target resource + is extracted. + integration_type: + type: string + example: redshift + description: The type of integration. + last_measurement_value: + type: number + description: The last measured value if one is available. + example: 1234.56 + last_incident: + type: string + description: >- + The UUID of the last active incident. If there are no active + incidents (if the last incident has been closed), the field is set + to null. + example: 102ac399-6e3a-42dd-a710-dbbb6b2addbe + last_measurement: + type: string + example: 5d6ad413-5f74-41d6-b2f5-870b6f04de5c + description: The identifier of the last measurement. + next_run_at: + type: string + example: '2023-10-13T15:03:40.693728Z' + description: >- + The timestamp for the next run. Note, the run may occur shortly + after the time set, but never before. + IncidentResponse: + type: object + properties: + acknowledged_at: + type: string + format: date-time + description: >- + The time that the incident was acknowledged at. This will be null if + an incident hasn't been acknowledged yet. + example: '2023-11-10T19:20:44.975657Z' + actions: + type: array + description: A list of actions associated with the incident. + example: + - type: notification_initial + user_id: e1250ab7-c4dc-4b9c-8963-105fa73d4ba5 + user_name: John Doe + items: + type: object + properties: + type: + type: string + enum: + - notification_initial + - notification_reminder + - notification_resolved + - acknowledged + - resolved + user_id: + type: string + user_name: + type: string + created_at: + type: string + format: date-time + description: When the incident was created. + example: '2023-10-10T19:20:44.975657Z' + display_metadata: + type: object + description: >- + This is an internally used object that provides additional + information about the incident. This can be ignored by customers. + properties: + monitor: + type: object + properties: + label: + type: string + example: Unique percentage on extraction_completed_at + target: + type: object + properties: + entity_type: + type: string + description: The type of resource the incident is associated with. + example: column + icon: + type: string + integration: + type: string + description: The UUID of the integration associated with the resource. + example: 0c6f8b1a-0c8f-4fdf-b95d-57da8f80ef82 + integration_type: + type: string + description: >- + The type of the integration that the resource is extracted + from. + example: snowflake + label: + type: string + first_seen_at: + type: string + format: date-time + description: The first time this incident was observed. + example: '2023-10-10T19:20:44.973632Z' + id: + type: string + description: The UUID of the incident. + example: 6ac1bff0-b85f-47e8-84fb-8dca29614785 + last_notified_at: + type: string + format: date-time + description: The time of the last notification sent about this incident. + example: '2023-10-10T19:20:45.047056Z' + last_seen_at: + type: string + format: date-time + description: The most recent occurence about this incident. + example: '2023-10-10T19:20:45.047056Z' + monitor: + type: string + description: The UUID of the associated monitor. + example: b45bc798-763d-4ca5-863a-c12a882967c9 + name: + type: string + description: >- + The name of the incident, which indicates the type of metric set for + the monitor. + example: Unique percentage incident + resolved_at: + type: string + format: date-time + description: >- + The time that the incident was resolved. Will be null if the + incident has not yet been resolved. + status: + type: string + enum: + - acknowledged + - expired + - resolved + - active + description: The status of the incident. + example: active + summary: + type: string + example: Unique percentage incident + description: An automatically generated short summary of the incident. + target: + type: string + description: The UUID of the target resource being monitored for anomolies. + example: c332407c-cfa4-47c9-8d83-31df72b30c20 + updated_at: + type: string + format: date-time + description: The last updated time for the incident. + example: '2023-10-10T19:20:45.047238Z' + value: + type: number + description: The value of the measurement at the time of incident creation. + example: 86.4081806 + MeasurementResponse: + type: object + properties: + id: + type: string + description: The UUID of the measurement. + example: 6ac1bff0-b85f-47e8-84fb-8dca29614785 + created_at: + type: string + format: date-time + description: Timestamp of when the measurement was created. + example: '2023-10-03T04:46:24.290765Z' + updated_at: + type: string + format: date-time + description: Timestamp of the when the measurement was updated. + example: '2023-10-03T04:46:24.290765Z' + incident: + type: string + nullable: true + description: >- + The UUID of the associated incident, if it exists. Otherwise, this + is set to null. + example: 102ac399-6e3a-42dd-a710-dbbb6b2addbe + incident_metadata: + type: string + description: Additional information about the incident. + monitor: + type: string + description: The UUID of the associated monitor. + example: 102ac399-6e3a-42dd-a710-dbbb6b2addbe + upper_threshold: + type: number + description: > + The upper threshold of the measurement. A value crossing this + threshold will trigger an incident. The threshold will be set to + null when one is not configured, or the monitor is still learning + the thresholds. + example: 90.64496791804484 + lower_threshold: + type: number + description: > + The lower threshold of the measurement. A value crossing this + threshold will trigger an incident. The threshold will be set to + null when one is not configured, or the monitor is still learning + the thresholds. + example: 87.83219024929676 + value: + type: number + description: The exact value at the time of measurement. + example: 90.81823317519981 + TermResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + parent_id: + type: string + description: Indicates the UUID of the parent of terms. + example: None + base_entity_id: + type: string + description: >- + Indicates the UUID of the highest level ancestor of the + document. + example: 1f5c76c3-e7a3-406f-b51e-7ba220244f1b + sql: + type: string + description: Represents the sql query associated with the term. + example: select * from sample_table + last_run: + type: string + format: date-time + description: >- + Indicates the last time the query was ran in UTC format. This + could be the same as the scheduled last run. If this value is + different, it indicates the the last extraction was triggered + manually. + example: '2023-08-16T23:12:53.245493Z' + scheduled_delta: + type: string + description: Represents the time difference between last run and next run. + example: 4 + scheduled_next_run: + type: string + format: date-time + description: Indicates the next time the query will be run in UTC format. + example: '2023-08-20T23:12:53.245493Z' + scheduled_last_run: + type: string + description: >- + Indicates the scheduled last run time of the extraction in UTC + format. + example: '2023-08-20T14:12:53.245493Z' + results: + type: array + description: Specifies the results of the query of the terms. + chart_config: + type: object + description: Defines chart configuration for the query of the term. + properties: + grid: + type: object + description: controls the visibility of gridlines on a chart. + properties: + top: + type: integer + example: 32 + left: + type: string + example: 10% + show: + type: boolean + example: false + right: + type: integer + example: 32 + bottom: + type: string + example: 10% + color: + type: array + items: + type: string + description: Defines the different colors of the terms. + example: '#198B9A' + title: + type: object + properties: + text: + type: string + description: Defines the details of the title + example: Chart title + xAxis: + type: object + description: Customizes and control xAxis parameters of charts. + properties: + name: + type: string + type: + type: string + example: category + nameGap: + type: integer + example: 32 + axisLabel: + type: object + description: Customize and control the labels on the axes of a chart. + properties: + interval: + type: integer + nameLocation: + type: string + example: middle + yAxis: + type: object + description: Customizes and control yAxis parameters of charts. + example: null + properties: + name: + type: string + example: null + type: + type: string + example: category + nameGap: + type: integer + example: 32 + nameLocation: + type: string + example: middle + nameTextStyle: + type: object + description: >- + Represents a set of settings and attributes that control + the visual appearance and styling of text + properties: + padding: + type: array + items: + type: integer + example: '-30, 0, 0, 0' + legend: + type: object + description: >- + Indicates the legend associated with the chart if a chart + was generated. + series: + type: array + items: + type: object + description: >- + Represents the series associated with the chart if a chart + was generated. + properties: + type: + type: string + example: line + encode: + type: object + properties: + x: + type: integer + example: 0 + 'y': + type: integer + example: 1 + smooth: + type: boolean + example: false + dataset: + type: array + items: + type: object + properties: + source: + type: string + description: >- + Refers to data source that serves as the basis for + creating a chart. + toolbox: + type: object + properties: + show: + type: boolean + example: true + feature: + type: object + properties: + dataZoom: + type: object + properties: + show: + type: boolean + example: true + saveAsImage: + type: object + properties: + show: + type: boolean + example: true + tooltip: + type: object + properties: + show: + type: boolean + example: false + CollectionResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + pinned: + type: boolean + description: Refers to whether the resource has been pinned by user. + example: false + resource_count: + type: integer + description: Indicates how many resources are part of the collection. + example: 0 + QuestionResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + status: + type: string + description: >- + Indicates the status of the question. Values can be -
  • + Answered
  • Unanswered
+ example: UNANSWERED + priority: + type: string + description: Indicates the priority of the question or request. + example: High + reactions: + type: array + items: + type: string + description: Represents the emoji reactions to a question. + example: + - 👍 + answer: + type: string + description: Represents the verified answer of the question. + example: This is the answer to the question. + assigned_to: + type: string + description: Represents the user whom the question is assigned to. + example: 33733f42-8ff7-460b-9e20-50a2133d3bb0 + votes_sum: + type: integer + description: Indicates the amount of votes for the quesion. + example: 5 + current_user_vote: + type: integer + description: Represents the vote number of the current user. + example: 4 + ReplyResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + reactions: + type: array + items: + type: string + description: Represents the emoji reactions to a question. + example: + - 👍 + accepted_answer: + type: boolean + description: >- + Indicates if the answer is accepted or not. Values can be -
    +
  • True
  • False
+ example: false + DocumentResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + parent_id: + type: string + description: >- + Indicates the UUID of the parent of the document, which is + always another document. + example: 1f5c76c3-e7a3-406f-b51e-7ba220244f1b + base_entity_id: + type: string + description: >- + Indicates the UUID of the highest level ancestor of the + document. + example: 1f5c76c3-e7a3-406f-b51e-7ba220244f1b + QueryResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + type: + type: string + description: Indicates the type of query. Currently this is returned as None. + example: None + freq: + type: integer + description: >- + Represents the frequency with which the query is running. + Currently this will be returned as 0. + example: 0 + LineageResponse: + type: object + properties: + id: + type: string + description: The unique identifier of the resource. + example: d935a76c-2125-4c30-9389-ef42fa7e23bb + created_at: + type: string + format: date-time + description: The timestamp when the resource was created in Secoda in UTC format. + example: '2023-08-16T23:12:53.245493Z' + updated_at: + type: string + format: date-time + description: >- + The timestamp when the resource was last updated in Secoda in UTC + format. + example: '2023-08-16T23:12:53.245507Z' + from_entity: + type: string + description: Indicates the source resource of the lineage. + example: 7879886b-9e0e-4d02-8b37-c7d3c496a587 + to_entity: + type: string + description: Indicates the destination resource of the lineage. + example: b500ef23-c9b4-4259-a87d-d77b8b588f06 + direction: + type: string + description: >- + Represents the flow of data between the source and destination. + Values can be -
  • Upstream
  • Downstream
+ enum: + - UPSTREAM + - DOWNSTREAM + example: DOWNSTREAM + is_manual: + type: boolean + description: >- + Represents if data lineage is manually created or not. Values can be + -
  • True
  • False
+ example: true + TagsResponse: + type: object + properties: + id: + type: string + description: The unique identifier of the resource. + example: 69e0b863-8bb8-47e1-b566-8b8d57441c70 + created_at: + type: string + format: date-time + description: The timestamp when the resource was created in Secoda in UTC format. + example: '2023-09-05T17:32:56.571134Z' + updated_at: + type: string + format: date-time + description: >- + The timestamp when the resource was last updated in Secoda in UTC + format. + example: '2023-09-05T17:32:56.571151Z' + name: + type: string + description: Indicates the name of the tag. + example: Sample Tag + description: + type: string + description: Indicates the description of the tag. + example: This is a sample tag. + color: + type: string + description: Defines the different colors of the tags in HEX format. + example: '#4299E1' + integration_id: + type: string + description: >- + The unique identifier of the integration the tag is pulled from. + Null if the tag is created manually in Secoda. + example: 69e0b863-8bb8-47e1-b566-8b8d57441c70 + workspace_id: + type: string + description: Indiactes the workspace ID where the tag belongs. + example: f71585fa-251c-4102-8d81-c97c57c8d435 + TeamsResponse: + type: object + properties: + id: + type: string + description: Indicates the UUID of the team. + example: 3131f219-16bb-4c95-853a-894ae12db42a + created_at: + type: string + format: date-time + description: The timestamp when the team was created in Secoda in UTC format. + example: '2023-09-22T15:30:00Z' + updated_at: + type: string + format: date-time + description: The timestamp when the team was last updated in Secoda UTC format. + example: '2023-09-22T15:30:00Z' + name: + type: string + description: Indicates the name of the team. + example: Test Team + icon: + type: string + description: Indicates the icon of the team. + example: 😀 + type: + type: string + description: >- + Indicates the type of the team. If a team is Open, this means it is + Public and can be joined by anyone in the workspace. If a team is + Closed, the team is private and only admins can invite members into + the team. Values can be -
  • OPEN
  • CLOSED
+ example: OPEN + description: + type: string + description: Description of the team. + example: This is the best team in this workspace. + sidebar_settings: + type: object + description: >- + Use these settings to toggle which pages should be shown to team + members in the side bar. + properties: + home: + type: boolean + description: Whether to show the home page to team members. + example: true + catalog: + type: boolean + description: Whether to show the catalog page to team members. + example: true + documents: + type: boolean + description: Whether to show the documents page to team members. + example: true + questions: + type: boolean + description: Whether to show the questions page to team members. + example: true + dictionary: + type: boolean + description: Whether to show the dictionary page to team members. + example: true + collections: + type: boolean + description: Whether to show the collections page to team members. + example: true + workspace_id: + type: string + description: Indicates the workspace ID of the user. + example: f71585fa-251c-4102-8d81-c97c57c8d435 + archived: + type: boolean + description: Indicates if the team has been deleted. + example: false + is_default_team: + type: boolean + description: >- + Indicates if the team is the default team. Any resource without a + specified team will automatically get added to this team. + example: true + onboarding_complete: + type: boolean + description: This field will be deprecated. + example: true + UsersResponse: + type: object + properties: + id: + type: string + description: Indicates the UUID of the user. + example: 3131f219-16bb-4c95-853a-894ae12db42a + first_name: + type: string + description: Indicates the first name of the user. + example: Sample + last_name: + type: string + description: Indicates the last name of the user. + example: User + email: + type: string + description: Indicates the email id of the user. + example: sample@sample.com + role: + type: string + description: >- + Indicates the role of the user. Values can be -
  • Admin
  • + Editor
  • Viewer
+ example: editor + _role: + type: string + description: >- + Indicates the role of the user. Is the same value as the `role` + parameter. Values can be -
  • Admin
  • Editor
  • Viewer +
+ example: editor + workspace_id: + type: string + description: Indicates the workspace ID of the user. + example: f71585fa-251c-4102-8d81-c97c57c8d435 + secoda_is_superuser: + type: boolean + description: >- + Represents if the user is super user or not. Values can be -
    +
  • True
  • False
+ example: false + profile_picture: + type: string + description: Indicates the file name of the profile picture for the user. + example: image.jpg + pending: + type: boolean + description: >- + Represents if the user has been invited to the space but not + accepted yet. Values can be -
  • "True"
  • "False"
+ example: 'False' + viewer_mode: + type: boolean + description: >- + Indicates if the user is in Preview mode. Values can be -
    +
  • True
  • False
+ example: false + user_groups: + type: array + description: A list of UUIDs of groups the user belongs to. + items: + type: string + example: + - f71585fa-251c-4102-8d81-c97c57c8d435 + bookmarks: + type: array + items: + type: string + description: Represents the resorces that the user has bookmarked. + example: + - f71585fa-251c-4102-8d81-c97c57c8d435 + workspace: + type: string + description: Indicates the workspace of the user. + example: f71585fa-251c-4102-8d81-c97c57c8d435 + is_service_account: + type: boolean + example: false + description: >- + Indicates if the user account is a service account or not. Values + can be -
  • True
  • False
+ service_account_count_popularity: + type: boolean + description: >- + Indicates if the account counts towards popularity calculations. + Values can be -
  • True
  • False
+ example: true + last_login: + type: string + format: date-time + description: >- + Indicates the last time account was logged in to Secoda in UTC + format. + example: None + new_feature_acknowledged: + type: boolean + description: >- + Indicates if the new feature has been acknowleged or not. Values can + be -
  • True
  • False
+ example: true + disabled: + type: boolean + description: >- + Represents if the account is disabled or not. Values can be -
    +
  • True
  • False
+ example: false + DashboardGroupResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + visible: + type: boolean + description: This is a deprecated field. + DashboardResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + group: + type: string + description: Indicates the name of the group. + example: Samples + product: + type: string + description: Indicates the name of the integration. + example: tableau + ChartResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + product: + type: string + description: Indicates the name of the integration. + example: tableau + ListResponse: + type: object + properties: + links: + type: object + description: Indicates Links to associated pages. + properties: + next: + type: string + description: The link to the next page (null if there are no more pages). + example: https://api.secoda.co/resource/all/?page=2 + previous: + type: string + description: The link to the previous page (null if on the first page). + example: None + meta: + type: object + description: Reprents the meta data of the response. + properties: + page: + type: integer + description: The current page number. + example: 1 + previous_page: + type: integer + description: The previous page number (null if on the first page). + example: None + next_page: + type: integer + description: The next page number (null if on the last page). + example: 2 + count: + type: integer + description: The total count of items returned. + example: 315 + total_pages: + type: integer + description: The total number of pages. + example: 7 + IntegrationResponse: + type: object + properties: + id: + type: string + description: The ID of the created integration. + example: 740904fe-e87d-44f8-8a91-b13631ff2812 + created_at: + type: string + format: date-time + description: >- + The timestamp when the integration was created in Secoda in UTC + format. + example: '2023-09-22T15:30:00Z' + updated_at: + type: string + format: date-time + description: >- + The timestamp when the integration was last updated in Secoda UTC + format. + example: '2023-09-22T15:30:00Z' + name: + type: string + description: The name of the integration. + example: Tableau + type: + type: string + description: The type of integration. + example: tableau + credentials: + type: object + description: >- + The actual credentials of the integration will NOT be returned. Can + you find the easter egg in this response parameter for native + integrations? + example: {} + workspace_id: + type: string + description: The ID of the associated workspace. + example: f71585fa-251c-4102-8d81-c97c57c8d435 + ssh_tunnel: + type: string + description: Information about SSH tunnel if one is set update. + example: None + execute_access: + type: array + items: + type: string + description: List of IDs that have the permission to trigger the extracton. + example: + - f71585fa-251c-4102-8d81-c97c57c8d435 + scheduled_extractions_hour: + type: integer + description: Hour for scheduled extractions. Will be null for custom extractions. + example: 3 + scheduled_extractions_frequency: + type: integer + description: >- + Frequency in days of scheduled extractions. Will be null for custom + extractions. + example: 7 + scheduled_extractions_next_run: + type: string + format: date-time + description: >- + Next scheduled extraction run time. Will be null for custom + extractions. + example: '2023-10-15T09:45:00Z' + scheduled_extractions_last_run: + type: string + description: Last scheduled extraction run time (null in this response). + example: '2023-10-15T09:45:00Z' + properties: + type: object + description: Additional properties associated with the integration. + preview_access_users: + type: array + items: + type: string + description: >- + List of users IDs with access to preview the data in the + integration. + example: + - f71585fa-251c-4102-8d81-c97c57c8d435 + preview_access_roles: + type: array + items: + type: string + description: >- + List of roles that are allowed to preview the data in the + integration.
  • Admin
  • Editor
  • Viewer
+ example: + - Admin + - Editor + preview_access_groups: + type: array + items: + type: string + description: >- + List of users group IDs with access to preview the data in the + integration. + example: + - f71585fa-251c-4102-8d81-c97c57c8d435 + teams: + type: array + items: + type: string + description: List of team IDs associated with the integration. + example: + - e8ac09ed-e51e-4e61-8eaf-59942c98c260 + ColumnResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + data_type: + type: string + description: Indicates the data type of the column. + example: integer + sort_order: + type: integer + description: >- + Indicates the order the column should be in amongst the other + columns + example: 3 + is_pk: + type: boolean + description: Whether the column is a primary key. + example: true + hidden: + type: boolean + description: This is a deprecated field. + table_cluster: + type: string + description: This is a deprecated field. + table_database: + type: string + description: Indicates the name of the database that the column belongs to. + example: aws-datacatalog + table_schema: + type: string + description: Indicates the name of the schema that the column belongs to. + example: secoda-glue + table_title: + type: string + description: Indicates the name of the table that the column belongs to. + example: customers + TableResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + database: + type: string + description: Indicates the name of the database that the table belongs to. + example: awsdatacatalog + schema: + type: string + description: Indicates the name of the schema that the table belongs to. + example: secoda-glue + cluster: + type: string + description: This is a deprecated field. + creation_query: + type: string + description: >- + If the table is a view, this indicates the query written to + generate the view. + example: select * from customers where country=='CAN' + CustomProperties: + type: object + properties: + name: + type: string + description: The name of the custom property. + example: Custom Property + type: + type: string + enum: + - string + - number + - multiselect + - checkbox + - user + - resource + - date + description: The type of the custom property. + example: string + order: + type: integer + description: The order of the custom property. + example: 1 + value: + type: string + description: The value of the custom property. + example: TestValue + BaseResponse: + type: object + properties: + id: + type: string + description: The unique identifier of the resource. + example: d935a76c-2125-4c30-9389-ef42fa7e23bb + created_at: + type: string + format: date-time + description: The timestamp when the resource was created in Secoda in UTC format. + example: '2023-08-16T23:12:53.245493Z' + updated_at: + type: string + format: date-time + description: >- + The timestamp when the resource was last updated in Secoda in UTC + format. + example: '2023-08-16T23:12:53.245507Z' + entity_type: + type: string + description: The type of resource in Secoda. + example: table + native_type: + type: string + description: >- + The native type of the resource as it is referred to in the + integration. + example: Dataset + bookmarked_by: + type: array + items: + type: string + description: List of member IDs that have bookmarked the resource. + example: + - d935a76c-2125-4c30-9389-ef42fa7e23bb + - 33733f42-8ff7-460b-9e20-50a2133d3bb0 + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + icon: + type: string + description: The icon associated with the resource. + example: icon-url.png + title: + type: string + description: The title of the resource. + example: Sample Table + title_full: + type: string + description: The full title of the resource. This is a generated field + example: Sample Database.Sample Schema.Sample Table + title_cased: + type: string + description: The title in a cased format. + example: sampleTable + description: + type: string + description: A description of the resource. + example: This is a description for a sample table. + definition: + type: string + format: markdown + description: The documentation of the resource, written in Mark Down format. + definition_version: + type: integer + description: The version of the resource's documentation. + example: 1 + multiplayers: + type: array + items: + type: string + description: >- + List of members who have opened or worked with the resource + recently. + example: + - 429693a2-a5e7-4525-b413-ece5e96bc5b3 + - f71585fa-251c-4102-8d81-c97c57c8d435 + multiplayer_last_modified_by: + type: string + description: The last member who modified this resource. + example: 429693a2-a5e7-4525-b413-ece5e96bc5b3 + multiplayer_last_modified: + type: string + format: date-time + description: The timestamp when the multiplayer was last modified in UTC format. + example: '2023-08-16T23:12:53.245507Z' + owners: + type: array + items: + type: string + description: List of owner IDs for the resource. + example: + - 429693a2-a5e7-4525-b413-ece5e96bc5b3 + - f71585fa-251c-4102-8d81-c97c57c8d435 + owners_groups: + type: array + items: + type: string + description: List of owner group IDs for the resource. + example: + - 3b2c7185-fb5d-4d94-89d4-3dae08e093a9 + collections: + type: array + items: + type: string + description: >- + List of IDs representing the collection(s) that the resource has + been added to. + example: + - e8ac09ed-e51e-4e61-8eaf-59942c98c260 + tags: + type: array + items: + type: string + description: List of tag IDs added to the resource. + example: + - f7466f09-33bf-4ac2-9ff2-165fb4b8bdc2 + - a17f4ed0-0e5a-45a9-92c0-6c93c0b8242c + workspace_id: + type: string + description: The ID of the workspace. + example: f71585fa-251c-4102-8d81-c97c57c8d435 + total_usage: + type: integer + description: The total usage count for the resource. + example: 483 + published: + type: boolean + description: Indicates if the resource is published and can be seen by Viewers. + example: false + archived: + type: boolean + description: Indicates if the resource is deleted. + example: false + pii: + type: boolean + description: >- + Indicates if the resource contains Personally Identifiable + Information (PII). Values can be -
  • True
  • False
+ example: true + verified: + type: boolean + description: >- + Indicates if the resource is verified. Values can be -
  • True +
  • False
+ example: false + url: + type: string + description: The URL associated with the resource. + example: https://example.com/sample-table + parent: + type: string + description: The parent resource's ID. + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + children_count: + type: integer + description: The count of children entities of the resource. + example: 2 + integration: + type: string + description: The integration ID associated with the resource. + example: ca529385-fbc9-4934-afae-e372affe795b + external_updated_at: + type: string + format: date-time + description: The timestamp of the last update for the resource in the source. + example: '2023-08-16T23:12:53.245507Z' + internal_usage: + type: integer + description: The internal usage count for the resource. + example: 3 + internal_users: + type: array + items: + type: string + description: List of internal user IDs for the resource. + example: + - 04654d61-4f64-4f08-b697-3915b5137c49 + external_users: + type: array + items: + type: string + description: >- + List of external user IDs for the resource extracted from the + integration. + example: + - 33733f42-8ff7-460b-9e20-50a2133d3bb0 + external_usage: + type: integer + description: >- + The external usage count for the resource extracted from the source + source. This is what is used to calculate Popularity of a resource. + example: 38 + databuilder_id: + type: string + description: >- + The databuilder ID associated with the resource. This is a generated + field. + example: b818280a-ae1a-43bf-90d3-dbccf812b025.x68605bd2 + search_metadata: + type: object + description: Metadata related to indexing the resource for optimizing search. + example: + cluster: glue + database: awsdatacatalog + schema: secoda-glue + type: table + sources: + type: array + items: + type: string + description: >- + List of other integrations associated with the resource. For + example, if a description is pulled in from DBT for a Snowflake + table, this field will reference DBT. + example: + - 8a3af948-026c-45d6-983d-3873f6156f86 + subscribers: + type: array + items: + type: string + description: List of User IDs who subscribe to the resource. + example: + - 33733f42-8ff7-460b-9e20-50a2133d3bb0 + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + teams: + type: array + items: + type: string + description: List of team IDs associated with the resource. + example: + - 8680f886-97d2-4f4e-92c8-c80b46a3017d + stale: + type: boolean + description: >- + Indicates if the resource is stale. This means this resource no + longer exists in the source, as of the last extraction. + example: false + current_user_permissions: + type: object + description: Permissions of the current user for this resource. + properties: + read: + type: boolean + example: true + write: + type: boolean + example: true + execute: + type: boolean + example: false + properties: + type: object + description: A list of custom properties associated with the resource. + properties: + custom: + type: array + items: + $ref: '#/components/schemas/CustomProperties' + BaseResourceRequest: + type: object + properties: + title: + type: string + description: The title of the resource. + example: Sample Title + integration: + type: string + description: The integration ID associated with the resource, if one exists. + example: ca529385-fbc9-4934-afae-e372affe795b + description: + type: string + description: A description of the resource. + example: This is a description for a sample table. + definition: + type: string + description: Mark down documentation to be added to the resource. + example: \n# Castae illa\n\n## Finemque aequore\n\nLorem markdownum motus + parent: + type: string + description: >- + The ID of the parent resource. Please keep the resource heirarchy in + mind when setting the parent. + example: df2c0597-13d9-4159-bb6d-00b3f54235dc + pii: + type: boolean + description: >- + Indicates whether the resource contains personally identifiable + information (PII). Values can be -
  • True
  • False
+ example: false + verified: + type: boolean + description: >- + Indicates whether the resource has been set as verified. Values can + be -
  • True
  • False
+ example: true + published: + type: boolean + description: >- + Indicates if the resource is visible to viewers or not. Values can + be -
  • True
  • False
+ example: true + teams: + type: array + items: + type: string + description: A list of team IDs that the resource belongs to. + example: + - e8ac09ed-e51e-4e61-8eaf-59942c98c260 + - cca810f1-11c1-4117-bc23-20ae8020897f + owners: + type: array + items: + type: string + description: A list of owner user IDs for the resource. + example: + - 33733f42-8ff7-460b-9e20-50a2133d3bb0 + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + collections: + type: array + items: + type: string + description: A list of collection IDs the resource belongs to. + example: + - 3b2c7185-fb5d-4d94-89d4-3dae08e093a9 + tags: + type: array + items: + type: string + description: A list of tag IDs associated with the resources. + example: + - 04654d61-4f64-4f08-b697-3915b5137c49 + - 429693a2-a5e7-4525-b413-ece5e96bc5b3 + subscribers: + type: array + description: >- + A list of user IDs that have been subscribed to the resource. Anyone + subscribed will be notified of any changes. + items: + type: string + example: + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + properties: + type: object + description: A list of custom properties associated with the resource. + properties: + custom: + type: array + items: + $ref: '#/components/schemas/CustomProperties' + BasePatchRequest: + type: object + properties: + description: + type: string + description: A description of the resource. + example: This is a description for a sample table. + definition: + type: string + description: Mark down documentation to be added to the resource. + example: \n# Castae illa\n\n## Finemque aequore\n\nLorem markdownum motus + pii: + type: boolean + description: >- + Indicates whether the resource contains personally identifiable + information (PII). Values can be -
  • True
  • False
+ example: false + verified: + type: boolean + description: >- + Indicates whether the table has been set as verified. Values can be + -
  • True
  • False
+ example: true + published: + type: boolean + description: >- + Indicates if the resource is visible to viewers or not. Values can + be -
  • True
  • False
+ example: true + teams: + type: array + items: + type: string + description: A list of team IDs that the resource belongs to. + example: + - e8ac09ed-e51e-4e61-8eaf-59942c98c260 + - cca810f1-11c1-4117-bc23-20ae8020897f + owners: + type: array + items: + type: string + description: A list of owner user IDs for the resource. + example: + - 33733f42-8ff7-460b-9e20-50a2133d3bb0 + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + collections: + type: array + items: + type: string + description: A list of collection IDs the resource belongs to. + example: + - 3b2c7185-fb5d-4d94-89d4-3dae08e093a9 + tags: + type: array + items: + type: string + description: A list of tag IDs associated with the resources. + example: + - 04654d61-4f64-4f08-b697-3915b5137c49 + - 429693a2-a5e7-4525-b413-ece5e96bc5b3 + subscribers: + type: array + description: >- + A list of the added user IDs that have been subscribed to the + resource. Anyone subscribed will be notified of any changes. + items: + type: string + example: + - c90dedee-40ee-47ec-9c27-96dc3b2ec363 + properties: + type: object + description: A list of custom properties to add to the resource. + properties: + custom: + type: array + items: + $ref: '#/components/schemas/CustomProperties' + EventPropertyResponse: + allOf: + - $ref: '#/components/schemas/BaseResponse' + - type: object + properties: + type: + type: string + description: >- + The type of property associated with the event. Examples include + string, enum, integer, etc. + example: enum + enum: + type: string + description: >- + If the property type is enum, this field indicates the various + enum values. + example: red, green, yellow + is_required: + type: boolean + description: Set this to true if the property is required. diff --git a/sdks/db/intermediate-fixed-specs/sellsy/openapi.yaml b/sdks/db/intermediate-fixed-specs/sellsy/openapi.yaml new file mode 100644 index 000000000..42937747a --- /dev/null +++ b/sdks/db/intermediate-fixed-specs/sellsy/openapi.yaml @@ -0,0 +1,38693 @@ +openapi: 3.0.2 +info: + title: Sellsy API + version: 2.126.0 + description: >- + Find out the [Postman collections](dist/postman/CollectionsApiV2.json) with + the required [environment variables](dist/postman/Environment.json) + + + Find out the [Changelog](changelog.html) + + # Errors + + + The errors are returned in JSON with the following format: + + ``` + + { + "error": { + "code": HTTP_CODE, + "message": "Error message", + "context": "Error context code" + "details": { + "FIELD": "Error message" + } + } + + ``` + + + The `details` field can contain an object that details the error. It is used + in particular during validation to return the invalid fields + + + + | HTTP Code | Description | + + | ------------- | ------------- | + + | 400 | Validation and logic errors | + + | 401 | Authentification errors | + + | 402 | Quotas limit reached or limit of feature reached on your + current plan | + + | 403 | Insufficient privileges | + + | 404 | Page not found | + + | 409 | A request conflicts with the current state of the server | + + | 413 | Payload is too large | + + | 429 | Quotas of requests reached (See quotas section) | + + | 5xx | Server errors | + + + + # Versioning + + + This API is versioned, the modifications carried out on this one should not + generate regression if you respect the following recommendations: + + + - A new field can be added, your code must authorize this + + - A new error code can be added, your code must deal with unknown errors + + - On lists, values can be added + + - A missing field is not equal to `null` + + + To target a specific **major** version of the API, just precise the number + in the url: `{url}/v2/{endpoint}` + + + # Quotas + + + A limit on the number of requests per second, minute, day and/or month is + applied to each user account. + + + A 429 error will be sent if at least one of the quotas has reached zero. + + + You can know your remaining quota through the headers of the response: + + - `X-Quota-Remaining-By-Second` + + - `X-Quota-Remaining-By-Minute` + + - `X-Quota-Remaining-By-Day` + + - `X-Quota-Remaining-By-Month` + + + The quotas are counted on each request, even in the event of an error. On + the scripts generating a lot of requests, it is therefore necessary to check + these values before returning requests. + + + A new 402 error code has created. This error appears when you try to create + ressources like a pipeline or custom fields and the quota limit has been + reached. + + + # Pagination on list and search requests + + On list and search requests, the pagination offset can be typed as either an + int or a string, depending on the pagination method used. + + + We provide 2 ways to interact with the pagination. + + ### 1. "Seek" method + + The offset value represents the LAST object in the response list, it's the + default one used. + + + **We recommend to use the "seek" method, it has better performance and + includes optimizations.** + + ``` + + GET {{url}}/comments?limit=1 { + "data": [ + { + "id": 1 + } + ], + "pagination": { + "limit": 1, + "count": 1, + "total": 13, + "offset": "WyIxMSJd" + } + } + + --- + + GET {{url}}/comments?limit=1&offset=WyIxMSJd { + "data": [ + { + "id": 2 + } + ], + "pagination": { + "limit": 1, + "count": 1, + "total": 13, + "offset": "SoIxNyJd" + } + } + + ``` + + ### 2. Numeric offset method + + The second method, more classical, where the offset corresponds to the + number of the result page, it must be explicitly specified in the first + request. + + + **We have applied a limit to the first 100 000 results on this method, for + performance purposes.** + + ``` + + GET {{url}}/comments?limit=1&offset=0 { + "data": [ + { + "id": 1 + } + ], + "pagination": { + "limit": 1, + "count": 1, + "total": 13, + "offset": 0 + } + } + + --- + + GET {{url}}/comments?limit=1&offset=1 { + "data": [ + { + "id": 2 + } + ], + "pagination": { + "limit": 1, + "count": 1, + "total": 13, + "offset": 1 + } + } + + ``` + + # Embed objects + + Additional objects can be included in the result, and are specified on each + endpoint under the `embed` parameter. Those objects may require different + OAuth2 scopes than the main endpoint, and will automatically be `null` if + the scopes are not respected. Usually, the scopes are listed in the + description of the parameter. + contact: + email: api@sellsy.com + x-logo: + url: ./resources/sellsy.png +servers: + - url: https://api.sellsy.com/v2 +tags: + - name: API Management + description: Api management + - name: Accounting + description: Accounting management + - name: Activities + description: Activities management + - name: Batch + description: Batch requests + - name: CRM Activities + description: CRM Activity management + - name: Calendar + description: Calendar management + - name: Comments + description: Comments + - name: Companies + description: Client, prospect and supplier management + - name: Conformities + description: Invoicing conformities management + - name: Contacts + description: Contacts management + - name: Corporations + description: Corporations management + - name: Countries + description: Countries management + - name: Credit notes + description: Credit notes documents + - name: Currencies + description: Currency management + - name: Custom Activities + description: Custom Activities management + - name: Custom Fields + description: Custom Fields management + - name: Discount Including Taxes + description: Discount Including Taxes + - name: Document Layouts + description: Document layouts on the account + - name: Document Models + description: Document models management + - name: Documents + description: Invoices and credit notes on the account + - name: Electronic Signature + description: Electronic signature management + - name: Emails + description: Emails management + - name: Estimates + description: Estimates documents + - name: Files + description: Files endpoint + - name: Fiscal Year + description: Fiscal year endpoint + - name: Imports + description: Imports management + - name: Individuals + description: Individuals management + - name: Invoices + description: Invoices documents + - name: Items + description: Items management + - name: Language + description: Language management + - name: Listings + description: Listings management + - name: Marketing + description: Marketing management + - name: Masquerade + description: Masquerade management + - name: Notifications + description: Notifications management + - name: Objectives + description: Objectives management + - name: Onboarding + description: Onboarding Management + - name: Opportunities + description: Opportunity Management + - name: Orders + description: Orders managemenm + - name: Payments + description: Payments management + - name: PhoneCalls + description: PhoneCalls management + - name: Purchase (OCR) + description: Ocr management + - name: Quotas + description: Quotas management + - name: Rate Categories + description: Rate categories management + - name: Search Documents + description: Search documents + - name: Smart Tags + description: Smart-tags management + - name: Staffs + description: Staffs management + - name: Tasks + description: Tasks management + - name: Taxes + description: Taxes management + - name: Two Factor Authentication + description: Two factor authentication management + - name: Units + description: Units management + - name: Webhooks + description: Webhooks +x-tagGroups: + - name: Core + tags: + - Batch + - API Management + - Webhooks + - Listings + - Activities + - Custom Activities + - null + - null + - Files + - null + - null + - null + - name: Prospection + tags: + - Companies + - Contacts + - Individuals + - Opportunities + - Calendar + - Emails + - Comments + - Tasks + - PhoneCalls + - CRM Activities + - Estimates + - null + - name: Catalog + tags: + - Discount Including Taxes + - Items + - Units + - Taxes + - Rate Categories + - name: Invoicing + tags: + - null + - Document Models + - Invoices + - Credit Notes + - Orders + - Accounting + - Payments + - Subscriptions + - Purchase (OCR) + - name: Account + tags: + - Currencies + - Custom Fields + - Countries + - Smart Tags + - Document Layouts + - Documents + - Staffs + - Subscription + - Quotas + - Conformities + - Notifications + - null + - Fiscal Year + - Language + - null +paths: + /comments: + get: + summary: Comments List + tags: + - Comments + description: Get a list of comments + operationId: get-comments + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/commentItemEmbed' + - $ref: '#/components/parameters/commentOrder' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CommentItem' + required: + - pagination + - data + security: + - oauth2: + - comments.read + post: + summary: Create a comment + tags: + - Comments + description: Create a comment + operationId: create-comment + parameters: + - $ref: '#/components/parameters/commentItemEmbed' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/verify' + responses: + '201': + description: Comment created + content: + application/json: + schema: + $ref: '#/components/schemas/CommentItem' + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CommentCreateItem' + security: + - oauth2: + - comments.write + /comments/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Comment id + get: + summary: Get comment details + parameters: + - $ref: '#/components/parameters/commentItemEmbed' + - $ref: '#/components/parameters/fields' + tags: + - Comments + responses: + '200': + description: Comment fetched + content: + application/json: + schema: + $ref: '#/components/schemas/CommentItem' + operationId: get-comment + description: Fetch comment details + security: + - oauth2: + - comments.read + put: + summary: Update a comment + tags: + - Comments + description: Udate a comment + operationId: update-comment + parameters: + - $ref: '#/components/parameters/commentItemEmbed' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/verify' + responses: + '200': + description: Comment updated + content: + application/json: + schema: + $ref: '#/components/schemas/CommentItem' + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CommentUpdateItem' + security: + - oauth2: + - comments.write + delete: + summary: Delete a comment + tags: + - Comments + operationId: delete-comment + responses: + '204': + description: Comment deleted + description: Remove a comment + security: + - oauth2: + - comments.write + /comments/search: + post: + summary: Search comments + tags: + - Comments + description: Search through comments + operationId: search-comments + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/commentItemEmbed' + - $ref: '#/components/parameters/commentOrder' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CommentFilters' + responses: + '200': + description: Comments list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CommentItem' + required: + - pagination + - data + security: + - oauth2: + - comments.read + /companies: + post: + summary: Create a company + tags: + - Companies + operationId: create-company + parameters: + - in: query + name: embed + description: > + Example : `embed[]=invoicing_contact&embed[]=cf.1542&embed[]=acl` +
Additional object included in the result.

Each + embed object may require different oauth2 scopes than the main + endpoint:
- opportunities: `opportunities.read`
- + main_contact, dunning_contact, invoicing_contact: `contacts.read`
- estimates,invoices,orders,deliveries: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is + limited to the 20 first results sorted in alphabetical order.
+ schema: + type: array + items: + oneOf: + - type: string + title: standards + description: The standards embeds + enum: + - invoicing_address + - delivery_address + - main_contact + - dunning_contact + - invoicing_contact + - opportunities + - estimates + - invoices + - orders + - deliveries + - acl + - smart_tags + - type: string + title: custom-fields + description: >- + Each custom field value can be requested as an embed object + by passing the custom field identifier in the query, + prefixed with the "cf." string. Such as `embed[]=cf.123` for + the value of the custom field of identifier `123` + pattern: ^cf.\d+$ + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/verify' + responses: + '201': + description: Company created + content: + application/json: + schema: + title: Company with embed + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + - type: object + properties: + _embed: + nullable: true + allOf: + - title: Embed for Company + type: object + description: Optional objects added through the embed parameter + x-examples: {} + additionalProperties: false + allOf: + - type: object + properties: + invoicing_address: + nullable: true + description: Invocing address + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + delivery_address: + nullable: true + description: Delivery address + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + main_contact: + nullable: true + description: Main contact + allOf: + - $ref: >- + #/components/schemas/OpportunityItem/properties/_embed/allOf/0/properties/contacts/items + dunning_contact: + nullable: true + description: Dunning contact + allOf: + - $ref: >- + #/components/schemas/OpportunityItem/properties/_embed/allOf/0/properties/contacts/items + invoicing_contact: + nullable: true + description: Invoicing contact + allOf: + - $ref: >- + #/components/schemas/OpportunityItem/properties/_embed/allOf/0/properties/contacts/items + opportunities: + nullable: true + type: integer + description: Count of opportunities + example: 2 + estimates: + nullable: true + type: integer + description: Count of estimates + example: 2 + invoices: + nullable: true + type: integer + description: Count of invoices + example: 2 + orders: + nullable: true + type: integer + description: Count of orders + example: 2 + deliveries: + nullable: true + type: integer + description: Count of deliveries + example: 2 + acl: + nullable: true + description: Company acl + allOf: + - $ref: >- + #/components/schemas/Activity/properties/_embed/properties/acl/oneOf/0 + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/2 + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + title: Company + type: object + additionalProperties: false + description: '' + x-examples: {} + required: + - name + - type + properties: + type: + type: string + enum: + - prospect + - client + - supplier + name: + type: string + description: Company name + example: Example company + maxLength: 250 + email: + description: Company email + type: string + format: email + example: contact@example-company.com + nullable: true + website: + type: string + format: url + description: Company website + example: http://example-company.com + nullable: true + phone_number: + type: string + description: Company phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Company mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Company Fax number + example: '+33100000000' + nullable: true + legal_france: + type: object + additionalProperties: false + properties: + siret: + description: Company Siret + type: string + minLength: 14 + maxLength: 14 + nullable: true + example: '73282932000074' + siren: + description: Company Siren + type: string + minLength: 9 + maxLength: 9 + nullable: true + example: '732829320' + vat: + description: VAT number + type: string + minLength: 2 + maxLength: 15 + nullable: true + example: FR99999999999 + ape_naf_code: + description: APE/NAF Code + type: string + minLength: 5 + maxLength: 6 + nullable: true + example: 4711C + company_type: + description: Company type + type: string + minLength: 2 + maxLength: 100 + nullable: true + example: SAS + rcs_immatriculation: + description: RCS immatriculation code + type: string + minLength: 3 + maxLength: 200 + nullable: true + example: RCS xxxxx + capital: + type: string + nullable: true + description: Company Capital + example: '4000' + reference: + type: string + description: Company reference + example: CLI-1654 + nullable: true + note: + type: string + description: Note on company + example: An handed-written note describing this company + auxiliary_code: + type: string + description: Auxiliary code + example: 0EX11C + nullable: true + social: + type: object + properties: + twitter: + type: string + format: url + description: Twitter account + example: https://twitter.com/example + nullable: true + facebook: + type: string + format: url + description: Facebook account + example: https://facebook.com/example + nullable: true + linkedin: + type: string + format: url + description: Linkedin account + example: https://linkedin.com/example + nullable: true + viadeo: + type: string + format: url + description: Viadeo account + example: https://viadeo.com/example + nullable: true + rate_category_id: + type: integer + nullable: true + description: Company Rate category id + example: 9956 + accounting_code_id: + type: integer + nullable: true + description: Company accounting code id + example: 12345 + accounting_purchase_code_id: + type: integer + nullable: true + description: Company accouting purchase code id + example: 98556 + owner_id: + type: integer + nullable: true + description: Owner of the company (Staff id expected) + example: 112 + minimum: 1 + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + business_segment: + type: integer + description: Company business segment + nullable: true + number_of_employees: + type: integer + description: Number of employees of company + nullable: true + marketing_campaigns_subscriptions: + type: array + items: + type: string + enum: + - sms + - phone + - email + - postal_mail + - custom + description: list of campaign type subscribed + uniqueItems: true + created: + description: Date of creation of the company + type: string + format: date-time + description: '' + security: + - oauth2: + - companies.write + description: Create a company + get: + summary: Companies List + tags: + - Companies + description: Get a list of companies + operationId: get-companies + parameters: + - in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - name + - id + - created_at + - updated_at + - $ref: '#/paths/~1companies/post/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Companies list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1companies/post/responses/201/content/application~1json/schema + required: + - pagination + - data + security: + - oauth2: + - companies.read + /companies/search: + post: + summary: Search companies + tags: + - Companies + description: Search companies + operationId: search-companies + parameters: + - $ref: '#/paths/~1companies/get/parameters/0' + - $ref: '#/paths/~1companies/post/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + title: Company filters + type: object + additionalProperties: false + required: + - filters + properties: + filters: + type: object + additionalProperties: false + description: Company filters + properties: + created: + title: Created at + type: object + description: Filter the company list by creation date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + updated_at: + title: Updated at + type: object + description: Filter the company list by last update date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + name: + title: Name + type: string + description: Filter the company list by name (exact search) + example: Company + email: + title: Email + type: string + description: Filter the company list by email (exact search) + example: contact@example.com + type: + title: Type + description: Filter the company list by type + oneOf: + - type: string + enum: + - prospect + - client + - supplier + - type: array + uniqueItems: true + items: + type: string + enum: + - prospect + - client + - supplier + is_archived: + title: Is archived + type: boolean + description: Filter the company list by is_archived + example: false + contacts: + title: Contacts + description: Filter the company list for the given contacts + type: array + items: + type: integer + siret: + title: Siret + description: Filter the company list by siret + type: string + example: '36252187900034' + id: + title: Companies + type: array + items: + type: integer + description: Filter companies list by ID + example: + - 12 + - 22 + country_code: + title: Country code + description: >- + Filter the company list by country code (main address + only) + type: string + example: FR + postal_code: + title: Postal code + description: >- + Filter the company list by postal code (main address + only) + type: array + items: + type: string + example: + - '17001' + - '17002' + favourite_filter: + $ref: >- + #/components/schemas/ContactFilters/properties/filters/properties/favourite_filter + responses: + '200': + description: Companies list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1companies/post/responses/201/content/application~1json/schema + required: + - pagination + - data + security: + - oauth2: + - companies.read + /companies/favourite-filters: + get: + summary: List companies favourite filters + tags: + - Companies + description: > + List favourite filters for faster access to specific companies
> + Favourite filters can be applied directly to company search endpoints +
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-company-favourite-filters + parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + security: + - oauth2: + - companies.read + /companies/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Company id + get: + summary: Get Company + tags: + - Companies + parameters: + - $ref: '#/paths/~1companies/post/parameters/0' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Company fetched + content: + application/json: + schema: + $ref: >- + #/paths/~1companies/post/responses/201/content/application~1json/schema + operationId: get-company + description: Fetch company informations + security: + - oauth2: + - companies.read + put: + summary: Update Company + tags: + - Companies + operationId: update-company + parameters: + - $ref: '#/paths/~1companies/post/parameters/0' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/verify' + responses: + '200': + description: Company updated + content: + application/json: + schema: + $ref: >- + #/paths/~1companies/post/responses/201/content/application~1json/schema + '204': + $ref: '#/components/schemas/Verify' + description: Update Company informations + requestBody: + content: + application/json: + schema: + title: Company + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + name: + type: string + description: Company name + example: Example company + maxLength: 250 + email: + description: Company email + type: string + format: email + example: contact@example-company.com + nullable: true + website: + type: string + format: url + description: Company website + example: http://example-company.com + nullable: true + phone_number: + type: string + description: Company phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Company mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Company Fax number + example: '+33100000000' + nullable: true + legal_france: + $ref: >- + #/paths/~1companies/post/requestBody/content/application~1json/schema/properties/legal_france + capital: + type: string + nullable: true + description: Company Capital + example: '4000' + reference: + type: string + description: Company reference + example: CLI-1654 + nullable: true + note: + type: string + description: Note on company + example: An handed-written note describing this company + auxiliary_code: + type: string + description: Auxiliary code + example: 0EX11C + nullable: true + social: + $ref: >- + #/paths/~1companies/post/requestBody/content/application~1json/schema/properties/social + rate_category_id: + type: integer + nullable: true + description: Company Rate category id + example: 9956 + accounting_code_id: + type: integer + nullable: true + description: Company accounting code id + example: 12345 + accounting_purchase_code_id: + type: integer + nullable: true + description: Company accouting purchase code id + example: 98556 + owner_id: + type: integer + nullable: true + description: Owner of the company (Staff id expected) + example: 112 + minimum: 1 + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + business_segment: + type: integer + description: Company business segment + nullable: true + number_of_employees: + type: integer + description: Number of employees of company + nullable: true + marketing_campaigns_subscriptions: + type: array + items: + type: string + enum: + - sms + - phone + - email + - postal_mail + - custom + description: list of campaign type subcribed + uniqueItems: true + security: + - oauth2: + - companies.write + delete: + summary: Delete company + tags: + - Companies + operationId: delete-company + responses: + '204': + description: Company deleted + description: Remove a company + security: + - oauth2: + - companies.write + /companies/{companyId}/addresses: + parameters: + - schema: + type: integer + name: companyId + in: path + required: true + description: Company id + get: + summary: Get company addresses + tags: + - Companies + responses: + '200': + description: Addresses fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Address' + required: + - pagination + - data + operationId: get-company-addresses + security: + - oauth2: + - companies.read + post: + tags: + - Companies + parameters: + - $ref: '#/components/parameters/verify' + responses: + '201': + description: Address created + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + '204': + $ref: '#/components/schemas/Verify' + operationId: create-company-address + summary: Create a company address + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/AddressCreate' + security: + - oauth2: + - companies.write + /companies/{companyId}/addresses/{id}: + parameters: + - schema: + type: integer + name: companyId + in: path + required: true + description: Company id + - schema: + type: integer + name: id + in: path + required: true + description: Address id + get: + tags: + - Companies + responses: + '200': + description: Address fetched + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + operationId: get-company-address + summary: Get a company address + security: + - oauth2: + - companies.read + put: + tags: + - Companies + parameters: + - $ref: '#/components/parameters/verify' + responses: + '200': + description: Address updated + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + '204': + $ref: '#/components/schemas/Verify' + operationId: update-company-address + summary: Update a company address + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddressUpdate' + security: + - oauth2: + - companies.write + delete: + tags: + - Companies + responses: + '204': + description: Address deleted + operationId: delete-company-address + summary: Delete a company address + security: + - oauth2: + - companies.write + /companies/{id}/payments: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Company identifier + post: + summary: Record payment on a company + description: > + Record a payment on a company
This route is available + in open beta.
Please note that its specifications may be + subject to significant and breaking changes in the coming weeks.
+ operationId: create-company-payment + tags: + - Companies + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreatePayment' + responses: + '201': + description: Payment created + content: + application/json: + schema: + $ref: '#/components/schemas/Payment' + security: + - oauth2: + - companies.read + - payments.write + /companies/{id}/contacts: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Company id + get: + summary: Get a company contacts + tags: + - Companies + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ContactCollectionItem' + required: + - pagination + - data + operationId: get-company-contacts + parameters: + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/contactEmbed' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - companies.read + - contacts.read + /companies/{companyId}/contacts/{contactId}: + parameters: + - schema: + type: integer + name: companyId + in: path + required: true + description: Company id + - schema: + type: integer + name: contactId + in: path + required: true + description: Contact id + post: + summary: Link a contact at one company + tags: + - Companies + responses: + '200': + description: Contact already linked + '201': + description: Contact linked + operationId: link-company-contact + security: + - oauth2: + - companies.write + - contacts.read + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LinkCompanyContact' + put: + summary: Update a contact of company link + tags: + - Companies + responses: + '200': + description: Contact updated + operationId: update-company-contact + security: + - oauth2: + - companies.write + - companies.read + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateLinkCompanyContact' + delete: + summary: Unlink a contact of company + tags: + - Companies + responses: + '204': + description: Contact unlinked + operationId: unlink-company-contact + security: + - oauth2: + - companies.write + - contacts.read + /companies/{id}/custom-fields: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Company id + get: + summary: Company custom fields List + description: Get list of custom fields for a company + tags: + - Companies + operationId: get-company-custom-fields + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + anyOf: + - title: Simple text + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0 + - type: object + nullable: true + properties: + value: + type: string + description: Value of custom field + nullable: true + example: Lorem + - title: Rich text + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/1 + - type: object + nullable: true + properties: + value: + type: string + description: Value of custom field + nullable: true + example:

Lorem ipsum in dolor.

+ - title: Email address + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/2 + - type: object + nullable: true + properties: + value: + type: string + format: email + description: Email + nullable: true + example: john.doe@email.com + - title: Url + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/3 + - type: object + nullable: true + properties: + value: + type: string + format: url + description: URL + nullable: true + example: https://domain.com + - title: Numeric value + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/4 + - type: object + nullable: true + properties: + value: + type: string + description: Value of custom field, numeric value + nullable: true + example: '15' + - title: Date + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/5 + - type: object + nullable: true + properties: + value: + type: string + format: date + description: Date + nullable: true + example: '2021-03-22' + - title: Hour + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/6 + - type: object + nullable: true + properties: + value: + type: string + description: Time + nullable: true + pattern: ^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$ + example: '05:30' + - title: Amount with currency + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/7 + - type: object + nullable: true + properties: + value: + type: object + additionalProperties: false + properties: + amount: + type: string + description: Amount, numeric value + nullable: true + example: '15.26' + currency: + type: string + description: Currency (ISO 4217) + pattern: ^[A-Za-z *]{2,5}$ + nullable: true + example: EUR + - title: Numeric field with unit + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/8 + - type: object + nullable: true + properties: + value: + type: object + additionalProperties: false + properties: + number: + type: string + description: Value of custom field, numeric value + nullable: true + example: '15.26' + unit_id: + type: integer + description: Unit ID + nullable: true + example: 1 + - title: Radio button + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/9 + - type: object + nullable: true + properties: + value: + type: integer + description: Selected choice + nullable: true + example: 12345 + - title: Select + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/10 + - type: object + nullable: true + properties: + value: + type: integer + description: Value of custom field + nullable: true + example: 12345 + - title: Multiple choice + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/11 + - type: object + nullable: true + properties: + value: + type: array + description: List of selected choice + nullable: true + example: '{ 1, 2, 3 }' + items: + type: integer + - title: Yes / No + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/12 + - type: object + nullable: true + properties: + value: + type: boolean + description: Value of custom field + nullable: true + example: true + - title: Client/Prospect/Supplier + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/13 + - type: object + nullable: true + properties: + value: + type: array + description: List of company/inviduals + nullable: true + items: + type: object + properties: + type: + type: string + description: company/individual's type + example: company + id: + type: integer + description: company/individual's ID + example: 15 + - title: Contact + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/14 + - type: object + nullable: true + properties: + value: + type: array + description: List of Contact IDs + nullable: true + example: '{ 1, 2, 3 }' + items: + type: integer + - title: Staff member + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/15 + - type: object + nullable: true + properties: + value: + type: array + description: List of Staff IDs + nullable: true + example: '{ 1, 2, 3 }' + items: + type: integer + - title: Products/services + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/16 + - type: object + nullable: true + properties: + value: + type: array + description: List of Item IDs + nullable: true + example: '{ 1, 2, 3 }' + items: + type: integer + required: + - pagination + - data + parameters: + - in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - companies.read + - custom-fields.read + put: + summary: Update Company custom fields + description: Update list of custom fields for a company + tags: + - Companies + parameters: + - $ref: '#/components/parameters/verify' + operationId: update-company-custom-fields + responses: + '200': + description: Company's custom fields updated + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + type: array + description: Custom fields + items: + type: object + description: Company + properties: + id: + type: integer + example: 1 + description: Custom Field id + value: + anyOf: + - type: string + description: Value of custom field + title: Simple text + example: Lorem + nullable: true + - type: string + description: Value of custom field + title: Rich text + example:

Lorem ipsum in dolor.

+ nullable: true + - type: string + description: Value of custom field. Numeric value (integer) only + example: '15' + nullable: true + title: Numeric value + - type: object + nullable: true + additionalProperties: false + title: Amount with currency + properties: + amount: + type: string + description: >- + Amount. Will use the default one if null. Numeric + value + example: '15.26' + nullable: true + currency: + type: string + description: >- + Currency (ISO 4217). Will use the default one if + null + example: EUR + nullable: true + required: + - amount + - currency + - type: object + nullable: true + additionalProperties: false + title: Numeric field with unit + properties: + number: + type: string + description: Value of custom field. Numeric value + example: '15.26' + nullable: true + unit_id: + type: integer + description: Unit ID + example: 1 + nullable: true + required: + - number + - unit_id + - type: integer + description: Selected choice + example: 12345 + nullable: true + title: Radio button + - type: integer + description: Value of custom field + example: 12345 + title: Select + nullable: true + - type: array + description: List of selected choice + example: '{ 1, 2, 3 }' + items: + type: integer + nullable: true + title: Multiple choice + - type: string + format: date + title: Date + nullable: true + description: Date + example: '2021-03-22' + - type: string + description: Time + title: Time + nullable: true + example: '05:30' + - type: string + format: email + description: Email + title: Email address + nullable: true + maxLength: 250 + example: john.doe@email.com + - type: string + format: url + title: Url + nullable: true + description: URL + example: https://domain.com + - type: boolean + description: Value of custom field + example: true + title: Yes / No + nullable: true + - type: array + description: List of company/invidual IDs + example: '{ 1, 2, 3 }' + items: + type: integer + nullable: true + title: Client / Prospect / Supplier + - type: array + description: List of Item IDs + example: '{ 1, 2, 3 }' + items: + type: integer + nullable: true + title: Product / service + - type: array + description: List of Contact IDs + example: '{ 1, 2, 3 }' + items: + type: integer + nullable: true + title: Contact + - type: array + description: List of Staff IDs + example: '{ 1, 2, 3 }' + items: + type: integer + title: Staff member + nullable: true + nullable: true + required: + - id + - value + security: + - oauth2: + - companies.write + - custom-fields.write + /companies/{companyId}/smart-tags: + parameters: + - schema: + type: integer + name: companyId + in: path + required: true + description: Company id + get: + summary: Company smart tags List + description: Get list of smart tags for a company + tags: + - Companies + operationId: get-company-smart-tags + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + title: smart tag + type: array + items: + type: object + properties: + value: + type: string + description: value of smart tags + example: smart tag + id: + type: integer + description: id of smart tags + example: 55 + security: + - oauth2: + - companies.read + - smart-tags.read + post: + summary: Link smart tags to company + description: Link a list of smart tag to a company + tags: + - Companies + operationId: link-company-smart-tags + responses: + '200': + description: Smart tag linked + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + requestBody: + content: + application/json: + schema: + title: smart tag + type: array + nullable: true + items: + anyOf: + - title: Create and link smart-tags + type: object + description: >- + Create a new tag and link it to the entity. If the value + already exists, the tag is only linked to the entity and + does not create a duplicate. It's not case sensitive and + not accented. + properties: + value: + type: string + description: value of smart tags + example: smart tag + nullable: false + required: + - value + - title: Link by identifier + type: object + description: Link an existing tag to the entity + properties: + id: + type: integer + description: id of smart tags + example: 55 + nullable: false + required: + - id + security: + - oauth2: + - smart-tags.write + - companies.write + /companies/{companyId}/files: + parameters: + - name: companyId + in: path + description: Company id + schema: + type: integer + required: true + post: + summary: Attach file to a company + description: >- + Attach file to a company
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: upload-company-file + tags: + - Companies + responses: + '201': + description: File uploaded + content: + application/json: + schema: + $ref: '#/components/schemas/FileOuput' + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + security: + - oauth2: + - companies.read + - files.write + get: + summary: List directories and files of a company + description: >- + List directories and files attached to a company
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-company-files + tags: + - Companies + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + security: + - oauth2: + - companies.read + - files.read + /contacts/{id}/companies: + get: + summary: Companies contact + description: Get the companies of a contact + tags: + - Contacts + operationId: get-contact-companies + security: + - oauth2: + - companies.read + - contacts.read + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Contact id + responses: + '200': + description: Companies list linked to the contact + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + title: Company + type: object + description: '' + x-examples: {} + properties: + id: + type: integer + description: Unique ID + example: 6657 + type: + type: string + enum: + - prospect + - client + - supplier + name: + type: string + description: Company name + example: Example company + maxLength: 250 + email: + description: Company email + type: string + format: email + example: contact@example-company.com + nullable: true + website: + type: string + format: url + description: Company website + example: http://example-company.com + nullable: true + phone_number: + type: string + description: Company phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Company mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Company Fax number + example: '+33100000000' + nullable: true + legal_france: + type: object + additionalProperties: false + properties: + siret: + description: Company Siret + type: string + nullable: true + example: '73282932000074' + siren: + description: Company Siren + type: string + nullable: true + example: '732829320' + vat: + description: VAT number + type: string + nullable: true + example: FR99999999999 + ape_naf_code: + description: APE/NAF Code + type: string + nullable: true + example: 4711C + company_type: + description: Company type + type: string + nullable: true + example: SAS + rcs_immatriculation: + description: RCS immatriculation code + type: string + nullable: true + example: RCS xxxxx + capital: + type: string + nullable: true + description: Company Capital + example: '4000' + reference: + type: string + description: Company reference + example: CLI-1654 + nullable: true + note: + type: string + description: Note on company + example: An handed-written note describing this company + auxiliary_code: + type: string + description: Auxiliary code + example: 0EX11C + nullable: true + social: + $ref: >- + #/paths/~1companies/post/requestBody/content/application~1json/schema/properties/social + rate_category_id: + type: integer + nullable: true + description: Company Rate category id + example: 9956 + main_contact_id: + description: Main contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + dunning_contact_id: + description: Dunning contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + invoicing_contact_id: + description: Invoicing contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + invoicing_address_id: + description: Invoicing address unique ID + type: integer + nullable: true + minimum: 1 + example: 9987 + delivery_address_id: + description: Delivery address unique ID + type: integer + nullable: true + minimum: 1 + example: 6547 + accounting_code_id: + type: integer + nullable: true + description: Company accounting code id + example: 12345 + accounting_purchase_code_id: + type: integer + nullable: true + description: Company accouting purchase code id + example: 98556 + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + created: + type: string + format: date-time + nullable: false + description: Datetime of creating company + example: '2020-05-29T11:22:03+02:00' + updated_at: + type: string + format: date-time + nullable: false + description: Datetime of the last update of the company + example: '2020-05-29T11:22:03+02:00' + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + business_segment: + type: object + description: Company business segment + nullable: true + properties: + id: + type: integer + example: 3 + label: + type: string + example: Software publisher / Digital services company + number_of_employees: + type: object + description: Number of employees of company + nullable: true + properties: + id: + type: integer + example: 1 + label: + type: string + example: From 1 to 5 + marketing_campaigns_subscriptions: + type: array + items: + type: string + enum: + - sms + - phone + - email + - postal_mail + - custom + description: list of campaign type subcribed + uniqueItems: true + required: + - pagination + - data + /smart-tags/{linkedtype}/autocomplete: + parameters: + - schema: + type: string + enum: + - company + - contact + - individual + name: linkedtype + in: path + required: true + description: Linked type of smart tags searched + - schema: + type: string + name: q + in: query + required: true + description: Word for the research of autocomplete + get: + summary: Smart tags autocomplete + description: Autocompled for smart tags + tags: + - Smart Tags + operationId: autocomplete-smart-tags + responses: + '200': + description: Smart tags find + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + security: + - oauth2: + - smart-tags.read + /smart-tags/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Smart tags ID + delete: + summary: Delete a smart tags + description: >- + Delete a smart tags

Note that deleting a smart tags will also + remove it's presence on any object he was linked to.
To unlink a + smart-tag (without deleting it), please use the "Link smart-tags to ..." + endpoint
+ tags: + - Smart Tags + operationId: delete-smart-tags + responses: + '200': + description: Smart tags deleted + security: + - oauth2: + - smart-tags.write + /custom-fields: + get: + summary: Custom Fields List + description: Get a list of custom fields + tags: + - Custom Fields + operationId: get-custom-fields + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Custom fields fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + anyOf: + - title: Simple text + type: object + additionalProperties: false + allOf: + - title: Custom field + type: object + description: '' + x-examples: {} + properties: + id: + type: integer + readOnly: true + description: Customfield id + example: 6657 + name: + type: string + maxLength: 250 + description: Name of custom field + example: Business sector + code: + type: string + maxLength: 250 + description: Machine name of custom field + example: business-sector + description: + type: string + maxLength: 250 + description: Description of custom field + example: A text describing this custom field. + mandatory: + type: boolean + description: Custom field must be completed or not + example: false + rank: + type: integer + description: Rank of custom field in group + example: 1 + related_object: + type: array + items: + type: string + enum: + - document + - contact + - client + - prospect + - supplier + - product + - service + - ticket + - task + - purchase + - opportunity + - project + - staff + - site + description: >- + List of objects the custom field can be used + on + uniqueItems: true + customfield_group: + type: object + description: Full custom field group object + properties: + id: + type: integer + readOnly: true + description: Group id + example: 123 + name: + type: string + maxLength: 250 + description: Group name + example: intervention + code: + type: string + maxLength: 250 + description: Group code + example: groupintervention + open_by_default: + type: boolean + description: Group is open by default or not + example: false + - type: object + properties: + type: + type: string + description: Simple text + enum: + - simple-text + parameters: + type: object + description: Field type parameters + additionalProperties: false + properties: + default_value: + type: string + description: Default value + minLength: 0 + maxLength: 250 + nullable: true + example: Simple text + char_min: + type: integer + description: Min characters + minimum: 0 + maximum: 250 + nullable: true + example: 0 + char_max: + type: integer + description: Max characters + minimum: 0 + maximum: 250 + nullable: true + example: 250 + - title: Rich text + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Rich text + enum: + - rich-text + parameters: + type: object + description: Field type parameters + additionalProperties: false + properties: + default_value: + type: string + description: Default value + minLength: 0 + maxLength: 65000 + nullable: true + example: Rich text + char_min: + type: integer + description: Min characters + minimum: 0 + maximum: 65000 + nullable: true + example: 0 + char_max: + type: integer + description: Max characters + minimum: 0 + maximum: 65000 + nullable: true + example: 500 + - title: Email address + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Email address + enum: + - email + parameters: + type: object + description: Field type parameters + additionalProperties: false + properties: + default_value: + type: string + description: Default value + format: email + nullable: true + example: contact@domain.fr + - title: Url + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Url + enum: + - url + parameters: + type: object + description: Field type parameters + additionalProperties: false + properties: + default_value: + type: string + description: Default value + format: uri + nullable: true + example: www.sellsy.com + - title: Numeric value + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Numeric value + enum: + - numeric + parameters: + type: object + description: Field type parameters + additionalProperties: false + properties: + default_value: + type: string + description: Default value, numeric value only + nullable: true + example: '5' + min_value: + type: string + description: Min value, numeric value only + nullable: true + example: '0' + max_value: + type: string + description: Max value, numeric value only + nullable: true + example: '500' + - title: Date + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Date + enum: + - date + parameters: + type: object + description: Field type parameters + additionalProperties: false + properties: + min_date: + type: string + description: Min date + format: date + nullable: true + example: '2002-01-01' + max_date: + type: string + description: Max date + format: date + nullable: true + example: '2017-01-01' + - title: Time + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Time + enum: + - time + parameters: + type: object + description: Field type parameters + additionalProperties: false + properties: + min_hour: + type: string + description: Min hour + pattern: ^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$ + nullable: true + example: '00:00' + max_hour: + type: string + description: Max hour + pattern: ^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$ + nullable: true + example: '08:45' + - title: Amount with currency + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Amount with currency + enum: + - amount + parameters: + type: object + description: Field type parameters + additionalProperties: false + properties: + default_value: + type: string + description: Default value, numeric value only + nullable: true + example: '15.36' + min_value: + type: string + description: Min value, numeric value only + nullable: true + example: '0.00' + max_value: + type: string + description: Max value, numeric value only + nullable: true + example: '1898.32' + currency: + type: string + description: Currency (ISO 4217) + pattern: ^[A-Za-z *]{2,5}$ + nullable: true + example: EUR + - title: Numeric field with unit + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Numeric field with unit + enum: + - numeric-with-unit + parameters: + type: object + description: Field type parameters + additionalProperties: false + properties: + default_value: + type: string + description: Default value, numeric value only + nullable: true + example: '15.35' + min_value: + type: string + description: Min value, numeric value only + nullable: true + example: '0.00' + max_value: + type: string + description: Max value, numeric value only + nullable: true + example: '100.25' + unit: + type: string + description: Type of unit + nullable: true + enum: + - unit + - package + - m2 + - m3 + - ton + - kg + - g + - metres + - days + - hour + - minutes + - title: Radio button + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Radio button + enum: + - radio + parameters: + type: object + description: Available values list + additionalProperties: false + properties: + items: + type: array + minItems: 2 + description: Values list + items: + type: object + additionalProperties: false + properties: + id: + type: integer + description: Id of label + example: 15 + label: + type: string + description: Label of checkbox item + minLength: 1 + maxLength: 250 + example: Label + checked: + type: boolean + description: Checked + example: false + rank: + type: integer + description: Rank of item + example: 1 + - title: Select + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Select + enum: + - select + parameters: + type: object + description: Available values list + additionalProperties: false + properties: + items: + type: array + minItems: 2 + description: Values list + items: + type: object + additionalProperties: false + properties: + id: + type: integer + description: Id of label + example: 15 + label: + type: string + description: Label of checkbox item + minLength: 1 + maxLength: 250 + example: Label + checked: + type: boolean + description: Checked + example: false + rank: + type: integer + description: Rank of item + example: 1 + - title: Multiple choice + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Multiple choice + enum: + - checkbox + parameters: + type: object + description: Available values list + additionalProperties: false + properties: + min: + type: integer + description: Number minimum of checked values + nullable: true + minimum: 1 + example: 1 + max: + type: integer + description: Number maximum of checked values + nullable: true + example: 3 + items: + type: array + minItems: 2 + description: Values list + items: + type: object + additionalProperties: false + properties: + id: + type: integer + description: Id of label + example: 15 + label: + type: string + description: Label of checkbox item + minLength: 1 + maxLength: 250 + example: Label + checked: + type: boolean + description: Checked + example: false + rank: + type: integer + description: Rank of item + example: 1 + - title: Yes / No + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Yes / No + enum: + - boolean + parameters: + type: object + description: Field type parameters + additionalProperties: false + properties: + default_value: + type: boolean + description: Default value + nullable: true + example: false + - title: Client/Prospect/Supplier + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Client/Prospect/Supplier + enum: + - company-individual + parameters: + type: object + description: Custom settings for this field type + additionalProperties: false + properties: + number_of_values: + type: integer + description: Between 1 and 10 + minimum: 1 + maximum: 10 + example: 1 + client: + type: boolean + description: Enabled for client-type companies + example: true + prospect: + type: boolean + description: Enabled for prospect-type companies + example: false + supplier: + type: boolean + description: Enabled for supplier-type companies + example: false + address_on_pdf: + type: boolean + description: Add address information on PDFs + example: false + email_on_pdf: + type: boolean + description: Add email information on PDFs + example: false + phone_on_pdf: + type: boolean + description: Add phone information on PDFs + example: false + mobile_on_pdf: + type: boolean + description: Add mobile information on PDFs + example: false + - title: Contact + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Contact + enum: + - contact + parameters: + type: object + description: Custom settings for this field type + additionalProperties: false + properties: + number_of_values: + type: integer + description: Between 1 and 10 + minimum: 1 + maximum: 10 + example: 2 + address_on_pdf: + type: boolean + description: Add address information on PDFs + example: false + email_on_pdf: + type: boolean + description: Add email information on PDFs + example: false + phone_on_pdf: + type: boolean + description: Add phone information on PDFs + example: false + mobile_on_pdf: + type: boolean + description: Add mobile information on PDFs + example: false + - title: Staff member + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Staff member + enum: + - staff + parameters: + type: object + description: Custom settings for this field type + additionalProperties: false + properties: + number_of_values: + type: integer + description: Between 1 and 10 + minimum: 1 + maximum: 10 + example: 2 + email_on_pdf: + type: boolean + description: Add email information on PDFs + example: false + phone_on_pdf: + type: boolean + description: Add phone information on PDFs + example: false + mobile_on_pdf: + type: boolean + description: Add mobile information on PDFs + example: false + - title: Products/services + type: object + additionalProperties: false + allOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0/allOf/0 + - type: object + properties: + type: + type: string + description: Products/services + enum: + - item + parameters: + type: object + description: Custom settings for this field type + additionalProperties: false + properties: + number_of_values: + type: integer + description: Between 1 and 10 + minimum: 1 + maximum: 10 + example: 1 + product: + type: boolean + description: Enabled for product-type items + example: true + service: + type: boolean + description: Enabled for service-type items + example: false + required: + - pagination + - data + security: + - oauth2: + - custom-fields.read + /custom-fields/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Custom field id + get: + summary: Get custom field + description: Fetch a custom field informations + tags: + - Custom Fields + operationId: get-custom-field + parameters: + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Custom field fetched + content: + application/json: + schema: + oneOf: + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/1 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/2 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/3 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/4 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/5 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/6 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/7 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/8 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/9 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/10 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/11 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/12 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/13 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/14 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/15 + - $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/16 + security: + - oauth2: + - custom-fields.read + /custom-fields/search: + post: + summary: Custom Fields Search + description: Search custom fields + tags: + - Custom Fields + operationId: search-custom-fields + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + title: Custom Fields filters + type: object + additionalProperties: false + required: + - filters + properties: + filters: + type: object + additionalProperties: false + description: Custom Fields filters + properties: + related_object: + title: Related object + type: string + description: Filter the custom fields by object they can be used on + enum: + - document + - contact + - client + - prospect + - supplier + - item + - service + - ticket + - task + - purchase + - opportunity + - project + - staff + - site + is_required: + type: boolean + description: >- + Filter custom fields according to whether they are + required or not. + responses: + '200': + description: Custom fields fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + security: + - oauth2: + - custom-fields.read + /estimates: + get: + tags: + - Estimates + summary: Get all estimates + operationId: get-estimates + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/SaleEmbed' + - $ref: '#/components/parameters/SaleOrder' + responses: + '200': + description: Get a list of estimate + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/EstimateCollection' + security: + - oauth2: + - estimates.read + post: + tags: + - Estimates + summary: Create estimate + operationId: create-estimate + responses: + '201': + description: Estimate created + headers: {} + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/EstimateOne' + - $ref: '#/components/schemas/SaleEmbed' + description: Create an estimate + security: + - oauth2: + - estimates.write + parameters: + - $ref: '#/components/parameters/SaleEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EstimateCreate' + examples: {} + description: '' + /estimates/search: + post: + tags: + - Estimates + summary: Search estimates + operationId: search-estimates + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/SaleEmbed' + - $ref: '#/components/parameters/SaleOrder' + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/EstimateFilters' + responses: + '200': + description: Get a list of estimate + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/EstimateCollection' + - type: object + properties: + aggregations: + $ref: '#/components/schemas/EstimateAggregations' + '400': + description: Validation and logic errors + security: + - oauth2: + - estimates.read + /estimates/{id}/custom-fields: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Estimate id + get: + summary: Estimate custom fields List + description: Get list of custom fields for an Estimate + tags: + - Estimates + operationId: get-estimate-custom-fields + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - estimates.read + - custom-fields.read + put: + summary: Update Estimate custom fields + description: Update list of custom fields for an estimate + tags: + - Estimates + parameters: + - $ref: '#/components/parameters/verify' + operationId: update-estimate-custom-fields + responses: + '200': + description: Estimate's custom fields updated + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/put/requestBody/content/application~1json/schema + security: + - oauth2: + - estimates.write + - custom-fields.write + /estimates/favourite-filters: + get: + summary: List estimates favourite filters + tags: + - Estimates + description: > + List favourite filters for faster access to specific estimates
> + Favourite filters can be applied directly to estimate search endpoints +
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-estimate-favourite-filters + parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + security: + - oauth2: + - estimates.read + /estimates/{id}: + parameters: + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/EstimateOneEmbed' + - schema: + type: integer + name: id + in: path + required: true + description: Estimate id + get: + tags: + - Estimates + summary: Get an estimate + operationId: get-estimate + responses: + '200': + description: get an estimate + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/EstimateOne' + - $ref: '#/components/schemas/EstimateOneEmbed' + '404': + description: Estimate no found + security: + - oauth2: + - estimates.read + put: + tags: + - Estimates + summary: Update estimate + operationId: update-estimate + responses: + '200': + description: Estimate updated + headers: {} + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/EstimateOne' + - $ref: '#/components/schemas/SaleEmbed' + description: Update an estimate + security: + - oauth2: + - estimates.write + parameters: + - $ref: '#/components/parameters/SaleEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EstimateUpdate' + examples: {} + description: '' + /estimates/{id}/status: + parameters: + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/SaleEmbed' + - schema: + type: integer + name: id + in: path + required: true + description: Estimate id + put: + tags: + - Estimates + summary: Update estimate status + operationId: update-estimate-status + responses: + '200': + description: Estimate step updated + headers: {} + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/EstimateOne' + - $ref: '#/components/schemas/SaleEmbed' + description: Update an estimate status + security: + - oauth2: + - estimates.write + parameters: + - $ref: '#/components/parameters/SaleEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EstimateStatusUpdate' + examples: {} + description: '' + /estimates/compute: + post: + tags: + - Estimates + summary: Compute an estimate + operationId: compute-estimate + responses: + '200': + description: Estimate computed successfully + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/EstimateCompute' + description: Compute an estimate + security: + - oauth2: + - estimates.read + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EstimateCreate' + examples: {} + description: '' + /estimates/{documentId}/files: + parameters: + - name: documentId + in: path + description: Document id + schema: + type: integer + required: true + post: + summary: Attach file to an estimate + description: >- + Attach file to an estimate
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: upload-estimate-file + tags: + - Estimates + responses: + '201': + description: File uploaded + content: + application/json: + schema: + $ref: '#/components/schemas/FileOuput' + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + security: + - oauth2: + - estimates.read + - files.write + get: + summary: List directories and files of an estimate + description: >- + List directories and files attached to an estimate
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-estimate-files + tags: + - Estimates + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + security: + - oauth2: + - estimates.read + - files.read + /estimates/{id}/payments: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Estimate ID + get: + summary: Estimate payments list + description: >- + Get list of payments for an estimate
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Estimates + operationId: get-estimate-payments + responses: + '200': + description: Payments list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/InvoicingPayment' + security: + - oauth2: + - estimates.read + - payments.read + /estimates/{documentId}/payments/{paymentId}: + parameters: + - name: documentId + in: path + required: true + schema: + type: integer + description: Estimate identifier + - name: paymentId + in: path + required: true + schema: + type: integer + description: Payment identifier + post: + summary: Link payment to estimate + description: > + Link a payment to an estimate
This route is available + in open beta.
Please note that its specifications may be + subject to significant and breaking changes in the coming weeks.
+ tags: + - Estimates + operationId: link-estimate-payment + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LinkPaymentToDocument' + responses: + '201': + description: Payments list attached to the estimate + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/InvoicingPayment' + security: + - oauth2: + - estimates.write + - payments.write + delete: + summary: Unlink payment from estimate + description: > + Unlink a payment from an estimate
This route is + available in open beta.
Please note that its specifications may + be subject to significant and breaking changes in the coming + weeks.
+ tags: + - Estimates + operationId: unlink-estimate-payment + responses: + '204': + description: Payment unlinked + security: + - oauth2: + - estimates.write + - payments.write + /estimates/{id}/smart-tags: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Estimate ID + get: + summary: Estimate smart-tags list + description: Get list of smart-tags for an estimate + tags: + - Estimates + operationId: get-estimate-smart-tags + responses: + '200': + description: Smart-tags list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + security: + - oauth2: + - estimates.read + - smart-tags.read + post: + summary: Link smart tags to estimate + description: Link a list of smart-tags to an estimate + tags: + - Estimates + operationId: link-estimate-smart-tags + responses: + '200': + description: Smart-tags list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/post/requestBody/content/application~1json/schema + security: + - oauth2: + - estimates.write + - smart-tags.write + /estimates/{estimateId}/primes/{primeId}: + parameters: + - schema: + type: integer + name: estimateId + in: path + required: true + description: Estimate identifier + - schema: + type: integer + name: primeId + in: path + required: true + description: Prime identifier + post: + deprecated: true + operationId: link-estimate-prime + summary: Link prime to estimate + description: > + Link a prime to an estimate
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Estimates + security: + - oauth2: + - primes.read + - estimates.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesDocumentInput' + responses: + '201': + description: Prime linked + '403': + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + delete: + deprecated: true + summary: Unlink a prime from an estimate + description: > + Unlink a prime from an estimate
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Estimates + operationId: unlink-estimate-prime + responses: + '204': + description: Prime unlinked + '403': + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + '404': + description: Requested prime was not applied on the document + security: + - oauth2: + - primes.read + - estimates.write + /estimates/{estimateId}/discount-incl-taxes/{discountId}: + parameters: + - schema: + type: integer + name: estimateId + in: path + required: true + description: Estimate identifier + - schema: + type: integer + name: discountId + in: path + required: true + description: Discount including taxes identifier + post: + operationId: link-estimate-discount-incl-taxes + summary: Link discount including taxes to estimate + description: > + Link a discount including taxes to an estimate
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Estimates + security: + - oauth2: + - discount-incl-taxes.read + - estimates.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesDocumentInput' + responses: + '201': + description: Discount linked + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + delete: + summary: Unlink a discount including taxes from an estimate + description: > + Unlink a discount including taxes from an estimate
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ tags: + - Estimates + operationId: unlink-estimate-discount-incl-taxes + responses: + '204': + description: Discount unlinked + '403': + description: >- + Either Discounts on documents are not activated on your account or + you don't have the required privileges + '404': + description: Requested discount was not applied on the document + security: + - oauth2: + - discount-incl-taxes.read + - estimates.write + /orders: + get: + operationId: get-orders + summary: Get all orders + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/orderEmbed' + - $ref: '#/components/parameters/orderOrder' + tags: + - Orders + description: > + Get all orders
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '200': + description: Orders list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Order' + security: + - oauth2: + - orders.read + post: + operationId: create-order + summary: Create an order + tags: + - Orders + description: > + Create an order
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrderCreate' + parameters: + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/orderEmbedOne' + responses: + '201': + description: Order created + content: + application/json: + schema: + $ref: '#/components/schemas/OrderOne' + security: + - oauth2: + - orders.write + /orders/compute: + post: + operationId: compute-order + summary: Compute an order + tags: + - Orders + description: > + Compute an order
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrderCreate' + responses: + '200': + description: Order computed successfully + content: + application/json: + schema: + $ref: '#/components/schemas/OrderCompute' + security: + - oauth2: + - orders.read + /orders/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Order ID + - $ref: '#/components/parameters/orderEmbedOne' + get: + operationId: get-order + summary: Get order + description: > + Get an order by ID
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Orders + responses: + '200': + description: Order fetched + content: + application/json: + schema: + $ref: '#/components/schemas/OrderOne' + security: + - oauth2: + - orders.read + put: + operationId: update-order + summary: Update an order + tags: + - Orders + description: > + Update a given order
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrderUpdate' + responses: + '200': + description: Order updated + content: + application/json: + schema: + $ref: '#/components/schemas/OrderOne' + security: + - oauth2: + - orders.write + /orders/search: + post: + summary: Search orders + tags: + - Orders + description: > + Search orders
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: search-orders + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/orderEmbed' + - $ref: '#/components/parameters/orderOrder' + requestBody: + content: + application/json: + schema: + description: Orders filters + $ref: '#/components/schemas/OrderFilters' + responses: + '200': + description: Orders list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Order' + required: + - pagination + - data + security: + - oauth2: + - orders.read + /orders/{id}/payments: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Order ID + get: + summary: Order payments list + description: > + Get list of payments for an order
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Orders + operationId: get-order-payments + responses: + '200': + description: Payments list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/InvoicingPayment' + security: + - oauth2: + - orders.read + - payments.read + /orders/{id}/smart-tags: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Order id + get: + summary: Order smart tags List + description: Get list of smart tags for an order + tags: + - Orders + operationId: get-order-smart-tags + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + security: + - oauth2: + - orders.read + - smart-tags.read + post: + summary: Link smart tags to an order + description: Link a list of smart tag to an order + tags: + - Orders + operationId: link-order-smart-tags + responses: + '200': + description: Smart tag linked + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/post/requestBody/content/application~1json/schema + security: + - oauth2: + - smart-tags.write + - orders.write + /orders/{id}/custom-fields: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Order id + get: + summary: Order custom fields List + description: Get list of custom fields for an order + tags: + - Orders + operationId: get-order-custom-fields + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - orders.read + - custom-fields.read + put: + summary: Update Order custom fields + description: Update list of custom fields for an order + tags: + - Orders + parameters: + - $ref: '#/components/parameters/verify' + operationId: update-order-custom-fields + responses: + '200': + description: Order's custom fields updated + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/put/requestBody/content/application~1json/schema + security: + - oauth2: + - orders.write + - custom-fields.write + /orders/favourite-filters: + get: + summary: List orders favourite filters + tags: + - Orders + description: > + List favourite filters for faster access to specific orders
> + Favourite filters can be applied directly to order search endpoints
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-order-favourite-filters + parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + security: + - oauth2: + - orders.read + /orders/{documentId}/payments/{paymentId}: + parameters: + - name: documentId + in: path + required: true + schema: + type: integer + description: Order identifier + - name: paymentId + in: path + required: true + schema: + type: integer + description: Payment identifier + post: + summary: Link payment to order + description: >- + Link a payment to an order
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Orders + operationId: link-order-payment + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LinkPaymentToDocument' + responses: + '201': + description: Payments list attached to the order + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/InvoicingPayment' + security: + - oauth2: + - orders.write + - payments.write + delete: + summary: Unlink payment from order + description: >- + Unlink a payment from an order
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Orders + operationId: unlink-order-payment + responses: + '204': + description: Payment unlinked + security: + - oauth2: + - orders.write + - payments.write + /orders/{documentId}/files: + parameters: + - name: documentId + in: path + description: Document id + schema: + type: integer + required: true + post: + summary: Attach file to an order + description: >- + Attach file to an order
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: upload-order-file + tags: + - Orders + responses: + '201': + description: File uploaded + content: + application/json: + schema: + $ref: '#/components/schemas/FileOuput' + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + security: + - oauth2: + - orders.read + - files.write + get: + summary: List directories and files of an orders + description: >- + List directories and files attached to an orders
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-order-files + tags: + - Orders + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + security: + - oauth2: + - orders.read + - files.read + /orders/{orderId}/primes/{primeId}: + parameters: + - schema: + type: integer + name: orderId + in: path + required: true + description: Order identifier + - schema: + type: integer + name: primeId + in: path + required: true + description: Prime identifier + post: + deprecated: true + operationId: link-order-prime + summary: Link prime to order + description: > + Link a prime to an order
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Orders + security: + - oauth2: + - primes.read + - orders.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesDocumentInput' + responses: + '201': + description: Prime linked + '403': + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + delete: + deprecated: true + summary: Unlink a prime from an order + description: > + Unlink a prime from an order
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Orders + operationId: unlink-order-prime + responses: + '204': + description: Prime unlinked + '403': + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + '404': + description: Requested prime was not applied on the document + security: + - oauth2: + - primes.read + - orders.write + /orders/{orderId}/discount-incl-taxes/{discountId}: + parameters: + - schema: + type: integer + name: orderId + in: path + required: true + description: Order identifier + - schema: + type: integer + name: discountId + in: path + required: true + description: Discount including taxes identifier + post: + operationId: link-order-discount-incl-taxes + summary: Link discount including taxes to order + description: > + Link a discount including taxes to an order
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Orders + security: + - oauth2: + - discount-incl-taxes.read + - orders.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesDocumentInput' + responses: + '201': + description: Discount linked + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + delete: + summary: Unlink a discount including taxes from an order + description: > + Unlink a discount including taxes from an order
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ tags: + - Orders + operationId: unlink-order-discount-incl-taxes + responses: + '204': + description: Discount unlinked + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + '404': + description: Requested discount was not applied on the document + security: + - oauth2: + - discount-incl-taxes.read + - orders.write + /individuals: + get: + summary: Individuals List + tags: + - Individuals + description: Get a list of individuals + operationId: get-individuals + parameters: + - in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - name + - id + - created_at + - updated_at + - in: query + name: embed + description: > + Example : `embed[]=invoicing_address&embed[]=cf.1542&embed[]=acl` +
Additional object included in the result.

Each + embed object may require different oauth2 scopes than the main + endpoint:
- opportunities: `opportunities.read`
- + main_contact, dunning_contact, invoicing_contact: `contacts.read`
- estimates,invoices,orders,deliveries: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is + limited to the 20 first results sorted in alphabetical order.
+ schema: + type: array + items: + oneOf: + - type: string + title: standards + description: The standards embeds + enum: + - invoicing_address + - delivery_address + - main_contact + - dunning_contact + - invoicing_contact + - opportunities + - estimates + - invoices + - orders + - deliveries + - acl + - smart_tags + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Individuals list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + title: Individual with embed + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + - type: object + properties: + _embed: + nullable: true + allOf: + - title: Embed for Individual + description: >- + Optional objects added through the embed + parameter + x-examples: {} + additionalProperties: false + allOf: + - type: object + properties: + invoicing_address: + nullable: true + description: Invocing address + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + delivery_address: + nullable: true + description: Delivery address + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + main_contact: + nullable: true + description: Main contact + allOf: + - $ref: >- + #/components/schemas/OpportunityItem/properties/_embed/allOf/0/properties/contacts/items + dunning_contact: + nullable: true + description: Dunning contact + allOf: + - $ref: >- + #/components/schemas/OpportunityItem/properties/_embed/allOf/0/properties/contacts/items + invoicing_contact: + nullable: true + description: Invoicing contact + allOf: + - $ref: >- + #/components/schemas/OpportunityItem/properties/_embed/allOf/0/properties/contacts/items + opportunities: + nullable: true + type: integer + description: Count of opportunities + example: 2 + estimates: + nullable: true + type: integer + description: Count of estimates + example: 2 + invoices: + nullable: true + type: integer + description: Count of invoices + example: 2 + orders: + nullable: true + type: integer + description: Count of orders + example: 2 + deliveries: + nullable: true + type: integer + description: Count of deliveries + example: 2 + acl: + nullable: true + description: Individual acl + allOf: + - $ref: >- + #/components/schemas/Activity/properties/_embed/properties/acl/oneOf/2 + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/2 + required: + - pagination + - data + security: + - oauth2: + - individuals.read + post: + summary: Create an individual + tags: + - Individuals + operationId: create-individual + responses: + '201': + description: Individual created + headers: {} + content: + application/json: + schema: + $ref: >- + #/paths/~1individuals/get/responses/200/content/application~1json/schema/properties/data/items + '204': + $ref: '#/components/schemas/Verify' + description: Create an individual + security: + - oauth2: + - individuals.write + parameters: + - $ref: '#/paths/~1individuals/get/parameters/1' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/verify' + requestBody: + content: + application/json: + schema: + title: Individual + type: object + description: '' + x-examples: {} + required: + - last_name + - type + properties: + type: + type: string + enum: + - prospect + - client + - supplier + last_name: + type: string + description: Individual contact lastname + example: Martin + maxLength: 200 + first_name: + type: string + description: Individual contact firstname + example: Jean + nullable: true + civility: + type: string + description: Civility of individual + example: mr + nullable: true + enum: + - mr + - mrs + - ms + email: + description: Individual email + type: string + format: email + example: jean.martin@personal-example.com + nullable: true + website: + type: string + format: url + description: Individual website + example: http://personal-example.com + nullable: true + phone_number: + type: string + description: Phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Fax number + example: '+33100000000' + nullable: true + reference: + type: string + description: Internal reference + example: IND-1654 + nullable: true + note: + type: string + description: Note on company + example: An handed-written note describing this company + auxiliary_code: + type: string + description: Auxiliary code + example: 0EX11C + nullable: true + social: + $ref: >- + #/paths/~1companies/post/requestBody/content/application~1json/schema/properties/social + rate_category_id: + type: integer + nullable: true + description: Rate category id + example: 9956 + accounting_code_id: + type: integer + nullable: true + description: Accounting code id + example: 12345 + accounting_purchase_code_id: + type: integer + nullable: true + description: Accouting purchase code id + example: 98556 + owner_id: + type: integer + nullable: true + description: Owner of the company (Staff id expected) + example: 112 + minimum: 1 + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + marketing_campaigns_subscriptions: + type: array + items: + type: string + enum: + - sms + - phone + - email + - postal_mail + - custom + description: list of campaign type subcribed + uniqueItems: true + sync: + type: object + properties: + mailchimp: + type: boolean + description: Activate the mailchimp synchronization + nullable: false + mailjet: + type: boolean + description: Activate the mailjet synchronization + nullable: false + simplemail: + type: boolean + description: Activate the simplemail synchronization + nullable: false + created: + description: Date of creation of the individual + type: string + format: date-time + examples: {} + description: '' + /individuals/search: + post: + summary: Search individuals + tags: + - Individuals + description: Search individuals + operationId: search-individuals + parameters: + - $ref: '#/paths/~1individuals/get/parameters/0' + - $ref: '#/paths/~1individuals/get/parameters/1' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + title: Individual filters + type: object + additionalProperties: false + required: + - filters + properties: + filters: + type: object + additionalProperties: false + description: Individual filters + properties: + created: + title: Created at + type: object + description: Filter the individual list by creation date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + updated_at: + title: Updated at + type: object + description: Filter the individual list by last update date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + name: + title: Name + type: string + description: Filter the individual list by name (exact search) + example: Jean + email: + title: Email + type: string + description: Filter the individual list by email (exact search) + example: contact@example.com + type: + title: Type + description: Filter the individual list by type + oneOf: + - type: string + example: prospect + enum: + - prospect + - client + - supplier + - type: array + uniqueItems: true + items: + type: string + example: prospect + enum: + - prospect + - client + - supplier + is_archived: + title: Is archived + type: boolean + description: Filter the individual list by is_archived + example: false + id: + title: Individuals + type: array + items: + type: integer + description: Filter individuals list by ID + example: + - 12 + - 22 + favourite_filter: + $ref: >- + #/components/schemas/ContactFilters/properties/filters/properties/favourite_filter + responses: + '200': + description: Individuals list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1individuals/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + security: + - oauth2: + - individuals.read + /individuals/favourite-filters: + get: + summary: List individuals favourite filters + tags: + - Individuals + description: > + List favourite filters for faster access to specific individuals
> + Favourite filters can be applied directly to individual search endpoints +
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-individual-favourite-filters + parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + security: + - oauth2: + - individuals.read + /individuals/{individualId}/files: + parameters: + - name: individualId + in: path + description: Individual id + schema: + type: integer + required: true + post: + summary: Attach file to an individual + description: >- + Attach file to an individual
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: upload-individual-file + tags: + - Individuals + responses: + '201': + description: File uploaded + content: + application/json: + schema: + $ref: '#/components/schemas/FileOuput' + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + security: + - oauth2: + - individuals.read + - files.write + get: + summary: List directories and files of an individual + description: >- + List directories and files attached to an individual
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-individual-files + tags: + - Individuals + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + security: + - oauth2: + - individuals.read + - files.read + /individuals/{id}/smart-tags: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Individual id + get: + summary: Individual smart tags List + description: Get list of smart tags for an individual + tags: + - Individuals + operationId: get-individual-smart-tags + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + security: + - oauth2: + - individuals.read + - smart-tags.read + post: + summary: Link smart tags to individual + description: Link a list of smart tag to an individual + tags: + - Individuals + operationId: link-individual-smart-tags + responses: + '200': + description: Smart tag linked + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/post/requestBody/content/application~1json/schema + security: + - oauth2: + - smart-tags.write + - individuals.write + /individuals/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Individual id + get: + summary: Get Individual + tags: + - Individuals + parameters: + - $ref: '#/paths/~1individuals/get/parameters/1' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Individual fetched + content: + application/json: + schema: + $ref: >- + #/paths/~1individuals/get/responses/200/content/application~1json/schema/properties/data/items + operationId: get-individual + description: Fetch individual informations + security: + - oauth2: + - individuals.read + put: + summary: Update Individual + tags: + - Individuals + operationId: update-individual + parameters: + - $ref: '#/paths/~1individuals/get/parameters/1' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/verify' + responses: + '200': + description: Individual updated + content: + application/json: + schema: + $ref: >- + #/paths/~1individuals/get/responses/200/content/application~1json/schema/properties/data/items + '204': + $ref: '#/components/schemas/Verify' + description: Update Individual informations + requestBody: + content: + application/json: + schema: + title: Individual + type: object + description: '' + x-examples: {} + properties: + last_name: + type: string + description: Individual contact lastname + example: Martin + maxLength: 200 + first_name: + type: string + description: Individual contact firstname + example: Jean + nullable: true + civility: + type: string + description: Civility of individual + example: mr + nullable: true + enum: + - mr + - mrs + - ms + email: + description: Individual email + type: string + format: email + example: jean.martin@personal-example.com + nullable: true + website: + type: string + format: url + description: Individual website + example: http://personal-example.com + nullable: true + phone_number: + type: string + description: Phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Fax number + example: '+33100000000' + nullable: true + reference: + type: string + description: Internal reference + example: IND-1654 + nullable: true + note: + type: string + description: Note on company + example: An handed-written note describing this company + auxiliary_code: + type: string + description: Auxiliary code + example: 0EX11C + nullable: true + social: + $ref: >- + #/paths/~1companies/post/requestBody/content/application~1json/schema/properties/social + rate_category_id: + type: integer + nullable: true + description: Rate category id + example: 9956 + accounting_code_id: + type: integer + nullable: true + description: Accounting code id + example: 12345 + accounting_purchase_code_id: + type: integer + nullable: true + description: Accouting purchase code id + example: 98556 + owner_id: + type: integer + nullable: true + description: Owner of the individual (Staff id expected) + example: 112 + minimum: 1 + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + marketing_campaigns_subscriptions: + type: array + items: + type: string + enum: + - sms + - phone + - email + - postal_mail + - custom + description: list of campaign type subcribed + uniqueItems: true + sync: + type: object + properties: + mailchimp: + type: boolean + description: Activate the mailchimp synchronization + nullable: false + mailjet: + type: boolean + description: Activate the mailjet synchronization + nullable: false + simplemail: + type: boolean + description: Activate the simplemail synchronization + nullable: false + security: + - oauth2: + - individuals.write + delete: + summary: Delete Individual + tags: + - Individuals + operationId: delete-individual + responses: + '204': + description: Individual deleted + description: Remove a individual + security: + - oauth2: + - individuals.write + /individuals/{individualId}/addresses: + parameters: + - schema: + type: integer + name: individualId + in: path + required: true + description: Individual id + get: + summary: Get individual addresses + tags: + - Individuals + responses: + '200': + description: Addresses list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Address' + required: + - pagination + - data + operationId: get-individual-addresses + security: + - oauth2: + - individuals.read + post: + tags: + - Individuals + parameters: + - $ref: '#/components/parameters/verify' + responses: + '201': + description: Address created + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + '204': + $ref: '#/components/schemas/Verify' + operationId: create-individual-address + summary: Create an individual address + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/AddressCreate' + security: + - oauth2: + - individuals.write + /individuals/{individualId}/addresses/{id}: + parameters: + - schema: + type: integer + name: individualId + in: path + required: true + description: Individual id + - schema: + type: integer + name: id + in: path + required: true + description: Address id + get: + tags: + - Individuals + responses: + '200': + description: Address fetched + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + operationId: get-individual-address + summary: Get an individual address + security: + - oauth2: + - individuals.read + put: + tags: + - Individuals + parameters: + - $ref: '#/components/parameters/verify' + responses: + '200': + description: Address updated + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + '204': + $ref: '#/components/schemas/Verify' + operationId: update-individual-address + summary: Update an individual address + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddressUpdate' + security: + - oauth2: + - individuals.write + delete: + tags: + - Individuals + responses: + '204': + description: Address deleted + operationId: delete-individual-address + summary: Delete an individual address + security: + - oauth2: + - individuals.write + /individuals/{id}/payments: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Individual identifier + post: + summary: Record payment on an individual + description: > + Record a payment on an individual
This route is + available in open beta.
Please note that its specifications may + be subject to significant and breaking changes in the coming + weeks.
+ operationId: create-individual-payment + tags: + - Individuals + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreatePayment' + responses: + '201': + description: Payment created + content: + application/json: + schema: + $ref: '#/components/schemas/Payment' + security: + - oauth2: + - individuals.read + - payments.write + /individuals/{id}/contacts: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Individual id + get: + summary: Get an individual contacts + tags: + - Individuals + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ContactCollectionItem' + required: + - pagination + - data + operationId: get-individual-contacts + parameters: + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/contactEmbed' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - individuals.read + - contacts.read + /individuals/{individualId}/contacts/{contactId}: + parameters: + - schema: + type: integer + name: individualId + in: path + required: true + description: Individual id + - schema: + type: integer + name: contactId + in: path + required: true + description: Contact id + post: + summary: Link contact to individual + tags: + - Individuals + responses: + '200': + description: Contact already link + '201': + description: Contact was link to individual + operationId: link-individual-contact + security: + - oauth2: + - individuals.write + - contacts.read + delete: + summary: Delete link between contact and individual + tags: + - Individuals + responses: + '204': + description: Delete link between contact and individual + operationId: unlink-individual-contact + security: + - oauth2: + - individuals.write + - contacts.read + /individuals/{id}/custom-fields: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Individual id + get: + summary: Individual custom fields List + description: Get list of custom fields for an individual + tags: + - Individuals + operationId: get-individual-custom-fields + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - individuals.read + - custom-fields.read + put: + summary: Update Individual custom fields + description: Update list of custom fields for an individual + tags: + - Individuals + parameters: + - $ref: '#/components/parameters/verify' + operationId: update-individual-custom-fields + responses: + '200': + description: Individual's custom fields updated + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/put/requestBody/content/application~1json/schema + security: + - oauth2: + - custom-fields.write + - individuals.write + /activities/crm: + get: + summary: Get the CRM activity + tags: + - CRM Activities + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CrmActivity' + aggregations: + $ref: '#/components/schemas/CrmActivityAggregations' + required: + - pagination + - data + operationId: get-crm-activities + security: + - oauth2: + - activities.read + parameters: + - $ref: '#/components/parameters/crmActivityOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/crmActivityEmbed' + - $ref: '#/components/parameters/fields' + description: Get the activity + /activities/crm/search: + post: + summary: Search in CRM activity + tags: + - CRM Activities + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CrmActivity' + aggregations: + $ref: '#/components/schemas/CrmActivityAggregations' + required: + - pagination + - data + '206': + description: Partial content if the due_date range is too wide + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CrmActivity' + aggregations: + $ref: '#/components/schemas/CrmActivityAggregations' + required: + - pagination + - data + headers: + X-Partial-Content: + schema: + type: string + description: Detail of the partial content reason + operationId: search-crm-activities + security: + - oauth2: + - activities.read + parameters: + - $ref: '#/components/parameters/crmActivityOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/crmActivityEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CrmActivityFilters' + description: Search the activity + /activities/crm/export: + post: + summary: Export the CRM activity + tags: + - CRM Activities + responses: + '202': + description: Accepted + operationId: export-crm-activities + security: + - oauth2: + - activities.read + parameters: + - $ref: '#/components/parameters/crmActivityOrder' + - $ref: '#/components/parameters/direction' + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ExportParams' + - $ref: '#/components/schemas/CrmActivityFilters' + description: Search the activity + /activities/crm/metas: + get: + summary: Get meta informations for activity + tags: + - CRM Activities + responses: + '200': + description: Context object + content: + application/json: + schema: + $ref: '#/components/schemas/CrmActivityMetas' + operationId: meta-crm-activities + security: + - oauth2: + - activities.read + parameters: [] + description: >- + Get metadata, ie everything you need to build the form (filter labels, + static values aso..) + /custom-activities/{id}: + parameters: + - schema: + type: string + name: id + in: path + required: true + description: Custom Activity ID + get: + summary: Get Custom Activity + tags: + - Custom Activities + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivity' + operationId: get-custom-activities-id + description: Fetch custom activity informations + security: + - oauth2: + - custom-activities.read + put: + summary: Update Custom Activity + operationId: put-custom-activities-id + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivity' + description: Edit a custom activity + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivity' + description: '' + security: + - oauth2: + - custom-activities.write + tags: + - Custom Activities + delete: + summary: Delete Custom Activity + operationId: delete-custom-activities-id + responses: + '204': + description: No Content + description: Delete a custom activity + security: + - oauth2: + - custom-activities.write + tags: + - Custom Activities + /custom-activities: + get: + summary: Customs Activities List + tags: + - Custom Activities + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CustomActivity' + operationId: get-custom-activities + description: Get a list of custom activities + security: + - oauth2: + - custom-activities.read + parameters: + - $ref: '#/components/parameters/direction' + - in: query + name: order + description: The order field + schema: + type: string + example: date + enum: + - date + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + post: + summary: Create Custom Activity + operationId: post-custom-activities + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivity' + description: Create a custom activity + security: + - oauth2: + - custom-activities.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivityCreate' + tags: + - Custom Activities + /custom-activities/search: + post: + summary: Search Custom Activities + operationId: post-custom-activities-search + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/CustomActivity' + pagination: + title: pagination + type: object + description: The pagination + properties: + limit: + type: integer + example: 25 + minimum: 0 + maximum: 100 + total: + type: integer + example: 152 + minimum: 0 + count: + type: integer + example: 25 + minimum: 0 + offset: + anyOf: + - type: integer + minimum: 0 + example: 25 + - type: string + example: WzIwMTQtMDEtMDEsNTk4XQ== + required: + - limit + - total + - count + - offset + description: Search Custom Activities + security: + - oauth2: + - custom-activities.read + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivityFilters' + tags: + - Custom Activities + /custom-activity-types/{id}: + parameters: + - schema: + type: string + name: id + in: path + required: true + description: Custom activity type ID + get: + summary: Get Custom Activity Type + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivityType' + operationId: get-custom-activity-types-id + description: Get a custom activity type + security: + - oauth2: + - custom-activities.read + tags: + - Custom Activities + put: + summary: Update Custom Activity Type + operationId: put-custom-activity-types-id + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivityType' + description: Update a custom activity type + security: + - oauth2: + - custom-activities.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivityType' + tags: + - Custom Activities + /custom-activity-types: + post: + summary: Create Custom Activity Type + operationId: post-custom-activity-types + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivityType' + description: Create a custom activity type + security: + - oauth2: + - custom-activities.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomActivityType' + tags: + - Custom Activities + get: + summary: Custom Activity Types List + operationId: get-custom-activity-types + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CustomActivityType' + description: Get a list of custom actvity types + security: + - oauth2: + - custom-activities.read + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + tags: + - Custom Activities + /scopes: + get: + summary: Scopes List + tags: + - API Management + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + type: string + operationId: get-scopes + description: Get list of scopes + security: + - oauth2: + - scopes.read + /scopes/tree: + get: + summary: Get Scopes Tree + tags: + - API Management + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + examples: {} + operationId: get-scopes-tree + description: Get tree of scopes + security: + - oauth2: + - scopes.read + /clients: + post: + summary: Create OAuth client + tags: + - API Management + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ClientWSecret' + operationId: create-clients + description: Create OAuth2 client for API + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ClientCreate' + security: + - oauth2: + - clients.write + get: + summary: List OAuth clients + tags: + - API Management + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Client' + parameters: + - $ref: '#/components/parameters/offset' + operationId: list-clients + description: List the OAuth clients for API + security: + - oauth2: + - clients.read + /clients/{id}: + parameters: + - schema: + type: string + name: id + in: path + required: true + description: OAuth client id + get: + summary: Get OAuth client + tags: + - API Management + responses: + '200': + description: OAuth client + content: + application/json: + schema: + $ref: '#/components/schemas/Client' + operationId: fetch-clients + description: Fetch OAuth 2 client for API + security: + - oauth2: + - clients.read + put: + summary: Update OAuth client + tags: + - API Management + responses: + '200': + description: OAuth client + content: + application/json: + schema: + $ref: '#/components/schemas/Client' + operationId: update-clients + description: Update OAuth2 client for API + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ClientUpdate' + security: + - oauth2: + - clients.write + delete: + summary: Delete OAuth client + tags: + - API Management + responses: + '204': + description: Client deleted + operationId: delete-clients + description: Delete OAuth 2 client for API + security: + - oauth2: + - clients.write + /personal-access-tokens: + get: + deprecated: true + summary: List personal access tokens + tags: + - API Management + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/PersonalAccessTokenItem' + parameters: + - $ref: '#/components/parameters/offset' + operationId: list-personal-access-tokens + description: List the personal access tokens for API + security: + - oauth2: + - access-tokens.read + post: + deprecated: true + summary: Create personal access token + tags: + - API Management + responses: + '201': + description: OK + content: + application/json: + schema: + title: createPersonalAccessTokenItem + allOf: + - $ref: '#/components/schemas/PersonalAccessTokenItem/allOf/0' + - type: object + properties: + name: + type: string + description: The token name + example: My Token 7 + token: + type: string + description: The oauth2 access token + example: >- + eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiI2NzBmYWRlZi01NzZlLTQ3YTEtOTM1OC02Mjc4NDYwNWMwMjQiLCJqdGkiOiI5MWUyYmRhNTI4MTYzMTZjMDJjMzRkNTU3YjI4NzJmYjJkNDRkYTNlMDNiZjY3YTQ1YTA2Yjk2MDgzZjNlZjlkNmU5YzU0ZmEzN2VjMGVlYSIsImlhdCI6MTU5MDQyMDUwOSwibmJmIjoxNTkwNDIwNTA5LCJleHAiOjQ3NDYwOTc3MDksInN1YiI6IjM1NjdlMzA0LTk4YTUtNGI3My1hOGY0LWJlN2Y5NzgwZjU4YiIsInNjb3BlcyI6WyJhbGwiLCJjb21wYW5pZXMiLCJjb21wYW5pZXMucmVhZCIsImNvbXBhbmllcy53cml0ZSIsImFjdGl2aXRpZXMiLCJhY3Rpdml0aWVzLnJlYWQiLCJhY3Rpdml0aWVzLndyaXRlIiwibGlzdGluZ3MiLCJsaXN0aW5ncy5yZWFkIiwibGlzdGluZ3Mud3JpdGUiXSwidXNlclR5cGUiOiJzdGFmZiIsInVzZXJJZCI6MSwiY29ycElkIjoxfQ.e6EhrwGhis1w2LdUdR_3aJMOnHRr3eYdiIExqChb_mXOo843spzOOhP5Gigv21IJIEslF7mqudahoLbWIeq12AAUUapAgA93f9-Pxl1OgKkqzvRHN_Ft_Q_HQhX2BuSKrd6HTFtgL6B-vCi21wL-VRsMuasuLl7KDVqlQxikqJ-59MAYCHXOE9hyLOUc85OFvBWyyJOzX_Ey45IYIG6VuieyuNNm6eibjrmnW47gFsT-1YWVDvDJnLwyPew1MuSwbaVmUBLOe9hfjOJGWYPz5Wlrwo0zwbuiKHaXK8BAJ5pLXMpL8uUuMHuaPiMza-mZETXmNKScUwSdUXwEFEmgoQ + required: + - name + - token + operationId: create-personal-access-tokens + description: Create OAuth2 personal access token for API + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PersonalAccessTokenCreateItem' + security: + - oauth2: + - access-tokens.write + /personal-access-tokens/metas: + get: + deprecated: true + summary: Get meta informations for personal access tokens + tags: + - API Management + responses: + '200': + description: Context object + content: + application/json: + schema: + $ref: '#/components/schemas/PersonalAccessTokenMetas' + operationId: personal-access-tokens-meta + security: + - oauth2: + - access-tokens.read + parameters: [] + description: 'Get metadata, ie everything you need to build the form ' + /personal-access-tokens/{id}: + parameters: + - schema: + type: string + name: id + in: path + required: true + description: Personal access token id + get: + deprecated: true + summary: Get personal access token + tags: + - API Management + responses: + '200': + description: Personal access token + content: + application/json: + schema: + $ref: '#/components/schemas/PersonalAccessTokenItem' + operationId: fetch-personal-access-tokens + description: Fetch OAuth2 personal access token for API + security: + - oauth2: + - access-tokens.read + delete: + deprecated: true + summary: Delete personal access token + tags: + - API Management + responses: + '204': + description: Personal access token deleted + operationId: delete-personal-access-tokens + description: Delete OAuth2 personal access token for API + security: + - oauth2: + - access-tokens.write + /accounting-codes: + get: + summary: Get accounting codes + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/AccountingCode' + required: + - pagination + - data + operationId: get-accounting-codes + tags: + - Accounting + description: Get list of accounting codes + security: + - oauth2: + - accounting-codes.read + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/accountingOrder' + post: + summary: Create an accounting code + responses: + '201': + description: Accounting code created + content: + application/json: + schema: + $ref: '#/components/schemas/AccountingCode' + '400': + description: Code already exists + '403': + description: Module is not accessible + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AccountingCodeCreate' + operationId: create-accounting-code + tags: + - Accounting + description: Create an accounting code + security: + - oauth2: + - accounting-codes.write + /accounting-codes/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: ID of the accounting code + delete: + summary: Delete an accounting code + responses: + '204': + description: Accounting code deleted + '403': + description: Module is not accessible + operationId: delete-accounting-code + tags: + - Accounting + description: Delete an accounting code + security: + - oauth2: + - accounting-codes.write + /accounting-codes/search: + post: + summary: Search accounting codes + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/AccountingCode' + required: + - pagination + - data + application/xml: + schema: + type: object + properties: {} + operationId: search-accounting-codes + tags: + - Accounting + description: Search in list of accouting codes + security: + - oauth2: + - accounting-codes.read + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/accountingOrder' + requestBody: + content: + application/json: + schema: + title: accountingCodeFilters + type: object + description: Accounting code filters + properties: + filters: + type: object + description: Accounting code filters + additionalProperties: false + properties: + views: + type: array + items: + type: string + enum: + - third + - purchase + - sell + - bank + - reconciliation + required: + - filters + description: '' + /accounting-journal/{type}: + parameters: + - schema: + type: string + enum: + - sells + - purchases + - bank + - cashtill + - misc + name: type + in: path + required: true + description: Type of accounting journal to fetch + get: + summary: Get accounting journal + description: Get list of accounting journal + tags: + - Accounting + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/accountingEmbed' + responses: + '200': + description: Accounting journal + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/AccountingJournal' + aggregations: + $ref: '#/components/schemas/AccountingAggregations' + required: + - pagination + - data + operationId: get-accounting-journal + security: + - oauth2: + - accounting-entry.read + /accounting-journal/{type}/search: + parameters: + - schema: + type: string + enum: + - sells + - purchases + - bank + - cashtill + - misc + name: type + in: path + required: true + description: Type of accounting journal to fetch + post: + summary: Search accounting journal + description: Search in list of accounting journal + tags: + - Accounting + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/accountingEmbed' + responses: + '200': + description: Accounting journal + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/AccountingJournal' + aggregations: + $ref: '#/components/schemas/AccountingAggregations' + required: + - pagination + - data + requestBody: + content: + application/json: + schema: + title: Accounting journal filters + type: object + description: Accounting code filters + properties: + filters: + type: object + description: Accounting code filters + additionalProperties: false + properties: + date: + description: Filter by date of accounting entry + type: object + properties: + start: + type: string + format: date + end: + type: string + format: date + accounting_codes: + description: Filter by accounting codes + type: array + items: + type: string + currency: + description: Filter by currency + type: string + include_exported_entries: + description: Include or not, entries already exported + type: boolean + bank_accounts: + description: Filter by bank accounts. Usable only for bank journal + type: array + items: + type: integer + simplified_view_by_client: + type: boolean + description: Filter client entries. Usable only for bank journal + required: + - filters + description: '' + operationId: search-accounting-journal + security: + - oauth2: + - accounting-entry.read + /accounting-journal/{type}/metas: + parameters: + - schema: + type: string + enum: + - sells + - purchases + - bank + - cashtill + - misc + name: type + in: path + required: true + description: Type of accounting journal to fetch + get: + summary: Get meta informations for accounting journal + tags: + - Accounting + responses: + '200': + description: Context object + content: + application/json: + schema: + $ref: '#/components/schemas/AccountingMetas' + operationId: meta-accounting-journal + security: + - oauth2: + - accounting-entry.read + parameters: [] + /accounting-journal/{type}/export: + parameters: + - schema: + type: string + enum: + - sells + - purchases + - bank + - cashtill + - misc + name: type + in: path + required: true + description: Type of accounting journal to fetch + post: + summary: Export accounting journal + description: Export list of accounting journal + tags: + - Accounting + operationId: export-accounting-journal + security: + - oauth2: + - accounting-entry.read + responses: + '202': + description: Accepted + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/AccountingJournalExportParams' + - $ref: >- + #/paths/~1accounting-journal~1%7Btype%7D~1search/post/requestBody/content/application~1json/schema + /taxes: + get: + summary: Taxes list + responses: + '200': + description: Taxes list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + title: Tax with embed + allOf: + - $ref: >- + #/components/schemas/CompanyPreferences/properties/tax + - type: object + properties: + _embed: + nullable: true + allOf: + - title: Embed for Tax + type: object + description: >- + Optional objects added through the embed + parameter + x-examples: {} + additionalProperties: false + properties: + acl: + nullable: true + description: Tax acl + allOf: + - title: Tax ACL + type: object + description: '' + x-examples: {} + properties: + rate_can_be_updated: + type: boolean + nullable: false + description: Tax rate can be updated + example: true + can_be_deleted: + type: boolean + nullable: false + description: Tax can be deleted + example: true + translations: + type: array + nullable: false + description: Tax translations + items: + title: Tax Translations + type: object + description: '' + x-examples: {} + properties: + id: + type: integer + nullable: false + description: Translation id + example: 5 + lang_id: + type: integer + nullable: false + description: Lang id + example: 12 + value: + type: string + nullable: false + description: Translation value + example: The value + required: + - pagination + - data + operationId: get-taxes + tags: + - Taxes + description: Get list of taxes + security: + - oauth2: + - taxes.read + parameters: + - in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - rank + - in: query + name: embed + description: | + Additional object included in the result. + schema: + type: array + items: + type: string + enum: + - acl + - translations + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - in: query + name: include_ecotax + description: Include ecotaxes in the response + schema: + type: boolean + allowEmptyValue: true + post: + summary: Create tax + operationId: create-tax + responses: + '201': + description: Tax created + content: + application/json: + schema: + $ref: >- + #/paths/~1taxes/get/responses/200/content/application~1json/schema/properties/data/items + description: Create a tax + parameters: + - $ref: '#/paths/~1taxes/get/parameters/1' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - taxes.write + requestBody: + content: + application/json: + schema: + title: Tax + type: object + description: '' + x-examples: {} + required: + - rate + - label + properties: + rate: + type: number + description: Tax rate + example: 20 + nullable: false + label: + type: string + description: Tax label + example: TVA + nullable: false + before_sibling: + type: integer + description: > + ID of tax before which to place the tax specified in path + parameter
> if not specified, tax will be placed at + the last rank of the taxes list + nullable: true + example: 57 + tags: + - Taxes + /taxes/search: + post: + summary: Search taxes + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1taxes/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + operationId: search-taxes + tags: + - Taxes + description: Search taxes + security: + - oauth2: + - taxes.read + parameters: + - $ref: '#/paths/~1taxes/get/parameters/0' + - $ref: '#/paths/~1taxes/get/parameters/1' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TaxFilter' + /taxes/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Tax id + get: + summary: Get Tax + tags: + - Taxes + operationId: get-tax + parameters: + - $ref: '#/paths/~1taxes/get/parameters/1' + - $ref: '#/components/parameters/fields' + - $ref: '#/paths/~1taxes/get/parameters/6' + responses: + '200': + description: Tax fetched + content: + application/json: + schema: + $ref: >- + #/paths/~1taxes/get/responses/200/content/application~1json/schema/properties/data/items + description: Fetch tax informations + security: + - oauth2: + - taxes.read + put: + summary: Update tax + tags: + - Taxes + operationId: update-tax + parameters: + - $ref: '#/paths/~1taxes/get/parameters/1' + - $ref: '#/components/parameters/fields' + - $ref: '#/paths/~1taxes/get/parameters/6' + responses: + '200': + description: Tax updated + content: + application/json: + schema: + $ref: >- + #/paths/~1taxes/get/responses/200/content/application~1json/schema/properties/data/items + description: Update Tax informations + requestBody: + content: + application/json: + schema: + title: Tax + type: object + description: '' + x-examples: {} + properties: + rate: + type: number + description: Tax rate + example: 20 + nullable: false + label: + type: string + description: Tax label + example: TVA + nullable: false + before_sibling: + type: integer + description: > + ID of tax before which to place the tax specified in path + parameter
> if not specified, tax will be placed at + the last rank of the taxes list + nullable: true + example: 57 + security: + - oauth2: + - taxes.write + delete: + summary: Delete tax + tags: + - Taxes + operationId: delete-tax + responses: + '204': + description: Tax deleted + description: Remove a tax + security: + - oauth2: + - taxes.write + /taxes/accounting-codes: + get: + summary: Taxes accounting codes list + responses: + '200': + description: Taxes accounting codes list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + title: Accounting codes of taxes + type: object + properties: + id: + type: integer + readOnly: true + description: Id of tax + example: 6 + rate: + type: number + format: float + description: Rate of tax + example: 20 + label: + type: string + description: Label of tax + example: Product TVA + debit_vat: + title: Accounting code + type: object + description: accounting codes applied to debit vat + additionalProperties: false + properties: + collected_vat: + description: Accounting code for collected vat + type: object + additionalProperties: false + properties: + id: + type: integer + nullable: true + description: Accounting code id for collected vat + example: 23 + code: + type: string + nullable: true + description: Accounting code for collected vat + example: '445680' + required: + - id + - code + deductible_vat: + description: Accounting code for deductible vat + type: object + additionalProperties: false + properties: + id: + type: integer + nullable: true + description: Accounting code id for deductible vat + example: 12 + code: + type: string + nullable: true + description: Accounting code for deductible vat + example: '445680' + required: + - id + - code + required: + - collected_vat + - deductible_vat + collection_vat: + title: Accounting code + type: object + description: accounting codes applied to collection vat + additionalProperties: false + properties: + collected_vat: + description: Accounting code for collected vat + type: object + additionalProperties: false + properties: + id: + type: integer + nullable: true + description: Accounting code id for collected vat + example: 12 + code: + type: string + nullable: true + description: Accounting code for collected vat + example: '445680' + required: + - id + - code + deductible_vat: + description: Accounting code for deductible vat + type: object + additionalProperties: false + properties: + id: + type: integer + nullable: true + description: Accounting code id for deductible vat + example: 7 + code: + type: string + nullable: true + description: Accounting code for deductible vat + example: '445680' + required: + - id + - code + required: + - collected_vat + - deductible_vat + required: + - pagination + - data + operationId: get-taxes-accounting-charts + tags: + - Taxes + description: Get list of accounting codes + security: + - oauth2: + - taxes.read + parameters: + - $ref: '#/paths/~1taxes/get/parameters/0' + - $ref: '#/paths/~1taxes/get/parameters/1' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + /taxes/{id}/accounting-codes: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Tax id + get: + summary: Tax accounting codes list + responses: + '200': + description: Tax accounting codes list fetched + content: + application/json: + schema: + $ref: >- + #/paths/~1taxes~1accounting-codes/get/responses/200/content/application~1json/schema/properties/data/items + operationId: get-tax-accounting-chart + tags: + - Taxes + description: Get tax accounting codes + security: + - oauth2: + - taxes.read + parameters: + - $ref: '#/paths/~1taxes/get/parameters/0' + - $ref: '#/paths/~1taxes/get/parameters/1' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + put: + summary: Update tax accounting codes + tags: + - Taxes + operationId: update-tax-accounting-chart + parameters: + - $ref: '#/paths/~1taxes/get/parameters/1' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Tax updated + content: + application/json: + schema: + $ref: >- + #/paths/~1taxes~1accounting-codes/get/responses/200/content/application~1json/schema/properties/data/items + description: Update tax accounting codes + requestBody: + content: + application/json: + schema: + title: Accouting codes of taxes + type: object + properties: + debit_vat: + title: Accounting code + type: object + description: accounting codes applied to debit vat + additionalProperties: false + properties: + collected_vat_id: + type: integer + description: Accounting code for collected vat + example: 44568 + deductible_vat_id: + type: integer + description: Accounting code for deductible vat + example: 44568 + required: + - collected_vat_id + - deductible_vat_id + collection_vat: + title: Accounting code + type: object + description: accounting codes applied to collection vat + additionalProperties: false + properties: + collected_vat_id: + type: integer + description: Accounting code for collected vat + example: 44568 + deductible_vat_id: + type: integer + description: Accounting code for deductible vat + example: 44568 + required: + - collected_vat_id + - deductible_vat_id + security: + - oauth2: + - taxes.write + /rate-categories: + get: + summary: Rate categories list + responses: + '200': + description: Rate categories list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + title: Tax with embed + allOf: + - title: Rate category + type: object + description: '' + x-examples: {} + additionalProperties: false + properties: + id: + type: integer + readOnly: true + description: Id of rate category + example: 6657 + label: + type: string + description: Label of rate category + example: Tarif HT + includes_taxes: + type: boolean + description: Are taxes included + example: true + currency: + type: string + nullable: true + description: Currency + example: EUR + tax_id: + type: integer + nullable: true + description: Id of tax + example: 3822666 + is_default: + type: boolean + description: Is the default rate category + example: false + accounting: + title: Accounting + type: object + nullable: true + description: Accounting codes + x-examples: {} + additionalProperties: false + properties: + accounting_code_id: + type: integer + nullable: true + description: Id of accounting code + example: 1160745 + discount_accounting_code_id: + type: integer + nullable: true + description: Id of discount accounting code + example: 1160745 + default_layouts: + title: Default layouts + type: object + description: Default layouts + x-examples: {} + additionalProperties: false + properties: + estimates: + type: object + description: Estimates layout + properties: + enabled: + type: boolean + description: Indicates if estimates are enabled + example: true + id: + type: integer + nullable: true + description: Layout id + example: 157 + invoices: + type: object + description: Invoices layout + properties: + enabled: + type: boolean + description: Indicates if invoices are enabled + example: true + id: + type: integer + nullable: true + description: Layout id + example: 158 + credit_notes: + type: object + description: Credit notes layout + properties: + enabled: + type: boolean + description: Indicates if credit notes are enabled + example: true + id: + type: integer + nullable: true + description: Layout id + example: 159 + models: + type: object + description: Models layout + properties: + enabled: + type: boolean + description: Indicates if models are enabled + example: true + id: + type: integer + nullable: true + description: Layout id + example: 160 + deliveries: + type: object + description: Deliveries layout + properties: + enabled: + type: boolean + description: Indicates if deliveries are enabled + example: false + id: + type: integer + nullable: true + description: Layout id + example: 161 + orders: + type: object + description: Orders layout + properties: + enabled: + type: boolean + description: Indicates if orders are enabled + example: false + id: + type: integer + nullable: true + description: Layout id + example: 162 + proformas: + type: object + description: Proformas layout + properties: + enabled: + type: boolean + description: Indicates if proformas are enabled + example: false + id: + type: integer + nullable: true + description: Layout id + example: 163 + price: + description: Price rule + oneOf: + - title: Price type value + type: object + description: Price type value + x-examples: {} + additionalProperties: false + properties: + type: + type: string + description: Set an amount per product + enum: + - value + example: value + - title: Price type percent + type: object + description: Price type percent + x-examples: {} + additionalProperties: false + properties: + type: + type: string + description: >- + Apply a percentage to the reference + price of the product + enum: + - percent + example: percent + value: + type: string + description: Price value + example: 10.5 + - type: object + properties: + _embed: + nullable: true + allOf: + - title: Embed for Rate Category + type: object + description: >- + Optional objects added through the embed + parameter + x-examples: {} + additionalProperties: false + properties: + currency: + nullable: true + description: Rate category currency + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/currency + required: + - pagination + - data + operationId: get-rate-categories + tags: + - Rate Categories + description: Get list of rate categories + security: + - oauth2: + - rate-categories.read + parameters: + - in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - in: query + name: embed + description: | + Additional object included in the result. + schema: + type: array + items: + type: string + enum: + - currency + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + post: + summary: Create rate category + operationId: create-rate-category + responses: + '201': + description: Rate category created + content: + application/json: + schema: + $ref: >- + #/paths/~1rate-categories/get/responses/200/content/application~1json/schema/properties/data/items + '402': + description: Quotas limit reached on your current plan + description: Create a rate category + parameters: + - $ref: '#/paths/~1rate-categories/get/parameters/1' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - rate-categories.write + requestBody: + content: + application/json: + schema: + title: Rate category + type: object + description: '' + x-examples: {} + additionalProperties: false + required: + - label + properties: + label: + type: string + description: Label of rate category + example: Tarif HT + includes_taxes: + type: boolean + description: Are taxes included + example: true + default: false + currency: + type: string + nullable: true + description: Currency + example: EUR + tax_id: + type: integer + nullable: true + description: Id of tax + example: 3822666 + accounting_code_id: + type: integer + nullable: true + description: Id of accounting code + example: 1160745 + discount_accounting_code_id: + type: integer + nullable: true + description: Id of discount accounting code + example: 1160745 + default_layouts: + title: Default layouts + type: object + description: Default layouts + x-examples: {} + additionalProperties: false + properties: + estimates: + type: integer + nullable: true + description: Estimates layout id + example: 157 + invoices: + type: integer + nullable: true + description: Invoices layout id + example: 158 + credit_notes: + type: integer + nullable: true + description: Credit notes layout id + example: 159 + models: + type: integer + nullable: true + description: Models layout id + example: 157 + deliveries: + type: integer + nullable: true + description: Deliveries layout id + example: null + orders: + type: integer + nullable: true + description: Orders layout id + example: null + proformas: + type: integer + nullable: true + description: Proformas layout id + example: null + price: + description: Price rule + oneOf: + - title: Price type value + type: object + description: Price type value + x-examples: {} + additionalProperties: false + required: + - type + properties: + type: + type: string + description: Set an amount per product + enum: + - value + example: value + - title: Price type percent + type: object + description: Price type percent + x-examples: {} + additionalProperties: false + required: + - type + - value + properties: + type: + type: string + description: >- + Apply a percentage to the reference price of the + product + enum: + - percent + example: percent + value: + type: string + description: Price value + example: 10.5 + tags: + - Rate Categories + /rate-categories/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Rate category id + get: + summary: Get rate category + tags: + - Rate Categories + operationId: get-rate-category + parameters: + - $ref: '#/paths/~1rate-categories/get/parameters/1' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Rate category fetched + content: + application/json: + schema: + $ref: >- + #/paths/~1rate-categories/get/responses/200/content/application~1json/schema/properties/data/items + description: Fetch a rate category + security: + - oauth2: + - rate-categories.read + put: + summary: Update a rate category + tags: + - Rate Categories + operationId: update-rate-category + parameters: + - $ref: '#/paths/~1rate-categories/get/parameters/1' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Rate category updated + content: + application/json: + schema: + $ref: >- + #/paths/~1rate-categories/get/responses/200/content/application~1json/schema/properties/data/items + description: Update a rate category + requestBody: + content: + application/json: + schema: + title: Rate category + type: object + description: '' + x-examples: {} + additionalProperties: false + properties: + label: + type: string + description: Label of rate category + example: Tarif HT + includes_taxes: + type: boolean + description: Are taxes included + example: true + default: false + currency: + type: string + nullable: true + description: Currency + example: EUR + tax_id: + type: integer + nullable: true + description: Id of tax + example: 3822666 + accounting_code_id: + type: integer + nullable: true + description: Id of accounting code + example: 1160745 + discount_accounting_code_id: + type: integer + nullable: true + description: Id of discount accounting code + example: 1160745 + default_layouts: + $ref: >- + #/paths/~1rate-categories/post/requestBody/content/application~1json/schema/properties/default_layouts + price: + description: Price rule + oneOf: + - $ref: >- + #/paths/~1rate-categories/post/requestBody/content/application~1json/schema/properties/price/oneOf/0 + - $ref: >- + #/paths/~1rate-categories/post/requestBody/content/application~1json/schema/properties/price/oneOf/1 + security: + - oauth2: + - rate-categories.write + delete: + summary: Delete Rate category + tags: + - Rate Categories + operationId: delete-rate-category + responses: + '204': + description: Rate category deleted + description: Remove a rate category + security: + - oauth2: + - rate-categories.write + /payments/methods/{id}: + get: + parameters: + - schema: + type: string + name: id + in: path + required: true + description: Payment method id + summary: Get the payment method + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/PaymentMethod' + operationId: get-payment-method + tags: + - Payments + description: List of all payment methods + security: + - oauth2: + - payments.read + /payments/methods: + get: + summary: List of all payment methods + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/PaymentMethod' + required: + - pagination + - data + operationId: get-payment-methods + tags: + - Payments + description: List of all payment methods + security: + - oauth2: + - payments.read + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/paymentMethodOrder' + /payments/methods/search: + post: + summary: Search methods of payment + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/PaymentMethod' + required: + - pagination + - data + requestBody: + content: + application/json: + schema: + type: object + properties: + filters: + type: object + operationId: search-payment-methods + tags: + - Payments + description: Search method of payment + security: + - oauth2: + - payments.read + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/paymentMethodOrder' + /ocr/pur-invoice: + get: + summary: Ocr List - Purchase invoices + operationId: get-ocr-pur-invoice + description: Get list of OCR documents for purchase invoices + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Ocr' + security: + - oauth2: + - ocr.read + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/ocrOrder' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + tags: + - Purchase (OCR) + /ocr/pur-invoice/search: + post: + summary: Search OCR - Purchase invoices + operationId: search-ocr-pur-invoice + description: Search OCR document of purchase invoices + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Ocr' + security: + - oauth2: + - ocr.read + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/ocrOrder' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + tags: + - Purchase (OCR) + requestBody: + content: + application/json: + schema: + type: object + properties: + filters: + type: object + properties: + state: + description: Filter by ocr state + type: array + items: + type: string + enum: + - pending + - processing + - completed + - error + staff_id: + description: filters by staff ids + type: array + items: + type: integer + /ocr/pur-invoice/metas: + get: + summary: Get Metadata for purchase invoice OCR + tags: + - Purchase (OCR) + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/OcrPurInvoiceMetas' + operationId: get-ocr-pur-invoice-metas + description: Get metadata + security: + - oauth2: + - scopes.read + /contacts: + post: + summary: Create a contact + tags: + - Contacts + description: Create a contact + operationId: create-contact + parameters: + - $ref: '#/components/parameters/contactEmbed' + - $ref: '#/components/parameters/verify' + responses: + '201': + description: Contact created + content: + application/json: + schema: + $ref: '#/components/schemas/ContactItem' + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContactCreateItem' + description: '' + security: + - oauth2: + - contacts.write + get: + summary: Contacts List + tags: + - Contacts + description: Get a list of contacts + operationId: get-contacts + parameters: + - $ref: '#/components/parameters/contactOrders' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/contactEmbed' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Contacts list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ContactCollectionItem' + required: + - pagination + - data + security: + - oauth2: + - contacts.read + /contacts/search: + post: + summary: Search contacts + tags: + - Contacts + description: Search contacts + operationId: search-contacts + parameters: + - $ref: '#/components/parameters/contactOrders' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/contactEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContactFilters' + responses: + '200': + description: Contacts list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ContactCollectionItem' + required: + - pagination + - data + security: + - oauth2: + - contacts.read + /contacts/favourite-filters: + get: + summary: List contacts favourite filters + tags: + - Contacts + description: > + List favourite filters for faster access to specific contacts
> + Favourite filters can be applied directly to contact search endpoints +
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-contact-favourite-filters + parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + security: + - oauth2: + - contacts.read + /contacts/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Contact id + get: + summary: Get contact + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/contactEmbed' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Contact fetched + content: + application/json: + schema: + $ref: '#/components/schemas/ContactItem' + operationId: get-contact + description: Fetch contact informations + security: + - oauth2: + - contacts.read + put: + summary: Update contact + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/contactEmbed' + - $ref: '#/components/parameters/verify' + responses: + '200': + description: Contact updated + content: + application/json: + schema: + $ref: '#/components/schemas/ContactItem' + '204': + $ref: '#/components/schemas/Verify' + description: Update contact informations + operationId: update-contact + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ContactUpdateItem' + security: + - oauth2: + - contacts.write + delete: + summary: Delete contact + tags: + - Contacts + operationId: delete-contact + responses: + '204': + description: Contact deleted + description: Remove a contact + security: + - oauth2: + - contacts.write + /contacts/{contactId}/addresses: + parameters: + - schema: + type: integer + name: contactId + in: path + required: true + description: Contact id + get: + summary: Get contact addresses + tags: + - Contacts + responses: + '200': + description: Addresses fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Address' + required: + - pagination + - data + operationId: get-contact-addresses + security: + - oauth2: + - contacts.read + post: + tags: + - Contacts + responses: + '201': + description: Address created + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + operationId: create-contact-address + summary: Create a contact address + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/AddressCreate' + security: + - oauth2: + - contacts.write + /contacts/{contactId}/addresses/{id}: + parameters: + - schema: + type: integer + name: contactId + in: path + required: true + description: Contact id + - schema: + type: integer + name: id + in: path + required: true + description: Address id + get: + tags: + - Contacts + responses: + '200': + description: Address fetched + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + operationId: get-contact-address + summary: Get a contact address + security: + - oauth2: + - contacts.read + put: + tags: + - Contacts + responses: + '200': + description: Address updated + content: + application/json: + schema: + $ref: '#/components/schemas/Address' + operationId: update-contact-address + summary: Update a contact address + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddressUpdate' + security: + - oauth2: + - contacts.write + delete: + tags: + - Contacts + responses: + '204': + description: Address deleted + operationId: delete-contact-address + summary: Delete a contact address + security: + - oauth2: + - contacts.write + /contacts/{contactId}/custom-fields: + parameters: + - schema: + type: integer + name: contactId + in: path + required: true + description: Contact id + get: + summary: Contact custom fields List + description: Get list of custom fields for a contact + tags: + - Contacts + operationId: get-contact-custom-fields + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - custom-fields.read + - contacts.read + put: + summary: Update contact custom fields + description: Update list of custom fields for a contact + tags: + - Contacts + parameters: + - $ref: '#/components/parameters/verify' + operationId: update-contact-custom-fields + responses: + '200': + description: Contact's custom fields updated + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/put/requestBody/content/application~1json/schema + security: + - oauth2: + - custom-fields.write + - contacts.write + /contacts/{contactId}/files: + parameters: + - name: contactId + in: path + description: Contact id + schema: + type: integer + required: true + get: + summary: List directories and files of a contact + description: >- + List directories and files attached to a contact
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-contact-files + tags: + - Contacts + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + security: + - oauth2: + - contacts.read + - files.read + post: + summary: Attach file to a contact + description: >- + Attach file to a contact
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: upload-contact-file + tags: + - Contacts + responses: + '201': + description: File uploaded + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + security: + - oauth2: + - contacts.read + - files.write + /contacts/{contactId}/smart-tags: + parameters: + - schema: + type: integer + name: contactId + in: path + required: true + description: Contact id + get: + summary: Contact smart tags List + description: Get list of smart tags for a contact + tags: + - Contacts + operationId: get-contact-smart-tags + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + security: + - oauth2: + - smart-tags.read + - contacts.read + post: + summary: Link smart tags to contact + description: Link a list of smart tag to a contact + tags: + - Contacts + operationId: link-contact-smart-tags + responses: + '200': + description: Smart tag linked + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/post/requestBody/content/application~1json/schema + security: + - oauth2: + - smart-tags.write + - contacts.write + /accounts/conformities: + get: + summary: Retrieve invoicing conformity state + tags: + - Conformities + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicingConformityState' + operationId: get-invoicing-conformity-state + description: Get invoicing conformity state + security: + - oauth2: + - accounts.read + post: + summary: Activate invoice conformity (Definitively) + tags: + - Conformities + responses: + '201': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicingConformityState' + '403': + description: Conformity has already been activated + requestBody: + content: + application/json: + schema: + type: object + properties: + confirm_final_change: + description: Confirm definitively activate invoice conformity + type: boolean + enum: + - true + required: + - confirm_final_change + operationId: activate-invoicing-conformity + description: Definitively activate invoice conformity + security: + - oauth2: + - accounts.write + /document-layouts: + get: + summary: Get all document layouts + tags: + - Document Layouts + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/DocumentLayoutsCollection' + operationId: get-document-layouts + description: Get all document layouts + security: + - oauth2: + - document-layouts.read + /accounts/documents: + get: + summary: Get your invoices and credit notes + tags: + - Documents + parameters: + - $ref: '#/components/parameters/accountDocumentOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/AccountDocumentCollection' + operationId: get-accounts-documents + description: Get your invoices and credit notes + security: + - oauth2: + - accounts.read + /opportunities/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: ID of opportunity + get: + summary: Get Opportunity + tags: + - Opportunities + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunityItem' + operationId: get-opportunity + description: Get an opportunity + security: + - oauth2: + - opportunities.read + parameters: + - $ref: '#/components/parameters/opportunityEmbed' + - in: query + name: field + description: > + Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- + `field[]=address.id`: Return the `id` field of the `address` + object
- `field[]=addresses[].id`: Return the `id` field of + the `address` objects

On endpoints that implement the + `embed` query parameter, if you specified embeds in your call, you + will need to request the `_embed` field as well.
Example:
- + `field[]=_embed`: Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` + embed
- `field[]=_embed.company.name`: Return the `name` field + from the `company` embed
+ schema: + type: array + items: + type: string + pattern: ^[A-Za-z0-9\.\[\]_-]+$ + put: + summary: Update Opportunity + tags: + - Opportunities + operationId: update-opportunity + responses: + '200': + description: Opportunity updated + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunityItem' + '204': + $ref: '#/components/schemas/Verify' + description: Update Opportunity informations + security: + - oauth2: + - opportunities.write + parameters: + - $ref: '#/components/parameters/opportunityEmbed' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/verify' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunityUpdate' + description: '' + delete: + summary: Delete an Opportunity + tags: + - Opportunities + operationId: delete-opportunity + responses: + '204': + description: Opportunity deleted + description: Delete an opportunity + security: + - oauth2: + - opportunities.write + /opportunities/{id}/step-rank: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: ID of opportunity + patch: + operationId: update-opportunity-rank + description: > + Update opportunity's rank in its pipeline step or in a new step
> + To apply new rank according to the sibling, we consider to be in the + default ascending sort on opportunities rank + summary: Update opportunity's rank and/or step + tags: + - Opportunities + responses: + '204': + description: Opportunity's rank updated + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunityRankUpdate' + security: + - oauth2: + - opportunities.write + /opportunities: + post: + summary: Create an opportunity + tags: + - Opportunities + operationId: create-opportunity + parameters: + - $ref: '#/components/parameters/opportunityEmbed' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/verify' + responses: + '201': + description: Opportunity created + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunityItem' + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunityCreate' + description: '' + security: + - oauth2: + - opportunities.write + description: Create an opportunity + get: + summary: Get Opportunities + tags: + - Opportunities + operationId: get-opportunities + description: Get list of opportunities + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/opportunityEmbedWithAggregations' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/opportunityOrder' + responses: + '200': + description: Opportunities list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/OpportunityItem' + aggregations: + $ref: '#/components/schemas/OpportunitiesAggregations' + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/{opportunityId}/files: + parameters: + - name: opportunityId + in: path + description: Opportunity id + schema: + type: integer + required: true + post: + summary: Attach file to an opportunity + description: >- + Attach file to an opportunity
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: upload-opportunity-file + tags: + - Opportunities + responses: + '201': + description: File uploaded + content: + application/json: + schema: + $ref: '#/components/schemas/FileOuput' + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + security: + - oauth2: + - opportunities.read + - files.write + get: + summary: List directories and files of an opportunity + description: >- + List directories and files attached to an opportunity
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-opportunity-files + tags: + - Opportunities + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + - files.read + /opportunities/search: + post: + summary: Search Opportunities + tags: + - Opportunities + description: Search opportunities + operationId: search-opportunities + parameters: + - $ref: '#/components/parameters/opportunityOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/opportunityEmbedWithAggregations' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunityFilters' + responses: + '200': + description: Opportunities list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/OpportunityItem' + aggregations: + $ref: '#/components/schemas/OpportunitiesAggregations' + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/favourite-filters: + get: + summary: List opportunities favourite filters + tags: + - Opportunities + description: > + List favourite filters for faster access to specific opportunities
> Favourite filters can be applied directly to opportunity search + endpoints
This route is available in open beta.
Please note that its specifications are potentially subject to + significant and breaking changes in the coming weeks.
+ operationId: get-opportunity-favourite-filters + parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + security: + - oauth2: + - opportunities.read + /opportunities/sources: + get: + summary: Get Opportunity Sources + tags: + - Opportunities + operationId: get-opportunity-sources + description: Get list of opportunity sources + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/opportunitySourceOrder' + responses: + '200': + description: Opportunity sources list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/OpportunitySourceCollectionItem' + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/sources/search: + post: + summary: Search Opportunity Sources + tags: + - Opportunities + description: Search opportunity sources + operationId: search-opportunity-sources + parameters: + - $ref: '#/components/parameters/opportunitySourceOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunitySourceFilters' + responses: + '200': + description: Opportunity sources list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/OpportunitySourceCollectionItem' + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/categories/{sourceCategoryId}/sources: + parameters: + - schema: + type: integer + name: sourceCategoryId + in: path + required: true + description: ID of Opportunity Sources Category + get: + summary: Get Opportunity Category Sources + tags: + - Opportunities + operationId: get-opportunity-category-sources + description: Get list of opportunity category sources + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/opportunitySourceOrder' + responses: + '200': + description: Opportunity category sources list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/OpportunitySourceCollectionItem' + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/pipelines: + get: + summary: Get Opportunity Pipelines + tags: + - Opportunities + operationId: get-opportunity-pipelines + description: Get list of opportunity pipelines + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/opportunityPipelineOrder' + responses: + '200': + description: Opportunity pipelines list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/OpportunityPipelineCollectionItem' + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/pipelines/search: + post: + summary: Search Opportunity Pipelines + tags: + - Opportunities + description: Search opportunity pipelines + operationId: search-opportunity-pipelines + parameters: + - $ref: '#/components/parameters/opportunityPipelineOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunityPipelineFilters' + responses: + '200': + description: Opportunity pipelines list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/OpportunityPipelineCollectionItem' + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/pipelines/{pipelineId}/steps: + parameters: + - schema: + type: integer + name: pipelineId + in: path + required: true + description: Pipeline id + get: + summary: Get Opportunity Pipeline Steps + tags: + - Opportunities + operationId: get-opportunity-pipeline-steps + description: Get list of opportunity pipeline steps + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/pipelineStepOrder' + - $ref: '#/components/parameters/pipelineStepEmbed' + responses: + '200': + description: Opportunity pipeline steps list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + title: Step with embed + allOf: + - title: Step + type: object + additionalProperties: false + description: Represents an Opportunity Pipeline Step + x-examples: {} + properties: + id: + type: integer + description: Internal Opportunity Pipeline Step ID + readOnly: true + example: 1 + name: + type: string + description: Opportunity Pipeline Step name + example: New website + probability: + type: integer + description: Opportunity Pipeline Step probability + example: 75 + maximum: 100 + minimum: 0 + rank: + type: integer + description: Pipeline rank in preferences + example: 2 + minimum: 0 + - type: object + properties: + _embed: + nullable: true + allOf: + - title: Embed for Pipeline Steps + type: object + description: >- + Optional objects added through the embed + parameter + x-examples: {} + additionalProperties: false + properties: + opportunities_number: + type: integer + description: Number of opportunities on this step + example: 8 + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/pipelines/{pipelineId}/steps/search: + parameters: + - schema: + type: integer + name: pipelineId + in: path + required: true + description: Pipeline id + post: + summary: Search Opportunity Pipeline Steps + tags: + - Opportunities + description: Search opportunity pipeline steps + operationId: search-opportunity-pipeline-steps + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/pipelineStepOrder' + - $ref: '#/components/parameters/pipelineStepEmbed' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PipelineStepFilters' + responses: + '200': + description: Opportunity pipeline steps list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1opportunities~1pipelines~1%7BpipelineId%7D~1steps/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/steps/search: + post: + summary: Search All Opportunity Pipeline Steps + tags: + - Opportunities + description: Search all opportunity pipeline steps + operationId: search-all-opportunity-pipeline-steps + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/pipelineStepOrder' + - $ref: '#/components/parameters/pipelineStepEmbed' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PipelineStepFilters' + responses: + '200': + description: Opportunity steps list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1opportunities~1pipelines~1%7BpipelineId%7D~1steps/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/categories: + get: + summary: Get Opportunities Categories List + tags: + - Opportunities + operationId: get-opportunities-categories + description: Get list of opportunities categories + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/opportuntiyCategoryEmbed' + responses: + '200': + description: Opportunities Categories List + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/OpportunitiesCategoryItem' + required: + - pagination + - data + security: + - oauth2: + - opportunities.read + /opportunities/categories/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Opportunities category id + - $ref: '#/components/parameters/opportuntiyCategoryEmbed' + get: + tags: + - Opportunities + summary: Get Opportunities Category + responses: + '200': + description: Opportunity category fetched + content: + application/json: + schema: + $ref: '#/components/schemas/OpportunitiesCategoryItem' + operationId: get-opportunities-category + security: + - oauth2: + - opportunities.read + /opportunities/{id}/custom-fields: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Opportunity id + get: + summary: Opportunity custom fields List + description: Get list of custom fields for an opportunity + tags: + - Opportunities + operationId: get-opportunity-custom-fields + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - opportunities.read + - custom-fields.read + put: + summary: Update opportunity custom fields + description: Update list of custom fields for an opportunity + tags: + - Opportunities + parameters: + - $ref: '#/components/parameters/verify' + operationId: update-opportunity-custom-fields + responses: + '200': + description: Opportunity's custom fields updated + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/put/requestBody/content/application~1json/schema + security: + - oauth2: + - custom-fields.write + - opportunities.write + /opportunities/{id}/smart-tags: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Opportunity ID + get: + summary: Opportunity smart-tags list + description: Get list of smart-tags for an opportunity + tags: + - Opportunities + operationId: get-opportunity-smart-tags + responses: + '200': + description: Smart-tags list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + security: + - oauth2: + - opportunities.read + - smart-tags.read + post: + summary: Link smart tags to opportunity + description: Link a list of smart-tags to an opportunity + tags: + - Opportunities + operationId: link-opportunity-smart-tags + responses: + '200': + description: Smart-tags list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/post/requestBody/content/application~1json/schema + security: + - oauth2: + - opportunities.write + - smart-tags.write + /tasks/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Task id + get: + tags: + - Tasks + summary: Get a task + responses: + '200': + description: Task fetched + content: + application/json: + schema: + $ref: '#/components/schemas/TaskItem' + operationId: get-task + security: + - oauth2: + - tasks.read + parameters: + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/taskEmbed' + put: + tags: + - Tasks + summary: Update a task + responses: + '200': + description: Task updated + content: + application/json: + schema: + $ref: '#/components/schemas/TaskItem' + operationId: update-task + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/TaskUpdateItem' + security: + - oauth2: + - tasks.write + parameters: + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/taskEmbed' + delete: + tags: + - Tasks + operationId: delete-task + summary: Delete a task + responses: + '204': + description: Task deleted + security: + - oauth2: + - tasks.write + /tasks: + post: + tags: + - Tasks + summary: Create a task + responses: + '201': + description: Task created + content: + application/json: + schema: + $ref: '#/components/schemas/TaskItem' + operationId: create-task + parameters: + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/taskEmbed' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TaskCreateItem' + security: + - oauth2: + - tasks.write + get: + summary: Tasks List + tags: + - Tasks + description: Get a list of tasks + operationId: get-tasks + parameters: + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/taskEmbed' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Tasks list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/TaskCollectionItem' + required: + - pagination + - data + security: + - oauth2: + - tasks.read + /tasks/search: + post: + summary: Search Tasks + tags: + - Tasks + description: Search tasks + operationId: search-tasks + parameters: + - $ref: '#/components/parameters/taskOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/taskEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TaskFilter' + responses: + '200': + description: Tasks list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/TaskCollectionItem' + required: + - pagination + - data + security: + - oauth2: + - tasks.read + /tasks/labels: + get: + summary: Get tasks labels + description: Get all tasks labels available + tags: + - Tasks + operationId: get-tasks-labels + security: + - oauth2: + - tasks.read + parameters: + - $ref: '#/components/parameters/labelOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Label' + required: + - pagination + - data + /calendar-events/labels: + get: + summary: Get calendar events labels + description: Get all calendar events labels available + tags: + - Calendar + operationId: get-calendar-events-labels + security: + - oauth2: + - calendars.read + parameters: + - $ref: '#/components/parameters/labelOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Label' + required: + - pagination + - data + /staffs/{id}: + parameters: + - in: path + name: id + schema: + type: string + pattern: ^([0-9]+|me)$ + required: true + description: >- + Numerical identifier of the Staff. The logged-in Staff can also be + retrieved by using the "/me" alias + get: + summary: Get Staff + tags: + - Staffs + responses: + '200': + description: >- + Schema content depends on current user level of visibility on + staffs, a restricted version could be return + content: + application/json: + schema: + anyOf: + - title: Staff with embed + allOf: + - $ref: >- + #/components/schemas/Activity/properties/_embed/properties/author + - type: object + properties: + _embed: + nullable: true + allOf: + - title: Embed for Staff + type: object + description: >- + Optional objects added through the embed + parameter + x-examples: {} + additionalProperties: false + properties: + preferences: + description: Staff preferences + allOf: + - title: Staff preferences + type: object + properties: + timezone: + type: string + description: Staff timezone + example: Europe/Paris + format_phone_number: + readOnly: true + type: string + description: display phone number format + enum: + - international + - national + example: international + format_date: + readOnly: true + type: string + description: display date format + example: DD-MM-YYYY + enum: + - MM-DD-YYYY + - DD-MM-YYYY + format_hour: + readOnly: true + type: string + description: display hour format + example: 24 + enum: + - 12 + - 24 + currency: + readOnly: true + type: string + description: current currency for staff + example: EUR + acl: + nullable: true + description: Staff acl + allOf: + - title: Staff ACL + type: object + description: '' + x-examples: {} + properties: + view_companies: + type: boolean + nullable: false + description: Is allowed to view companies + example: true + create_companies: + type: boolean + nullable: false + description: Is allowed to create companies + example: true + update_companies: + type: boolean + nullable: false + description: Is allowed to update companies + example: true + delete_companies: + type: boolean + nullable: false + description: Is allowed to delete companies + example: true + view_individuals: + type: boolean + nullable: false + description: Is allowed to view individuals + example: true + create_individuals: + type: boolean + nullable: false + description: Is allowed to create individuals + example: true + update_individuals: + type: boolean + nullable: false + description: Is allowed to update individuals + example: true + delete_individuals: + type: boolean + nullable: false + description: Is allowed to delete individuals + example: true + view_clients: + type: boolean + nullable: false + description: Is allowed to view clients + example: true + create_clients: + type: boolean + nullable: false + description: Is allowed to create clients + example: true + update_clients: + type: boolean + nullable: false + description: Is allowed to update clients + example: true + delete_clients: + type: boolean + nullable: false + description: Is allowed to delete clients + example: true + view_prospects: + type: boolean + nullable: false + description: Is allowed to view prospects + example: true + create_prospects: + type: boolean + nullable: false + description: Is allowed to create prospects + example: true + update_prospects: + type: boolean + nullable: false + description: Is allowed to update prospects + example: true + delete_prospects: + type: boolean + nullable: false + description: Is allowed to delete prospects + example: true + view_suppliers: + type: boolean + nullable: false + description: Is allowed to view suppliers + example: true + create_suppliers: + type: boolean + nullable: false + description: Is allowed to create suppliers + example: true + update_suppliers: + type: boolean + nullable: false + description: Is allowed to update suppliers + example: true + delete_suppliers: + type: boolean + nullable: false + description: Is allowed to delete suppliers + example: true + view_contacts: + type: boolean + nullable: false + description: Is allowed to view contacts + example: true + create_contacts: + type: boolean + nullable: false + description: Is allowed to create contacts + example: true + update_contacts: + type: boolean + nullable: false + description: Is allowed to update contacts + example: true + delete_contacts: + type: boolean + nullable: false + description: Is allowed to delete contacts + example: true + view_opportunities: + type: boolean + nullable: false + description: Is allowed to view opportunities + example: true + create_opportunities: + type: boolean + nullable: false + description: Is allowed to create opportunities + example: true + update_opportunities: + type: boolean + nullable: false + description: Is allowed to update opportunities + example: true + delete_opportunities: + type: boolean + nullable: false + description: Is allowed to delete opportunities + example: true + view_estimates: + type: boolean + nullable: false + description: Is allowed to view estimates + example: true + create_estimates: + type: boolean + nullable: false + description: Is allowed to create estimates + example: true + update_estimates: + type: boolean + nullable: false + description: Is allowed to update estimates + example: true + delete_estimates: + type: boolean + nullable: false + description: Is allowed to delete estimates + example: true + view_phone_calls: + type: boolean + nullable: false + description: Is allowed to view phone calls + example: true + create_phone_calls: + type: boolean + nullable: false + description: Is allowed to create phone calls + example: true + update_phone_calls: + type: boolean + nullable: false + description: Is allowed to update phone calls + example: true + delete_phone_calls: + type: boolean + nullable: false + description: Is allowed to delete phone calls + example: true + view_document_models: + type: boolean + nullable: false + description: Is allowed to view document models + example: true + create_document_models: + type: boolean + nullable: false + description: Is allowed to create document models + example: true + update_document_models: + type: boolean + nullable: false + description: Is allowed to update document models + example: true + delete_document_models: + type: boolean + nullable: false + description: Is allowed to delete document models + example: true + view_invoices: + type: boolean + nullable: false + description: Is allowed to view invoices + example: true + create_invoices: + type: boolean + nullable: false + description: Is allowed to create invoices + example: true + update_invoices: + type: boolean + nullable: false + description: Is allowed to update invoices + example: true + delete_invoices: + type: boolean + nullable: false + description: Is allowed to delete invoices + example: true + validate_invoices: + type: boolean + nullable: false + description: Is allowed to validate invoices + view_credit_notes: + type: boolean + nullable: false + description: Is allowed to view credit notes + example: true + create_credit_notes: + type: boolean + nullable: false + description: Is allowed to create credit notes + example: true + update_credit_notes: + type: boolean + nullable: false + description: Is allowed to update credit notes + example: true + delete_credit_notes: + type: boolean + nullable: false + description: Is allowed to delete credit notes + example: true + validate_credit_notes: + type: boolean + nullable: false + description: Is allowed to validate credit notes + example: true + view_orders: + type: boolean + nullable: false + description: Is allowed to view orders + example: true + create_orders: + type: boolean + nullable: false + description: Is allowed to create orders + example: true + update_orders: + type: boolean + nullable: false + description: Is allowed to update orders + example: true + delete_orders: + type: boolean + nullable: false + description: Is allowed to delete orders + example: true + view_deliveries: + type: boolean + nullable: false + description: Is allowed to view deliveries + example: true + view_proformas: + type: boolean + nullable: false + description: Is allowed to view proformas + example: true + view_purchase_invoices: + type: boolean + nullable: false + description: Is allowed to view purchase invoices + example: true + view_purchase_credit_notes: + type: boolean + nullable: false + description: Is allowed to view purchase credit notes + example: true + view_purchase_deliveries: + type: boolean + nullable: false + description: Is allowed to view purchase deliveries + example: true + view_purchase_orders: + type: boolean + nullable: false + description: Is allowed to view purchase orders + example: true + view_items: + type: boolean + nullable: false + description: Is allowed to view items + example: true + create_items: + type: boolean + nullable: false + description: Is allowed to create items + example: true + update_items: + type: boolean + nullable: false + description: Is allowed to update items + example: true + delete_items: + type: boolean + nullable: false + description: Is allowed to delete items + example: true + view_payments: + type: boolean + description: Is allowed to view payments + example: true + create_payments: + type: boolean + description: Is allowed to create payments + example: true + update_payments: + type: boolean + description: Is allowed to update payments + example: true + delete_payments: + type: boolean + description: Is allowed to delete payments + example: true + attach_payments: + type: boolean + description: >- + Is allowed to attach existing payments + to objects + example: true + view_subscriptions: + type: boolean + description: Is allowed to view subscriptions + example: true + create_subscriptions: + type: boolean + description: Is allowed to create subscriptions + example: true + update_subscriptions: + type: boolean + description: Is allowed to update subscriptions + example: true + delete_subscriptions: + type: boolean + description: Is allowed to delete subscriptions + example: true + view_cashflow: + type: boolean + nullable: false + description: Is allowed to view cashflow + example: true + create_cashflow: + type: boolean + nullable: false + description: Is allowed to create cashflow + example: true + view_files: + type: boolean + nullable: false + description: Is allowed to view files + example: true + attach_files: + type: boolean + nullable: false + description: Is allowed to attach files + example: true + delete_files: + type: boolean + nullable: false + description: Is allowed to delete files + example: true + view_tickets: + type: boolean + nullable: false + description: Is allowed to view support tickets + example: true + licenses: + nullable: true + description: Staff licenses + type: array + items: + type: object + properties: + id: + type: string + description: License identifier + example: 9998a80a-7b75-4616-96d5-7ccff7ac08e8 + code: + type: string + description: License code + example: pack_all_included + enabled: + type: boolean + description: License is enabled + preferences_calendar: + description: Staff preferences calendar + allOf: + - title: Staff preferences calendar + type: object + description: >- + Optional objects added through the embed + parameter + x-examples: {} + additionalProperties: false + properties: + provider: + readOnly: true + type: string + description: display calendar provider + enum: + - google + - outlook + - sellsy + example: google + - type: object + properties: + profile: + type: object + title: Profile + properties: + id: + type: integer + description: Profile id + example: 6657 + name: + type: string + description: Profile name + example: Collaborator + is_administrator: + type: boolean + description: >- + Indicates if this profile grants + administrator privileges + example: true + required: + - id + - name + - is_administrator + - type: object + properties: + account: + type: object + title: Account details + properties: + id: + type: integer + description: >- + Numerical identifier referencing the + account + example: 97417 + uuid: + type: string + description: Identifier referencing the account + example: 600b851b-e5c9-44f0-a66b-9b8391eff153 + name: + type: string + description: Account's name + example: Sellsy + country_code: + type: string + description: Account's country code + example: FR + minLength: 2 + maxLength: 2 + nullable: true + created: + type: string + format: date-time + description: Created at (format at RFC3339) + example: '2020-01-01T00:00:00+01:00' + required: + - uuid + - id + - name + - created + - type: object + properties: + user: + type: object + title: User details + properties: + uuid: + type: string + description: Identifier referencing the user + example: 600b851b-e5c9-44f0-a66b-9b8391eff153 + required: + - uuid + - type: object + properties: + subscriptions: + title: Staff subscriptions + type: object + description: >- + Optional objects added through the embed + parameter + x-examples: {} + additionalProperties: false + properties: + cashflow: + type: object + nullable: true + properties: + plan: + type: string + description: Cashflow plan + enum: + - TRIAL + - STARTER + - PRO + - BUSINESS + - EXTERNAL + example: TRIAL + trial_end_date: + nullable: true + type: string + format: date-time + description: Trial end date + example: '2022-04-20T23:59:59+02:00' + marketing: + type: object + nullable: true + properties: + plan: + type: string + description: Marketing plan + enum: + - TRIAL + - STARTER + - PRO + - BUSINESS + example: TRIAL + trial_end_date: + nullable: true + type: string + format: date-time + description: Trial end date + example: '2022-04-20T23:59:59+02:00' + service_start_date: + nullable: true + type: string + format: date-time + description: Service start date + example: '2023-09-04T00:00:00+02:00' + service_end_date: + nullable: true + type: string + format: date-time + description: Service end date + example: '2024-09-03T23:59:59+02:00' + options: + type: array + description: Marketing options + items: + type: object + properties: + name: + type: string + example: pack_marketing_dedicated_ip + quantity: + type: integer + example: 4 + metadata: + nullable: true + type: object + properties: + domains: + type: array + description: Marketing domains + items: + type: object + properties: + sender_domain: + type: string + example: example.com + sub_domain: + type: string + example: email + - type: object + properties: + intercom_hash: + title: Intercom hmac + type: object + properties: + web: + type: string + description: Web HMAC + example: >- + 64a4e500f2b08a855f1bc1cf202066c0d18adddf04d23583bf4b5db91778e067 + ios: + type: string + description: iOS HMAC + example: >- + 64a4e500f2b08a855f1bc1cf202066c0d18adddf04d23583bf4b5db91778e067 + android: + type: string + description: Android HMAC + example: >- + 64a4e500f2b08a855f1bc1cf202066c0d18adddf04d23583bf4b5db91778e067 + required: + - web + - ios + - android + - type: object + properties: + features: + title: Staff features + type: object + description: >- + Optional objects added through the embed + parameter + x-examples: {} + additionalProperties: false + properties: + collaborative_sharing_suite: + type: boolean + example: false + map_listing: + type: boolean + example: false + payment_deadlines: + type: boolean + example: false + price_exceptions: + type: boolean + example: false + product_variations: + type: boolean + example: false + promotion_management: + type: boolean + example: false + sepa_export: + type: boolean + example: false + - $ref: '#/components/schemas/StaffRestrictedView' + '404': + description: Staff not found. Depending on your subscription plan + operationId: get-staff + description: Get a staff + security: + - oauth2: + - staffs.read + parameters: + - $ref: '#/paths/~1opportunities~1%7Bid%7D/get/parameters/1' + - $ref: '#/components/parameters/staffItemEmbed' + put: + summary: Update Staff + tags: + - Staffs + operationId: update-staff + description: Update staff informations + responses: + '200': + description: >- + Staff updated, schema content depends on current user level of + visibility on staffs, a restricted version could be return + content: + application/json: + schema: + anyOf: + - title: Staff with embed + allOf: + - $ref: >- + #/components/schemas/Activity/properties/_embed/properties/author + - type: object + properties: + _embed: + nullable: true + allOf: + - $ref: >- + #/paths/~1staffs~1%7Bid%7D/get/responses/200/content/application~1json/schema/anyOf/0/allOf/1/properties/_embed/allOf/0 + - $ref: '#/components/schemas/StaffRestrictedView' + security: + - oauth2: + - staffs.write + parameters: + - $ref: '#/paths/~1opportunities~1%7Bid%7D/get/parameters/1' + - $ref: '#/components/parameters/staffEmbed' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StaffUpdateItem' + /staffs: + post: + tags: + - Staffs + summary: Create a staff + responses: + '201': + description: >- + Staff created, schema content depends on current user level of + visibility on staffs, a restricted version could be return + content: + application/json: + schema: + anyOf: + - $ref: >- + #/paths/~1staffs~1%7Bid%7D/put/responses/200/content/application~1json/schema/anyOf/0 + - $ref: '#/components/schemas/StaffRestrictedView' + operationId: create-staff + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StaffCreateItem' + security: + - oauth2: + - staffs.write + get: + summary: Get Staffs + tags: + - Staffs + responses: + '200': + description: >- + Schema content depends on current user level of visibility on + staffs, a restricted version could be return + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + anyOf: + - $ref: >- + #/paths/~1staffs~1%7Bid%7D/put/responses/200/content/application~1json/schema/anyOf/0 + - $ref: '#/components/schemas/StaffRestrictedView' + required: + - pagination + - data + operationId: get-staffs + description: > + Get a list of staffs.
The response may contain only your own staff, + depending on your subscription plan. + security: + - oauth2: + - staffs.read + parameters: + - $ref: '#/paths/~1opportunities~1%7Bid%7D/get/parameters/1' + - $ref: '#/components/parameters/staffEmbed' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/staffOrder' + /staffs/search: + post: + summary: Search Staffs + tags: + - Staffs + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/StaffFilters' + responses: + '200': + description: >- + Schema content depends on current user level of visibility on + staffs, a restricted version could be return + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + anyOf: + - $ref: >- + #/paths/~1staffs~1%7Bid%7D/put/responses/200/content/application~1json/schema/anyOf/0 + - $ref: '#/components/schemas/StaffRestrictedView' + required: + - pagination + - data + operationId: search-staffs + description: > + Search list of staffs.
The response may contain only your own + staff, depending on your subscription plan. + security: + - oauth2: + - staffs.read + parameters: + - $ref: '#/paths/~1opportunities~1%7Bid%7D/get/parameters/1' + - $ref: '#/components/parameters/staffEmbed' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/staffOrder' + /teams: + get: + summary: Team List + tags: + - Staffs + description: Get a list of team + operationId: get-teams + security: + - oauth2: + - staffs.read + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + responses: + '200': + description: Teams list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Team' + required: + - pagination + - data + /profiles: + get: + summary: Profiles list + tags: + - Staffs + description: Get profiles list + operationId: get-profiles + security: + - oauth2: + - staffs.read + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/profileOrder' + - $ref: '#/components/parameters/direction' + responses: + '200': + description: Profiles list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Profiles' + required: + - pagination + - data + /files/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: File identifier + delete: + summary: Delete file + operationId: delete-file + description: > + Delete a file
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Files + security: + - oauth2: + - files.write + responses: + '204': + description: File deleted + patch: + summary: Move a file to a new directory + operationId: move-file + description: > + Move a file to a new directory. The target specified could be as either + a folder or a direct entity, such as "company".
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ tags: + - Files + security: + - oauth2: + - files.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MoveFileInput' + responses: + '204': + description: File moved + '409': + description: Conflict + get: + summary: Get file + operationId: get-file + description: > + Get a file
This route is available in open beta.
Please note that its specifications are potentially subject to + significant and breaking changes in the coming weeks.
+ tags: + - Files + security: + - oauth2: + - files.read + responses: + '200': + description: File fetched + content: + application/json: + schema: + $ref: '#/components/schemas/FileOuput' + /search: + get: + summary: Search + tags: + - Listings + operationId: search + description: Search for objects + security: + - oauth2: + - search.read + parameters: + - $ref: '#/components/parameters/autocomplete' + - $ref: '#/components/parameters/searchType' + - in: query + name: limit + description: >- + The pagination limit. On a default search (without the `type` + parameter), the limit parameter is not used because the limit is + automatically calculated in relation to the relevance of the search + results. + schema: + type: integer + description: Pagination limit + default: 25 + maximum: 100 + minimum: 0 + responses: + '200': + description: Search result + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/SearchResult' + aggregations: + $ref: '#/components/schemas/SearchResultAggregations' + required: + - pagination + - data + - aggregations + /calendar-events: + post: + summary: Create a calendar event + operationId: create-calendar-event + tags: + - Calendar + security: + - oauth2: + - calendars.write + parameters: + - $ref: '#/paths/~1opportunities~1%7Bid%7D/get/parameters/1' + - $ref: '#/components/parameters/calendarEventEmbed' + responses: + '201': + description: Calendar event created + content: + application/json: + schema: + $ref: '#/components/schemas/CalendarEventItem' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CalendarEventCreateItem' + get: + summary: Calendar events List + tags: + - Calendar + description: Get a list of calendar event + operationId: get-calendar-events + parameters: + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/calendarEventEmbed' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Calendar events list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CalendarEventItem' + required: + - pagination + - data + security: + - oauth2: + - calendars.read + /calendar-events/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Calendar event id + get: + summary: Get calendar event + operationId: get-calendar-event + tags: + - Calendar + security: + - oauth2: + - calendars.read + parameters: + - $ref: '#/paths/~1opportunities~1%7Bid%7D/get/parameters/1' + - $ref: '#/components/parameters/calendarEventEmbed' + responses: + '200': + description: Calendar event fetched + content: + application/json: + schema: + $ref: '#/components/schemas/CalendarEventItem' + put: + summary: Update calendar event + operationId: update-calendar-event + tags: + - Calendar + security: + - oauth2: + - calendars.write + responses: + '200': + description: Calendar event updated + content: + application/json: + schema: + $ref: '#/components/schemas/CalendarEventItem' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CalendarEventUpdateItem' + delete: + summary: Delete calendar event + operationId: delete-calendar-event + tags: + - Calendar + security: + - oauth2: + - calendars.write + responses: + '204': + description: Calendar event deleted + /calendar-events/search: + post: + summary: Search calendar event + tags: + - Calendar + description: Search calendar events + operationId: search-calendar-events + parameters: + - $ref: '#/components/parameters/calendarEventOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/calendarEventEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CalendarEventFilters' + responses: + '200': + description: Calendar events list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CalendarEventItem' + required: + - pagination + - data + security: + - oauth2: + - calendars.read + /activities/search: + post: + summary: Search in activity + description: Search in activity + tags: + - Activities + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Activity' + required: + - pagination + - data + operationId: search-activities + security: + - oauth2: + - activities.read + parameters: + - $ref: '#/components/parameters/activityOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/activityEmbed' + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ActivityFilters' + - type: object + description: The activity filters + properties: + filters: + type: object + description: Activity filters + properties: + object_related: + type: object + description: Filter for get the activity related to an object + properties: + type: + type: string + enum: + - company + - individual + - opportunity + - contact + id: + type: integer + minimum: 1 + example: 1029 + /timeline/{type}/{id}/search: + parameters: + - in: path + name: id + description: Object identifier + schema: + type: string + required: true + - in: path + name: type + description: Object type + schema: + type: string + enum: + - individual + - company + - contact + - opportunity + required: true + post: + summary: Timeline search + description: Search in timeline activity of an object + tags: + - Activities + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Activity' + required: + - pagination + - data + operationId: search-timeline + security: + - oauth2: + - activities.read + parameters: + - $ref: '#/components/parameters/activityOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/activityEmbed' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ActivityFilters' + /phone-calls/{id}: + parameters: + - in: path + name: id + schema: + type: integer + required: true + description: Numerical identifier of phone call + get: + summary: Get a phoneCall + tags: + - PhoneCalls + description: Get a phoneCall + operationId: get-phone-call + parameters: + - $ref: '#/components/parameters/phoneCallEmbed' + - $ref: '#/paths/~1opportunities~1%7Bid%7D/get/parameters/1' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/PhoneCallItem' + security: + - oauth2: + - phonecalls.read + put: + summary: Update a phoneCall + tags: + - PhoneCalls + description: Update a phoneCall + operationId: update-phone-call + parameters: + - $ref: '#/components/parameters/phoneCallEmbed' + - $ref: '#/paths/~1opportunities~1%7Bid%7D/get/parameters/1' + responses: + '200': + description: PhoneCall updated + content: + application/json: + schema: + $ref: '#/components/schemas/PhoneCallItem' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PhoneCallUpdateItem' + security: + - oauth2: + - phonecalls.write + delete: + summary: Delete a phoneCall + tags: + - PhoneCalls + operationId: delete-phone-call + responses: + '204': + description: PhoneCall deleted + security: + - oauth2: + - phonecalls.write + /phone-calls: + get: + summary: PhoneCalls List + tags: + - PhoneCalls + description: Get a list of phoneCalls + operationId: get-phone-calls + parameters: + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/phoneCallEmbed' + responses: + '200': + description: Phonecalls list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/PhoneCallCollectionItem' + required: + - pagination + - data + security: + - oauth2: + - phonecalls.read + post: + tags: + - PhoneCalls + summary: Create a phone call + responses: + '201': + description: PhoneCall created + content: + application/json: + schema: + $ref: '#/components/schemas/PhoneCallItem' + operationId: create-phone-call + parameters: + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/phoneCallEmbed' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PhoneCallCreateItem' + security: + - oauth2: + - phonecalls.write + /phone-calls/search: + post: + summary: Search phoneCalls + tags: + - PhoneCalls + description: Search a list of phoneCalls + operationId: search-phone-calls + parameters: + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/phoneCallEmbed' + responses: + '200': + description: Phonecalls list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/PhoneCallCollectionItem' + required: + - pagination + - data + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PhoneCallFilter' + security: + - oauth2: + - phonecalls.read + /emails/{id}: + parameters: + - in: path + name: id + schema: + type: string + required: true + description: identifier of email + get: + summary: Get Email + tags: + - Emails + description: Get an Email + operationId: get-email + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/EmailItem' + '206': + description: Partial content if the email provider is unreachable + content: + application/json: + schema: + $ref: '#/components/schemas/EmailItem' + headers: + X-Mail-Provider-Error: + schema: + $ref: '#/components/schemas/PartialEmailHeader' + security: + - oauth2: + - emails.read + /emails/threads/{id}: + parameters: + - in: path + name: id + schema: + type: string + required: true + description: Identifier of email thread + get: + summary: Get Emails Thread + tags: + - Emails + description: Get the emails list of a thread + operationId: get-email-thread + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + id: + type: string + description: Identifier of email thread + emails: + type: array + items: + $ref: '#/components/schemas/EmailEngineItem' + security: + - oauth2: + - emails.read + /email/authenticate: + parameters: + - in: query + name: email + schema: + type: string + format: email + required: true + description: email whose domain should be authenticated + example: jonh.doe@email.com + get: + operationId: get-email-domain-dns-data + summary: Get email's domain DNS data + description: Get DNS data for the domain extracted from the email + tags: + - Emails + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/EmailAuthenticationItem' + security: + - oauth2: + - emails.settings + /email/domain/validate: + post: + operationId: validate-email-domain-dns + summary: Validate email's DNS + description: Validate an email DNS + tags: + - Emails + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/EmailValidationItem' + '400': + description: Bad Request + security: + - oauth2: + - emails.settings + requestBody: + content: + application/json: + schema: + type: object + description: Email domain validation's request body + properties: + domain: + type: string + description: The email DNS + example: domain.com + /webhooks: + get: + operationId: get-webhooks + summary: Get Webhooks + description: Get list of webhooks + tags: + - Webhooks + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Webhooks list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/WebhookReadItem' + required: + - pagination + - data + security: + - oauth2: + - webhooks.read + post: + operationId: create-webhook + summary: Create Webhook + description: Create a webhook + tags: + - Webhooks + parameters: + - $ref: '#/components/parameters/fields' + responses: + '201': + description: Webhook created + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookReadItem' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookCreateItem' + description: '' + security: + - oauth2: + - webhooks.write + /webhooks/search: + post: + operationId: search-webhooks + summary: Search Webhooks + description: Get list of webhooks + tags: + - Webhooks + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookFilters' + responses: + '200': + description: Webhooks list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/WebhookReadItem' + required: + - pagination + - data + security: + - oauth2: + - webhooks.read + /webhooks/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: ID of webhook + get: + operationId: get-webhook + summary: Get Webhook + description: Get a webhook + tags: + - Webhooks + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookReadItem' + security: + - oauth2: + - webhooks.read + put: + operationId: update-webhook + summary: Update Webhook + description: Update Webhook informations + tags: + - Webhooks + responses: + '200': + description: Webhook updated + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookReadItem' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookEditItem' + description: '' + security: + - oauth2: + - webhooks.write + delete: + operationId: delete-webhook + summary: Delete Webhook + description: Delete a webhook + tags: + - Webhooks + responses: + '204': + description: Webhook deleted + security: + - oauth2: + - webhooks.write + /webhooks/events: + get: + operationId: get-webhook-events + description: List all events' name available for a webhook + summary: List Webhook Events + tags: + - Webhooks + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookEventsList' + security: + - oauth2: + - webhooks.read + /units: + get: + operationId: get-units + description: Get all units of the corp + summary: Get Units + tags: + - Units + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Unit' + required: + - pagination + - data + security: + - oauth2: + - accounts.read + /currencies: + get: + operationId: get-currencies + description: Get all currencies of the corp + summary: Get currencies + tags: + - Currencies + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Currency' + required: + - pagination + - data + security: + - oauth2: + - accounts.read + /countries: + get: + operationId: get-countries + description: Get a list of countries + summary: Get countries list + tags: + - Countries + parameters: + - $ref: '#/components/parameters/language' + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + pagination: + title: pagination + type: object + description: The pagination + properties: + limit: + type: integer + example: 25 + minimum: 0 + total: + type: integer + example: 152 + minimum: 0 + count: + type: integer + example: 25 + minimum: 0 + offset: + anyOf: + - type: integer + minimum: 0 + example: 25 + - type: string + example: WzIwMTQtMDEtMDEsNTk4XQ== + required: + - limit + - total + - count + - offset + data: + type: array + items: + $ref: '#/components/schemas/Country' + required: + - pagination + - data + security: + - oauth2: + - accounts.read + /settings/subscription: + get: + summary: Get my Sellsy subscription informations + description: Retrieve the details of my Sellsy subscription + operationId: get-account-subscription + tags: + - Subscription + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Subscription' + security: + - oauth2: + - accounts.read + /items: + get: + summary: Items List + tags: + - Items + description: Get a list of items + operationId: get-items + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/itemOrder' + responses: + '200': + description: Items list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ItemReadItem' + required: + - pagination + - data + security: + - oauth2: + - items.read + post: + summary: Create an item + tags: + - Items + description: Create an item + operationId: create-item + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/ItemReadItem' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateItem' + security: + - oauth2: + - items.write + /items/search: + post: + summary: Search items + tags: + - Items + description: Search items + operationId: search-items + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/itemOrder' + requestBody: + content: + application/json: + schema: + title: Item filters + type: object + additionalProperties: false + required: + - filters + properties: + filters: + type: object + description: Item filters + properties: + type: + title: Item type + type: array + minItems: 1 + items: + type: string + enum: + - product + - service + - shipping + - packaging + description: Filter items list by item type + example: + - product + - service + favourite_filter: + $ref: >- + #/components/schemas/ContactFilters/properties/filters/properties/favourite_filter + responses: + '200': + description: Items list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ItemReadItem' + required: + - pagination + - data + security: + - oauth2: + - items.read + /items/favourite-filters: + get: + summary: List items favourite filters + tags: + - Items + description: > + List favourite filters for faster access to specific items
> + Favourite filters can be applied directly to item search endpoints
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-item-favourite-filters + parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + security: + - oauth2: + - items.read + /items/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: ID of item + get: + operationId: get-item + summary: Get an item + description: Get an item + tags: + - Items + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ItemReadItem' + security: + - oauth2: + - items.read + put: + operationId: update-item + summary: Update an item + description: Update an item + tags: + - Items + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ItemReadItem' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateItem' + security: + - oauth2: + - items.write + delete: + operationId: delete-item + description: Delete an item + summary: Delete item + tags: + - Items + responses: + '204': + description: Item deleted + security: + - oauth2: + - items.write + /items/{id}/prices: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: ID of item + get: + operationId: get-item-prices + summary: Get item prices + description: Get prices list for an item + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + tags: + - Items + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ItemPrice' + required: + - pagination + - data + security: + - oauth2: + - items.read + put: + operationId: put-item-prices + summary: Update item prices + description: Update prices list for an item + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + tags: + - Items + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ItemInputPrice' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ItemPrice' + required: + - pagination + - data + security: + - oauth2: + - items.write + /items/{id}/declinations: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: ID of item + get: + summary: Declinations List + tags: + - Items + - Declinations + description: Get the declination's list + operationId: get-item-declinations + requestBody: + content: + application/json: + schema: + title: Declinations filters + type: object + additionalProperties: false + properties: + filters: + type: object + description: Declinations filters + properties: + id: + title: Declination id + type: integer + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DeclinationRead' + security: + - oauth2: + - items.read + /staffs/{id}/licenses: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: ID of staff + put: + operationId: put-staff-licenses + summary: Put staff licenses + description: >- + Put staff licenses. Need to pass all existing licenses if you want to + keep licenses. + tags: + - Staffs + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/LicenseRead' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LicenseEdit' + security: + - oauth2: + - accounts.write + delete: + operationId: delete-staff-licenses + summary: Delete licenses + description: Delete staff licenses + tags: + - Staffs + responses: + '204': + description: licenses deleted + security: + - oauth2: + - accounts.write + /quotas: + get: + operationId: get-quotas + description: Get quotas of the corp + summary: Get Quotas + tags: + - Quotas + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Quotas' + security: + - oauth2: + - accounts.read + /batch: + post: + summary: Batch request + tags: + - Batch + description: Create a batch request + operationId: create-batch + requestBody: + content: + text/plain: + schema: + type: string + examples: + example1: + summary: PUT example + value: | + {"uri": "/comments/83", "method": "PUT"} + {"description": "description updated !"} + {"uri": "/comments/84", "method": "PUT"} + {"description": "description updated !"} + example2: + summary: GET example + value: | + {"uri": "/comments", "method": "GET", "query": {"limit": 2}} + {} + {"uri": "/companies", "method": "GET", "query": {"limit": 3}} + {} + example3: + summary: UUID usage + value: > + {"uri": "/companies", "method": "POST", "uuid": + "6e9dbe21-2967-4762-a035-f2d2effbc433"} + + {"type": "client", "name": "Company Name"} + + {"uri": + "/companies/6e9dbe21-2967-4762-a035-f2d2effbc433/addresses", + "method": "POST", "uuid": + "2ca47a9d-b41b-4f3f-b8c4-fafc54380a66"} + + {"name": "Main office", "address_line_1": "57 rue lucile", + "postal_code":"75012", "city": "Paris", "country": "France", + "country_code": "FR"} + + {"uri": + "/companies/6e9dbe21-2967-4762-a035-f2d2effbc433/addresses/2ca47a9d-b41b-4f3f-b8c4-fafc54380a66", + "method": "PUT"} + + {"name": "Main office updated"} + responses: + '207': + description: Batch response + content: + application/json: + schema: + type: object + example: + error: false + responses: + - code: 200 + response: + data: + - id: 83 + owner: + id: 21 + type: staff + related: [] + created: '2021-04-13T15:11:51+02:00' + updated: '2021-04-13T15:11:51+02:00' + description: Lorem ipsum dolor sit amet + parent_id: null + company_id: null + individual_id: null + contact_id: null + - id: 85 + owner: + id: 21 + type: staff + related: [] + created: '2021-04-13T15:39:34+02:00' + updated: '2021-04-13T15:39:34+02:00' + description: Lorem ipsum dolor sit amet + parent_id: null + company_id: null + individual_id: null + contact_id: null + pagination: + limit: 2 + count: 2 + total: 45 + offset: WyI4NSJd + - code: 200 + response: + id: 83 + owner: + id: 21 + type: staff + related: [] + created: '2021-04-13T15:11:51+02:00' + updated: '2021-04-13T15:11:51+02:00' + description: description updated ! + parent_id: null + company_id: null + individual_id: null + contact_id: null + security: + - oauth2: [] + /notifications: + get: + operationId: get-notifications + description: Get notifications related to current user + summary: Get User Notifications + tags: + - Notifications + responses: + '200': + description: Notifications list fetched + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Notification' + pagination: + $ref: '#/components/schemas/Pagination' + required: + - data + - pagination + security: + - oauth2: + - notifications.read + /notifications/search: + post: + operationId: search-notifications + description: Search notifications related to current user + summary: Search User Notifications + tags: + - Notifications + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationFilters' + responses: + '200': + description: Notifications list fetched + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/Notification' + pagination: + $ref: '#/components/schemas/Pagination' + required: + - data + - pagination + security: + - oauth2: + - notifications.read + /notifications/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: ID of notification + delete: + operationId: delete-notification + description: Delete a notification + summary: Delete notification + tags: + - Notifications + responses: + '204': + description: notification deleted + security: + - oauth2: + - notifications.write + /notifications/{id}/mark-as-read: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: ID of notification + patch: + operationId: mark-notification-as-read + description: Mark a notification as read or unread + summary: Mark notification as read + tags: + - Notifications + responses: + '204': + description: notification read status updated + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationMarkAsRead' + security: + - oauth2: + - notifications.write + /notifications/mark-all-as-read: + patch: + operationId: mark-all-notifications-as-read + description: Mark all unread notifications as read + summary: Mark all unread notifications as read + tags: + - Notifications + responses: + '204': + description: notifications read status updated + security: + - oauth2: + - notifications.write + /notifications/settings: + get: + summary: Get Notifications settings + tags: + - Notifications + description: Get notifications settings + operationId: get-notifications-settings + responses: + '200': + description: Notification settings response + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationSettingsOutput' + security: + - oauth2: + - notifications.read + put: + summary: Update Notifications settings + tags: + - Notifications + description: Update notifications settings + operationId: put-notifications-settings + responses: + '200': + description: Notification settings updated response + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationSettingsOutput' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NotificationSettingsInput' + security: + - oauth2: + - notifications.write + /invoices/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Invoice ID + - $ref: '#/components/parameters/invoiceOneEmbed' + get: + operationId: get-invoice + summary: Get invoice + description: >- + Get an invoice by ID
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Invoices + responses: + '200': + description: Invoice fetched + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceOne' + security: + - oauth2: + - invoices.read + put: + operationId: update-invoice + summary: Update invoice + description: >- + Update an invoice
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Invoices + security: + - oauth2: + - invoices.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceUpdate' + examples: {} + responses: + '200': + description: Invoice updated + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceOne' + /invoices: + get: + summary: Invoices List + tags: + - Invoices + description: >- + Get a list of invoices
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: get-invoices + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/invoiceEmbed' + - $ref: '#/components/parameters/invoiceOrder' + responses: + '200': + description: Invoices list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Invoice' + required: + - pagination + - data + security: + - oauth2: + - invoices.read + post: + tags: + - Invoices + summary: Create invoice + operationId: create-invoice + description: >- + Create an invoice
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ responses: + '201': + description: Invoice created + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceOne' + security: + - oauth2: + - invoices.write + parameters: + - $ref: '#/components/parameters/invoiceOneEmbed' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceCreate' + examples: {} + description: '' + /invoices/search: + post: + summary: Search invoices + tags: + - Invoices + description: >- + Search invoices
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: search-invoices + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/invoiceEmbed' + - $ref: '#/components/parameters/invoiceOrder' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceFilters' + responses: + '200': + description: Invoices list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Invoice' + required: + - pagination + - data + security: + - oauth2: + - invoices.read + /invoices/favourite-filters: + get: + summary: List invoices favourite filters + tags: + - Invoices + description: > + List favourite filters for faster access to specific invoices
> + Favourite filters can be applied directly to invoice search endpoints +
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-invoice-favourite-filters + parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + security: + - oauth2: + - invoices.read + /invoices/compute: + post: + tags: + - Invoices + summary: Compute an invoice + operationId: compute-invoice + responses: + '200': + description: Invoice computed successfully + headers: {} + content: + application/json: + schema: + type: object + $ref: '#/components/schemas/InvoiceCompute' + description: > + Compute an invoice
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ security: + - oauth2: + - invoices.read + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceCreate' + examples: {} + description: '' + /invoices/{id}/smart-tags: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Invoice ID + get: + summary: Invoice smart-tags list + description: Get list of smart-tags for an invoice + tags: + - Invoices + operationId: get-invoice-smart-tags + responses: + '200': + description: Smart-tags list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + security: + - oauth2: + - invoices.read + - smart-tags.read + post: + summary: Link smart tags to invoice + description: Link a list of smart-tags to an invoice + tags: + - Invoices + operationId: link-invoice-smart-tags + responses: + '200': + description: Smart-tags list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/post/requestBody/content/application~1json/schema + security: + - oauth2: + - invoices.write + - smart-tags.write + /invoices/{id}/validate: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Invoice ID + post: + operationId: validate-invoice + summary: Validate Invoice + description: > + Validate an invoice, which is in draft status, into due status. + After validation, the invoice can no longer be + edited.
You could provide a date if you want to change the + invoice date.
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.

+ tags: + - Invoices + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ValidateInvoice' + responses: + '200': + description: Invoice validated + content: + application/json: + schema: + $ref: '#/components/schemas/InvoiceOne' + security: + - oauth2: + - invoices.write + /invoices/{id}/credit-notes: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Invoice id + get: + summary: Get credit notes linked to invoice + description: > + Get list of credit notes linked to an invoice
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.

+ tags: + - Invoices + operationId: get-invoice-credit-notes + responses: + '200': + description: List of credit notes linked to invoice + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CreditNote' + required: + - pagination + - data + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - credit-notes.read + - invoices.read + /invoices/{invoiceId}/credit-notes/{creditNoteId}: + parameters: + - schema: + type: integer + name: invoiceId + in: path + required: true + description: Invoice identifier + - schema: + type: integer + name: creditNoteId + in: path + required: true + description: Credit note identifier + post: + summary: Link a credit note to an invoice + description: > + Link a credit note to an invoice for a specific amount
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ tags: + - Invoices + operationId: link-credit-note-to-invoice + requestBody: + content: + application/json: + schema: + title: Metada related to the link between documents + description: Metada related to the link between documents + additionalProperties: false + type: object + properties: + amount: + type: string + description: Amount to be balanced on the document + example: '12.66' + required: + - amount + responses: + '200': + description: Credit note linked to invoice + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNote' + security: + - oauth2: + - credit-notes.read + - invoices.read + delete: + summary: Unlink a credit note from an invoice + description: > + Unlink a credit note from an invoice
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Invoices + operationId: unlink-invoices-credit-note + responses: + '204': + description: Document unlinked + security: + - oauth2: + - credit-notes.write + - invoices.write + /invoices/{id}/payments: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Invoice ID + get: + summary: Invoice payments list + description: >- + Get list of payments for an invoice
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Invoices + operationId: get-invoice-payments + responses: + '200': + description: Payments list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/InvoicingPayment' + security: + - oauth2: + - invoices.read + - payments.read + /invoices/{documentId}/payments/{paymentId}: + parameters: + - name: documentId + in: path + required: true + schema: + type: integer + description: Invoice identifier + - name: paymentId + in: path + required: true + schema: + type: integer + description: Payment identifier + post: + summary: Link payment to invoice + description: > + Link a payment to an invoice
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Invoices + operationId: link-invoice-payment + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LinkPaymentToDocument' + responses: + '201': + description: Payments list attached to the invoice + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/InvoicingPayment' + security: + - oauth2: + - invoices.write + - payments.write + delete: + summary: Unlink payment from invoice + description: > + Unlink a payment from an invoice
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Invoices + operationId: unlink-invoice-payment + responses: + '204': + description: Payment unlinked + security: + - oauth2: + - invoices.write + - payments.write + /invoices/{documentId}/files: + parameters: + - name: documentId + in: path + description: Document id + schema: + type: integer + required: true + post: + summary: Attach file to an invoice + description: >- + Attach file to an invoice
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: upload-invoice-file + tags: + - Invoices + responses: + '201': + description: File uploaded + content: + application/json: + schema: + $ref: '#/components/schemas/FileOuput' + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + security: + - oauth2: + - invoices.read + - files.write + get: + summary: List directories and files of an invoice + description: >- + List directories and files attached to an invoice
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-invoice-files + tags: + - Invoices + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + security: + - oauth2: + - invoices.read + - files.read + /invoices/{id}/custom-fields: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Invoice id + get: + summary: Invoice custom fields List + description: Get list of custom fields for an invoice + tags: + - Invoices + operationId: get-invoice-custom-fields + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - invoices.read + - custom-fields.read + put: + summary: Update Invoice custom fields + description: Update list of custom fields for an invoice + tags: + - Invoices + parameters: + - $ref: '#/components/parameters/verify' + operationId: update-invoice-custom-fields + responses: + '200': + description: Invoice's custom fields updated + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/put/requestBody/content/application~1json/schema + security: + - oauth2: + - invoices.write + - custom-fields.write + /invoices/{invoiceId}/primes/{primeId}: + parameters: + - schema: + type: integer + name: invoiceId + in: path + required: true + description: Invoice identifier + - schema: + type: integer + name: primeId + in: path + required: true + description: Prime identifier + post: + deprecated: true + operationId: link-invoice-prime + summary: Link prime to invoice + description: > + Link a prime to an invoice
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Invoices + security: + - oauth2: + - primes.read + - invoices.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesDocumentInput' + responses: + '201': + description: Prime linked + '403': + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + delete: + deprecated: true + summary: Unlink a prime from an invoice + description: > + Unlink a prime from an invoice
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Invoices + operationId: unlink-invoice-prime + responses: + '204': + description: Prime unlinked + '403': + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + '404': + description: Requested prime was not applied on the document + security: + - oauth2: + - primes.read + - invoices.write + /invoices/{invoiceId}/discount-incl-taxes/{discountId}: + parameters: + - schema: + type: integer + name: invoiceId + in: path + required: true + description: Invoice identifier + - schema: + type: integer + name: discountId + in: path + required: true + description: Discount including taxes identifier + post: + operationId: link-invoice-discount-incl-taxes + summary: Link discount including taxes to invoice + description: > + Link a discount including taxes to an invoice
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Invoices + security: + - oauth2: + - discount-incl-taxes.read + - invoices.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesDocumentInput' + responses: + '201': + description: Discount linked + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + delete: + summary: Unlink a discount including taxes from an invoice + description: > + Unlink a discount including from an invoice
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Invoices + operationId: unlink-invoice-discount-incl-taxes + responses: + '204': + description: Discount unlinked + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + '404': + description: Requested discount was not applied on the document + security: + - oauth2: + - discount-incl-taxes.read + - invoices.write + /credit-notes/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Credit Note ID + - $ref: '#/components/parameters/creditNoteOneEmbed' + get: + operationId: get-credit-note + summary: Get credit note + description: >- + Get a credit note by ID
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Credit Notes + responses: + '200': + description: Credit note fetched + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNoteOne' + security: + - oauth2: + - credit-notes.read + put: + operationId: update-credit-note + summary: Update credit note + description: > + Update a credit note
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Credit Notes + security: + - oauth2: + - credit-notes.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNoteUpdate' + examples: {} + responses: + '200': + description: Credit note updated + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNoteOne' + /credit-notes: + get: + summary: Credit notes List + tags: + - Credit Notes + description: >- + Get a list of credit notes
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: get-credit-notes + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/creditNoteEmbed' + - $ref: '#/components/parameters/creditNoteOrder' + responses: + '200': + description: Credit notes list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CreditNote' + required: + - pagination + - data + security: + - oauth2: + - credit-notes.read + post: + tags: + - Credit Notes + summary: Create credit note + operationId: create-credit-note + description: > + Create a credit note
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ parameters: + - $ref: '#/components/parameters/creditNoteOneEmbed' + - $ref: '#/components/parameters/fields' + responses: + '201': + description: Credit note created + headers: {} + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNoteOne' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNoteCreate' + examples: {} + description: '' + security: + - oauth2: + - credit-notes.write + /credit-notes/search: + post: + summary: Search credit notes + tags: + - Credit Notes + description: >- + Search credit notes
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: search-credit-notes + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/creditNoteEmbed' + - $ref: '#/components/parameters/creditNoteOrder' + requestBody: + content: + application/json: + schema: + type: object + description: Credit notes filters + $ref: '#/components/schemas/CreditNoteFilters' + responses: + '200': + description: Credit notes list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/CreditNote' + required: + - pagination + - data + security: + - oauth2: + - credit-notes.read + /credit-notes/favourite-filters: + get: + summary: List credit-notes favourite filters + tags: + - Credit Notes + description: > + List favourite filters for faster access to specific credit-notes
> Favourite filters can be applied directly to credit-note search + endpoints
This route is available in open beta.
Please note that its specifications are potentially subject to + significant and breaking changes in the coming weeks.
+ operationId: get-credit-note-favourite-filters + parameters: + - $ref: '#/components/parameters/favouriteFiltersOrder' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: List favourite filters + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: '#/components/schemas/FavouriteFilters' + security: + - oauth2: + - credit-notes.read + /credit-notes/compute: + post: + tags: + - Credit Notes + summary: Compute a credit note + operationId: compute-credit-note + responses: + '200': + description: Credit note computed successfully + headers: {} + content: + application/json: + schema: + type: object + $ref: '#/components/schemas/CreditNoteCompute' + description: > + Compute a credit note
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ security: + - oauth2: + - credit-notes.read + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNoteCreate' + examples: {} + description: '' + /credit-notes/{id}/smart-tags: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Credit note ID + get: + summary: Credit note smart-tags list + description: Get list of smart-tags for a credit note + tags: + - Credit Notes + operationId: get-credit-note-smart-tags + responses: + '200': + description: Smart-tags list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + security: + - oauth2: + - credit-notes.read + - smart-tags.read + post: + summary: Link smart tags to credit note + description: Link a list of smart-tags to a credit note + tags: + - Credit Notes + operationId: link-credit-note-smart-tags + responses: + '200': + description: Smart-tags list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/get/responses/200/content/application~1json/schema/properties/data + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7BcompanyId%7D~1smart-tags/post/requestBody/content/application~1json/schema + security: + - oauth2: + - credit-notes.write + - smart-tags.write + /credit-notes/{id}/validate: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Credit note ID + post: + operationId: validate-credit-note + summary: Validate credit note + description: > + Validate a credit note in status draft. Update the status to due. You + could provide a date if you want to change the credit note date.
+ Credit note can not be updated after validation.
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ tags: + - Credit Notes + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNoteValidate' + responses: + '200': + description: Credit note validated + content: + application/json: + schema: + $ref: '#/components/schemas/CreditNoteOne' + security: + - oauth2: + - credit-notes.write + /credit-notes/{id}/custom-fields: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Credit note id + get: + summary: Credit note custom fields List + description: Get list of custom fields for a credit note + tags: + - Credit Notes + operationId: get-credit-note-custom-fields + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + parameters: + - $ref: '#/paths/~1companies~1%7Bid%7D~1custom-fields/get/parameters/0' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - credit-notes.read + - custom-fields.read + put: + summary: Update credit note custom fields + description: Update list of custom fields for a credit note + tags: + - Credit Notes + parameters: + - $ref: '#/components/parameters/verify' + operationId: update-credit-note-custom-fields + responses: + '200': + description: Credit note's custom fields updated + '204': + $ref: '#/components/schemas/Verify' + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/put/requestBody/content/application~1json/schema + security: + - oauth2: + - credit-notes.write + - custom-fields.write + /credit-notes/{id}/invoices: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Credit note id + get: + summary: Get invoices linked to credit note + description: > + Get list of invoices linked to a credit note
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Credit Notes + operationId: get-credit-note-invoices + responses: + '200': + description: List of invoices linked to credit note + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Invoice' + required: + - pagination + - data + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - credit-notes.read + - invoices.read + /credit-notes/{creditNoteId}/invoices/{invoiceId}: + parameters: + - schema: + type: integer + in: path + name: creditNoteId + required: true + description: Credit note identifier + - schema: + type: integer + in: path + name: invoiceId + required: true + description: Invoice identifier + post: + summary: Link an invoice to a credit note + description: > + Link an invoice to a credit note for a specific amount
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ tags: + - Credit Notes + operationId: link-invoice-to-credit-note + requestBody: + content: + application/json: + schema: + $ref: >- + #/paths/~1invoices~1%7BinvoiceId%7D~1credit-notes~1%7BcreditNoteId%7D/post/requestBody/content/application~1json/schema + responses: + '200': + description: Invoice linked to credit note + content: + application/json: + schema: + $ref: '#/components/schemas/Invoice' + security: + - oauth2: + - credit-notes.read + - invoices.read + delete: + summary: Unlink an invoice from a credit note + description: > + Unlink an invoice from a credit note
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Credit Notes + operationId: unlink-credit-note-invoices + responses: + '204': + description: Document unlinked + security: + - oauth2: + - credit-notes.write + - invoices.write + /credit-notes/{id}/payments: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Credit note ID + get: + summary: Credit note payments list + description: >- + Get list of payments for an credit note
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Credit Notes + operationId: get-credit-note-payments + responses: + '200': + description: Payments list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/InvoicingPayment' + security: + - oauth2: + - credit-notes.read + - payments.read + /credit-notes/{documentId}/payments/{paymentId}: + parameters: + - name: documentId + in: path + required: true + schema: + type: integer + description: Credit note identifier + - name: paymentId + in: path + required: true + schema: + type: integer + description: Payment identifier + post: + summary: Link payment to credit note + description: > + Link a payment to a credit note
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Credit Notes + operationId: link-credit-note-payment + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LinkPaymentToDocument' + responses: + '201': + description: Payments list attached to the credit note + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/InvoicingPayment' + security: + - oauth2: + - credit-notes.write + - payments.write + delete: + summary: Unlink payment from credit note + description: > + Unlink a payment from a credit note
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Credit Notes + operationId: unlink-credit-note-payment + responses: + '204': + description: Payment unlinked + security: + - oauth2: + - credit-notes.write + - payments.write + /credit-notes/{documentId}/files: + parameters: + - name: documentId + in: path + description: Document id + schema: + type: integer + required: true + post: + summary: Attach file to an credit note + description: >- + Attach file to an credit note
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: upload-credit-note-file + tags: + - Credit Notes + responses: + '201': + description: File uploaded + content: + application/json: + schema: + $ref: '#/components/schemas/FileOuput' + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + security: + - oauth2: + - credit-notes.read + - files.write + get: + summary: List directories and files of a credit note + description: >- + List directories and files attached to an credit note
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-credit-note-files + tags: + - Credit Notes + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + security: + - oauth2: + - credit-notes.read + - files.read + /credit-notes/{creditNoteId}/primes/{primeId}: + parameters: + - schema: + type: integer + name: creditNoteId + in: path + required: true + description: Credit note identifier + - schema: + type: integer + name: primeId + in: path + required: true + description: Prime identifier + post: + deprecated: true + operationId: link-credit-note-prime + summary: Link prime to credit note + description: > + Link a prime to a credit note
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Credit Notes + security: + - oauth2: + - primes.read + - credit-notes.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesDocumentInput' + responses: + '201': + description: Prime linked + '403': + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + delete: + deprecated: true + summary: Unlink a prime from a credit note + description: > + Unlink a prime from a credit note
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Credit Notes + operationId: unlink-credit-note-prime + responses: + '204': + description: Prime unlinked + '403': + description: >- + Either primes on documents are not activated on your account or you + don't have the required privileges + '404': + description: Requested prime was not applied on the document + security: + - oauth2: + - primes.read + - credit-notes.write + /credit-notes/{creditNoteId}/discount-incl-taxes/{discountId}: + parameters: + - schema: + type: integer + name: creditNoteId + in: path + required: true + description: Credit note identifier + - schema: + type: integer + name: discountId + in: path + required: true + description: Discount including taxes identifier + post: + operationId: link-credit-note-discount-incl-taxes + summary: Link discount including taxes to credit note + description: > + Link a discount including taxes to a credit note
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ tags: + - Credit Notes + security: + - oauth2: + - discount-incl-taxes.read + - credit-notes.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesDocumentInput' + responses: + '201': + description: Discount linked + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + delete: + summary: Unlink a discount including taxes from a credit note + description: > + Unlink a discount including taxes from a credit note
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ tags: + - Credit Notes + operationId: unlink-credit-note-discount-incl-taxes + responses: + '204': + description: Discount unlinked + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + '404': + description: Requested discount was not applied on the document + security: + - oauth2: + - discount-incl-taxes.read + - credit-notes.write + /payments/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Payment identifier + - in: query + name: embed + description: Optional objects added through the embed parameter + schema: + type: array + items: + type: string + enum: + - acl + - company + - individual + get: + summary: Get a payment + description: > + Get a payment
This route is available + in open beta.
Please note that its specifications may be + subject to significant and breaking changes in the coming weeks.
+ tags: + - Payments + operationId: get-payment + responses: + '200': + description: Payment fetched + content: + application/json: + schema: + $ref: '#/components/schemas/Payment' + security: + - oauth2: + - payments.read + delete: + summary: Delete payment + description: > + Delete a payment that is not linked to a document
This route is available in open beta.
Please note + that its specifications may be subject to significant and breaking + changes in the coming weeks.
+ tags: + - Payments + operationId: delete-payment + responses: + '204': + description: Payment deleted + security: + - oauth2: + - payments.write + /payments: + get: + summary: Get payments + description: > + Get a list of payments
This route is available + in open beta.
Please note that its specifications may be + subject to significant and breaking changes in the coming weeks.
+ tags: + - Payments + operationId: get-payments + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/paths/~1payments~1%7Bid%7D/parameters/1' + - in: query + name: order + description: The order field + schema: + type: string + example: paid_date + enum: + - id + - paid_date + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Payment' + required: + - pagination + - data + security: + - oauth2: + - payments.read + /payments/search: + post: + summary: Search payments + description: > + Search through payments
This route is available + in open beta.
Please note that its specifications may be + subject to significant and breaking changes in the coming weeks.
+ tags: + - Payments + operationId: search-payments + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/paths/~1payments~1%7Bid%7D/parameters/1' + - $ref: '#/paths/~1payments/get/parameters/5' + requestBody: + content: + application/json: + schema: + title: Payments filters + type: object + description: Payments filters + properties: + filters: + type: object + description: Payments filters + properties: + status: + title: Status + description: Filter payments by status + example: + - pending + - confirmed + type: array + items: + type: string + enum: + - pending + - confirmed + - rejected + - failed + - refund + related_objects: + title: Related Objects + type: array + items: + type: object + properties: + type: + type: string + enum: + - company + - individual + example: company + id: + type: integer + example: 22 + required: + - filters + responses: + '200': + description: Payments list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Payment' + required: + - pagination + - data + security: + - oauth2: + - payments.read + /settings/email: + get: + summary: Get email settings + tags: + - Emails + description: Get email settings + operationId: get-email-settings + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/EmailSettings' + security: + - oauth2: + - emails.settings + put: + summary: Update email settings + tags: + - Emails + description: Update email settings + operationId: put-email-settings + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/EmailSettings' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/EmailSettingsInput' + security: + - oauth2: + - emails.settings + /settings/email/tags: + get: + summary: Get available tags for email signature settings + tags: + - Emails + description: Get available tags for email signature settings + operationId: get-email-signature-tags + responses: + '200': + description: '' + content: + application/json: + schema: + title: List of email tags + description: >- + List of available email tags to insert in email signature + content + type: array + items: + type: object + properties: + key: + type: string + description: Tag identifier to insert in your email signature + example: '%{account.name}%' + description: + type: string + description: Tag's meaning + example: Current account's name + security: + - oauth2: + - emails.settings + /fiscal-years: + get: + summary: Get fiscal years + tags: + - Fiscal Year + description: Get list of fiscal years of account + operationId: get-fiscal-years + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/FiscalYear' + required: + - pagination + - data + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - accounts.read + /languages: + get: + summary: Get the account languages + tags: + - Language + description: Get the account languages + operationId: get-languages + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/LanguageCollection' + security: + - oauth2: + - accounts.read + /directories: + post: + summary: Create directory + description: >- + Create a new directory and attach it to the provided parent entity
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: create-directory + tags: + - Files + responses: + '201': + description: Directory created + content: + application/json: + schema: + title: Directory schema + type: object + description: Directory schema + properties: + id: + type: integer + description: Directory ID + readOnly: true + example: 1 + type: + type: string + description: Directory type + enum: + - directory + name: + type: string + description: Directory name + example: business-cards + minLength: 1 + maxLength: 30 + description: + type: string + nullable: true + description: Directory description + maxLength: 160 + created: + type: string + description: Creation date of directory + format: date-time + example: '1970-01-01T00:00:00+00:00' + breadcrumbs: + description: >- + Current directory location. The first element is the + direct parent of the directory + type: array + minItems: 1 + items: + $ref: >- + #/components/schemas/FileOuput/properties/breadcrumbs/items + '404': + description: Parent not found + '409': + description: Directory already exists + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateDirectory' + security: + - oauth2: + - files.write + /directories/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Id of directory + get: + summary: Get directory + description: > + Fetch directory informations
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Files + parameters: + - $ref: '#/components/parameters/fields' + responses: + '200': + description: Directory fetched + content: + application/json: + schema: + $ref: >- + #/paths/~1directories/post/responses/201/content/application~1json/schema + operationId: get-directory + security: + - oauth2: + - files.read + put: + summary: Update directory + description: >- + Update a directory
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: update-directory + tags: + - Files + responses: + '200': + description: Directory updated + content: + application/json: + schema: + $ref: >- + #/paths/~1directories/post/responses/201/content/application~1json/schema + '403': + description: Cannot modify this directory + '409': + description: Directory already exists + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateDirectory' + security: + - oauth2: + - files.write + delete: + summary: Delete the directory and all items attached + description: > + Delete the directory and all items attached
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: delete-directory + tags: + - Files + responses: + '204': + description: Directory deleted + '403': + description: Cannot delete this directory + security: + - oauth2: + - files.write + /directories/{id}/files: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Id of directory + get: + summary: List directories and files in a directory + description: >- + List directories and files belonging to a directory
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-directory-files + tags: + - Files + responses: + '200': + description: List fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/ListFilesOutput' + required: + - pagination + - data + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + security: + - oauth2: + - files.read + post: + summary: Attach file to a directory + description: >- + Attach file to a directory
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: upload-directory-file + tags: + - Files + responses: + '201': + description: File uploaded + requestBody: + content: + multipart/form-data: + schema: + $ref: '#/components/schemas/UploadFileInput' + security: + - oauth2: + - files.write + /subscriptions: + post: + tags: + - Subscriptions + summary: Create a subscription + operationId: create-subscription + responses: + '201': + description: Subscription created + headers: {} + content: + application/json: + schema: + type: object + $ref: '#/components/schemas/SubscriptionOne' + description: > + Create a subscription
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ security: + - oauth2: + - subscriptions.write + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionCreate' + description: '' + get: + tags: + - Subscriptions + summary: Fetch list of subscriptions + description: > + Fetch list of subscriptions
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: get-subscriptions + responses: + '200': + description: Fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/SubscriptionOne' + required: + - pagination + - data + security: + - oauth2: + - subscriptions.read + /subscriptions/search: + post: + tags: + - Subscriptions + summary: Search subscriptions + description: > + Search subscriptions
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: search-subscriptions + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/order' + requestBody: + content: + application/json: + schema: + type: object + properties: + filters: + title: Subscription filters + type: object + description: Subscription filters + properties: + related_objects: + type: array + items: + title: Related + description: Objects linked to the subscription + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + required: + - id + - type + required: + - filters + responses: + '200': + description: Fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/SubscriptionOne' + required: + - pagination + - data + security: + - oauth2: + - subscriptions.read + /subscriptions/{id}: + parameters: + - name: id + in: path + schema: + type: integer + required: true + description: Subscription identifier + delete: + summary: Delete a subscription + operationId: delete-subscription + description: > + Delete a subscription and all future payment installments
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ tags: + - Subscriptions + security: + - oauth2: + - subscriptions.write + responses: + '204': + description: Subscription deleted + get: + tags: + - Subscriptions + summary: Get subscription + description: > + Get a subscription
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: get-subscription + responses: + '200': + description: Fetched + content: + application/json: + schema: + $ref: '#/components/schemas/SubscriptionOne' + security: + - oauth2: + - subscriptions.read + /subscriptions/{id}/payment-installments: + parameters: + - name: id + in: path + schema: + type: integer + required: true + description: Subscription identifier + patch: + tags: + - Subscriptions + summary: Add payment installment for a subscription + operationId: patch-subscription-payment-installment + responses: + '201': + description: Payment installment added for subscription + '422': + description: >- + It is not allowed to add payment installment if the next calculated + date for the 1st payment installment is not in the future. The + subscription is considered completed. + description: > + Allows to add a certain number of payment installment to an existing + subscription. The new payment installment will take the frequency + defined on the subscription and will follow the date of the last + existing payment installment
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ security: + - oauth2: + - subscriptions.write + requestBody: + content: + application/json: + schema: + title: Add deadlines for a subscription + type: object + properties: + count: + type: integer + description: Number of deadlines to add to the subscription + example: 2 + minimum: 1 + required: + - count + description: '' + /subscriptions/payment-installments: + get: + operationId: get-subscriptions-payment-installments + summary: Get all payment installments of subscriptions + description: > + Get all payment installments of subscriptions
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ tags: + - Subscriptions + parameters: + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + title: Payment installment + type: object + properties: + id: + type: integer + description: Id of payment installment + example: 2 + status: + type: string + description: Status of payment installment + enum: + - generated + - scheduled + - in_progress + - failed + example: generated + subscription_id: + type: integer + description: Id of subscription + example: 23 + date: + type: string + format: date + description: Date of invoice generation + example: '2023-01-01' + sending: + type: object + description: Email sending configuration + properties: + mode: + description: >- + Once the invoice has been generated, from + subscription payment install, if sending mode is + automatic, email will be sent to all recipients, + otherwise, if it's manual, email should be send + manually + enum: + - automatic + - manual + example: manual + model: + type: object + description: >- + Document to use as a template for subscription + payment installment + properties: + type: + type: string + description: Template type + enum: + - model + example: model + id: + type: integer + description: Template id + example: 5 + related: + description: | + Objects linked to the subscription + type: array + minItems: 1 + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + document: + nullable: true + type: object + description: Generated document, even if it's deleted + properties: + type: + type: string + description: Type of document + enum: + - invoice + example: invoice + id: + type: integer + description: Id of document + example: 56 + required: + - pagination + - data + security: + - oauth2: + - subscriptions.read + /subscriptions/payment-installments/search: + post: + operationId: search-subscriptions-payment-installments + summary: Search payment installments of subscriptions + description: > + Search payment installments of subscriptions
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ tags: + - Subscriptions + parameters: + - $ref: '#/components/parameters/order' + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + requestBody: + content: + application/json: + schema: + title: Payment installment filters + type: object + description: Payment installment filters + properties: + filters: + type: object + description: Payment installment filters + required: + - filters + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: >- + #/paths/~1subscriptions~1payment-installments/get/responses/200/content/application~1json/schema/properties/data/items + required: + - pagination + - data + security: + - oauth2: + - subscriptions.read + /documents/models: + post: + summary: Create a document model + description: > + Create a document model
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: create-model + tags: + - Document Models + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateModel' + responses: + '201': + description: Document model created + content: + application/json: + schema: + $ref: '#/components/schemas/ModelOne' + security: + - oauth2: + - models.write + get: + summary: List document models + description: > + Fetch a list of document models
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-models + tags: + - Document Models + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/Model' + security: + - oauth2: + - models.read + /documents/models/{id}: + parameters: + - name: id + in: path + schema: + type: integer + required: true + description: Model identifier + get: + summary: Get document model + description: > + Get a document model
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: get-model + tags: + - Document Models + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ModelOne' + security: + - oauth2: + - models.read + put: + summary: Update document model + description: > + Update a document model
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: update-model + tags: + - Document Models + requestBody: + content: + application/json: + schema: + title: Update model + type: object + additionalProperties: false + properties: + number: + type: string + description: Name of model + maxLength: 100 + example: model#1 + subject: + type: string + description: > + Subject of model

Note: Date variables, called + "tag", can be integrated in this property, they will be + replaced by the real value when converting the document + template to a document
> Refer to endpoint's description + of list available tags for document model. + example: Subject + currency: + type: string + description: Currency code of the model + example: EUR + discount: + type: object + description: Global discount applied on the model + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + type: string + description: value of discount + example: '25.20' + owner_id: + type: integer + description: Invoice's owner (staff id) + example: 145 + minimum: 1 + rows: + type: array + nullable: true + items: + $ref: '#/components/schemas/CreateModel/properties/rows/items' + responses: + '200': + description: Updated + content: + application/json: + schema: + $ref: '#/components/schemas/ModelOne' + security: + - oauth2: + - models.write + /documents/models/search: + post: + summary: Search document models + tags: + - Document Models + description: Search document models + operationId: search-models + parameters: + - $ref: '#/components/parameters/direction' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/fields' + - $ref: '#/components/parameters/ModelOrder' + requestBody: + content: + application/json: + schema: + title: Models filters + type: object + description: Models filters + properties: + filters: + type: object + description: Models filters + properties: + created: + title: Created at + type: object + description: Filter the document models list by creation date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + owners: + title: Owners + type: array + description: Filter the document models list by owner (staff id) + items: + type: integer + assigned_staff_ids: + title: Assigned staffs + type: array + description: >- + Filter the document models list by assigned staffs + (staff id) + items: + type: integer + number: + title: number + type: string + description: Filter the document models list by number (exact search) + example: FAC-0001 + currency: + title: currency + type: string + description: Currency code (exact search) + example: EUR + required: + - filters + responses: + '200': + description: Model list fetched + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/Model' + required: + - pagination + - data + security: + - oauth2: + - models.read + /documents/models/{id}/convert: + parameters: + - name: id + in: path + schema: + type: integer + required: true + description: Document model identifier + post: + summary: Convert a document model into a document + description: > + Build the request body expected by document create endpoint with + prefilled properties from the document model
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: convert-model + tags: + - Document Models + requestBody: + content: + application/json: + schema: + title: Convert model + type: object + additionalProperties: false + properties: + doctype: + type: string + description: Type of document to generate + example: invoice + enum: + - estimate + - invoice + - credit-note + - order + related: + type: array + description: >- + Objects that should be linked to the document to be + generated + items: + type: object + properties: + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - opportunity + id: + type: integer + description: Related identifier + example: 7 + refresh_rows_content: + type: boolean + description: >- + Update the price of the rows product, service, shipping and + packaging + example: true + required: + - doctype + - related + - refresh_rows_content + responses: + '200': + description: ok + content: + application/json: + schema: + title: Document body + type: object + properties: + parent: + type: object + properties: + type: + type: string + description: Parent type + example: model + enum: + - model + id: + type: integer + description: Parent identifier + example: 7 + subject: + type: string + description: Subject of document + example: Subject of document + currency: + type: string + description: Currency code of the model + example: EUR + discount: + type: object + description: Global discount applied on the model + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + type: string + description: value of discount + example: '25.20' + related: + description: Objects linked to the document + type: array + minItems: 1 + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - opportunity + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + rows: + type: array + nullable: true + items: + $ref: >- + #/components/schemas/EstimateCompute/properties/rows/items + security: + - oauth2: + - models.read + /documents/models/tags: + get: + summary: Get available tags for document models + tags: + - Document Models + description: > + Get available tags that could be used on a document model, as variable, + that will be replaced when compute a concrete document.
Tag could be + used on subject and row's descriptions
This route is available in open beta.
Please note + that its specifications are potentially subject to significant and + breaking changes in the coming weeks.
+ operationId: get-model-tags + responses: + '200': + description: '' + content: + application/json: + schema: + title: List of document models tags + description: List of available tags to insert in document models content + type: array + items: + anyOf: + - type: object + title: Common tag + properties: + key: + type: string + description: Tag identifier to insert + example: '%{day.number}%' + description: + type: string + description: Tag's meaning + example: Current day number + - type: object + title: Customizable tag + properties: + key: + type: string + description: Tag identifier + example: '%{custom(direction.iterations.interval).format}%' + description: + type: string + description: Tag's meaning + example: Customizable date tag + meta: + description: > + We offer a customizable date tag format in the + following form: + %{custom(direction.iterations.interval).format}%.
This + tag allows for customization in the following ways: +
    +
  • Define the projected date: +
    • direction define if we want the past or the future
    • +
    • iterations define the number of times the interval is called
    • +
    • interval define the date interval to apply on date projection
  • +
  • Output format +
    • format define the output format to apply on the projected date
  • +

Using this tag format allows for the + creation of dynamic content that incorporates dates + and times.
> Example: + %{custom(plus.2.day).day.name}% to + return the name of the day in 2 days
> Example: + %{custom(minus.1.month).last_day.name}% + to return the name of the last day of the previous + month + type: object + properties: + direction: + type: array + description: Available values + items: + type: object + properties: + key: + type: string + enum: + - plus + - minus + description: + type: string + interval: + type: array + description: Available values + items: + type: object + properties: + key: + type: string + enum: + - day + - week + - month + - year + description: + type: string + tag: + type: array + description: Available values + items: + type: object + properties: + key: + type: string + enum: + - day.number + - day.name + - first_day.number + - first_day.name + - last_day.number + - last_day.name + - month.number + - month.name + - year.number + description: + type: string + security: + - oauth2: + - models.read + /primes: + get: + deprecated: true + summary: Get list of primes + description: >- + Get primes list
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: get-primes + tags: + - Discount Including Taxes + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/DiscountInclTaxesOutput' + required: + - pagination + - data + security: + - oauth2: + - primes.read + /discount-incl-taxes: + get: + summary: Get list of discounts including taxes + description: >- + Get discounts including taxes list
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: get-discounts-incl-taxes + tags: + - Discount Including Taxes + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + pagination: + $ref: '#/components/schemas/Pagination' + data: + type: array + items: + $ref: '#/components/schemas/DiscountInclTaxesOutput' + required: + - pagination + - data + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + security: + - oauth2: + - discount-incl-taxes.read + post: + summary: Create a discount including taxes + description: >- + Create a discount including taxes
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: create-discount-incl-taxes + tags: + - Discount Including Taxes + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesInput' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesOutput' + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + security: + - oauth2: + - discount-incl-taxes.write + /discount-incl-taxes/{id}: + parameters: + - schema: + type: integer + name: id + in: path + required: true + description: Discount including taxes id + get: + summary: Get a discount including taxes + description: >- + Get a discount including taxes
This route is available + in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: get-discount-incl-taxes + tags: + - Discount Including Taxes + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesOutput' + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + security: + - oauth2: + - discount-incl-taxes.read + put: + summary: Update a discount including taxes + description: >- + Update a discount including taxes
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: update-discount-incl-taxes + tags: + - Discount Including Taxes + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateDiscountInclTaxes' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/DiscountInclTaxesOutput' + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + security: + - oauth2: + - discount-incl-taxes.write + delete: + summary: Delete a discount including taxes + description: >- + Delete a discount including taxes
This route is + available in open beta.
Please note that its specifications are + potentially subject to significant and breaking changes in the coming + weeks.
+ operationId: delete-discount-incl-taxes + tags: + - Discount Including Taxes + responses: + '204': + description: Discount deleted + '403': + description: >- + Either discounts on documents are not activated on your account or + you don't have the required privileges + security: + - oauth2: + - discount-incl-taxes.write +components: + schemas: + PredictPlan: + title: Predict + type: object + properties: + predicted_plan: + type: string + description: Plan predicted. If the pricing version is < 4, return `null` + example: essential + nullable: true + predicted_marketing_plan: + type: string + description: >- + Marketing plan predicted. If the pricing version is < 5, return + `null` + example: pack_marketing_starter + nullable: true + CreateModel: + title: Create model + type: object + additionalProperties: false + properties: + number: + type: string + description: Name of model + maxLength: 100 + example: model#1 + created: + type: string + description: Created date of model + format: date-time + example: '2018-02-21T12:00:00Z' + subject: + type: string + description: > + Subject of model

Note: Date variables, called "tag", + can be integrated in this property, they will be replaced by the + real value when converting the document template to a document
> + Refer to endpoint's description of list available tags for document + model. + example: Subject + currency: + type: string + description: Currency code of the model + example: EUR + discount: + type: object + description: Global discount applied on the model + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + type: string + description: value of discount + example: '25.20' + owner_id: + type: integer + description: Invoice's owner (staff id) + example: 145 + minimum: 1 + rows: + type: array + nullable: true + items: + type: object + oneOf: + - title: Single Row + type: object + allOf: + - type: object + properties: + type: + type: string + enum: + - single + description: + description: > + Row description

Note: Date variables, + called "tag", can be integrated in this property, they + will be replaced by the real value when converting the + document template to a document
> Refer to + endpoint's description of list available tags for + document model. + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/0/allOf/1 + - title: Shipping/Packaging Row + description: By default take value of related item + type: object + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + readOnly: true + type: + type: string + enum: + - shipping + - packaging + related: + type: object + description: Related shipping or packaging + properties: + id: + type: integer + description: item identifier + type: + type: string + description: Type of item + enum: + - shipping + - packaging + unit_amount: + description: Unit amount without tax. + type: string + example: '90.22' + tax_id: + type: integer + description: Tax identifier + example: 12 + quantity: + type: string + description: Quantity + example: '7.2' + reference: + type: string + description: Row reference - get name of shipping/packaging + example: MB880174910 + deprecated: true + description: + type: string + nullable: true + description: No row description for this type + example: Aluminium rail 4x3m + deprecated: true + discount: + type: object + nullable: true + description: Discount applied on the row + properties: + type: + type: string + description: >- + Type of the discount. Express her in percentage or + with an amount + enum: + - percent + - amount + example: amount + value: + oneOf: + - type: string + description: >- + value of discount (Expressed in amount or percent + depending choosen type) + example: '20.5' + total: + type: string + description: Total of all discount for this row + example: '400' + readOnly: true + accounting_code_id: + type: integer + description: Accouting code id of row + example: 7576 + analytic_code: + type: string + nullable: true + description: Analytic code of row + example: divers + tax_rate: + type: string + description: Tax rate + readOnly: true + example: '20.00' + tax_amount: + type: string + description: Tax amount + readOnly: true + example: '23.44' + tax_label: + type: string + description: Tax label + readOnly: true + example: tva + amount_tax_inc: + type: string + description: total amount of row tax included + readOnly: true + example: '1229.93' + amount_tax_exc: + type: string + description: total amount of row without tax + readOnly: true + example: '445.33' + is_optional: + type: boolean + description: > + If row is optional
The special feature of these lines + is that they are not taken into account in the calculation + of the document. + example: true + required: + - related + - quantity + - type + - title: Catalog Item Row + type: object + allOf: + - type: object + properties: + type: + type: string + enum: + - catalog + description: + description: > + Row description

Note: Date variables, + called "tag", can be integrated in this property, they + will be replaced by the real value when converting the + document template to a document
> Refer to + endpoint's description of list available tags for + document model. + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/2/allOf/1 + - title: Comment Row + type: object + allOf: + - type: object + properties: + type: + type: string + enum: + - comment + text: + description: > + Comment content

Note: Date variables, + called "tag", can be integrated in this property, they + will be replaced by the real value when converting the + document template to a document
> Refer to + endpoint's description of list available tags for + document model. + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/3/allOf/1 + - type: object + title: Title Row + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + readOnly: true + type: + type: string + enum: + - title + text: + type: string + required: + - type + - type: object + title: Sub Total Row + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + readOnly: true + type: + type: string + enum: + - sub-total + amount: + type: string + readOnly: true + description: Amount of the sub-total + required: + - type + - type: object + title: Break Line Row + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + readOnly: true + type: + type: string + enum: + - break-line + required: + - type + - type: object + title: Break Page Row + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + readOnly: true + type: + type: string + enum: + - break-page + required: + - type + rate_category_id: + type: integer + description: Rate Category to apply on document + example: 777 + required: + - number + - rate_category_id + Model: + title: Model + type: object + properties: + id: + type: integer + description: Identifier of model + example: 7 + number: + type: string + description: Name of model + maxLength: 100 + example: model#1 + created: + type: string + description: Created date of model + format: date-time + example: '2018-02-21T12:00:00Z' + subject: + type: string + description: > + Subject of model
> the property can include custom tags, the + list of available ones is available on response for endpoint + `get./documents/models/tags` + example: Subject + amounts: + type: object + description: Amounts of invoice, with and without taxes + readOnly: true + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging costs. + Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + currency: + type: string + description: Currency code of the model + example: EUR + taxes: + type: array + description: List of taxes used on the invoice + readOnly: true + items: + type: object + description: Tax used + properties: + id: + type: integer + label: + type: string + rate: + type: string + amount: + type: string + required: + - id + - label + - rate + - amount + discount: + type: object + description: Global discount applied on the invoice + nullable: true + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + payment_conditions_acceptance: + type: object + description: Acceptance of terms and conditions + readOnly: true + properties: + enabled: + type: boolean + description: Acceptance is required to pay or sign the document + owner: + allOf: + - type: object + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + type: + type: string + readOnly: true + description: Type of owner + example: staff + - type: object + description: Invoice's owner + readOnly: true + pdf_link: + type: string + description: >- + Link to the pdf of document. /!\ Link is regenerate after an update + of document + format: uri + nullable: true + readOnly: true + decimal_number: + type: object + description: Precision for decimal numbers + readOnly: true + properties: + unit_price: + type: integer + description: Precision of unit price + nullable: true + quantity: + type: integer + description: Precision of quantity + nullable: true + main: + type: integer + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + assigned_staff_id: + type: integer + description: The staff linked + nullable: false + readOnly: true + example: 2 + ModelOne: + allOf: + - title: Model + type: object + properties: + id: + type: integer + description: Identifier of model + example: 7 + number: + type: string + description: Name of model + maxLength: 100 + example: model#1 + created: + type: string + description: Created date of model + format: date-time + example: '2018-02-21T12:00:00Z' + subject: + type: string + description: > + Subject of model
> the property can include custom tags, + the list of available ones is available on response for endpoint + `get./documents/models/tags` + example: Subject + amounts: + type: object + description: Amounts of invoice, with and without taxes + readOnly: true + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging + costs. Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + currency: + type: string + description: Currency code of the model + example: EUR + taxes: + type: array + description: List of taxes used on the invoice + readOnly: true + items: + type: object + description: Tax used + properties: + id: + type: integer + label: + type: string + rate: + type: string + amount: + type: string + required: + - id + - label + - rate + - amount + discount: + type: object + description: Global discount applied on the invoice + nullable: true + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + payment_conditions_acceptance: + type: object + description: Acceptance of terms and conditions + readOnly: true + properties: + enabled: + type: boolean + description: Acceptance is required to pay or sign the document + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + - type: object + description: Invoice's owner + readOnly: true + pdf_link: + type: string + description: >- + Link to the pdf of document. /!\ Link is regenerate after an + update of document + format: uri + nullable: true + readOnly: true + decimal_number: + type: object + description: Precision for decimal numbers + readOnly: true + properties: + unit_price: + type: integer + description: Precision of unit price + nullable: true + quantity: + type: integer + description: Precision of quantity + nullable: true + main: + type: integer + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + assigned_staff_id: + type: integer + description: The staff linked + nullable: false + readOnly: true + example: 2 + - type: object + properties: + rows: + type: array + items: + type: object + oneOf: + - title: Single Row + type: object + allOf: + - type: object + properties: + description: + type: string + nullable: true + description: > + Row description
> the property can include + custom tags, the list of available ones is + available on response for endpoint + `get./documents/models/tags` + example: Aluminium rail 4x3m + - title: Single Row + type: object + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + readOnly: true + type: + type: string + enum: + - single + unit_id: + type: integer + description: Id of unit of measurement of quantity + purchase_amount: + type: string + description: Purchase amount + unit_amount: + description: Unit amount without tax. + type: string + example: '22.20' + tax_id: + type: integer + description: Tax identifier + example: 12 + quantity: + type: string + description: Quantity + example: '7.2' + reference: + type: string + description: Row reference + example: MB880174910 + description: + type: string + nullable: true + description: Row description + example: Aluminium rail 4x3m + discount: + type: object + nullable: true + description: Discount applied on the row + properties: + type: + type: string + description: >- + Type of the discount. Express her in + percentage or with an amount + enum: + - percent + - amount + example: amount + value: + oneOf: + - type: string + description: >- + Value of discount (Expressed in amount or + percent depending choosen type) + example: '20.5' + total: + type: string + description: Total of all discount for this row + example: '400' + readOnly: true + tax_rate: + type: string + description: Tax rate + readOnly: true + example: '20.00' + tax_amount: + type: string + description: Tax amount + readOnly: true + example: '23.44' + tax_label: + type: string + description: Tax label + readOnly: true + example: tva + amount_tax_inc: + type: string + description: Total amount of row tax included + readOnly: true + example: '1229.93' + amount_tax_exc: + type: string + description: Total amount of row without tax + readOnly: true + example: '445.33' + accounting_code_id: + type: integer + description: Accounting code id of row + example: 7576 + analytic_code: + type: string + nullable: true + description: Analytic code of row + example: divers + is_optional: + type: boolean + description: > + If row is optional
The special feature of + these lines is that they are not taken into + account in the calculation of the document. + example: true + required: + - quantity + - unit_amount + - type + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/1 + - title: Catalog Item Row + description: By default take value of related item + type: object + allOf: + - type: object + properties: + description: + type: string + nullable: true + description: > + Row description
> the property can include + custom tags, the list of available ones is + available on response for endpoint + `get./documents/models/tags` + example: Aluminium rail 4x3m + - title: Catalog Item Row + description: By default take value of related item + type: object + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + readOnly: true + type: + type: string + enum: + - catalog + related: + type: object + description: Related product or service + properties: + id: + type: integer + description: item identifier + type: + type: string + description: Type of item + enum: + - product + - service + declination_id: + type: integer + description: declination identifier + nullable: true + unit_amount: + description: Unit amount + type: string + example: '29.28' + eco_tax: + type: object + nullable: true + description: Eco tax applied on the row + properties: + type: + type: string + enum: + - inc + - excl + value: + type: string + example: '22.44' + purchase_amount: + type: string + description: Purchase amount + unit_id: + type: integer + description: Id of unit of measurement of quantity + warehouse_id: + type: integer + nullable: true + description: Warehouse identifier + sku_id: + nullable: true + type: integer + description: Bar code id + tax_id: + type: integer + description: Tax identifier + example: 12 + quantity: + type: string + description: Quantity + example: '7.2' + reference: + type: string + description: Row reference + example: MB880174910 + description: + type: string + nullable: true + description: Row description + example: Aluminium rail 4x3m + discount: + type: object + nullable: true + description: Discount applied on the row + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + oneOf: + - type: string + description: value of discount + example: '25.20' + total: + type: string + description: Total of all discount for this row + example: '400' + readOnly: true + tax_rate: + type: string + description: Tax rate + readOnly: true + example: '20.00' + tax_amount: + type: string + description: Tax amount + readOnly: true + example: '23.44' + tax_label: + type: string + description: Tax label + readOnly: true + example: tva + amount_tax_inc: + type: string + description: total amount of row tax included + readOnly: true + example: '1229.93' + amount_tax_exc: + type: string + description: total amount of row without tax + readOnly: true + example: '445.33' + accounting_code_id: + type: integer + description: Accouting code id of row + example: 7576 + analytic_code: + type: string + nullable: true + description: Analytic code of row + example: divers + is_optional: + type: boolean + description: > + If row is optional
The special feature of + these lines is that they are not taken into + account in the calculation of the document. + example: true + required: + - related + - quantity + - type + - title: Comment Row + type: object + allOf: + - type: object + properties: + text: + type: string + description: > + Comment
> the property can include custom + tags, the list of available ones is available on + response for endpoint + `get./documents/models/tags` + example: Aluminium rail 4x3m + - type: object + title: Comment Row + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + readOnly: true + type: + type: string + enum: + - comment + text: + type: string + required: + - type + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/4 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/5 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/6 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/7 + AccountDocumentCollection: + title: Account document collection + type: object + properties: + pagination: + title: pagination + type: object + description: The pagination + properties: + limit: + type: integer + example: 25 + minimum: 0 + maximum: 100 + total: + type: integer + example: 152 + minimum: 0 + count: + type: integer + example: 25 + minimum: 0 + offset: + anyOf: + - type: integer + minimum: 0 + example: 25 + - type: string + example: WzIwMTQtMDEtMDEsNTk4XQ== + required: + - limit + - total + - count + - offset + data: + type: array + items: + allOf: + - type: object + properties: + date: + description: Date of the document + type: string + format: date + status: + description: Status of the invoice and credit note + type: string + readOnly: true + example: draft + enum: + - due + - payinprogress + - paid + - late + - stored + - partialspend + - spent + - cancelled + number: + type: string + description: Document number + example: INV-20210611-0010 + amount: + type: string + description: Total amount with taxes + example: '898.97' + public_link: + description: Public link of document + type: string + nullable: true + readOnly: true + pdf_link: + type: string + format: uri + readOnly: true + description: >- + Link to the pdf of document. /!\ Link is regenerate after + an update of document + required: + - date + - status + - amount + - public_link + - pdf_link + required: + - pagination + - data + DocumentLayoutsCollection: + title: Document layouts collection + type: object + properties: + pagination: + $ref: '#/components/schemas/AccountDocumentCollection/properties/pagination' + data: + type: array + items: + allOf: + - type: object + properties: + id: + type: integer + example: 1 + label: + type: string + description: Name of the document layout + example: Document Layout no. 42 + is_default: + type: boolean + description: True if the document layout is the default one + example: true + required: + - id + - label + - is_default + required: + - pagination + - data + CommentItem: + title: CommentItem + type: object + description: Contains all properties + _embed for an Item endpoint + allOf: + - title: CommentBaseItem + type: object + description: >- + Contains all properties that are shared between an Item endpoint and + a Collection Item endpoint, except _embed property + properties: + id: + type: integer + description: Internal Comment ID + readOnly: true + example: 1 + owner: + type: object + description: Owner of the comment + properties: + id: + type: integer + example: 123 + type: + type: string + example: staff + enum: + - staff + - contact + description: + type: string + description: Comment content + updated: + type: string + description: Modification date of the comment + format: date-time + example: '1970-01-01T00:00:00+00:00' + created: + type: string + description: Creation date of the comment + format: date-time + example: '1970-01-01T00:00:00+00:00' + parent_id: + type: integer + description: Comment parent ID + nullable: true + related: + type: array + minItems: 0 + maxItems: 1 + description: Main object related to the comment (limit to 1) + items: + type: object + additionalProperties: false + description: Main object related to the comment + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - item + - estimate + - creditnote + - order + - delivery + - proforma + - invoice + - model + - purchase-order + - purchase-delivery + - purchase-invoice + - purchase-creditnote + - redactor-template + - redactor-document + - campaign + company_id: + type: integer + description: Company linked to the comment + example: 123 + nullable: true + individual_id: + type: integer + description: Individual linked to the comment + example: 123 + nullable: true + contact_id: + type: integer + description: Contact linked to the comment + example: 123 + nullable: true + timetracking: + nullable: true + allOf: + - title: Timetracking + type: object + description: Timetracking details (requires the timetracking plugin) + properties: + duration: + description: Timetracking duration in seconds + type: integer + example: 3600 + minimum: 1 + service: + description: Timetracking service ID related + type: integer + example: 6352439 + name: + description: Timetracking service name + type: string + nullable: true + example: Service name + - type: object + properties: + _embed: + allOf: + - type: object + readOnly: true + description: Objects add to response. Use embed parameter + properties: + owner: + allOf: + - $ref: >- + #/components/schemas/Activity/properties/_embed/properties/author + - type: object + title: Owner (staff) assigned to the comment + nullable: true + title: Owner (staff) assigned to the comment + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: Objects linked to the comment + items: + anyOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + title: Company + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + title: Individual + - $ref: '#/components/schemas/ContactItem/allOf/0' + title: Contact + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/1 + title: Opportunity + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/2 + title: Task + company: + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + - type: object + title: Company linked to the comment + nullable: true + individual: + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + - type: object + title: Individual linked to the comment + nullable: true + contact: + allOf: + - $ref: '#/components/schemas/ContactItem/allOf/0' + - type: object + title: Contact linked to the comment + nullable: true + acl: + allOf: + - type: object + description: Comment ACL + - $ref: >- + #/components/schemas/Activity/properties/_embed/properties/acl/oneOf/4 + CommentFilters: + title: CommentFilters + type: object + description: The Comment filters + properties: + filters: + type: object + properties: + owners: + title: Owners + type: array + items: + type: integer + example: + - 1 + - 2 + - 3 + description: Filter the comments list by owners + created: + title: Created at + type: object + description: Filter the comments list by creation date + properties: + start: + type: string + format: date-time + example: '2021-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2021-02-01T00:00:00+01:00' + updated: + title: Updated at + type: object + description: Filter the comments list by modification date + properties: + start: + type: string + format: date-time + example: '2021-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2021-02-01T00:00:00+01:00' + parent_id: + title: Parent ID + type: integer + description: Filter the comments list by parent ID + example: 123 + related_objects: + title: Related Objects + description: Filter the comments list by related objects + type: array + items: + type: object + properties: + type: + type: string + example: opportunity + id: + type: integer + example: 123 + companies: + title: Companies + type: array + description: Filter the comments list by companies + items: + type: integer + individuals: + title: Individuals + type: array + description: Filter the comments list by individuals + items: + type: integer + contacts: + title: Contacts + type: array + description: Filter the comments list by contacts + items: + type: integer + required: + - filters + CommentCreateItem: + title: Comment + type: object + description: Comment creation object + x-examples: {} + additionalProperties: false + allOf: + - title: Comment + type: object + description: Comment update object + x-examples: {} + properties: + description: + type: string + example: Lorem ipsum dolor sit amet, consectetur adipiscing elit. + description: Comment content + nullable: false + timetracking: + description: >- + if null provided, it'll delete existing timetracking entry for + existing comment + nullable: true + allOf: + - $ref: >- + #/components/schemas/CommentUpdateItem/properties/timetracking/allOf/0 + - type: object + required: + - description + - type: object + properties: + related: + type: array + minItems: 1 + maxItems: 1 + description: Main object related to the comment (limit to 1) + items: + type: object + additionalProperties: false + description: Main object related to the comment + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - item + - estimate + - creditnote + - order + - delivery + - proforma + - invoice + - model + - purchase-order + - purchase-delivery + - purchase-invoice + - purchase-creditnote + - redactor-template + - redactor-document + - campaign + parent_id: + type: integer + description: Comment parent ID + mentioned_staff_ids: + type: array + description: Ids of staffs mentioned in the comment + uniqueItems: true + nullable: true + items: + type: integer + example: 12329 + created: + description: Date of creation of the comment + type: string + format: date-time + CommentUpdateItem: + title: Comment + type: object + description: Comment update object + x-examples: {} + properties: + description: + type: string + example: Lorem ipsum dolor sit amet, consectetur adipiscing elit. + description: Comment content + nullable: false + timetracking: + description: >- + if null provided, it'll delete existing timetracking entry for + existing comment + nullable: true + allOf: + - title: Timetracking + type: object + required: + - service + - duration + description: Timetracking details (requires the timetracking plugin) + properties: + duration: + description: Timetracking duration in seconds + type: integer + example: 3600 + minimum: 1 + service: + description: Timetracking service ID related + type: integer + example: 6352439 + ContactItem: + title: Contact + allOf: + - title: Contact + type: object + description: '' + x-examples: {} + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + civility: + type: string + description: Civility of staff + example: mrs + nullable: true + enum: + - mr + - mrs + - ms + first_name: + type: string + description: Contact first name + example: John + nullable: true + maxLength: 200 + last_name: + type: string + description: Contact name + example: Doe + maxLength: 200 + nullable: true + email: + description: Contact email + type: string + format: email + example: john.doe@example-company.com + nullable: true + website: + type: string + format: url + description: Contact website + example: http://example-john-doe.com + nullable: true + phone_number: + type: string + description: Contact phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Contact mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Contact Fax number + example: '+33100000000' + nullable: true + position: + type: string + nullable: true + description: Contact job + example: Financial + birth_date: + type: string + description: Contact birth date + example: '2000-05-29' + nullable: true + avatar: + type: string + format: url + description: Contact avatar + example: http://example-john-doe.com/avatar + nullable: true + note: + type: string + description: Note on contact + example: An handed-written note describing this contact + invoicing_address_id: + description: Invoicing address unique ID + type: integer + nullable: true + minimum: 1 + example: 9987 + readOnly: true + delivery_address_id: + description: Delivery address unique ID + type: integer + nullable: true + minimum: 1 + example: 6547 + readOnly: true + social: + allOf: + - $ref: >- + #/paths/~1companies/post/requestBody/content/application~1json/schema/properties/social + sync: + type: object + properties: + mailchimp: + type: boolean + description: Activate the mailchimp synchronization + nullable: false + mailjet: + type: boolean + description: Activate the mailjet synchronization + nullable: false + simplemail: + type: boolean + description: Activate the simplemail synchronization + nullable: false + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + readOnly: true + created: + type: string + nullable: false + description: Datetime of creating contact + example: '2020-05-29T11:22:03+02:00' + updated: + type: string + nullable: false + description: Datetime of updating contact + example: '2020-05-29T11:22:03+02:00' + readOnly: true + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + marketing_campaigns_subscriptions: + type: array + items: + type: string + enum: + - sms + - phone + - email + - postal_mail + - custom + description: list of campaign type subcribed + uniqueItems: true + - type: object + properties: + _embed: + allOf: + - title: itemEmbed.yaml + allOf: + - readOnly: true + description: Objects add to response. Use embed parameter + allOf: + - type: object + properties: + invoicing_address: + nullable: true + description: Invoicing address + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + delivery_address: + nullable: true + description: Delivery address + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + opportunities: + nullable: true + type: integer + description: Count of opportunities + example: 2 + estimates: + nullable: true + type: integer + description: Count of estimates + example: 2 + invoices: + nullable: true + type: integer + description: Count of invoices + example: 2 + orders: + nullable: true + type: integer + description: Count of orders + example: 2 + deliveries: + nullable: true + type: integer + description: Count of deliveries + example: 2 + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/2 + - type: object + properties: + acl: + nullable: true + description: Contact ACL + allOf: + - $ref: >- + #/components/schemas/Activity/properties/_embed/properties/acl/oneOf/1 + ContactCollectionItem: + title: ContactCollectionItem.yaml + type: object + allOf: + - $ref: '#/components/schemas/ContactItem/allOf/0' + - type: object + properties: + _embed: + allOf: + - title: collectionItemEmbed.yaml + allOf: + - $ref: >- + #/components/schemas/ContactItem/allOf/1/properties/_embed/allOf/0/allOf/0 + ContactCreateItem: + title: contactCreateItem.yaml + allOf: + - title: Contact + allOf: + - $ref: '#/components/schemas/ContactItem/allOf/0' + - type: object + properties: + _embed: + allOf: + - $ref: >- + #/components/schemas/ContactItem/allOf/1/properties/_embed/allOf/0 + - type: object + properties: + last_name: + type: string + description: Contact name + example: Doe + maxLength: 200 + owner_id: + type: integer + nullable: true + description: Owner of the contact (Staff id expected) + example: 112 + minimum: 1 + required: + - last_name + ContactUpdateItem: + title: updateItem.yaml + allOf: + - $ref: '#/components/schemas/ContactCreateItem/allOf/0' + - type: object + properties: + last_name: + type: string + description: Contact name + example: Doe + maxLength: 200 + created: + type: string + nullable: false + description: Datetime of creating contact + example: '2020-05-29T11:22:03+02:00' + readOnly: true + owner_id: + type: integer + nullable: true + description: Owner of the contact (Staff id expected) + example: 112 + minimum: 1 + ContactFilters: + title: contactFilters + type: object + description: The contact filters + properties: + filters: + type: object + description: contact filters + properties: + companies: + title: Companies + type: array + items: + type: integer + description: Filter the contacts list by companies ID + example: + - 12 + - 22 + individuals: + title: Individuals + type: array + items: + type: integer + description: Filter the contacts list by individuals ID + example: + - 12 + - 22 + created: + title: Created at + type: object + description: Filter the contact list by creation date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + updated: + title: Updated at + type: object + description: Filter the contact list by last update date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + last_name: + title: Lastname + type: string + description: Filter the contact list by lastname (exact search) + example: John Doe + birth_date: + title: Birth date + type: object + description: Filter the contact list by birth date-time + properties: + start: + type: string + format: date + example: '2020-01-01' + end: + type: string + format: date + example: '2020-02-01' + email: + title: Email + type: string + description: Filter the contact list by email (exact search) + example: john.doe@example.com + phone_number: + title: Phone number + type: string + description: Filter the contact list by phone number (exact search) + example: '+33100000000' + mobile_number: + title: Mobile phone + type: string + description: Filter contact list by mobile number (exact search) + example: '+33100000000' + id: + title: Contacts + type: array + items: + type: integer + description: Filter the contacts list by contacts ID + example: + - 12 + - 22 + favourite_filter: + title: Favourite filters + type: integer + description: > + Id of favourite filters
(see endpoint to list favourite + filters) + example: 10 + is_linked: + title: Is linked to a company or an individual + type: boolean + description: >- + Filter contacts according to whether or not they are related to + companies and individuals + example: false + country_code: + title: Country code + description: Filter the contacts list by country code (main address only) + type: string + example: FR + postal_code: + title: Postal code + description: Filter the contacts list by postal code (main address only) + type: array + items: + type: string + example: + - '17001' + - '17002' + required: + - filters + Estimate: + title: Estimate + allOf: + - type: object + properties: + date: + description: Date of the estimate + type: string + format: date + related: + type: array + minItems: 1 + description: | + Objects linked to the estimate : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only of type `client` or `prospect` + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + items: + type: object + description: >- + Object linked to the estimate (at least a Company or an + Individual) + properties: + type: + type: string + enum: + - company + - individual + - opportunity + id: + type: integer + required: + - type + - id + contact_id: + description: Contact of company linked to the estimate + type: integer + nullable: true + assigned_staff_id: + description: Staff in charge of the estimate + type: integer + status: + description: Status of the estimate (draft if not provided at the creation) + type: string + readOnly: true + example: draft + enum: + - draft + - sent + - read + - accepted + - refused + - expired + - advanced + - partialinvoiced + - invoiced + - cancelled + number: + type: string + description: Estimate number + example: EST-20210611-0010 + amounts: + description: Amounts of estimate with and without taxe + type: object + readOnly: true + properties: + shipping: + type: string + description: Total shipping amount + example: '128.54' + packaging: + type: string + description: Total packaging amount + example: '40.24' + total_raw_excl_tax: + type: string + description: Total without tax and without global discount + example: '933.07' + total_after_discount_excl_tax: + type: string + description: Total without tax and after discount applied + example: '821.10' + total_excl_tax: + description: Total net without tax + type: string + example: '843.10' + total: + type: string + description: Total amount with taxes + example: '898.97' + total_primes_incl_tax: + type: string + description: Total of primes added on document + example: '10.00' + required: + - shipping + - packaging + - total_raw_excl_tax + - total_after_discount_excl_tax + - total_excl_tax + - total + currency: + description: Currency code of estimate + type: string + subject: + description: Subject of estimate + type: string + public_link: + description: Public link of estimate + type: string + nullable: true + readOnly: true + public_link_enabled: + type: boolean + description: Public link is enabled + payment_method_ids: + type: array + description: payments methods allowed on the estimate + nullable: true + items: + type: integer + decimal_number: + readOnly: true + type: object + description: Precision for decimal numbers + properties: + unit_price: + type: integer + nullable: true + description: Precision of unit price + quantity: + type: integer + nullable: true + description: Precision of quantity + main: + type: integer + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + pdf_link: + type: string + format: uri + readOnly: true + description: >- + Link to the pdf of estimate. /!\ Link is regenerate after an + update of estimate + expiry_date: + description: Expiry date of the estimate + type: string + format: date + payment_conditions_acceptance: + type: object + readOnly: true + description: Acceptance of terms and conditions + properties: + enabled: + type: boolean + description: Acceptance is required to pay or sign the document* + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + note: + type: string + description: Notes of the estimate + example: This estimate is very important
+ shipping_date: + type: string + format: date + description: Date of the shipping + nullable: true + example: '2024-01-31' + - type: object + properties: + id: + type: integer + readOnly: true + description: Document ID + example: 6657 + owner: + type: object + properties: + type: + type: string + id: + type: integer + required: + - type + - id + created: + type: string + description: Date of creation of document + format: date-time + discount: + description: Global discount applied on the document + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + fiscal_year_id: + type: integer + nullable: true + description: ID of the estimate's fiscal year + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + readOnly: true + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + readOnly: true + taxes: + description: List of taxes used on the estimate + type: array + items: + type: object + description: Tax used + properties: + label: + type: string + id: + type: integer + rate: + type: string + amount: + type: string + required: + - label + - id + - rate + - amount + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: End date for service + example: '2023-01-31' + shipping_date: + type: string + format: date + description: Date of the shipping + nullable: true + required: + - id + - owner + - created + - date + - related + - contact_id + - invoicing_address_id + - delivery_address_id + - assigned_staff_id + - status + - number + - amounts + - currency + - subject + - public_link + - public_link_enabled + - payment_method_ids + - fiscal_year_id + EstimateCreate: + allOf: + - $ref: '#/components/schemas/Estimate/allOf/0' + - type: object + properties: + owner_id: + type: integer + description: Owner of the estimate (staff id) + minimum: 1 + rows: + type: array + description: Document's rows + nullable: true + items: + type: object + oneOf: + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/0/allOf/1 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/1 + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/2/allOf/1 + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/3/allOf/1 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/4 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/5 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/6 + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/7 + discount: + type: object + description: Global discount applied on the estimate + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + type: string + description: value of discount + example: '25.20' + parent: + nullable: true + oneOf: + - type: object + title: Model + properties: + type: + type: string + enum: + - model + id: + type: integer + description: Parent object id + rate_category_id: + type: integer + description: >- + Rate Category to apply on document (By default, the + rate_category_id will be that of company) + example: 777 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: >- + End date for service

End date must be greater + than start date + example: '2023-01-31' + required: + - related + EstimateUpdate: + allOf: + - $ref: '#/components/schemas/Estimate/allOf/0' + - type: object + properties: + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: >- + End date for service

End date must be greater + than start date + example: '2023-01-31' + rows: + type: array + nullable: true + items: + type: object + anyOf: + - type: object + title: New Single Row + allOf: + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/0/allOf/1 + - type: object + title: New Packaging/Shipping Row + allOf: + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/1 + - type: object + title: New Catalog Item Row + allOf: + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/2/allOf/1 + - type: object + title: New Comment Row + allOf: + - $ref: >- + #/components/schemas/ModelOne/allOf/1/properties/rows/items/oneOf/3/allOf/1 + - type: object + title: New Title Row + allOf: + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/4 + - type: object + title: New Sub-Total Row + allOf: + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/5 + - type: object + title: New Break Line Row + allOf: + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/6 + - type: object + title: New Break Page Row + allOf: + - $ref: >- + #/components/schemas/CreateModel/properties/rows/items/oneOf/7 + - title: Update Single Row + type: object + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + unit: + type: integer + description: Id of unit of measurement of quantity + purchase_amount: + type: string + description: Purchase amount + unit_amount: + description: Unit amount without tax. + type: string + example: '22.20' + tax_id: + type: integer + description: Tax identifier + example: 12 + tax: + deprecated: true + type: integer + description: >- + Tax identifier. This field will be removed on 1 July + 2022, use tax_id instead + example: 12 + quantity: + type: string + description: Quantity + example: 7 + reference: + type: string + description: Row reference + example: MB880174910 + description: + type: string + nullable: true + description: Row description + example: Aluminium rail 4x3m + discount: + type: object + nullable: true + description: Discount applied on the row + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + oneOf: + - type: string + description: value of discount + example: '25.20' + accounting_code: + type: integer + description: Accouting code of row + example: 7576 + analytic_code: + type: string + nullable: true + description: Analytic code of row + example: divers + is_optional: + type: boolean + description: > + If row is optional
The special feature of these + lines is that they are not taken into account in the + calculation of the document. + example: true + required: + - id + - title: Update Shipping/Packaging Row + type: object + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + unit_amount: + description: Unit amount without tax. + type: string + example: '90.22' + tax_id: + type: integer + description: Tax identifier + example: 12 + quantity: + type: string + description: Quantity + example: 7 + reference: + type: string + description: Row reference + example: MB880174910 + description: + type: string + nullable: true + description: Row description + example: Aluminium rail 4x3m + discount: + type: object + nullable: true + description: Discount applied on the row + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + oneOf: + - type: string + description: value of discount + example: '25.20' + tax_rate: + type: string + description: Tax rate + readOnly: true + example: '20.00' + tax_amount: + type: string + description: Tax amount + readOnly: true + example: '23.44' + amount_tax_inc: + type: string + description: total amount of row tax included + readOnly: true + example: '1229.93' + amount_tax_exc: + type: string + description: total amount of row without tax + readOnly: true + example: '445.33' + accounting_code_id: + type: integer + description: Accouting code id of row + example: 7576 + analytic_code: + type: string + nullable: true + description: Analytic code of row + example: divers + is_optional: + type: boolean + description: > + If row is optional
The special feature of these + lines is that they are not taken into account in the + calculation of the document. + example: true + required: + - related + - quantity + - type: object + title: Update Catalog Item Row + additionalProperties: false + properties: + id: + type: integer + description: Row Identifier + unit_amount: + description: Unit amount + type: string + example: '29.28' + eco_tax: + type: object + nullable: true + description: Eco tax applied on the row + properties: + type: + type: string + enum: + - inc + - excl + value: + type: string + example: '22.44' + purchase_amount: + type: string + description: Purchase amount + unit: + type: integer + description: Id of unit of measurement of quantity + warehouse_id: + type: integer + nullable: true + description: Warehouse identifier + sku_id: + nullable: true + type: integer + description: Bar code id + tax_id: + type: integer + description: Tax identifier + example: 12 + tax: + deprecated: true + type: integer + description: >- + Tax identifier. This field will be removed on 1 July + 2022, use tax_id instead + example: 12 + quantity: + type: string + description: Quantity + example: 7 + reference: + type: string + description: Row reference + example: MB880174910 + description: + type: string + nullable: true + description: Row description + example: Aluminium rail 4x3m + discount: + type: object + nullable: true + description: Discount applied on the row + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + oneOf: + - type: string + description: value of discount + example: '25.20' + accounting_code: + type: integer + description: Accouting code of row + example: 7576 + analytic_code: + type: string + nullable: true + description: Analytic code of row + example: divers + is_optional: + type: boolean + description: > + If row is optional
The special feature of these + lines is that they are not taken into account in the + calculation of the document. + example: true + required: + - id + - type: object + title: Update Comment Row + properties: + id: + type: integer + description: Row Identifier + text: + type: string + required: + - id + additionalProperties: false + - type: object + title: Update Title Row + properties: + id: + type: integer + description: Row Identifier + text: + type: string + required: + - id + additionalProperties: false + - type: object + title: Update Sub Total Row + properties: + id: + type: integer + description: Row Identifier + required: + - id + additionalProperties: false + - type: object + title: Update Break Line Row + properties: + id: + type: integer + description: Row Identifier + required: + - id + additionalProperties: false + - type: object + title: Update Break Page Row + properties: + id: + type: integer + description: Row Identifier + required: + - id + additionalProperties: false + EstimateStatusUpdate: + type: object + properties: + status: + description: Status of the estimate + type: string + example: sent + enum: + - draft + - sent + - read + - accepted + - refused + - expired + - partialinvoiced + - invoiced + - cancelled + EstimateCollection: + title: Estimate collection item + type: object + properties: + pagination: + $ref: '#/components/schemas/AccountDocumentCollection/properties/pagination' + data: + type: array + items: + allOf: + - $ref: '#/components/schemas/EstimateOne/allOf/0' + - title: Embed for Estimate + description: Objects add to response. Use embed parameter + x-examples: {} + type: object + properties: + _embed: + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/0 + - type: object + properties: + company: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + individual: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + contact: + $ref: '#/components/schemas/ContactItem/allOf/0' + invoicing_address: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + delivery_address: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + currency: + nullable: true + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/currency + acl: + title: EstimateAcl + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Document can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Document can be deleted + example: true + payment_method_ids: + type: array + items: + type: object + title: Payment method object + properties: + id: + type: integer + description: Payment method identifier + label: + type: string + description: Payment method label + fiscal_year: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/fiscal_year + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/2 + required: + - pagination + - data + EstimateAggregations: + title: Document aggregations + type: object + properties: + amount_sum_by_status: + type: object + description: Total amount of document by status, require `currency` filter + count_by_status: + type: object + description: Number of document by status + EstimateOne: + allOf: + - title: Estimate + allOf: + - $ref: '#/components/schemas/Estimate/allOf/0' + - type: object + properties: + id: + type: integer + readOnly: true + description: Document ID + example: 6657 + owner: + type: object + properties: + type: + type: string + id: + type: integer + required: + - type + - id + created: + type: string + description: Date of creation of document + format: date-time + discount: + description: Global discount applied on the document + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + fiscal_year_id: + type: integer + nullable: true + description: ID of the estimate's fiscal year + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + readOnly: true + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + readOnly: true + taxes: + description: List of taxes used on the estimate + type: array + items: + type: object + description: Tax used + properties: + label: + type: string + id: + type: integer + rate: + type: string + amount: + type: string + required: + - label + - id + - rate + - amount + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: End date for service + example: '2023-01-31' + shipping_date: + type: string + format: date + description: Date of the shipping + nullable: true + required: + - id + - owner + - created + - date + - related + - contact_id + - invoicing_address_id + - delivery_address_id + - assigned_staff_id + - status + - number + - amounts + - currency + - subject + - public_link + - public_link_enabled + - payment_method_ids + - fiscal_year_id + - type: object + properties: + rows: + type: array + items: + $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/rows/items + required: + - id + - owner + - created + - date + - related + - contact_id + - invoicing_address_id + - delivery_address_id + - assigned_staff_id + - status + - number + - amounts + - currency + - subject + - public_link + - public_link_enabled + - rows + EstimateCompute: + type: object + properties: + owner: + type: object + properties: + type: + type: string + id: + type: integer + required: + - type + - id + rows: + type: array + items: + type: object + anyOf: + - title: Single Row + type: object + additionalProperties: false + properties: + type: + type: string + enum: + - single + unit_id: + type: integer + description: Id of unit of measurement of quantity + purchase_amount: + type: string + description: Purchase amount + unit_amount: + description: Unit amount without tax. + type: string + example: '22.20' + tax_id: + type: integer + description: Tax identifier + example: 12 + quantity: + type: string + description: Quantity + example: '7.2' + reference: + type: string + description: Row reference + example: MB880174910 + description: + type: string + nullable: true + description: Row description + example: Aluminium rail 4x3m + discount: + type: object + nullable: true + description: Discount applied on the row + properties: + type: + type: string + description: >- + Type of the discount. Express her in percentage or + with an amount + enum: + - percent + - amount + example: amount + value: + oneOf: + - type: string + description: >- + value of discount (Expressed in amount or percent + depending choosen type) + example: '20.5' + total: + type: string + description: Total of all discount for this row + example: '400' + tax_rate: + type: string + description: Tax rate + readOnly: true + example: '20.00' + tax_amount: + type: string + description: Tax amount + readOnly: true + example: '23.44' + tax_label: + type: string + description: Tax label + readOnly: true + example: tva + amount_tax_inc: + type: string + description: total amount of row tax included + readOnly: true + example: '1229.93' + amount_tax_exc: + type: string + description: total amount of row without tax + readOnly: true + example: '445.33' + accounting_code_id: + type: integer + description: Accouting code id of row + example: 7576 + analytic_code: + type: string + nullable: true + description: Analytic code of row + example: divers + required: + - quantity + - unit_amount + - type + - title: Shipping/Packaging Row + description: By default take value of related item + type: object + additionalProperties: false + properties: + type: + type: string + enum: + - shipping + - packaging + related: + type: object + description: Related shipping or packaging + properties: + id: + type: integer + description: item identifier + type: + type: string + description: Type of item + enum: + - shipping + - packaging + unit_amount: + description: Unit amount without tax. + type: string + example: '90.22' + tax_id: + type: integer + description: Tax identifier + example: 12 + quantity: + type: string + description: Quantity + example: '7.2' + reference: + type: string + description: Row reference + example: MB880174910 + deprecated: true + description: + type: string + nullable: true + description: Row description + example: Aluminium rail 4x3m + deprecated: true + discount: + type: object + nullable: true + description: Discount applied on the row + properties: + type: + type: string + description: >- + Type of the discount. Express her in percentage or + with an amount + enum: + - percent + - amount + example: amount + value: + oneOf: + - type: string + description: >- + value of discount (Expressed in amount or percent + depending choosen type) + example: '20.5' + total: + type: string + description: Total of all discount for this row + example: '400' + accounting_code_id: + type: integer + description: Accouting code id of row + example: 7576 + analytic_code: + type: string + nullable: true + description: Analytic code of row + example: divers + tax_rate: + type: string + description: Tax rate + readOnly: true + example: '20.00' + tax_amount: + type: string + description: Tax amount + readOnly: true + example: '23.44' + tax_label: + type: string + description: Tax label + readOnly: true + example: tva + amount_tax_inc: + type: string + description: total amount of row tax included + readOnly: true + example: '1229.93' + amount_tax_exc: + type: string + description: total amount of row without tax + readOnly: true + example: '445.33' + required: + - related + - quantity + - type + - title: Catalog Item Row + description: By default take value of related item + type: object + additionalProperties: false + properties: + type: + type: string + enum: + - catalog + related: + type: object + description: Related product or service + properties: + id: + type: integer + description: item identifier + type: + type: string + description: Type of item + enum: + - product + - service + unit_amount: + description: Unit amount + type: string + example: '29.28' + eco_tax: + type: object + nullable: true + description: Eco tax applied on the row + properties: + type: + type: string + enum: + - inc + - excl + value: + type: string + example: '22.44' + purchase_amount: + type: string + description: Purchase amount + unit_id: + type: integer + description: Id of unit of measurement of quantity + warehouse_id: + type: integer + nullable: true + description: Warehouse identifier + sku_id: + nullable: true + type: integer + description: Bar code id + tax_id: + type: integer + description: Tax identifier + example: 12 + quantity: + type: string + description: Quantity + example: '7.2' + reference: + type: string + description: Row reference + example: MB880174910 + description: + type: string + nullable: true + description: Row description + example: Aluminium rail 4x3m + discount: + type: object + nullable: true + description: Discount applied on the row + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + oneOf: + - type: string + description: value of discount + example: '25.20' + total: + type: string + description: Total of all discount for this row + example: '400' + tax_rate: + type: string + description: Tax rate + readOnly: true + example: '20.00' + tax_amount: + type: string + description: Tax amount + readOnly: true + example: '23.44' + tax_label: + type: string + description: Tax label + readOnly: true + example: tva + amount_tax_inc: + type: string + description: total amount of row tax included + readOnly: true + example: '1229.93' + amount_tax_exc: + type: string + description: total amount of row without tax + readOnly: true + example: '445.33' + accounting_code_id: + type: integer + description: Accouting code id of row + example: 7576 + analytic_code: + type: string + nullable: true + description: Analytic code of row + example: divers + required: + - related + - quantity + - type + - type: object + title: Comment Row + additionalProperties: false + properties: + type: + type: string + enum: + - comment + text: + type: string + required: + - type + - type: object + title: Title Row + additionalProperties: false + properties: + type: + type: string + enum: + - title + text: + type: string + required: + - type + - type: object + title: Sub Total Row + additionalProperties: false + properties: + type: + type: string + enum: + - sub-total + amount: + type: string + readOnly: true + description: Amount of the sub-total + required: + - type + - type: object + title: Break Line Row + additionalProperties: false + properties: + type: + type: string + enum: + - break-line + required: + - type + - type: object + title: Break Page Row + additionalProperties: false + properties: + type: + type: string + enum: + - break-page + required: + - type + date: + description: Date of the estimate + type: string + format: date + related: + type: array + minItems: 1 + maxItems: 1 + description: | + Objects linked to the estimate : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only of type `client` or `prospect` + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + items: + type: object + description: Object linked to the estimate (a Company or an Individual) + properties: + type: + type: string + enum: + - company + - individual + id: + type: integer + required: + - type + - id + contact_id: + description: Contact of company linked to the estimate + type: integer + nullable: true + assigned_staff_id: + description: Staff in charge of the estimate + type: integer + status: + description: Status of the estimate (draft if not provided at the creation) + type: string + readOnly: true + example: draft + enum: + - draft + - sent + - read + - accepted + - refused + - expired + - advanced + - partialinvoiced + - invoiced + - cancelled + number: + type: string + description: Estimate number + example: EST-20210611-0010 + amounts: + description: Amounts of estimate with and without taxe + type: object + readOnly: true + properties: + shipping: + type: string + description: Total shipping amount + example: '128.54' + packaging: + type: string + description: Total packaging amount + example: '40.24' + total_raw_excl_tax: + type: string + description: Total without tax and without global discount + example: '933.07' + total_after_discount_excl_tax: + type: string + description: Total without tax and after discount applied + example: '821.10' + total_excl_tax: + description: Total net without tax + type: string + example: '843.10' + total: + type: string + description: Total amount with taxes + example: '898.97' + required: + - shipping + - packaging + - total_raw_excl_tax + - total_after_discount_excl_tax + - total_excl_tax + - total + currency: + description: Currency code of estimate + type: string + subject: + description: Subject of estimate + type: string + public_link: + description: Public link of estimate + type: string + nullable: true + readOnly: true + public_link_enabled: + type: boolean + description: Public link is enabled + payment_method_ids: + type: array + description: payments methods allowed on the estimate + nullable: true + items: + type: integer + decimal_number: + readOnly: true + type: object + description: Precision for decimal numbers + properties: + unit_price: + type: integer + nullable: true + description: Precision of unit price + quantity: + type: integer + nullable: true + description: Precision of quantity + main: + type: integer + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + pdf_link: + type: string + format: uri + readOnly: true + description: >- + Link to the pdf of estimate. /!\ Link is regenerate after an update + of estimate + expiry_date: + description: Expiry date of the estimate + type: string + format: date + nullable: true + taxes: + description: List of taxes used on the estimate + type: array + items: + type: object + description: Tax used + properties: + label: + type: string + id: + type: integer + rate: + type: string + amount: + type: string + required: + - label + - id + - rate + - amount + discount: + description: Global discount applied on the document + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + required: + - owner + - date + - related + - contact_id + - assigned_staff_id + - status + - number + - amounts + - currency + - subject + - public_link + - public_link_enabled + - payment_method_ids + EstimateFilters: + title: estimate filters + type: object + description: The estimates filters + properties: + filters: + type: object + description: estimates filters + properties: + created: + title: Created at + type: object + description: Filter the estimate list by creation date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + owners: + title: Owners + type: array + description: Filter the estimate list by owner (staff id) + items: + type: integer + date: + title: Document date + type: object + description: Filter the estimate list by date + properties: + start: + type: string + format: date + example: '2020-01-01' + end: + type: string + format: date + example: '2020-02-01' + related_objects: + title: Related Objects + type: array + items: + type: object + properties: + type: + type: string + enum: + - company + - individual + - opportunity + example: company + id: + type: integer + example: 22 + contacts: + title: Contact + type: array + description: Filter the estimate list by contact (contact id) + items: + type: integer + assigned_staff_ids: + title: Assigned staffs + type: array + description: Filter the estimate list by assigned staffs (staff id) + items: + type: integer + status: + title: Status + description: Filter the estimate list by status + example: + - draft + - sent + - read + type: array + items: + type: string + enum: + - draft + - sent + - read + - accepted + - refused + - expired + - advanced + - partialinvoiced + - invoiced + - cancelled + number: + title: number + type: string + description: Filter the estimate list by number (exact search) + example: DEVIS-0001 + currency: + title: currency + type: string + description: Currency code (exact search) + example: EUR + favourite_filter: + $ref: >- + #/components/schemas/ContactFilters/properties/filters/properties/favourite_filter + required: + - filters + SaleEmbed: + title: Embed for Estimate + description: Objects add to response. Use embed parameter + x-examples: {} + type: object + properties: + _embed: + allOf: + - type: object + properties: + payment_terms: + title: Document Payment Terms + description: Terms of payment of document + allOf: + - type: object + properties: + settings: + title: Payment terms configuration + description: >- + Description payment configuration applied to the + document + type: object + properties: + type: + description: Type of payment terms generation method + type: string + enum: + - settings + value: + type: object + description: Parameters of payment terms + properties: + id: + type: integer + description: Id of payment terms setting + label: + type: string + description: label of payment terms setting + example: Deadlines + x_days: + type: integer + description: >- + Number of days added to document date for + determine the due date + end_of_month: + type: boolean + description: >- + Does the due date have to be fixed to the + end of the month? (After the addition of + x_days) + override_date: + type: boolean + description: >- + Can the due date be overwritten in addition + to the parameters ? + required: + - id + - label + - type: object + properties: + computed_instalment_plan: + type: array + description: >- + List of deadlines computed with the payment terms + settings + items: + type: object + properties: + date: + type: string + description: due date + format: date + amount: + type: string + description: Total amount + - type: object + properties: + company: + title: Company + type: object + description: '' + x-examples: {} + properties: + id: + type: integer + description: Unique ID + example: 6657 + type: + type: string + enum: + - prospect + - client + - supplier + name: + type: string + description: Company name + example: Example company + maxLength: 250 + email: + description: Company email + type: string + format: email + example: contact@example-company.com + nullable: true + website: + type: string + format: url + description: Company website + example: http://example-company.com + nullable: true + phone_number: + type: string + description: Company phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Company mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Company Fax number + example: '+33100000000' + nullable: true + legal_france: + $ref: >- + #/paths/~1contacts~1%7Bid%7D~1companies/get/responses/200/content/application~1json/schema/properties/data/items/properties/legal_france + capital: + type: string + nullable: true + description: Company Capital + example: '4000' + reference: + type: string + description: Company reference + example: CLI-1654 + nullable: true + note: + type: string + description: Note on company + example: An handed-written note describing this company + auxiliary_code: + type: string + description: Auxiliary code + example: 0EX11C + nullable: true + social: + $ref: >- + #/paths/~1companies/post/requestBody/content/application~1json/schema/properties/social + rate_category_id: + type: integer + nullable: true + description: Company Rate category id + example: 9956 + main_contact_id: + description: Main contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + dunning_contact_id: + description: Dunning contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + invoicing_contact_id: + description: Invoicing contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + invoicing_address_id: + description: Invoicing address unique ID + type: integer + nullable: true + minimum: 1 + example: 9987 + delivery_address_id: + description: Delivery address unique ID + type: integer + nullable: true + minimum: 1 + example: 6547 + accounting_code_id: + type: integer + nullable: true + description: Company accounting code id + example: 12345 + accounting_purchase_code_id: + type: integer + nullable: true + description: Company accouting purchase code id + example: 98556 + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + created: + type: string + format: date-time + nullable: false + description: Datetime of creating company + example: '2020-05-29T11:22:03+02:00' + updated_at: + type: string + format: date-time + nullable: false + description: Datetime of the last update of the company + example: '2020-05-29T11:22:03+02:00' + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + business_segment: + type: object + description: Company business segment + nullable: true + properties: + id: + type: integer + example: 3 + label: + type: string + example: Software publisher / Digital services company + number_of_employees: + type: object + description: Number of employees of company + nullable: true + properties: + id: + type: integer + example: 1 + label: + type: string + example: From 1 to 5 + marketing_campaigns_subscriptions: + type: array + items: + type: string + enum: + - sms + - phone + - email + - postal_mail + - custom + description: list of campaign type subcribed + uniqueItems: true + individual: + title: Individual + type: object + description: '' + x-examples: {} + properties: + id: + type: integer + description: Unique ID + example: 6657 + type: + type: string + enum: + - prospect + - client + - supplier + last_name: + type: string + description: Individual contact lastname + example: Martin + maxLength: 200 + first_name: + type: string + description: Individual contact firstname + example: Jean + nullable: true + civility: + type: string + description: Civility of individual + example: mr + nullable: true + enum: + - mr + - mrs + - ms + email: + description: Individual email + type: string + format: email + example: jean.martin@personal-example.com + nullable: true + website: + type: string + format: url + description: Individual website + example: http://personal-example.com + nullable: true + phone_number: + type: string + description: Phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Fax number + example: '+33100000000' + nullable: true + reference: + type: string + description: Internal reference + example: IND-1654 + nullable: true + note: + type: string + description: Note on individual + example: An handed-written note describing this individual + auxiliary_code: + type: string + description: Auxiliary code + example: 0EX11C + nullable: true + social: + $ref: >- + #/paths/~1companies/post/requestBody/content/application~1json/schema/properties/social + rate_category_id: + type: integer + nullable: true + description: Rate category id + example: 9956 + main_contact_id: + description: Main contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + dunning_contact_id: + description: Dunning contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + invoicing_contact_id: + description: Invoicing contact unique ID + type: integer + nullable: true + minimum: 1 + example: 6654 + invoicing_address_id: + description: Invoicing address unique ID + type: integer + nullable: true + minimum: 1 + example: 9987 + delivery_address_id: + description: Delivery address unique ID + type: integer + nullable: true + minimum: 1 + example: 6547 + accounting_code_id: + type: integer + nullable: true + description: Accounting code id + example: 12345 + accounting_purchase_code_id: + type: integer + nullable: true + description: Accouting purchase code id + example: 98556 + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + created: + type: string + format: date-time + nullable: false + description: Datetime of creation + example: '2020-05-29T11:22:03+02:00' + updated_at: + type: string + format: date-time + nullable: false + description: Datetime of the last update of the individual + example: '2020-05-29T11:22:03+02:00' + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + marketing_campaigns_subscriptions: + type: array + items: + type: string + enum: + - sms + - phone + - email + - postal_mail + - custom + description: list of campaign type subcribed + uniqueItems: true + sync: + type: object + properties: + mailchimp: + type: boolean + description: Activate the mailchimp synchronization + nullable: false + mailjet: + type: boolean + description: Activate the mailjet synchronization + nullable: false + simplemail: + type: boolean + description: Activate the simplemail synchronization + nullable: false + contact: + $ref: '#/components/schemas/ContactItem/allOf/0' + invoicing_address: + type: object + title: Address + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + name: + type: string + description: Address name + example: Main office + minLength: 2 + address_line_1: + type: string + description: Address line one + example: 30 Commercial Road + nullable: true + address_line_2: + type: string + description: Address line two + example: Finance and Accounting + nullable: true + address_line_3: + type: string + description: Address line three + example: Lighthouse Promotions + nullable: true + address_line_4: + type: string + description: Address line four + example: PO Box 215 + nullable: true + postal_code: + type: string + nullable: true + description: Address postal code + example: '75012' + minLength: 2 + city: + type: string + description: Address city name + example: Paris + minLength: 2 + country: + type: string + description: Address country + nullable: true + example: France + minLength: 2 + country_code: + type: string + description: Address country code + example: FR + minLength: 2 + maxLength: 2 + is_invoicing_address: + readOnly: true + type: boolean + is_delivery_address: + readOnly: true + type: boolean + geocode: + type: object + properties: + lat: + type: number + nullable: true + example: 46.140862 + lng: + type: number + nullable: true + example: -1.168249 + delivery_address: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + currency: + type: object + title: Currency + properties: + id: + type: integer + description: Currency Identifier + readOnly: true + example: 13 + code: + type: string + description: Currency code (EUR, USD..) + readOnly: true + example: EUR + symbol: + type: string + description: Currency symbol (€, $) + example: € + readOnly: true + is_default: + type: boolean + description: Is default currency? + example: true + acl: + title: EstimateAcl + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Document can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Document can be deleted + example: true + payment_method_ids: + type: array + items: + type: object + title: Payment method object + properties: + id: + type: integer + description: Payment method identifier + label: + type: string + description: Payment method label + fiscal_year: + type: object + title: Fiscal year + properties: + id: + type: integer + description: Fiscal year's ID + start_at: + type: string + format: date + description: Start date of the fiscal yaer + end_at: + type: string + format: date + description: End date of the fiscal year + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - title: smart tag + type: array + items: + type: object + properties: + value: + type: string + description: value of smart tags + example: smart tag + id: + type: integer + description: id of smart tags + example: 55 + - type: object + properties: + custom_fields: + type: array + nullable: true + description: Custom-fields values requested + items: + anyOf: + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/0 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/1 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/2 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/3 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/4 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/5 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/6 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/7 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/8 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/9 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/10 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/11 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/12 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/13 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/14 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/15 + - $ref: >- + #/paths/~1companies~1%7Bid%7D~1custom-fields/get/responses/200/content/application~1json/schema/properties/data/items/anyOf/16 + EstimateOneEmbed: + title: Embed for Estimate + description: Objects add to response. Use embed parameter + x-examples: {} + type: object + properties: + _embed: + allOf: + - $ref: '#/components/schemas/SaleEmbed/properties/_embed/allOf/0' + - type: object + properties: + discount_incl_taxes: + type: object + description: Discount including taxes of document + properties: + id: + type: integer + description: identifier of discount + readOnly: true + example: 31 + reference: + type: string + description: Reference of discount + minLength: 1 + maxLength: 250 + example: Halloween five last day + name: + type: string + description: Name of discount + minLength: 1 + maxLength: 250 + example: Halloween promotion + description: + type: string + description: Description visible on the document + minLength: 1 + maxLength: 1000 + example: For purchases made during the last five days of October + unit_id: + type: integer + description: Unit id + example: 31 + unit_amount: + type: string + description: Amount of unit + minLength: 0 + example: 31 + quantity: + type: integer + description: Quantity of discounts + example: 2 + total_amount: + type: string + description: Unit amount multiplied by quantity + example: 62 + accounting_code_id: + type: integer + description: > +
  • If the accounting code is not empty, we use + it.
  • If the accounting code is empty AND if the + account has activated dedicated accounting codes for + discounts including VAT, we use it.
  • Otherwise, + we use the default accounting code for + companies.
+ nullable: true + example: 31 + - type: object + properties: + company: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + individual: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + contact: + $ref: '#/components/schemas/ContactItem/allOf/0' + invoicing_address: {} + delivery_address: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/invoicing_address + currency: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/currency + acl: + title: EstimateAcl + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Document can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Document can be deleted + example: true + payment_method_ids: + type: array + items: + type: object + title: Payment method object + properties: + id: + type: integer + description: Payment method identifier + label: + type: string + description: Payment method label + fiscal_year: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/fiscal_year + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + - $ref: '#/components/schemas/SaleEmbed/properties/_embed/allOf/2' + Address: + type: object + title: Address + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + name: + type: string + description: Address name + example: Main office + minLength: 2 + address_line_1: + type: string + description: Address line one + example: 30 Commercial Road + nullable: true + address_line_2: + type: string + description: Address line two + example: Finance and Accounting + nullable: true + address_line_3: + type: string + description: Address line three + example: Lighthouse Promotions + nullable: true + address_line_4: + type: string + description: Address line four + example: PO Box 215 + nullable: true + postal_code: + type: string + nullable: true + description: Address postal code + example: '75012' + minLength: 2 + city: + type: string + description: Address city name + example: Paris + minLength: 2 + country: + type: string + description: Address country + nullable: true + example: France + minLength: 2 + country_code: + type: string + description: Address country code + example: FR + minLength: 2 + maxLength: 2 + is_invoicing_address: + readOnly: true + type: boolean + is_delivery_address: + readOnly: true + type: boolean + geocode: + type: object + properties: + lat: + type: number + nullable: true + example: 46.140862 + lng: + type: number + nullable: true + example: -1.168249 + AddressCreate: + type: object + required: + - name + - address_line_1 + - postal_code + - city + - country_code + properties: + name: + type: string + description: Address name + example: Main office + minLength: 2 + nullable: false + address_line_1: + type: string + description: Address line one + example: 30 Commercial Road + nullable: false + address_line_2: + type: string + description: Address line two + example: Finance and Accounting + nullable: true + address_line_3: + type: string + description: Address line three + example: Lighthouse Promotions + nullable: true + address_line_4: + type: string + description: Address line four + example: PO Box 215 + nullable: true + postal_code: + type: string + nullable: false + description: Address postal code + example: '75012' + minLength: 2 + city: + type: string + description: Address city name + example: Paris + minLength: 2 + nullable: false + country_code: + type: string + description: Address country code + example: FR + minLength: 2 + maxLength: 2 + nullable: false + is_invoicing_address: + type: boolean + description: >- + default to true if no invoicing address is already defined, false + otherwise + is_delivery_address: + type: boolean + description: >- + default to true if no delivery address is already defined, false + otherwise + geocode: + type: object + properties: + lat: + type: number + nullable: true + example: 46.140862 + lng: + type: number + nullable: true + example: -1.168249 + AddressUpdate: + type: object + properties: + name: + type: string + description: Address name + example: Main office + minLength: 2 + nullable: false + address_line_1: + type: string + description: Address line one + example: 30 Commercial Road + nullable: false + address_line_2: + type: string + description: Address line two + example: Finance and Accounting + nullable: true + address_line_3: + type: string + description: Address line three + example: Lighthouse Promotions + nullable: true + address_line_4: + type: string + description: Address line four + example: PO Box 215 + nullable: true + postal_code: + type: string + nullable: false + description: Address postal code + example: '75012' + minLength: 2 + city: + type: string + description: Address city name + example: Paris + minLength: 2 + nullable: false + country_code: + type: string + description: Address country code + example: FR + minLength: 2 + maxLength: 2 + nullable: false + is_invoicing_address: + type: boolean + is_delivery_address: + type: boolean + geocode: + type: object + properties: + lat: + type: number + nullable: true + example: 46.140862 + lng: + type: number + nullable: true + example: -1.168249 + Staff: + title: Staff Schemas + description: Staff schemas according of current user level of visibility on staffs + allOf: + - title: Staff restricted visibility + type: object + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + lastname: + type: string + description: Staff last name + example: Smith + maxLength: 200 + nullable: true + firstname: + type: string + description: Staff first name + example: John + maxLength: 200 + nullable: true + email: + type: string + format: email + description: Staff email address + example: john@example-company.com + avatar: + type: string + nullable: true + description: Avatar url + format: uri + readOnly: true + status: + type: string + description: Staff status + enum: + - ok + - blocked + - deleted + readOnly: true + position: + type: string + description: Staff position + example: Sales manager + nullable: true + - type: object + properties: + phone_number: + type: string + description: Staff phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Staff mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Staff fax number + example: '+33500000000' + nullable: true + groups: + type: array + nullable: true + description: Staff groups + readOnly: true + items: + type: object + properties: + id: + type: integer + example: 1 + name: + type: string + example: Sales + civility: + type: string + description: Civility of staff + example: mrs + nullable: true + enum: + - mr + - mrs + - ms + created: + type: string + description: Creation date of the staff + format: date-time + example: '1970-01-01T00:00:00+00:00' + readOnly: true + profile: + type: integer + description: Staff privilège profile + example: 3443 + team: + nullable: true + type: object + properties: + id: + type: integer + example: -1 + name: + type: string + example: Commercial + description: Staff team position + job: + nullable: true + type: object + properties: + id: + type: integer + example: -1 + name: + type: string + example: Office manager + description: Staff job + timezone: + type: string + description: Staff time zone + example: Europe/Paris + language: + type: string + description: Staff language + example: fr + StaffRestrictedView: + title: Staff restricted visibility + type: object + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + lastname: + type: string + description: Staff last name + example: Smith + maxLength: 200 + nullable: true + firstname: + type: string + description: Staff first name + example: John + maxLength: 200 + nullable: true + email: + type: string + format: email + description: Staff email address + example: john@example-company.com + avatar: + type: string + nullable: true + description: Avatar url + format: uri + readOnly: true + status: + type: string + description: Staff status + enum: + - ok + - blocked + - deleted + readOnly: true + position: + type: string + description: Staff position + example: Sales manager + nullable: true + StaffUpdateItem: + title: Staff + description: Staff update request body + type: object + properties: + lastname: + type: string + description: Staff last name + example: Smith + maxLength: 200 + nullable: false + firstname: + type: string + description: Staff first name + example: John + maxLength: 200 + nullable: false + email: + type: string + format: email + description: Staff email address + example: john@example-company.com + phone_number: + type: string + description: Staff phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Staff mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Staff fax number + example: '+33500000000' + nullable: true + civility: + type: string + description: Civility of staff + example: mrs + nullable: true + enum: + - mr + - mrs + - ms + position: + type: string + description: Staff position + example: Sales manager + maxLength: 200 + nullable: true + profile: + type: integer + description: Staff privilège profile + example: 3443 + team: + type: integer + description: Staff team position + example: -1 + job: + type: integer + description: Staff job + example: -1 + timezone: + type: string + description: Staff time zone + example: Europe/Paris + language: + type: string + description: Staff language + example: fr + licenses: + title: Licenses + type: array + minItems: 0 + maxItems: 1 + items: + type: object + properties: + id: + type: string + description: License identifier + example: 9998a80a-7b75-4616-96d5-7ccff7ac08e8 + is_active: + type: boolean + description: > + Status of the staff access
If your account contains licenses, + those already attached to this collaborator will remain so, you will + have to specify the "licenses" property to free the licenses + example: true + StaffPreferences: + title: Staff preferences + type: object + properties: + timezone: + type: string + description: Staff timezone + example: Europe/Paris + format_phone_number: + readOnly: true + type: string + description: display phone number format + enum: + - international + - national + example: international + format_date: + readOnly: true + type: string + description: display date format + example: DD-MM-YYYY + enum: + - MM-DD-YYYY + - DD-MM-YYYY + format_hour: + readOnly: true + type: string + description: display hour format + example: 24 + enum: + - 12 + - 24 + currency: + readOnly: true + type: string + description: current currency for staff + example: EUR + StaffAcl: + title: Staff ACL + type: object + description: '' + x-examples: {} + properties: + view_companies: + type: boolean + nullable: false + description: Is allowed to view companies + example: true + create_companies: + type: boolean + nullable: false + description: Is allowed to create companies + example: true + update_companies: + type: boolean + nullable: false + description: Is allowed to update companies + example: true + delete_companies: + type: boolean + nullable: false + description: Is allowed to delete companies + example: true + view_individuals: + type: boolean + nullable: false + description: Is allowed to view individuals + example: true + create_individuals: + type: boolean + nullable: false + description: Is allowed to create individuals + example: true + update_individuals: + type: boolean + nullable: false + description: Is allowed to update individuals + example: true + delete_individuals: + type: boolean + nullable: false + description: Is allowed to delete individuals + example: true + view_clients: + type: boolean + nullable: false + description: Is allowed to view clients + example: true + create_clients: + type: boolean + nullable: false + description: Is allowed to create clients + example: true + update_clients: + type: boolean + nullable: false + description: Is allowed to update clients + example: true + delete_clients: + type: boolean + nullable: false + description: Is allowed to delete clients + example: true + view_prospects: + type: boolean + nullable: false + description: Is allowed to view prospects + example: true + create_prospects: + type: boolean + nullable: false + description: Is allowed to create prospects + example: true + update_prospects: + type: boolean + nullable: false + description: Is allowed to update prospects + example: true + delete_prospects: + type: boolean + nullable: false + description: Is allowed to delete prospects + example: true + view_suppliers: + type: boolean + nullable: false + description: Is allowed to view suppliers + example: true + create_suppliers: + type: boolean + nullable: false + description: Is allowed to create suppliers + example: true + update_suppliers: + type: boolean + nullable: false + description: Is allowed to update suppliers + example: true + delete_suppliers: + type: boolean + nullable: false + description: Is allowed to delete suppliers + example: true + view_contacts: + type: boolean + nullable: false + description: Is allowed to view contacts + example: true + create_contacts: + type: boolean + nullable: false + description: Is allowed to create contacts + example: true + update_contacts: + type: boolean + nullable: false + description: Is allowed to update contacts + example: true + delete_contacts: + type: boolean + nullable: false + description: Is allowed to delete contacts + example: true + view_opportunities: + type: boolean + nullable: false + description: Is allowed to view opportunities + example: true + create_opportunities: + type: boolean + nullable: false + description: Is allowed to create opportunities + example: true + update_opportunities: + type: boolean + nullable: false + description: Is allowed to update opportunities + example: true + delete_opportunities: + type: boolean + nullable: false + description: Is allowed to delete opportunities + example: true + view_estimates: + type: boolean + nullable: false + description: Is allowed to view estimates + example: true + create_estimates: + type: boolean + nullable: false + description: Is allowed to create estimates + example: true + update_estimates: + type: boolean + nullable: false + description: Is allowed to update estimates + example: true + delete_estimates: + type: boolean + nullable: false + description: Is allowed to delete estimates + example: true + view_phone_calls: + type: boolean + nullable: false + description: Is allowed to view phone calls + example: true + create_phone_calls: + type: boolean + nullable: false + description: Is allowed to create phone calls + example: true + update_phone_calls: + type: boolean + nullable: false + description: Is allowed to update phone calls + example: true + delete_phone_calls: + type: boolean + nullable: false + description: Is allowed to delete phone calls + example: true + view_document_models: + type: boolean + nullable: false + description: Is allowed to view document models + example: true + create_document_models: + type: boolean + nullable: false + description: Is allowed to create document models + example: true + update_document_models: + type: boolean + nullable: false + description: Is allowed to update document models + example: true + delete_document_models: + type: boolean + nullable: false + description: Is allowed to delete document models + example: true + view_invoices: + type: boolean + nullable: false + description: Is allowed to view invoices + example: true + create_invoices: + type: boolean + nullable: false + description: Is allowed to create invoices + example: true + update_invoices: + type: boolean + nullable: false + description: Is allowed to update invoices + example: true + delete_invoices: + type: boolean + nullable: false + description: Is allowed to delete invoices + example: true + validate_invoices: + type: boolean + nullable: false + description: Is allowed to validate invoices + view_credit_notes: + type: boolean + nullable: false + description: Is allowed to view credit notes + example: true + create_credit_notes: + type: boolean + nullable: false + description: Is allowed to create credit notes + example: true + update_credit_notes: + type: boolean + nullable: false + description: Is allowed to update credit notes + example: true + delete_credit_notes: + type: boolean + nullable: false + description: Is allowed to delete credit notes + example: true + validate_credit_notes: + type: boolean + nullable: false + description: Is allowed to validate credit notes + example: true + view_orders: + type: boolean + nullable: false + description: Is allowed to view orders + example: true + create_orders: + type: boolean + nullable: false + description: Is allowed to create orders + example: true + update_orders: + type: boolean + nullable: false + description: Is allowed to update orders + example: true + delete_orders: + type: boolean + nullable: false + description: Is allowed to delete orders + example: true + view_deliveries: + type: boolean + nullable: false + description: Is allowed to view deliveries + example: true + view_proformas: + type: boolean + nullable: false + description: Is allowed to view proformas + example: true + view_purchase_invoices: + type: boolean + nullable: false + description: Is allowed to view purchase invoices + example: true + view_purchase_credit_notes: + type: boolean + nullable: false + description: Is allowed to view purchase credit notes + example: true + view_purchase_deliveries: + type: boolean + nullable: false + description: Is allowed to view purchase deliveries + example: true + view_purchase_orders: + type: boolean + nullable: false + description: Is allowed to view purchase orders + example: true + view_items: + type: boolean + nullable: false + description: Is allowed to view items + example: true + create_items: + type: boolean + nullable: false + description: Is allowed to create items + example: true + update_items: + type: boolean + nullable: false + description: Is allowed to update items + example: true + delete_items: + type: boolean + nullable: false + description: Is allowed to delete items + example: true + view_payments: + type: boolean + description: Is allowed to view payments + example: true + create_payments: + type: boolean + description: Is allowed to create payments + example: true + update_payments: + type: boolean + description: Is allowed to update payments + example: true + delete_payments: + type: boolean + description: Is allowed to delete payments + example: true + attach_payments: + type: boolean + description: Is allowed to attach existing payments to objects + example: true + view_subscriptions: + type: boolean + description: Is allowed to view subscriptions + example: true + create_subscriptions: + type: boolean + description: Is allowed to create subscriptions + example: true + update_subscriptions: + type: boolean + description: Is allowed to update subscriptions + example: true + delete_subscriptions: + type: boolean + description: Is allowed to delete subscriptions + example: true + view_cashflow: + type: boolean + nullable: false + description: Is allowed to view cashflow + example: true + create_cashflow: + type: boolean + nullable: false + description: Is allowed to create cashflow + example: true + view_files: + type: boolean + nullable: false + description: Is allowed to view files + example: true + attach_files: + type: boolean + nullable: false + description: Is allowed to attach files + example: true + delete_files: + type: boolean + nullable: false + description: Is allowed to delete files + example: true + view_tickets: + type: boolean + nullable: false + description: Is allowed to view support tickets + example: true + StaffCreateItem: + title: Staff + description: Staff creation request body + type: object + properties: + lastname: + type: string + description: Staff last name + example: Smith + maxLength: 200 + nullable: false + firstname: + type: string + description: Staff first name + example: John + maxLength: 200 + nullable: false + email: + type: string + format: email + description: Staff email address + example: john@example-company.com + phone_number: + type: string + description: Staff phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Staff mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Staff fax number + example: '+33500000000' + nullable: true + civility: + type: string + description: Civility of staff + example: mrs + nullable: true + enum: + - mr + - mrs + - ms + position: + type: string + description: Staff position + example: Sales manager + maxLength: 200 + nullable: true + profile: + type: integer + description: Staff privilège profile + example: 3443 + team: + type: integer + description: Staff team position + example: -1 + job: + type: integer + description: Staff job + example: -1 + timezone: + type: string + description: Staff time zone + example: Europe/Paris + language: + type: string + description: Staff language + example: fr + first_connection_onboarding: + type: boolean + description: Staff onboarding on first connection + example: true + licenses: + title: Licenses + type: array + minItems: 0 + maxItems: 1 + items: + type: object + properties: + id: + type: string + description: License identifier + example: 9998a80a-7b75-4616-96d5-7ccff7ac08e8 + required: + - email + - civility + - lastname + - firstname + - profile + - team + - job + - timezone + - language + - first_connection_onboarding + StaffAutocompleteResultItem: + type: object + title: Staff search result + properties: + id: + type: string + readOnly: true + description: Unique ID + example: 6657 + object: + type: object + description: Main object + properties: + type: + type: string + default: staff + sub_type: + type: string + default: staff + nullable: true + id: + type: integer + example: 11 + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + readOnly: true + created: + type: string + format: datetime + description: Created datetime of object + example: '2020-05-29T11:22:03+02:00' + readOnly: true + updated: + type: string + format: datetime + description: updated datetime of object + example: '2020-05-29T11:22:03+02:00' + readOnly: true + is_archived: + type: boolean + description: Staff status is archived + example: false + first_name: + description: Staff first name + type: string + format: text + example: John + nullable: true + last_name: + description: Staff last name + type: string + format: text + example: Doe + nullable: true + phone_number: + type: string + description: Staff phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Staff mobile number + example: '+33100000000' + nullable: true + blocked: + description: Staff active status + type: boolean + email: + description: Staff email + type: string + format: email + example: john.doe@example-company.com + nullable: true + position: + type: string + nullable: true + description: Staff job + example: Financial + Social: + type: object + properties: + twitter: + type: string + format: url + description: Twitter account + example: https://twitter.com/example + nullable: true + facebook: + type: string + format: url + description: Facebook account + example: https://facebook.com/example + nullable: true + linkedin: + type: string + format: url + description: Linkedin account + example: https://linkedin.com/example + nullable: true + viadeo: + type: string + format: url + description: Viadeo account + example: https://viadeo.com/example + nullable: true + Owner: + type: object + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + type: + type: string + readOnly: true + description: Type of owner + example: staff + Pagination: + title: pagination + type: object + description: The pagination + properties: + limit: + type: integer + example: 25 + minimum: 0 + maximum: 100 + total: + type: integer + example: 152 + minimum: 0 + count: + type: integer + example: 25 + minimum: 0 + offset: + anyOf: + - type: integer + minimum: 0 + example: 25 + - type: string + example: WzIwMTQtMDEtMDEsNTk4XQ== + required: + - limit + - total + - count + - offset + FavouriteFilters: + title: Favourite filters + description: Favourite filters for entity + type: array + items: + type: object + properties: + type: + type: string + description: Favourite filters name + example: Created this year + id: + type: integer + description: Favourite filters id + example: 1 + Deals: + type: object + description: The deals activity + properties: + id: + type: string + description: Id of activity + example: 2wto807ysxa + event: + type: string + description: Event type + example: task.created + author: + type: object + properties: + type: + type: string + enum: + - staff + example: staff + id: + type: integer + minimum: 1 + example: 1024 + event_date: + type: string + description: Date of activity + format: date-time + due_date: + type: string + format: date-time + description: Due date of activity + event_details: + type: object + description: Details of events + additionalProperties: true + event_more: + type: object + description: Additional informations + example: + old: client + new: prospect + additionalProperties: true + object: + type: object + description: Event object of activity + required: + - type + - id + properties: + type: + type: string + example: task + id: + oneOf: + - type: string + example: 1056 + minLength: 1 + - type: integer + example: 1056 + minimum: 1 + model: + nullable: true + oneOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + - title: Opportunity + type: object + description: Describe opportunity object + properties: + id: + type: integer + description: Internal Opportunity ID + readOnly: true + example: 1 + number: + type: string + description: External Opportunity ID + example: OPP-1155 + name: + type: string + description: Opportunity name + example: New website + source: + type: object + description: Source of opportunity creation + properties: + id: + type: integer + example: 1 + name: + type: string + example: Internal + due_date: + type: string + description: Due date of the opportunity + format: date + example: '1970-01-01' + nullable: true + created: + type: string + description: Creation date of the opportunity + format: date-time + example: '1970-01-01T00:00:00+00:00' + updated_status: + type: string + description: Date of last opportunity status update + format: date-time + example: '1970-01-01T00:00:00+00:00' + nullable: true + status: + type: string + description: Opportunity status + example: won + enum: + - open + - won + - lost + - cancelled + - closed + - late + amount: + type: object + description: Potential amount of the opportunity with the currency + properties: + value: + type: string + description: Amount + example: 72000.99 + currency: + type: string + description: Currency (ISO 4217) + example: EUR + pipeline: + type: object + description: Current pipeline + properties: + id: + type: integer + example: 9763 + name: + type: string + example: Commercial North + step: + type: object + description: Current step + properties: + id: + type: integer + example: 299 + name: + type: string + example: Prospection + probability: + type: integer + description: Opportunity probability + example: 75 + maximum: 100 + minimum: 0 + note: + type: string + description: Opportunity note + owner: + type: object + description: Staff owning the opportunity + properties: + id: + type: integer + example: 12 + type: + type: string + example: staff + enum: + - staff + - thirdcontact + assigned_staff_ids: + type: array + description: Staff(s) ID assigned to the opportunity + example: + - 133 + - 299 + items: + type: integer + nullable: true + contact_ids: + type: array + description: Contact(s) ID responsible for the opportunity + example: + - 222 + - 876 + items: + type: integer + nullable: true + company_id: + type: integer + description: Company linked to the opportunity + example: 1220 + nullable: true + individual_id: + type: integer + description: Individual linked to the opportunity + example: 299 + nullable: true + main_doc_id: + type: integer + description: Internal ID of the main opportunity document + nullable: true + example: 22 + related: + $ref: >- + #/components/schemas/OpportunityUpdate/properties/related + _embed: + $ref: '#/components/schemas/OpportunityItem/properties/_embed' + - title: Task + type: object + description: Task base object + x-examples: {} + properties: + id: + type: integer + readOnly: true + description: Task ID + example: 6657 + title: + type: string + example: Meeting + description: Task title + nullable: true + description: + type: string + example: Monthly meeting with consulting team + description: Task description + nullable: true + status: + type: string + example: todo + description: Task status + readOnly: true + enum: + - todo + - done + is_private: + type: boolean + description: Task is private or public + default: false + due_date: + description: due date and time of task + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + assigned_staff_ids: + type: array + nullable: true + items: + type: integer + description: staffs assigned to the task + example: 1 + label: + $ref: '#/components/schemas/LabelBaseItem/properties/label' + updated: + description: Updated date of task (system) + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + readOnly: true + created: + description: Created date of task (system) + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + readOnly: true + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: Main object related to the task (limit to 1). + items: + type: object + additionalProperties: false + description: Main object related to the task + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - invoice + - creditnote + - estimate + - order + owner: + description: Owner of the task + type: object + properties: + type: + type: string + description: owner type + enum: + - staff + id: + type: integer + description: Owner id + example: 51 + company_id: + type: integer + description: Company linked to the task + example: 1 + readOnly: true + nullable: true + individual_id: + type: integer + description: Individual linked to the task + example: 92 + readOnly: true + nullable: true + contact_id: + type: integer + description: Contact linked to the task + example: 958 + readOnly: true + nullable: true + priority: + type: integer + description: Priority level of the task + example: 1 + minimum: 0 + maximum: 1 + - $ref: '#/components/schemas/ContactItem/allOf/0' + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + - title: Calendar Event + type: object + properties: + id: + type: integer + description: Id of calendar event + readOnly: true + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + title: + type: string + description: Title of calendar event + description: + type: string + description: Description for calendar event + is_private: + type: boolean + description: Calendar Event is private or public + all_day: + type: boolean + description: Calendar event is scheduled for the whole day + default: false + datetime_start: + type: string + format: date-time + maxLength: 29 + description: Calendar Event starting date / hour + example: '2020-01-01T00:00:00+01:00' + datetime_end: + type: string + format: date-time + maxLength: 29 + description: Calendar Event ending date / hour + example: '2020-01-01T00:00:00+01:00' + participants: + type: array + description: Participants (Staff, Contact or External Participants) + items: + type: object + description: Participant linked + properties: + id: + oneOf: + - type: integer + - type: string + description: Id of participant + type: + type: string + enum: + - staff + - contact + - external + description: Type of participant + label: + $ref: '#/components/schemas/LabelBaseItem/properties/label' + created: + type: string + format: date-time + description: Creation date / hour + example: '2020-05-29T11:22:03+02:00' + readOnly: true + updated: + type: string + format: date-time + description: Last update date / hour + example: '2020-05-29T11:22:03+02:00' + readOnly: true + provider_calendar: + type: object + nullable: true + description: Calendar + properties: + id: + type: string + name: + type: string + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: Main object related to the calendar event (limit to 1). + items: + type: object + additionalProperties: false + description: Main object related to the calendar event + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - estimate + - invoice + - creditnote + - order + company_id: + type: integer + nullable: true + description: Company linked to calendar event + individual_id: + type: integer + nullable: true + description: Individual linked to calendar event + contact_id: + type: integer + nullable: true + description: Contact linked to calendar event + priority: + type: integer + description: Priority level of the calendar event + minimum: 0 + maximum: 1 + - title: Email + allOf: + - $ref: '#/components/schemas/EmailItem/allOf/0' + - type: object + properties: + snippet: + type: string + description: Short description + related: + type: array + minItems: 0 + nullable: false + description: List all direct and indirect relations of the activity’s main object + items: + oneOf: + - type: object + title: Company or Contact + additionalProperties: false + description: Object related to the activity + properties: + id: + $ref: '#/components/schemas/Deals/properties/object/properties/id' + type: + type: string + example: client + description: related type + enum: + - prospect + - client + - supplier + - people + name: + type: string + description: related name + example: Customer + phone_number: + type: string + nullable: true + description: phone number + example: '+33100000000' + mobile_number: + type: string + nullable: true + description: mobile phone number + example: '+33600000000' + email: + type: string + nullable: true + description: email address + example: john@example-company.com + - type: object + title: Other related + additionalProperties: false + description: Object related to the activity + properties: + id: + $ref: '#/components/schemas/Deals/properties/object/properties/id' + type: + type: string + example: opportunity + description: related type + name: + type: string + example: OPP-003 + description: related name + DealsFilters: + title: dealsFilter + type: object + description: The deals filters + properties: + filters: + type: object + description: Activity filters + properties: + due_date: + type: object + description: The filter by due date + nullable: true + properties: + start: + type: string + format: date-time + end: + type: string + format: date-time + additionalProperties: false + entities: + description: The filter by entities + example: + - calendar_event + - task + - phonecall + type: array + items: + type: string + enum: + - calendar_event + - task + - phonecall + labels: + description: >- + Labels filters (will filter all activities with one of the + labels) + type: object + properties: + events: + type: array + description: The filter by event labels + minItems: 1 + nullable: true + example: + - 5 + - 15 + items: + type: integer + tasks: + type: array + description: The filter by task labels + minItems: 1 + nullable: true + example: + - 5 + - 15 + items: + type: integer + phonecalls: + type: array + description: The filter by phonecall labels + minItems: 1 + nullable: true + example: + - 5 + - 15 + items: + type: integer + additionalProperties: false + completed: + type: boolean + description: The completed filter + nullable: true + example: true + staffs: + type: array + description: The filter by staffs + minItems: 1 + nullable: true + example: + - 5 + - 15 + items: + type: integer + additionalProperties: false + required: + - filters + CrmActivity: + type: object + description: The CRM activity + properties: + id: + type: string + description: Id of activity + due_date: + type: string + format: date-time + description: Due date of activity + date: + type: string + description: Date of activity + format: date-time + related: + type: object + nullable: true + description: Related object of activity + required: + - type + - id + - name + properties: + type: + type: string + example: third + pattern: ^[a-zA-Z_-]+$ + name: + type: string + example: My companies + minLength: 1 + id: + oneOf: + - type: string + example: 1056 + minLength: 1 + - type: integer + example: 1056 + minimum: 1 + - type: array + items: + oneOf: + - type: string + example: 1056 + minLength: 1 + - type: integer + example: 1056 + minimum: 1 + companies: + type: array + description: Related companies of activity + minItems: 0 + items: + type: object + description: Company + required: + - type + - id + - name + properties: + type: + type: string + example: client + enum: + - prospect + - client + - supplier + id: + type: integer + example: 1056 + minimum: 1 + name: + type: string + example: My companies + minLength: 1 + people: + type: object + description: Related people of activity + nullable: true + required: + - id + - name + properties: + id: + type: integer + example: 1056 + minimum: 1 + name: + type: string + example: My companies + minLength: 1 + event: + type: string + enum: + - email.sent + - email.link.sent + - task.completed + - phonecall.created + - calendar_event.created + - email.scheduled.sent + description: Event type + author: + $ref: '#/components/schemas/Activity/properties/_embed/properties/author' + object: + type: object + description: Event object of activity + required: + - type + - id + properties: + type: + type: string + example: task + pattern: ^[a-zA-Z_-]+$ + id: + oneOf: + - type: string + example: 1056 + minLength: 1 + - type: integer + example: 1056 + minimum: 1 + - type: array + items: + oneOf: + - type: string + example: 1056 + minLength: 1 + - type: integer + example: 1056 + minimum: 1 + more: + type: object + description: Additional informations + example: + old: client + new: prospect + additionalProperties: true + required: + - id + - due_date + - date + - related + - people + - companies + - event + - author + - object + - more + CrmActivityFilters: + title: activityFilter + type: object + description: The activity filters + properties: + filters: + type: object + description: Activity filters + properties: + date: + type: object + description: The filter by date + nullable: true + properties: + start: + type: string + format: date-time + end: + type: string + format: date-time + additionalProperties: false + due_date: + $ref: >- + #/components/schemas/DealsFilters/properties/filters/properties/due_date + events: + type: array + description: The filter by events + minItems: 1 + nullable: true + example: + - email.sent + - annotation.created + items: + type: string + authors: + type: array + description: The filter by authors + minItems: 1 + nullable: true + example: + - 5 + - 15 + items: + type: integer + companies: + type: object + description: The filter by companies + nullable: true + minProperties: 1 + properties: + match: + type: array + nullable: true + description: > + Search activities related to one or more companies. If + empty, search activities without related companies. + example: + - 58 + - 105 + items: + type: integer + minimum: 1 + not_match: + type: array + nullable: true + description: > + Search activities not related to one or more companies. If + empty, search activities with one or more related companies + example: [] + items: + type: integer + minimum: 1 + peoples: + type: object + description: The filter by peoples + nullable: true + minProperties: 1 + properties: + match: + type: array + nullable: true + description: > + Search activities related to one or more peoples. If empty, + search activities without related peoples. + example: + - 58 + - 105 + items: + type: integer + minimum: 1 + not_match: + type: array + nullable: true + description: > + Search activities not related to one or more peoples. If + empty, search activities with one or more related peoples + example: [] + items: + type: integer + minimum: 1 + event.labels: + $ref: >- + #/components/schemas/DealsFilters/properties/filters/properties/labels/properties/events + task.labels: + $ref: >- + #/components/schemas/DealsFilters/properties/filters/properties/labels/properties/tasks + phonecall.statuses: + type: array + description: The filter by phonecall statuses + minItems: 1 + nullable: true + example: + - busy + - wrongnumber + items: + type: string + phonecall.sources: + type: array + description: The filter by phonecall sources + minItems: 1 + nullable: true + example: + - incoming + - outcoming + items: + type: string + phonecall.labels: + $ref: >- + #/components/schemas/DealsFilters/properties/filters/properties/labels/properties/phonecalls + related.types: + type: object + description: The filter by related types + nullable: true + minProperties: 1 + properties: + match: + type: array + nullable: true + description: | + Search activities related to one or more types. + example: + - document + - third + items: + type: string + enum: + - document + - third + - opportunity + - people + not_match: + type: array + nullable: true + description: | + Search activities not related to one or more types. + example: [] + items: + type: string + enum: + - document + - third + - opportunity + - people + additionalProperties: false + required: + - filters + CrmActivityAggregations: + title: activityAggregations + type: object + description: The activity aggregations + properties: + by_event: + type: object + description: Count activity by event + properties: + email.sent: + type: integer + example: 5 + minimum: 0 + email.link.sent: + type: integer + example: 5 + minimum: 0 + calendar_event.created: + type: integer + example: 1 + minimum: 0 + phonecall.created: + type: integer + example: 0 + minimum: 0 + task.completed: + type: integer + example: 6 + minimum: 0 + additionalProperties: true + by_month_and_event: + type: object + description: >- + Count activity by month and by event. Key are the first day of the + month + additionalProperties: true + example: + '2021-05-01': + event.created: 36 + email.sent: 75 + '2021-06-01': + event.created: 12 + email.sent: 25 + by_week_and_event: + type: object + description: >- + Count activity by week and by event. Key are the first day of the + week + additionalProperties: true + example: + '2021-05-24': + email.sent: 13 + task.completed: 27 + '2021-05-31': + email.sent: 8 + task.completed: 4 + by_day_and_event: + type: object + description: Count activity by day and by event. + additionalProperties: true + example: + '2021-06-29': + event.created: 2 + '2021-06-30': + email.sent: 6 + by_author_and_event: + type: object + description: Count activity by author and event. + additionalProperties: true + example: + '1': + phonecall.created: 57 + event.created: 24 + email.sent: 5 + '95': + task.completed: 1 + by_author_and_label: + type: object + description: Count activity by author and event then by label id. + additionalProperties: true + example: + '1': + event.created: + '0': 17 + '2377730': 1 + phonecall.created: [] + task.completed: + '5': 1 + '95': + task.completed: [] + CrmActivityMetas: + title: listingMeta + type: object + description: The listing meta + properties: + authors: + type: array + description: List of authors + minItems: 1 + items: + $ref: '#/components/schemas/CrmActivity/properties/author' + task: + type: object + description: The task metas + required: + - labels + properties: + labels: + type: array + description: List of event labels + minItems: 1 + items: + type: object + description: The label + required: + - id + - label + properties: + id: + type: integer + minimum: 1 + description: Label identifier + example: 156 + label: + type: string + minLength: 1 + description: Label + example: Remember + color: + type: string + example: '#f7dcf5' + description: Color of label + nullable: true + event: + type: object + description: The event metas + required: + - labels + properties: + labels: + type: array + description: List of event labels + minItems: 1 + items: + $ref: >- + #/components/schemas/CrmActivityMetas/properties/task/properties/labels/items + phonecall: + type: object + description: The phonecall metas + required: + - statuses + - labels + properties: + labels: + type: array + description: List of phonecall labels + minItems: 1 + items: + $ref: >- + #/components/schemas/CrmActivityMetas/properties/task/properties/labels/items + statuses: + type: array + description: List of statuses + minItems: 1 + items: + type: object + description: The status + required: + - id + - label + properties: + id: + type: string + description: Label identifier + example: connected + label: + type: string + minLength: 1 + description: Label + example: Remember + permissions: + type: object + description: The permissions + required: + - favorite + - export + properties: + favorite: + type: boolean + description: Can access to export + export: + type: boolean + description: Can access to favorite + working_days: + type: array + minItems: 0 + maxItems: 7 + uniqueItems: true + example: + - 1 + - 2 + - 3 + - 4 + - 5 + description: 'The working days (Sunday - Saturday : 0 - 6)' + items: + type: integer + minimum: 0 + maximum: 6 + working_hours: + type: object + description: The working hours + required: + - start_time + - end_time + properties: + start_time: + type: string + description: The start time + example: '09:00:00' + nullable: true + end_time: + type: string + description: The end time + example: '18:00:00' + nullable: true + required: + - permissions + - event + - task + - authors + - phonecall + - working_days + - working_hours + ExportParams: + title: exportParams + type: object + description: The output params + x-examples: + example-1: + output_format: csv + charset: UTF-8 + columns: + - date + - due_date + properties: + output_format: + description: Output format of file + default: pdf + enum: + - csv + - pdf + type: string + charset: + description: Output charset for export + default: UTF-8 + enum: + - UTF-8 + - ISO-8859-1 + type: string + columns: + description: List of specifics columns to export + nullable: true + type: array + items: + type: string + required: + - output_format + - charset + AccountingJournalExportParams: + title: exportParams + type: object + description: The output params + x-examples: + example-1: + output_format: csv + charset: UTF-8 + columns: + - date + - due_date + properties: + output_format: + description: Output format of file + default: csv + enum: + - csv + - fec + type: string + charset: + description: Output charset for export + default: UTF-8 + enum: + - UTF-8 + - ISO-8859-1 + type: string + columns: + description: List of specifics columns to export. + nullable: true + type: array + items: + type: string + enum: + - type + - document.public_link + - company-individual.reference + - document.service_end_date + - document.service_start_date + - document.currency + - date + - document.subject + - company-individual.name + - documents.linked + - code.label + - document.external_reference + - document.external_reference + - debit + - credit + - analytic_code + - analytic_plan + - code.value + - document.due_date + - auxiliary_code + - document.number + - label + - amount.direction + - amount.value + - accounting_type + required: + - output_format + - charset + ListingUserContext: + title: listingUserContext + type: object + description: The saved user context for listings + properties: + sorting: + nullable: true + type: object + description: The listing sorting + required: + - field + - direction + properties: + field: + type: string + direction: + type: string + enum: + - asc + - desc + pagination: + nullable: true + type: object + description: The listing pagination + required: + - current_page + - per_page + properties: + current_page: + type: integer + minimum: 1 + example: 1 + per_page: + type: integer + minimum: 1 + example: 15 + columns: + nullable: true + type: array + description: The listing selected columns + example: + - id + - name + items: + type: string + filters: + nullable: true + type: object + description: The listing filters + additionalProperties: true + example: + name: + mode: contain + value: search + columns_size: + nullable: true + type: array + description: The listing columns size + items: + type: object + required: + - name + - width + properties: + name: + type: string + minLength: 1 + example: name + width: + type: number + example: 534 + display: + nullable: true + type: object + description: The listing display + required: + - sorting + - pagination + - columns + - filters + - columns_size + - display + CustomActivity: + title: customActivity + type: object + description: Custom Activity Object + properties: + id: + type: string + readOnly: true + example: xZk348lb2 + type_id: + type: string + example: vJ340fF1 + description: Activity type identifier + action: + type: string + example: Jean-pierre has opened a new ticket on Xeno. + relation: + type: object + description: Object linked to custom activity + properties: + type: + type: string + enum: + - client + - prospect + - supplier + - opportunity + - contact + example: prospect + id: + type: integer + example: 123 + date: + type: string + default: Current datetime + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Date of activity (ISO 8601) + author: + readOnly: true + type: object + description: Author of the custom activity + properties: + type: + type: string + default: staff + enum: + - staff + id: + type: integer + example: 11 + created: + readOnly: true + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Creation date of custom activity (ISO 8601) + updated: + readOnly: true + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Updated date of custom activity (ISO 8601) + CustomActivityCreate: + $ref: '#/components/schemas/CustomActivity' + CustomActivityFilters: + title: customActivityFilters + type: object + description: Available filters for Custom Events Search + properties: + filters: + type: object + properties: + date: + type: object + properties: + start: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + end: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + type_id: + description: ID of custom activity type + type: string + example: Voluptates aspernatur + staff_id: + type: integer + example: 1 + required: + - filters + CustomActivityType: + title: customActivityType + type: object + description: Represents a type of custom activity + properties: + id: + type: string + readOnly: true + example: xZk348lb2 + minLength: 1 + description: Activity type identifier + name: + type: string + example: Xeni + minLength: 1 + description: Activity type name + created: + readOnly: true + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Creation date of custom activity type (ISO 8601) + updated: + readOnly: true + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Updated date of custom activity type (ISO 8601) + author: + readOnly: true + type: object + description: Author of the custom activity type + properties: + type: + type: string + default: staff + enum: + - staff + id: + type: integer + example: 11 + required: + - name + PersonalAccessTokenCreateItem: + title: personalAccessToken + type: object + description: The personal access token for api + x-examples: {} + properties: + name: + type: string + description: The personal access token name + example: MyToken + user_id: + description: The linked user + example: 1257 + oneOf: + - type: integer + description: The staff id + - type: string + description: The current staff + enum: + - me + scopes: + type: array + description: The allowed scopes + minItems: 1 + example: + - companies.read + - companies.write + items: + type: string + description: The scope + required: + - name + - scopes + - user_id + PersonalAccessTokenItem: + title: personalAccessTokenItem + allOf: + - title: accessTokenItem + type: object + description: The access token for API + x-examples: {} + properties: + id: + type: string + description: The access token id + example: >- + 091d4c6200421657090c8ef5e5349172e668f507050a13e6ae0e3f2ff4b743acf5092f48faa1f98d + client_id: + type: string + description: The OAuth client id + example: 670fadef-576e-47a1-9358-62784605c024 + user: + description: The linked user + type: object + properties: + id: + type: integer + description: The user id + example: 154 + type: + type: string + description: User type + enum: + - staff + required: + - id + - type + expiration: + type: string + format: date-time + description: The token expiration date + example: 2120-05-25T17:28:29+0100 + scopes: + type: array + description: The allowed scopes + minItems: 1 + example: + - companies.read + - companies.write + items: + type: string + description: The scope + required: + - id + - client_id + - user + - expiration + - scopes + - type: object + properties: + name: + type: string + description: The token name + example: My Token 7 + required: + - name + PersonalAccessTokenMetas: + title: listingMeta + type: object + description: The personal access tokens metas + properties: + staffs: + type: array + description: List of staffs + minItems: 1 + items: + $ref: '#/components/schemas/CrmActivity/properties/author' + permissions: + type: object + description: The permissions + required: + - favorite + - export + properties: + favorite: + type: boolean + description: Can access to export + export: + type: boolean + description: Can access to favorite + required: + - permissions + - staffs + Client: + title: client + type: object + description: The OAuth client for Sellsy API + x-examples: {} + allOf: + - type: object + properties: + type: + type: string + description: The OAuth client type + enum: + - public + - private + - personal + - personal_access_token + - title: OAuth2 client for Sellsy API + type: object + description: OAuth2 client for Sellsy API + x-examples: {} + properties: + id: + type: string + description: The OAuth client id + example: 670fadef-576e-47a1-9358-62784605c024 + readOnly: true + name: + type: string + description: OAuth client name + example: MyToken + redirect_uri: + type: array + description: Redirect URIs + items: + type: string + scopes: + type: array + description: Allowed scopes for OAuth client + minItems: 1 + example: + - companies.read + - companies.write + items: + type: string + description: The scope + delegated: + type: boolean + description: >- + For `personal` type only.

Indicates if the + token can impersonate other staffs using the `X-Switch-User` + header.
+ + For example, use the header `X-Switch-User: staff:1` to send API + requests on behalf of the staff with identifier = 1.

+ + Only administrators can create such accesses, and only active + staffs can be impersonated. Be careful by using this feature, as + it generates real actions for impersonated users. + default: false + nullable: true + single_login: + type: boolean + description: >- + For `public` or `private` type only.

If set + to `true`, generating an access token for this client will + revoke all previous tokens linked to this client and the current + user. + default: false + nullable: true + user: + description: The linked user + type: object + nullable: true + properties: + id: + type: integer + description: The user id + example: 154 + type: + type: string + description: User type + enum: + - staff + required: + - id + - type + readOnly: true + validated_at: + type: string + format: date-time + nullable: true + description: date the OAuth client was approved by Sellsy + readOnly: true + required: + - id + - name + - type + - user + - scopes + - redirect_uri + - validated_at + ClientWSecret: + title: API Client + allOf: + - title: client + type: object + description: The OAuth client for Sellsy API + x-examples: {} + allOf: + - type: object + properties: + type: + type: string + description: The OAuth client type + enum: + - public + - private + - personal + - personal_access_token + - $ref: '#/components/schemas/Client/allOf/1' + required: + - id + - name + - type + - user + - scopes + - redirect_uri + - validated_at + - type: object + properties: + secret: + type: string + description: > + Client secret
> This property is only exposed on + response for the create endpoint. Remember to save the + value. + example: 9f8d07fd0eb80016476c6fc283505b5d95bcbcf39f24eb4b506af256a280c272 + ClientCreate: + title: clientCreate + type: object + description: The OAuth client for API + x-examples: {} + allOf: + - type: object + properties: + type: + type: string + description: The OAuth client type + enum: + - public + - private + - personal + - personal_access_token + - title: clientUpdate + type: object + description: The OAuth client for API + x-examples: {} + allOf: + - type: object + properties: + user_id: + description: For `personal` type only, linked user id. + example: 1257 + nullable: true + oneOf: + - type: integer + description: Staff id + - type: string + description: Current staff + enum: + - me + - $ref: '#/components/schemas/Client/allOf/1' + required: + - name + - type + - redirect_uri + - user_id + - scopes + ClientUpdate: + title: clientUpdate + type: object + description: The OAuth client for API + x-examples: {} + allOf: + - type: object + properties: + user_id: + description: For `personal` type only, linked user id. + example: 1257 + nullable: true + oneOf: + - type: integer + description: Staff id + - type: string + description: Current staff + enum: + - me + - $ref: '#/components/schemas/Client/allOf/1' + AccountingCode: + type: object + properties: + id: + type: integer + readOnly: true + description: Id of accounting code + example: 6657 + code: + type: string + description: accounting code + example: 411000 + label: + type: string + description: Label of accounting code + example: Provision of services + views: + type: array + description: List of views where accounting code is usable + items: + type: string + enum: + - third + - purchase + - sell + - bank + - reconciliation + required: + - code + - label + - views + AccountingCodeCreate: + title: Accounting code + description: '' + type: object + properties: + code: + type: string + description: accounting code + example: '411000' + maxLength: 13 + label: + type: string + description: Label of accounting code + example: Provision of services + maxLength: 255 + views: + type: array + description: List of views where accounting code is usable + items: + type: string + enum: + - third + - purchase + - sell + - bank + - reconciliation + required: + - code + AccountingJournal: + type: object + title: Accounting Entry + properties: + id: + type: integer + readOnly: true + description: Id of accounting entry + example: 6657 + related: + description: Objects linked to the accounting entry + type: array + items: + type: object + properties: + type: + type: string + description: Object type + enum: + - company + - individual + - invoice + - creditnote + - purInvoice + - purCreditNote + - expense + - bankDeposit + id: + type: integer + description: Object ID + analytic_code: + type: string + description: Analytic code + nullable: true + amount: + type: object + description: Amount of the accounting entry + properties: + direction: + description: Direction of the accounting entry (debit or credit) + type: string + enum: + - debit + - credit + value: + description: Amount value of the accounting entry + type: string + example: '123.22' + code: + type: object + description: Accounting code + properties: + label: + type: string + description: Label of accounting code + example: Sales Income + value: + type: string + description: Accounting code + example: '4000' + type: + type: string + example: SALES + date: + type: string + description: Date of accounting entry + format: date + label: + type: string + description: Label of accounting entry + example: Invoice n°FACT-20210811-00362 - Acme Corporation + recorded: + type: boolean + description: Accounting entry has ben exported or not + accounting_type: + type: integer + description: Type of accounting (for Sage export) + enum: + - 1 + - 2 + analytic_plan: + type: integer + description: Analytic plan number (for Sage export) + enum: + - 1 + auxiliary_code: + type: string + nullable: true + description: Auxiliary code + example: 0EX11C + document: + deprecated: true + allOf: + - type: object + description: Document linked to the accounting entry + nullable: true + properties: + type: + type: string + example: invoice + description: Document type + enum: + - invoice + - creditnote + - purInvoice + - purCreditNote + id: + type: integer + description: Unique ID + example: 6657 + number: + description: Document number + type: string + example: INV-20210810-00331 + due_date: + type: string + example: Due date of document + format: date + subject: + type: string + description: Document Subject + example: null + public_link: + type: string + format: uri + description: Public link of document + nullable: true + service_start_date: + type: string + description: Service start date of document + format: date + nullable: true + service_end_date: + type: string + description: Service end date of document + format: date + nullable: true + currency: + type: string + description: Currency of document + example: € + external_reference: + type: string + description: External reference of document + nullable: true + example: EXT-INV-20210810-00331 + documents: + description: Documents linked to the accounting entry + nullable: true + type: array + items: + allOf: + - $ref: >- + #/components/schemas/AccountingJournal/properties/document/allOf/0 + companies: + description: Companies linked to the accounting entry + nullable: true + type: array + items: + type: object + properties: + name: + type: string + description: Name of company + example: Acme Corporation + reference: + type: string + description: Company reference + individuals: + description: Individuals linked to the accounting entry + nullable: true + type: array + items: + type: object + properties: + name: + type: string + description: Name of individual + example: Acme Corporation + reference: + type: string + description: Individual reference + TaxSettingsInput: + type: object + properties: + vat_id: + type: integer + description: Id of taxe + example: 6657 + vat_mode: + type: string + enum: + - debit + - collection + description: VAT Mode + example: debit + vat_mention: + type: string + nullable: true + description: VAT Mention + example: mention + display_tax_mention: + type: boolean + description: If true, show tax mention + example: true + rate_category_id: + type: integer + description: Rate category ID + example: 57 + discount: + type: object + description: Default discount + properties: + type: + type: string + enum: + - amount + - percent + description: Type of discount + example: percent + value: + type: string + description: Value of discount + example: 55 + by_rows: + type: boolean + description: If True, each row can have different discount + example: false + required: + - type + - value + - by_rows + use_ecotax: + type: boolean + description: If True, using ecotax + example: true + use_bonuses: + type: boolean + description: If True, using tax bonuses + example: false + required: + - vat_id + - vat_mode + - vat_mention + - display_tax_mention + - rate_category_id + - discount + - use_ecotax + - use_bonuses + TaxSettingsOutput: + type: object + properties: + vat_id: + type: integer + description: Id of taxe + example: 6657 + vat_mode: + type: string + enum: + - debit + - collection + description: VAT Mode + example: debit + vat_mention: + type: string + nullable: true + description: VAT Mention + example: mention + display_tax_mention: + type: boolean + description: If true, show tax mention + example: true + rate_category_id: + type: integer + description: Rate category ID + example: 57 + discount: + type: object + description: Default discount + properties: + type: + type: string + enum: + - amount + - percent + description: Type of discount + example: percent + value: + type: string + description: Value of discount + example: 55 + by_rows: + type: boolean + description: If True, each row can have different discount + example: false + required: + - type + - value + - by_rows + use_ecotax: + type: boolean + description: If True, using ecotax + example: true + use_bonuses: + type: boolean + description: If True, using tax bonuses + example: false + required: + - vat_id + - vat_mode + - vat_mention + - display_tax_mention + - rate_category_id + - discount + - use_ecotax + - use_bonuses + TaxFilter: + title: taxFilter + type: object + description: The tax filters + properties: + filters: + type: object + description: Tax filters + properties: + rate: + description: Filter the taxes list by rate amount + properties: + min: + type: number + example: 10 + description: Minimum tax rate amount + max: + type: number + example: 20 + description: Maximum tax rate amount + label: + type: string + description: Filter the taxes list by label + example: TVA UK + is_active: + type: boolean + example: true + description: Filter the taxes list by active state + RateCategoryMetadata: + title: Rate category Meta + type: object + description: '' + x-examples: {} + additionalProperties: false + properties: + available_layouts: + type: array + description: Available layouts for the rate categories + uniqueItems: true + items: + type: string + enum: + - estimates + - invoices + - credit_notes + - models + - deliveries + - orders + - proformas + accounting: + title: Accounting + type: object + properties: + enabled: + type: boolean + description: if the plugin accounting if enabled + example: true + accounting_codes: + type: array + description: list of sell accounting codes + items: + type: object + properties: + label: + type: string + description: label of accounting code + example: Clients + value: + type: integer + description: id of accounting code + example: 1234567 + code: + type: string + description: accounting code + example: 445000 + use_specific_code_for_discount: + type: boolean + description: if specific code are used for discount + example: false + currencies: + type: array + description: List of currencies + minItems: 1 + uniqueItems: true + items: + type: object + additionalProperties: false + properties: + label: + type: string + description: Label of currency + example: EUR + value: + type: integer + description: Id of currency + example: 12 + required: + - label + - value + document_layouts: + type: array + description: List of document layouts + minItems: 1 + uniqueItems: true + items: + type: object + additionalProperties: false + properties: + label: + type: string + description: Label of the layout + example: Apparence par défaut + value: + type: integer + description: Id of the layout + example: 42 + required: + - label + - value + required: + - available_layouts + - accounting + - currencies + - document_layouts + Ocr: + title: ocr + type: object + description: Represents an OCR document + properties: + id: + type: integer + readOnly: true + example: 1 + minimum: 1 + staff_id: + type: integer + description: ID of staff who created ocr document + readOnly: true + example: 1 + minimum: 1 + file_name: + type: string + description: File name of uploaded OCR document + example: myfile.png + minLength: 1 + linked_type: + description: Type of linked object + type: string + enum: + - purInvoice + example: purInvoice + linked_id: + type: integer + description: Id of linked object + nullable: true + example: 123 + created_at: + type: string + default: Current datetime + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Creation date of OCR document (ISO 8601) + completed_at: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Completion date of OCR process (ISO 8601) + nullable: true + state: + type: string + description: state of OCR process + enum: + - pending + - processing + - completed + - error + error_code: + type: integer + description: | + Error code + * `1` - Too many page error + * `2` - Technical error + * `3` - File error + enum: + - 1 + - 2 + - 3 + - null + nullable: true + OcrPurInvoiceMetas: + title: Metadata + type: object + properties: + user_can_validate_pur_invoice: + type: boolean + description: 'Use can validate a purchase invoice ' + required: + - user_can_validate_pur_invoice + InvoicingConformityState: + title: conformityState + type: object + description: Invoice conformity state informations + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + active: + type: boolean + description: Invoice conformity state + readOnly: true + activated_by: + allOf: + - $ref: '#/components/schemas/CrmActivity/properties/author' + readOnly: true + nullable: true + activated_at: + type: string + default: Current datetime + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Activation date (ISO 8601) + readOnly: true + nullable: true + pdf: + type: string + nullable: true + description: PDF url + format: uri + readOnly: true + OpportunityCreate: + title: Opportunity + type: object + allOf: + - title: Opportunity + type: object + description: Describe input body to update an Opportunity + properties: + name: + type: string + description: Opportunity name + example: New website + owner_id: + type: integer + description: >- + Owner of the opportunity (staff id). If not provided, the ID of + the logged-in staff will be used by default. + minimum: 1 + status: + type: string + description: Opportunity status + example: won + enum: + - open + - won + - lost + - cancelled + - closed + - late + default: open + pipeline: + type: integer + description: Pipeline + example: 9763 + step: + type: integer + description: Pipeline Step + example: 299 + amount: + type: string + description: >- + Potential Opportunity Amount (in the default currency selected + for the account) + example: '72000.99' + probability: + type: integer + description: Opportunity probability + example: 75 + maximum: 100 + minimum: 0 + source: + type: integer + description: >- + Source of opportunity creation (null will use the default + defined in account preferences) + example: 1 + due_date: + type: string + description: Due date of the opportunity + format: date + nullable: true + example: '2020-02-01' + note: + type: string + description: Opportunity note + main_doc_id: + type: integer + description: Internal ID of the main opportunity document + nullable: true + example: 22 + assigned_staff_ids: + type: array + uniqueItems: true + description: > + Staff(s) ID assigned to the opportunity
The same staff + cannot be present more than once + example: + - 133 + - 299 + items: + type: integer + nullable: true + contact_ids: + type: array + description: Contact(s) ID responsible for the opportunity + example: + - 222 + - 876 + items: + type: integer + nullable: true + related: + $ref: '#/components/schemas/OpportunityUpdate/properties/related' + - type: object + properties: + number: + type: string + description: Opportunity number + example: OPP-1155 + owner_id: + type: integer + description: >- + Owner of the opportunity (staff id). If not provided, the ID of + the logged-in staff will be used by default. + minimum: 1 + created: + description: Date of creation of the opportunity + type: string + format: date-time + required: + - name + - pipeline + - step + - related + OpportunityUpdate: + title: Opportunity + type: object + description: Describe input body to update an Opportunity + properties: + name: + type: string + description: Opportunity name + example: New website + owner_id: + type: integer + description: >- + Owner of the opportunity (staff id). If not provided, the ID of the + logged-in staff will be used by default. + minimum: 1 + status: + type: string + description: Opportunity status + example: won + enum: + - open + - won + - lost + - cancelled + - closed + - late + default: open + pipeline: + type: integer + description: Pipeline + example: 9763 + step: + type: integer + description: Pipeline Step + example: 299 + amount: + type: string + description: >- + Potential Opportunity Amount (in the default currency selected for + the account) + example: '72000.99' + probability: + type: integer + description: Opportunity probability + example: 75 + maximum: 100 + minimum: 0 + source: + type: integer + description: >- + Source of opportunity creation (null will use the default defined in + account preferences) + example: 1 + due_date: + type: string + description: Due date of the opportunity + format: date + nullable: true + example: '2020-02-01' + note: + type: string + description: Opportunity note + main_doc_id: + type: integer + description: Internal ID of the main opportunity document + nullable: true + example: 22 + assigned_staff_ids: + type: array + uniqueItems: true + description: > + Staff(s) ID assigned to the opportunity
The same staff cannot + be present more than once + example: + - 133 + - 299 + items: + type: integer + nullable: true + contact_ids: + type: array + description: Contact(s) ID responsible for the opportunity + example: + - 222 + - 876 + items: + type: integer + nullable: true + related: + title: Related + type: array + minItems: 1 + description: | + Related objects : + - There can be only one company or one individual at a time (required) + - Contact should be linked to company/individual linked + items: + type: object + additionalProperties: false + properties: + id: + type: integer + example: 1 + type: + type: string + example: company + enum: + - company + - individual + - contact + required: + - id + - type + OpportunityItem: + title: Opportunity + type: object + description: Describe opportunity object + properties: + id: + type: integer + description: Internal Opportunity ID + readOnly: true + example: 1 + number: + type: string + description: External Opportunity ID + example: OPP-1155 + name: + type: string + description: Opportunity name + example: New website + source: + type: object + description: Source of opportunity creation + properties: + id: + type: integer + example: 1 + name: + type: string + example: Internal + due_date: + type: string + description: Due date of the opportunity + format: date + example: '1970-01-01' + nullable: true + created: + type: string + description: Creation date of the opportunity + format: date-time + example: '1970-01-01T00:00:00+00:00' + updated_status: + type: string + description: Date of last opportunity status update + format: date-time + example: '1970-01-01T00:00:00+00:00' + nullable: true + status: + type: string + description: Opportunity status + example: won + enum: + - open + - won + - lost + - cancelled + - closed + - late + amount: + type: object + description: Potential amount of the opportunity with the currency + properties: + value: + type: string + description: Amount + example: 72000.99 + currency: + type: string + description: Currency (ISO 4217) + example: EUR + pipeline: + type: object + description: Current pipeline + properties: + id: + type: integer + example: 9763 + name: + type: string + example: Commercial North + step: + type: object + description: Current step + properties: + id: + type: integer + example: 299 + name: + type: string + example: Prospection + probability: + type: integer + description: Opportunity probability + example: 75 + maximum: 100 + minimum: 0 + note: + type: string + description: Opportunity note + owner: + type: object + description: Staff owning the opportunity + properties: + id: + type: integer + example: 12 + type: + type: string + example: staff + enum: + - staff + - thirdcontact + assigned_staff_ids: + type: array + description: Staff(s) ID assigned to the opportunity + example: + - 133 + - 299 + items: + type: integer + nullable: true + contact_ids: + type: array + description: Contact(s) ID responsible for the opportunity + example: + - 222 + - 876 + items: + type: integer + nullable: true + company_id: + type: integer + description: Company linked to the opportunity + example: 1220 + nullable: true + individual_id: + type: integer + description: Individual linked to the opportunity + example: 299 + nullable: true + main_doc_id: + type: integer + description: Internal ID of the main opportunity document + nullable: true + example: 22 + related: + $ref: '#/components/schemas/OpportunityUpdate/properties/related' + _embed: + title: Opportunity embed + readOnly: true + description: Opportunity embed + allOf: + - type: object + properties: + assigned_staffs: + type: array + description: Staff(s) assigned to the opportunity + items: + $ref: '#/components/schemas/CrmActivity/properties/author' + company: + nullable: true + description: Company object related to opportunity + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + contacts: + type: array + description: Contact(s) responsible for the opportunity + items: + $ref: '#/components/schemas/ContactCreateItem/allOf/0' + estimates: + type: integer + nullable: true + description: Number of linked estimates + example: 2 + individual: + nullable: true + description: Individual object related to opportunity object + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + invoices: + type: integer + nullable: true + description: Number of linked invoices + example: 1 + orders: + type: integer + nullable: true + description: Number of linked orders + example: 0 + deliveries: + type: integer + nullable: true + description: Number of linked deliveries + example: 8 + credit_notes: + type: integer + nullable: true + description: Number of linked credit notes + example: 1 + proforma: + type: integer + nullable: true + description: Number of linked proforma + example: 0 + currency: + nullable: true + description: Currency object related to opportunity + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/currency + acl: + nullable: true + description: Opportunity ACL + $ref: >- + #/components/schemas/Activity/properties/_embed/properties/acl/oneOf/5 + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + - $ref: '#/components/schemas/SaleEmbed/properties/_embed/allOf/2' + OpportunityFilters: + title: OpportunityFilters + type: object + description: The opportunity filters + properties: + filters: + type: object + description: Opportunity filters + properties: + created: + title: Created at + type: object + description: Filter the opportunity list by creation date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + updated_status: + title: Updated status + type: object + description: Filter the opportunity list by updated status date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + due_date: + title: Due Date + type: object + description: Filter the opportunity list by due date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + name: + title: Name + type: string + description: Filter the opportunity list by name + example: Website + pipeline: + title: Pipeline + type: array + items: + type: integer + description: Filter the opportunity list by pipeline ID + example: + - 12 + - 22 + step: + title: Step + type: array + items: + type: integer + description: Filter the opportunity list by step ID + example: + - 2 + - 7 + amount: + title: Amount + type: object + description: Filter the opportunity list by amount + properties: + min: + type: number + example: 10.5 + max: + type: number + example: 150 + related_objects: + description: Filter the opportunity list by an array of related objects + type: array + items: + type: object + properties: + type: + type: string + description: Type of related object + enum: + - company + - individual + id: + type: integer + description: Identifier of related object + example: 742 + assigned_staffs: + title: Assigned staffs + type: array + items: + type: integer + example: 33 + description: Filter by assigned staffs + statuses: + title: Filter the opportunity list by an array of statuses + type: array + nullable: true + minItems: 1 + items: + type: string + description: Opportunity status + example: won + enum: + - open + - won + - lost + - cancelled + - closed + - late + favourite_filter: + $ref: >- + #/components/schemas/ContactFilters/properties/filters/properties/favourite_filter + required: + - filters + OpportunitiesAggregations: + title: Opportunities aggregations + type: object + properties: + amount_sum_by_status: + type: object + description: Potential amount of opportunities by status + properties: + open: + type: object + description: Number and total amount of opportunities with status open + properties: + number: + type: integer + description: number of opportunities + amount: + type: object + description: Total amount of opportunities + properties: + value: + type: string + description: Amount + example: '38446.90' + currency: + type: string + description: Currency code + example: EUR + won: + type: object + description: Number and total amount of opportunities with status won + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + lost: + type: object + description: Number and total amount of opportunities with status lost + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + late: + type: object + description: Number and total amount of opportunities with status late + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + cancelled: + type: object + description: Number and total amount of opportunities with status cancelled + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + closed: + type: object + description: Number and total amount of opportunities with status closed + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + example: + open: + number: 123 + amount: '14400.000000000' + won: + number: 89 + amount: '12300.000000000' + lost: + number: 78 + amount: '11200.000000000' + late: + number: 67 + amount: '9400.000000000' + cancelled: + number: 56 + amount: '8600.000000000' + closed: + number: 45 + amount: '7500.000000000' + amount_sum_by_status_due_at_seven: + type: object + description: Potential amount of opportunities by status due this week + properties: + open: + type: object + description: Number and total amount of opportunities with status "open" + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + won: + type: object + description: Number and total amount of opportunities with status "won" + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + lost: + type: object + description: Number and total amount of opportunities with status "lost" + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + late: + type: object + description: Number and total amount of opportunities with status "late" + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + cancelled: + type: object + description: Number and total amount of opportunities with status "cancelled" + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + closed: + type: object + description: Number and total amount of opportunities with status "closed" + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + example: + open: + number: 123 + amount: '14400.000000000' + won: + number: 89 + amount: '12300.000000000' + lost: + number: 78 + amount: '11200.000000000' + late: + number: 67 + amount: '9400.000000000' + cancelled: + number: 56 + amount: '8600.000000000' + closed: + number: 45 + amount: '7500.000000000' + number_by_pipeline_and_step: + type: object + description: number of opportunities by pipeline and step + additionalProperties: true + example: + '7923': + '8': 12 + '24': 25 + '12344': + '7': 245 + '12': 75 + amount_sum: + type: object + description: Potential amount of opportunities + properties: + number: + type: integer + description: number of opportunities + amount: + $ref: >- + #/components/schemas/OpportunitiesAggregations/properties/amount_sum_by_status/properties/open/properties/amount + example: + number: 123 + amount: '14400.000000000' + OpportunitySourceCollectionItem: + title: OpportunitySourceCollectionItem + type: object + description: Represents an Opportunity Source + properties: + id: + type: integer + description: Internal Opportunity Source ID + readOnly: true + example: 1 + name: + type: string + description: Opportunity Source name + example: Showroom 2020 + is_default: + type: boolean + nullable: false + description: Is default source + example: true + is_hidden: + type: boolean + nullable: false + description: Is hidden source + example: true + category_id: + nullable: false + type: integer + description: Source category + example: 1 + minimum: 0 + rank: + type: integer + description: Source rank + example: 2 + minimum: 0 + OpportunitySourceFilters: + title: OpportunitySourceFilters + type: object + description: The opportunity sources filters + properties: + filters: + type: object + properties: + category_id: + title: Category + description: Filter the opportunity sources list by category + type: array + items: + type: integer + example: + - 10 + - 20 + required: + - filters + OpportunityPipelineCollectionItem: + title: OpportunityPipelineCollectionItem + type: object + description: Represents an Opportunity Pipeline + properties: + id: + type: integer + description: Internal Opportunity Pipeline ID + readOnly: true + example: 1 + name: + type: string + description: Opportunity Pipeline name + example: New website + is_default: + type: boolean + nullable: false + description: Is default pipeline define for account + example: true + step: + nullable: false + type: integer + description: Count of steps + example: 2 + minimum: 0 + rank: + type: integer + description: Pipeline rank in preferences + example: 2 + minimum: 0 + OpportunityPipelineFilters: + title: OpportunityPipelineFilters + type: object + description: The opportunity pipelines filters + properties: + filters: + type: object + description: Opportunity Pipelines filters + properties: + name: + title: Name + type: string + description: Filter the opportunity pipelines list by name + example: Website + is_default: + title: Is default opportunity pipeline + type: boolean + description: Filter the opportunity pipelines list by is_default + example: false + required: + - filters + OpportunitiesCategoryItem: + title: Opportunity Category + type: object + description: Opportunities Category + properties: + id: + type: integer + description: Opportunities category id + readOnly: true + example: 1 + label: + type: string + description: Opportunities category label + example: Event + color: + type: string + description: Opportunities category color + example: '#000000' + icon: + type: string + description: Opportunities category icon + example: fa-anchor + is_default: + type: boolean + description: True if this opportunity category contains the default source + example: false + _embed: + type: object + properties: + sources: + type: array + description: Sources of the category + nullable: true + items: + title: OpportunitySourceCollectionItem + type: object + description: Represents an Opportunity Source + properties: + id: + type: integer + description: Internal Opportunity Source ID + readOnly: true + example: 1 + name: + type: string + description: Opportunity Source name + example: Showroom 2020 + is_default: + type: boolean + nullable: false + description: Is default source + example: true + is_hidden: + type: boolean + nullable: false + description: Is hidden source + example: true + category_id: + nullable: false + type: integer + description: Source category + example: 1 + minimum: 0 + rank: + type: integer + description: Source rank + example: 2 + minimum: 0 + OpportunityRankUpdate: + title: Opportunity rank update + type: object + properties: + before_sibling: + type: integer + description: > + ID of opportunity before which to place the opportunity specified in + query parameters
> if not specified, opportunity will be + placed at the last rank of the step + nullable: true + example: 57 + step: + type: integer + description: Pipeline Step + example: 299 + required: + - step + PipelineStepFilters: + title: Step filters + type: object + additionalProperties: false + description: The opportunity pipeline steps filters + properties: + filters: + type: object + description: Opportunity Pipeline Steps filters + properties: + name: + title: Name + type: string + description: Filter the opportunity pipeline steps list by name + example: Website + id: + title: Id + type: array + description: Filter the opportunity pipeline steps list by id + example: + - 45 + - 47 + minItems: 1 + items: + type: integer + required: + - filters + TaskItem: + title: Task Item + allOf: + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/2 + - type: object + properties: + _embed: + allOf: + - title: TaskItemEmbed + type: object + description: Objects add to response. Use embed parameter + x-examples: {} + readOnly: true + allOf: + - title: Embed for task + type: object + description: Objects add to response. Use embed parameter + x-examples: {} + readOnly: true + properties: + owner: + $ref: >- + #/components/schemas/Activity/properties/_embed/properties/author + title: Owner of the task + assigned_staffs: + title: Staffs assigned to the task + type: array + items: + $ref: >- + #/components/schemas/Activity/properties/_embed/properties/author + nullable: true + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: Objects linked to the task + items: + anyOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + title: Company + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + title: Individual + - $ref: '#/components/schemas/ContactItem/allOf/0' + title: Contact + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/1 + title: Opportunity + - $ref: '#/components/schemas/InvoiceOne/allOf/0' + title: Invoice + - $ref: '#/components/schemas/CreditNoteOne/allOf/0' + title: Credit note + - $ref: '#/components/schemas/EstimateOne/allOf/0' + title: Estimate + company: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + title: Company linked to the task + nullable: true + individual: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + title: Individual linked to the task + nullable: true + contact: + $ref: '#/components/schemas/ContactItem/allOf/0' + title: Contact linked to the task + nullable: true + - type: object + properties: + acl: + nullable: true + description: Task ACL + allOf: + - $ref: >- + #/components/schemas/Activity/properties/_embed/properties/acl/oneOf/3 + TaskCollectionItem: + title: Task Collection Item + allOf: + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/2 + - type: object + properties: + _embed: + allOf: + - title: Embed for Task collection item + type: object + description: Objects add to response. Use embed parameter + x-examples: {} + allOf: + - $ref: >- + #/components/schemas/TaskItem/allOf/1/properties/_embed/allOf/0/allOf/0 + TaskCreateItem: + title: TaskCreateItem + allOf: + - type: object + description: Task update object + x-examples: {} + properties: + title: + type: string + example: Meeting + description: Task title + nullable: true + description: + type: string + example: Monthly meeting with consulting team + description: Task description + nullable: true + is_private: + type: boolean + description: Task is private or public + default: false + due_date: + description: due date and time of task + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + status: + type: string + example: todo + description: Task status + enum: + - todo + - done + assigned_staff_ids: + type: array + nullable: true + items: + type: integer + description: staffs assigned to the task + example: 1 + label_id: + description: Task label + type: integer + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: >- + Main object related to the task (limit to 1). If empty, the link + with the existing related object will be removed. + items: + type: object + additionalProperties: false + description: Main object related to the task + required: + - type + - id + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - estimate + - invoice + - creditnote + - order + owner_id: + description: Owner of the task (Staff id expected) + type: integer + minimum: 1 + priority: + type: integer + description: Priority level of the task + minimum: 0 + maximum: 1 + - description: Task create item + - type: object + required: + - label_id + - due_date + properties: + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: Main object related to the task (limit to 1). + items: + type: object + additionalProperties: false + description: Main object related to the task + required: + - type + - id + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - estimate + - invoice + - creditnote + - order + created: + description: Date of creation of the calendar event + type: string + format: date-time + priority: + type: integer + description: Priority level of the task + default: 0 + minimum: 0 + maximum: 1 + required: + - related + TaskUpdateItem: + type: object + description: Task update object + x-examples: {} + properties: + title: + type: string + example: Meeting + description: Task title + nullable: true + description: + type: string + example: Monthly meeting with consulting team + description: Task description + nullable: true + is_private: + type: boolean + description: Task is private or public + default: false + due_date: + description: due date and time of task + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + status: + type: string + example: todo + description: Task status + enum: + - todo + - done + assigned_staff_ids: + type: array + nullable: true + items: + type: integer + description: staffs assigned to the task + example: 1 + label_id: + description: Task label + type: integer + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: >- + Main object related to the task (limit to 1). If empty, the link + with the existing related object will be removed. + items: + type: object + additionalProperties: false + description: Main object related to the task + required: + - type + - id + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - estimate + - invoice + - creditnote + - order + owner_id: + description: Owner of the task (Staff id expected) + type: integer + minimum: 1 + priority: + type: integer + description: Priority level of the task + minimum: 0 + maximum: 1 + TaskFilter: + title: taskFilter + type: object + description: The task filters + properties: + filters: + type: object + description: task filters + properties: + created: + title: Created at + type: object + description: Filter the tasks list by creation date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + due_date: + title: Due date + type: object + description: Filter the tasks list by due date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + owners: + title: Owners + type: array + items: + type: integer + example: 77 + description: Filter the tasks list by owners + assigned_staffs: + title: Assigned staffs + type: array + items: + type: integer + example: 33 + description: Filter the tasks list by assigned staffs + statuses: + title: Statuses + type: array + items: + type: string + example: todo + enum: + - todo + - done + description: Filter the tasks list by statuses + labels: + title: Labels + type: array + items: + type: integer + example: 47 + description: Filter the tasks list by labels + related_objects: + title: Related Objects + type: array + items: + type: object + properties: + type: + type: string + example: company + id: + type: integer + example: 22 + description: Filter the tasks list by related objects + companies: + title: Companies + type: array + description: Filter the tasks list by companies + items: + type: integer + individuals: + title: Individuals + type: array + description: Filter the tasks list by individuals + items: + type: integer + contacts: + title: Contacts + type: array + description: Filter the tasks list by contacts + items: + type: integer + priority: + type: object + description: Priority level of tasks + properties: + min: + type: integer + description: Inclusive minimum priority level of tasks + example: 1 + minimum: 0 + maximum: 1 + max: + type: integer + description: Inclusive maximum priority level of tasks + example: 1 + minimum: 0 + maximum: 1 + additionalProperties: false + required: + - filters + Label: + type: object + description: Label + x-examples: {} + properties: + id: + type: integer + readOnly: true + description: Label id + example: 6657 + name: + type: string + example: Reminder + description: Label title + color: + type: string + example: '#f7dcf5' + description: Color of label + nullable: true + is_active: + type: boolean + example: true + description: If label is active + rank: + type: integer + example: 1 + description: Label rank + LabelBaseItem: + title: Task + type: object + description: Task base object + x-examples: {} + properties: + id: + type: integer + readOnly: true + description: Task ID + example: 6657 + title: + type: string + example: Meeting + description: Task title + nullable: true + description: + type: string + example: Monthly meeting with consulting team + description: Task description + nullable: true + status: + type: string + example: todo + description: Task status + readOnly: true + enum: + - todo + - done + is_private: + type: boolean + description: Task is private or public + default: false + due_date: + description: due date and time of task + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + assigned_staff_ids: + type: array + nullable: true + items: + type: integer + description: staffs assigned to the task + example: 1 + label: + type: object + description: Label + x-examples: {} + properties: + id: + type: integer + readOnly: true + description: Label id + example: 6657 + name: + type: string + example: Reminder + description: Label title + color: + type: string + example: '#f7dcf5' + description: Color of label + nullable: true + is_active: + type: boolean + example: true + description: If label is active + rank: + type: integer + example: 1 + description: Label rank + updated: + description: Updated date of task (system) + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + readOnly: true + created: + description: Created date of task (system) + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + readOnly: true + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: Main object related to the task (limit to 1). + items: + type: object + additionalProperties: false + description: Main object related to the task + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - invoice + - creditnote + - estimate + - order + owner: + description: Owner of the task + type: object + properties: + type: + type: string + description: owner type + enum: + - staff + id: + type: integer + description: Owner id + example: 51 + company_id: + type: integer + description: Company linked to the task + example: 1 + readOnly: true + nullable: true + individual_id: + type: integer + description: Individual linked to the task + example: 92 + readOnly: true + nullable: true + contact_id: + type: integer + description: Contact linked to the task + example: 958 + readOnly: true + nullable: true + priority: + type: integer + description: Priority level of the task + example: 1 + minimum: 0 + maximum: 1 + LanguageCollection: + title: Language Collection + type: object + properties: + pagination: + $ref: '#/components/schemas/AccountDocumentCollection/properties/pagination' + data: + type: array + items: + allOf: + - type: object + properties: + id: + type: integer + example: 1 + description: Custom language ID + lang: + type: string + example: Language name + description: Custom language name + flag: + type: string + example: fr + description: Custom language flag label + nullable: true + required: + - id + - lang + - flag + required: + - pagination + - data + SearchResult: + type: array + description: Search Result Object + x-examples: {} + items: + anyOf: + - type: object + title: Company search result + description: Company Search Result Object + additionalProperties: false + allOf: + - type: object + properties: + id: + type: string + readOnly: true + description: Unique ID + example: 6657 + object: + type: object + description: Main object + properties: + type: + type: string + enum: + - contact + - company + - individual + - opportunity + - purchase + - item + - declination + - document + - staff + - redactor + nullable: false + id: + type: integer + example: 11 + nullable: false + sub_type: + type: string + enum: + - contact + - opportunity + - client + - prospect + - supplier + - purInvoice + - purDelivery + - purOrder + - purCreditNote + - product + - packaging + - shipping + - service + - declination + - invoice + - estimate + - creditnote + - order + - delivery + - proforma + - staff + - document + - template + nullable: false + nullable: false + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + readOnly: true + created: + type: string + format: datetime + nullable: false + description: Created datetime of object + example: '2020-05-29T11:22:03+02:00' + readOnly: true + updated: + type: string + format: datetime + nullable: false + description: updated datetime of object + example: '2020-05-29T11:22:03+02:00' + readOnly: true + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + - type: object + properties: + name: + type: string + description: Company name + example: My company + mobile_number: + type: string + description: Company mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Company fax number + example: '+33400000000' + nullable: true + phone_number: + type: string + description: Company phone number + example: '+33500000000' + nullable: true + email: + type: string + format: email + example: contact@my-company.com + nullable: true + invoicing_address: + type: object + title: Address + additionalProperties: false + nullable: true + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + address_line_1: + type: string + description: Address line one + example: 30 Commercial Road + nullable: true + address_line_2: + type: string + description: Address line two + example: Finance and Accounting + nullable: true + address_line_3: + type: string + description: Address line three + example: Lighthouse Promotions + nullable: true + address_line_4: + type: string + description: Address line four + example: PO Box 215 + nullable: true + postal_code: + type: string + nullable: true + description: Address postal code + example: '75012' + minLength: 2 + city: + type: string + description: Address city name + example: Paris + minLength: 2 + country_code: + type: string + description: Address country code + example: FR + minLength: 2 + maxLength: 2 + delivery_address: + $ref: >- + #/components/schemas/SearchResult/items/anyOf/0/allOf/1/properties/invoicing_address + main_contact: + type: object + nullable: true + description: Company's main contact + properties: + id: + type: integer + description: contact identifier + example: 6830 + last_name: + type: string + example: Doe + description: Contact last name + first_name: + type: string + example: John + description: Contact first name + civility: + type: string + description: Civility of individual + example: mrs + enum: + - mr + - mrs + - ms + reference: + type: string + description: Company reference + example: My company reference + - type: object + title: Individual search result + additionalProperties: false + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + first_name: + type: string + description: Individual first name + example: John + nullable: true + last_name: + type: string + example: Doe + description: Individual last name + civility: + type: string + description: Civility of individual + example: mrs + enum: + - mr + - mrs + - ms + mobile_number: + type: string + description: Individual mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Individual fax number + example: '+33400000000' + nullable: true + phone_number: + type: string + description: Individual phone number + example: '+33500000000' + nullable: true + email: + type: string + format: email + example: jonh.doe@email.com + nullable: true + invoicing_address: + $ref: >- + #/components/schemas/SearchResult/items/anyOf/0/allOf/1/properties/invoicing_address + delivery_address: + $ref: >- + #/components/schemas/SearchResult/items/anyOf/0/allOf/1/properties/invoicing_address + reference: + type: string + description: Individual reference + example: The reference of individual + - type: object + title: Opportunity search result + additionalProperties: false + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + number: + type: string + description: Opportunity ident + example: OPP-001 + nullable: false + name: + type: string + description: Opportunity name + example: Opportunity number one + nullable: false + status: + type: string + description: Opportunity status + example: won + enum: + - open + - won + - lost + - cancelled + - closed + - late + amount: + type: number + description: potential amount non formatted + example: 1450.45 + related: + type: object + allOf: + - type: object + properties: + id: + type: integer + - oneOf: + - type: object + title: Company + properties: + name: + type: string + description: company name + type: + type: string + enum: + - company + - type: object + title: Individual + properties: + type: + type: string + enum: + - individual + first_name: + type: string + description: Individual first name + example: John + last_name: + type: string + example: Doe + description: Individual last name + civility: + type: string + description: Civility of linked contact + example: mrs + enum: + - mr + - mrs + - ms + - type: object + title: Contact search result + additionalProperties: false + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + first_name: + description: Contact first name + type: string + format: text + example: John + nullable: true + last_name: + description: Contact last name + type: string + format: text + example: Doe + nullable: true + civility: + type: string + description: Civility of contact + example: mrs + enum: + - mr + - mrs + - ms + email: + description: Contact email + type: string + format: email + example: john.doe@example-company.com + nullable: true + phone_number: + type: string + description: Contact phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Contact mobile number + example: '+33100000000' + nullable: true + fax_number: + type: string + description: Contact fax number + example: '+33100000000' + nullable: true + position: + type: string + nullable: true + description: Contact job + example: Financial + companies: + type: array + items: + type: object + properties: + name: + type: string + format: text + example: This company + description: Company name + nullable: false + id: + type: integer + example: 5456 + description: Company id + nullable: false + minimum: 1 + invoicing_address: + $ref: >- + #/components/schemas/SearchResult/items/anyOf/0/allOf/1/properties/invoicing_address + delivery_address: + $ref: >- + #/components/schemas/SearchResult/items/anyOf/0/allOf/1/properties/invoicing_address + - type: object + title: Purchase search result + additionalProperties: false + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + status: + description: Purchase status + type: string + example: read + enum: + - draft + - due + - payinprogress + - paid + - late + - cancelled + - sent + - read + - accepted + - expired + - partialInvoiced + - invoiced + - stored + - spent + - partialspend + number: + description: Purchase number + type: string + example: F_INV-20210303-00001 + external_number: + description: Purchase external number + type: string + example: FACT-2020W3-00001 + name: + type: string + description: Purchase subject + nullable: true + amount: + type: number + format: float + description: Total purchase amount, taxes included + example: 133.7 + currency: + type: string + description: Purchase currency + example: € + related: + type: object + allOf: + - type: object + properties: + id: + type: integer + - oneOf: + - type: object + title: Company + properties: + name: + type: string + description: company name + type: + type: string + enum: + - company + - type: object + title: Individual + properties: + type: + type: string + enum: + - individual + first_name: + type: string + description: Individual first name + example: John + last_name: + type: string + example: Doe + description: Individual last name + civility: + type: string + description: Civility of linked contact + example: mrs + enum: + - mr + - mrs + - ms + - type: object + title: Item search result + additionalProperties: false + description: Item Search Result Object + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + number: + type: string + description: Item number + example: REF_00001 + name: + type: string + description: item name + example: My product + nullable: true + description: + type: string + description: Item description + example: This is a product description + nullable: true + - type: object + title: Item declination search result + additionalProperties: false + description: Item declination search result object + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + number: + type: string + description: Item declination number + example: REF_00001_RED + name: + type: string + description: item declination name + example: My product Red + nullable: true + description: + type: string + description: Item declination description + example: This is a product description with red color + nullable: true + related: + type: object + description: Original item related to this declination + properties: + id: + type: integer + number: + type: string + name: + type: string + - type: object + title: Document search result + additionalProperties: false + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + status: + description: Document status + type: string + example: read + enum: + - draft + - due + - payinprogress + - paid + - late + - cancelled + - sent + - read + - accepted + - refused + - expired + - advanced + - partialinvoiced + - invoiced + - stored + - partialspend + - spent + number: + description: Document number + type: string + example: FACT-20210302-00001 + name: + type: string + description: Document subject + nullable: true + amount: + type: number + format: float + description: Total amount of document, taxes include + example: 942.88 + currency: + type: string + description: Document currency + example: € + related: + type: object + allOf: + - type: object + properties: + id: + type: integer + - oneOf: + - type: object + title: Company + properties: + name: + type: string + description: company name + type: + type: string + enum: + - company + - type: object + title: Individual + properties: + type: + type: string + enum: + - individual + first_name: + type: string + description: Individual first name + example: John + last_name: + type: string + example: Doe + description: Individual last name + civility: + type: string + description: Civility of linked contact + example: mrs + enum: + - mr + - mrs + - ms + - type: object + title: Staff search result + additionalProperties: false + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + first_name: + description: Staff's first name + type: string + format: text + example: John + nullable: true + last_name: + description: Staff's last name + type: string + format: text + example: Doe + nullable: true + phone_number: + type: string + description: Staff's phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Staff's mobile number + example: '+33100000000' + nullable: true + blocked: + type: boolean + description: Staff's status + email: + description: Staff's email + type: string + format: email + example: john.doe@example-company.com + nullable: true + position: + type: string + nullable: true + description: Staff's job + example: Financial + - type: object + title: Ticket search result + additionalProperties: false + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + status: + description: Ticket status + type: string + example: active + enum: + - active + - pending + - closed + - spam + subject: + description: Ticket subject + type: string + index: + description: Ticket reference + type: string + related: + type: array + items: + type: string + - type: object + title: Redactor document search result + additionalProperties: false + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + status: + description: Redactor status + type: string + example: ok + enum: + - ok + - deleted + step: + description: Redactor step + type: string + example: read + enum: + - draft + - sent + - read + - accepted + ident: + type: string + description: Redactor ident + example: REDACTOR-001 + nullable: false + related: + type: array + items: + type: string + - type: object + title: Redactor template search result + additionalProperties: false + allOf: + - $ref: '#/components/schemas/SearchResult/items/anyOf/0/allOf/0' + - type: object + properties: + name: + type: string + description: Redactor template name + related_object: + type: string + description: Redactor template related object + enum: + - none + - document + - opportunity + - item + - rent + - ticket + linked_object: + type: string + description: Redactor template linked object + enum: + - none + - client + - prospect + - supplier + - people + SearchResultBaseItem: + type: object + properties: + id: + type: string + readOnly: true + description: Unique ID + example: 6657 + object: + type: object + description: Main object + properties: + type: + type: string + enum: + - contact + - company + - individual + - opportunity + - purchase + - item + - declination + - document + - staff + - redactor + nullable: false + id: + type: integer + example: 11 + nullable: false + sub_type: + type: string + enum: + - contact + - opportunity + - client + - prospect + - supplier + - purInvoice + - purDelivery + - purOrder + - purCreditNote + - product + - packaging + - shipping + - service + - declination + - invoice + - estimate + - creditnote + - order + - delivery + - proforma + - staff + - document + - template + nullable: false + nullable: false + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + readOnly: true + created: + type: string + format: datetime + nullable: false + description: Created datetime of object + example: '2020-05-29T11:22:03+02:00' + readOnly: true + updated: + type: string + format: datetime + nullable: false + description: updated datetime of object + example: '2020-05-29T11:22:03+02:00' + readOnly: true + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + SearchResultAggregations: + type: object + description: Search Result Aggregations + x-examples: {} + properties: + count_by_type: + type: object + description: Count the number of objects by type + properties: + company: + type: array + minItems: 1 + maxItems: 2 + description: >- + The 1st value corresponds to active objects, the 2nd to achived + objects + items: + type: integer + individual: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + contact: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + opportunity: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + purchase: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + item: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + declination: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + document: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + staff: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + ticket: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + redactor: + $ref: >- + #/components/schemas/SearchResultAggregations/properties/count_by_type/properties/company + PhoneCallItem: + title: PhoneCall + allOf: + - title: PhoneCall + allOf: + - type: object + description: The CRM phoneCall + required: + - related + properties: + id: + type: integer + readOnly: true + source: + type: string + description: Incoming call or Outgoing call + enum: + - incoming + - outcoming + description: + type: string + description: Description of the phone call + example: >- + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed + do eiusmod tempor + nullable: true + updated: + type: string + format: date-time + description: Last update date / hour + example: '2020-01-01T00:00:00+01:00' + readOnly: true + created: + type: string + format: date-time + description: Creation date / hour + example: '2020-01-01T00:00:00+01:00' + readOnly: true + duration: + type: integer + description: Total duration of call (in seconds) + example: 12345 + date: + type: string + format: date-time + description: Date and hour of phonecall + example: '2020-01-01T00:00:00+01:00' + company_id: + type: integer + description: Company linked to the phone call + nullable: true + readOnly: true + individual_id: + type: integer + description: Individual linked to the phone call + nullable: true + readOnly: true + contact_id: + type: integer + description: Contact linked to the phone call + nullable: true + readOnly: true + related: + type: array + minItems: 1 + description: List objects related to the phone call + items: + type: object + additionalProperties: false + description: Object related to the phone call + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + priority: + type: integer + description: Priority level of the phone call + minimum: 0 + maximum: 1 + - type: object + properties: + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + description: Owner of the phone call + source: + type: string + description: Incoming call or Outgoing call + enum: + - incoming + - outcoming + topic: + type: object + description: Phone call topic + properties: + id: + type: integer + example: 2235 + name: + type: string + example: Support + result: + type: object + description: Phone call result + properties: + id: + type: string + enum: + - noanswer + - busy + - wrongnumber + - msgdirect + - msgvocal + - connected + - transfer + - interrupt + - scheduled + name: + type: string + example: No answer + - type: object + properties: + _embed: + title: Embed for PhoneCall object + type: object + readOnly: true + allOf: + - title: Embed for PhoneCall object + type: object + readOnly: true + properties: + owner: + $ref: >- + #/components/schemas/Activity/properties/_embed/properties/author + title: Owner of the phone call + related: + type: array + minItems: 1 + maxItems: 3 + nullable: false + description: Objects linked to the phone call + items: + anyOf: + - title: Company + type: object + readOnly: true + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + - type: object + properties: + _type: + nullable: false + description: type of related + type: string + enum: + - company + - title: Individual + type: object + readOnly: true + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + - type: object + properties: + _type: + nullable: false + description: type of related + type: string + enum: + - individual + - title: Contact + type: object + readOnly: true + allOf: + - $ref: '#/components/schemas/ContactItem/allOf/0' + - type: object + properties: + _type: + nullable: false + description: type of related + type: string + enum: + - contact + - title: Opportunity + type: object + readOnly: true + allOf: + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/1 + - type: object + properties: + _type: + nullable: false + description: type of related + type: string + enum: + - opportunity + company: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + title: Company linked to the phone call + nullable: true + individual: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + title: Individual linked to the phone call + nullable: true + contact: + $ref: '#/components/schemas/ContactItem/allOf/0' + title: Contact linked to the phone call + nullable: true + - type: object + properties: + acl: + title: ACL for PhoneCall object + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: false + description: PhoneCall can be updated + example: true + can_be_deleted: + type: boolean + nullable: false + description: PhoneCall can be deleted + example: true + PhoneCallCollectionItem: + title: PhoneCall + allOf: + - $ref: '#/components/schemas/PhoneCallItem/allOf/0' + - type: object + properties: + _embed: + $ref: >- + #/components/schemas/PhoneCallItem/allOf/1/properties/_embed/allOf/0 + PhoneCallCreateItem: + title: PhoneCall + allOf: + - title: PhoneCall + type: object + description: PhoneCall update request body + properties: + owner_id: + type: integer + description: Owner of the phone call (Staff id expected) + minimum: 1 + topic: + type: integer + description: Phone call topic + result: + type: string + enum: + - noanswer + - busy + - wrongnumber + - msgdirect + - msgvocal + - connected + - transfer + - interrupt + - scheduled + description: Phone call result + source: + type: string + description: Incoming call or Outgoing call + enum: + - incoming + - outcoming + description: + type: string + description: Description of the phone call + example: >- + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do + eiusmod tempor + nullable: true + duration: + type: integer + description: > + Total duration of call (in seconds) + + + *Note:* for phone calls with the "scheduled" result, this value + is forcibly set to zero. + example: 12345 + date: + type: string + format: date-time + description: Date and hour of phone call + example: '2020-01-01T00:00:00+01:00' + related: + type: array + minItems: 1 + maxItems: 3 + description: List objects related to the phone call (limit to 1 of each type) + items: + type: object + additionalProperties: false + description: Object related to the phone call + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + priority: + type: integer + description: Priority level of the phone call + minimum: 0 + maximum: 1 + - type: object + required: + - owner_id + - date + - result + - source + - related + - description: PhoneCall create item + PhoneCallUpdateItem: + title: PhoneCall + type: object + description: PhoneCall update request body + properties: + owner_id: + type: integer + description: Owner of the phone call (Staff id expected) + minimum: 1 + topic: + type: integer + description: Phone call topic + result: + type: string + enum: + - noanswer + - busy + - wrongnumber + - msgdirect + - msgvocal + - connected + - transfer + - interrupt + - scheduled + description: Phone call result + source: + type: string + description: Incoming call or Outgoing call + enum: + - incoming + - outcoming + description: + type: string + description: Description of the phone call + example: >- + Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do + eiusmod tempor + nullable: true + duration: + type: integer + description: > + Total duration of call (in seconds) + + + *Note:* for phone calls with the "scheduled" result, this value is + forcibly set to zero. + example: 12345 + date: + type: string + format: date-time + description: Date and hour of phone call + example: '2020-01-01T00:00:00+01:00' + related: + type: array + minItems: 1 + maxItems: 3 + description: List objects related to the phone call (limit to 1 of each type) + items: + type: object + additionalProperties: false + description: Object related to the phone call + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + priority: + type: integer + description: Priority level of the phone call + minimum: 0 + maximum: 1 + PhoneCallFilter: + title: Phone calls filters + type: object + description: Phone calls filters + properties: + filters: + type: object + description: Phone calls filters + properties: + created: + title: Created at + type: object + description: Filter the phone calls list by creation date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + owners: + title: Owners + type: array + items: + type: integer + example: 77 + description: Filter the phone calls list by owners + related_objects: + title: Related Objects + type: array + items: + type: object + properties: + type: + type: string + example: company + id: + type: integer + example: 22 + description: Filter the phone calls list by related objects + companies: + title: Companies + type: array + description: Filter the phone calls list by companies + items: + type: integer + individuals: + title: Individuals + type: array + description: Filter the phone calls list by individuals + items: + type: integer + contacts: + title: Contacts + type: array + description: Filter the phone calls list by contacts + items: + type: integer + topic: + title: Topic + type: integer + description: Filter the phone calls list by topic + result: + title: Result + type: string + enum: + - noanswer + - busy + - wrongnumber + - msgdirect + - msgvocal + - connected + - transfer + - interrupt + - scheduled + description: Filter the phone calls list by result + source: + title: Source + description: Filter the phone calls list by source + type: string + enum: + - incoming + - outcoming + due_date: + title: Due Date + description: >- + Filter the phone calls in which the due date is in that time + frame + type: object + properties: + start: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + priority: + type: object + properties: + min: + type: integer + description: Inclusive minimum priority level of phone calls + example: 1 + minimum: 0 + maximum: 1 + max: + type: integer + description: Inclusive maximum priority level of phone calls + example: 1 + minimum: 0 + maximum: 1 + additionalProperties: false + required: + - filters + CalendarEventItem: + title: Calendar Event + type: object + allOf: + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/5 + - type: object + properties: + _embed: + allOf: + - type: object + readOnly: true + description: Objects add to response. Use embed parameter + properties: + company: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + contact: + $ref: '#/components/schemas/ContactItem/allOf/0' + individual: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + owner: + $ref: '#/components/schemas/CrmActivity/properties/author' + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: Objects linked to the event + items: + anyOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + title: Company + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + title: Individual + - $ref: '#/components/schemas/ContactItem/allOf/0' + title: Contact + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/1 + title: Opportunity + - $ref: '#/components/schemas/EstimateOne/allOf/0' + title: Estimate + - $ref: '#/components/schemas/InvoiceOne/allOf/0' + title: Invoice + - $ref: '#/components/schemas/CreditNoteOne/allOf/0' + title: Credit note + participants: + type: array + items: + oneOf: + - $ref: '#/components/schemas/ContactItem/allOf/0' + - $ref: '#/components/schemas/CrmActivity/properties/author' + acl: + $ref: >- + #/components/schemas/Activity/properties/_embed/properties/acl/oneOf/6 + CalendarEventCreateItem: + type: object + title: Calendar event + description: Body for calendar event creation + x-examples: {} + required: + - datetime_start + - datetime_end + - title + - label_id + properties: + title: + type: string + example: Meeting + description: Calendar event title + description: + type: string + example: Monthly meeting with consulting team + description: Calendar event description + nullable: true + datetime_start: + description: start date and time of calendar event + type: string + format: date-time + maxLength: 29 + example: '2020-01-01T00:00:00+01:00' + datetime_end: + description: end date and time of calendar event + type: string + format: date-time + maxLength: 29 + example: '2020-01-01T00:00:00+01:00' + is_private: + type: boolean + description: Calendar event is private or public + default: false + all_day: + type: boolean + description: Calendar event is scheduled for the whole day + default: false + label_id: + type: integer + description: Label id for event + provider_calendar: + type: string + description: Calendar id for event + example: myemail@gmail.com + participants: + type: array + description: Participants (Staff, Contact or External Participants) + items: + type: object + description: Participant linked + properties: + id: + oneOf: + - type: integer + - type: string + description: Id of participant + type: + type: string + enum: + - staff + - contact + - external + description: Type of participant + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: Main object related to the calendar event (limit to 1). + items: + type: object + additionalProperties: false + description: Main object related to the calendar event + required: + - type + - id + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - estimate + - invoice + - creditnote + - order + created: + description: Date of creation of the calendar event + type: string + format: date-time + priority: + type: integer + description: Priority level of the calendar event + minimum: 0 + maximum: 1 + default: 0 + CalendarEventUpdateItem: + type: object + description: Calendar event update object + x-examples: {} + properties: + title: + type: string + example: Meeting + description: Calendar event title + description: + type: string + example: Monthly meeting with consulting team + description: Calendar event description + nullable: true + datetime_start: + description: start date and time of calendar event + type: string + format: date-time + maxLength: 29 + example: '2020-01-01T00:00:00+01:00' + datetime_end: + description: end date and time of calendar event + type: string + format: date-time + maxLength: 29 + example: '2020-01-01T00:00:00+01:00' + is_private: + type: boolean + description: Calendar event is private or public + default: false + all_day: + type: boolean + description: Calendar event is scheduled for the whole day + default: false + label_id: + type: integer + description: Label id for event + provider_calendar: + type: string + description: Calendar id for event + example: myemail@gmail.com + participants: + type: array + description: Participants (Staff, Contact or External Participants) + items: + type: object + description: Participant linked + properties: + id: + oneOf: + - type: integer + - type: string + description: Id of participant + type: + type: string + enum: + - staff + - contact + - external + description: Type of participant + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: >- + Main object related to the calendar event (limit to 1). If empty, + the link with the existing related object will be removed. + items: + type: object + additionalProperties: false + description: Main object related to the calendar event + required: + - type + - id + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + enum: + - opportunity + - company + - individual + - contact + - estimate + - invoice + - creditnote + - order + priority: + type: integer + description: Priority level of the calendar event + minimum: 0 + maximum: 1 + CalendarEventFilters: + title: CalendarEventFilters + type: object + description: Calendar event filters + properties: + filters: + type: object + description: calendar event filters + additionalProperties: false + properties: + due_date: + $ref: >- + #/components/schemas/DealsFilters/properties/filters/properties/due_date + owners: + type: array + description: Owner(s) of event + items: + type: integer + participants: + type: array + description: Staff, contact or external contact of event + items: + type: object + properties: + type: + type: string + enum: + - staff + - contact + - external + id: + oneOf: + - type: integer + - type: string + labels: + type: array + description: Event labels + items: + type: integer + related_objects: + type: array + description: object(s) linked to event + items: + type: object + properties: + type: + type: string + id: + type: integer + companies: + type: array + description: Id(s) of company linked to event + items: + type: integer + individuals: + type: array + description: Id(s) of individuals linked to event + items: + type: integer + contacts: + type: array + description: Id(s) of contact linked to event + items: + type: integer + priority: + type: object + description: Priority level of events + properties: + min: + type: integer + description: Inclusive minimum priority level of events + example: 1 + minimum: 0 + maximum: 1 + max: + type: integer + description: Inclusive maximum priority level of events + example: 1 + minimum: 0 + maximum: 1 + additionalProperties: false + Related: + type: object + description: Object linked + properties: + id: + type: integer + description: Id of object + type: + type: string + description: Type of object + Activity: + type: object + description: The activity object + properties: + id: + type: string + description: Id of activity + example: 2wto807ysxa + event: + type: string + description: Event type + example: task.created + author: + type: object + properties: + type: + type: string + enum: + - staff + example: staff + id: + type: integer + minimum: 1 + example: 1024 + event_date: + type: string + description: Date of activity + format: date-time + due_date: + type: string + format: date-time + description: Due date of activity + event_details: + type: object + description: Details of events + additionalProperties: true + event_more: + type: object + description: Additional informations + example: + old: client + new: prospect + additionalProperties: true + object: + type: object + description: Event object of activity + required: + - type + - id + properties: + type: + type: string + example: task + id: + oneOf: + - type: string + example: 1056 + minLength: 1 + - type: integer + example: 1056 + minimum: 1 + model: + nullable: true + oneOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/1 + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/2 + - $ref: '#/components/schemas/ContactItem/allOf/0' + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + - $ref: '#/components/schemas/CommentItem/allOf/0' + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/5 + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/6 + related: + type: array + minItems: 0 + nullable: false + description: List all direct and indirect relations of the activity’s main object + items: + type: object + additionalProperties: false + description: Object related to the activity + properties: + id: + $ref: '#/components/schemas/Activity/properties/object/properties/id' + type: + type: string + example: opportunity + _embed: + type: object + description: Embed objects for activity logs + readOnly: true + properties: + object_related: + type: array + minItems: 0 + nullable: false + description: >- + Add the direct relation of the activity’s main object to the + response (partially described in object.model.related) + items: + anyOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + - $ref: '#/components/schemas/ContactItem/allOf/0' + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/1 + - $ref: >- + #/components/schemas/Deals/properties/object/properties/model/oneOf/2 + individual: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + company: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + author: + title: Staff Schemas + description: >- + Staff schemas according of current user level of visibility on + staffs + allOf: + - $ref: '#/components/schemas/Staff/allOf/0' + - type: object + properties: + phone_number: + type: string + description: Staff phone number + example: '+33100000000' + nullable: true + mobile_number: + type: string + description: Staff mobile number + example: '+33600000000' + nullable: true + fax_number: + type: string + description: Staff fax number + example: '+33500000000' + nullable: true + groups: + type: array + nullable: true + description: Staff groups + readOnly: true + items: + type: object + properties: + id: + type: integer + example: 1 + name: + type: string + example: Sales + civility: + type: string + description: Civility of staff + example: mrs + nullable: true + enum: + - mr + - mrs + - ms + created: + type: string + description: Creation date of the staff + format: date-time + example: '1970-01-01T00:00:00+00:00' + readOnly: true + profile: + type: integer + description: Staff privilège profile + example: 3443 + team: + nullable: true + type: object + properties: + id: + type: integer + example: -1 + name: + type: string + example: Commercial + description: Staff team position + job: + nullable: true + type: object + properties: + id: + type: integer + example: -1 + name: + type: string + example: Office manager + description: Staff job + timezone: + type: string + description: Staff time zone + example: Europe/Paris + language: + type: string + description: Staff language + example: fr + acl: + nullable: true + description: Activity's main object's ACL + oneOf: + - title: Company ACL + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Company can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Company can be delete + example: true + view_companies_addresses: + type: boolean + nullable: true + description: Company Addresses can be listed + example: true + create_companies_addresses: + type: boolean + nullable: true + description: Company Addresses can be created + example: true + update_companies_addresses: + type: boolean + nullable: true + description: Company Addresses can be updated + example: true + delete_companies_addresses: + type: boolean + nullable: true + description: Company Addresses can be deleted + example: true + - title: ContactAcl + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Contact can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Contact can be deleted + example: true + view_contacts_addresses: + type: boolean + nullable: true + description: Contact Addresses can be listed + example: true + create_contacts_addresses: + type: boolean + nullable: true + description: Contact Addresses can be created + example: true + update_contacts_addresses: + type: boolean + nullable: true + description: Contact Addresses can be updated + example: true + delete_contacts_addresses: + type: boolean + nullable: true + description: Contact Addresses can be deleted + example: true + - title: Individual ACL + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Individual can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Individual can be delete + example: true + view_individuals_addresses: + type: boolean + nullable: true + description: Individual Addresses can be listed + example: true + create_individuals_addresses: + type: boolean + nullable: true + description: Individual Addresses can be created + example: true + update_individuals_addresses: + type: boolean + nullable: true + description: Individual Addresses can be updated + example: true + delete_individuals_addresses: + type: boolean + nullable: true + description: Individual Addresses can be deleted + example: true + - title: TaskAcl + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Task can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Task can be delete + example: true + - title: Comment acl + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + description: Comment can be updated + can_be_deleted: + type: boolean + description: Comment can be deleted + - title: Opportunity ACL + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: false + description: Opportunity can be updated + example: true + can_be_deleted: + type: boolean + nullable: false + description: Opportunity can be deleted + example: true + link_invoicing_docs: + type: boolean + nullable: false + description: Can link invoicing documents + example: true + - title: ACL for Calendar Event object + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Calendar Event can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Calendar Event can be delete + example: true + ActivityFilters: + type: object + description: The activity filters + properties: + filters: + type: object + description: Activity filters + properties: + entity: + description: Filter on a specific entity + type: object + properties: + type: + description: Entity type + type: string + enum: + - email + - calendar_event + - staff + - task + - comment + - snippettracking + - phonecall + - contact + - prospect + - opportunity + - campaign + - client + - supplier + id: + type: integer + description: Entity id to filter on + entities: + type: array + items: + $ref: >- + #/components/schemas/ActivityFilters/properties/filters/properties/entity/properties/type + due_date: + $ref: >- + #/components/schemas/DealsFilters/properties/filters/properties/due_date + activity_level: + description: >- + Filter activity by level. Get main activities/secondary + activities or both by default. + type: array + example: + - main + items: + type: string + enum: + - main + - secondary + default: + - main + - secondary + EmailItem: + title: Email + allOf: + - type: object + title: Email + description: The email object + properties: + id: + description: Email Identifier + type: string + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + description: Owner of the email + subject: + type: string + description: Subject of email + is_open: + type: boolean + description: Has been open or not + is_scheduled: + type: boolean + description: Has been scheduled or immediate send + from: + type: string + format: email + description: From email + participants: + type: array + description: Email addresses of destinators + items: + type: string + format: email + is_private: + type: boolean + description: Private email or not + created: + type: string + format: date-time + description: Creation date / hour + updated: + type: string + format: date-time + description: Last update date / hour + related: + type: array + minItems: 0 + maxItems: 1 + nullable: false + description: Main object related to the email (limit to 1). + items: + type: object + additionalProperties: false + description: Main object related to the email + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + company_id: + type: integer + description: Company linked to email + readOnly: true + individual_id: + type: integer + description: Individual linked to email + readOnly: true + contact_id: + type: integer + description: Contact linked to email + readOnly: true + thread_id: + description: Email thread identifier + nullable: false + oneOf: + - type: string + example: axB8kdF092 + minLength: 1 + - type: integer + example: 1056 + minimum: 1 + - type: object + properties: + content: + type: string + description: Full email content + snippet: + type: string + description: Short description + EmailEngineItem: + type: object + title: Email + description: The email object + properties: + id: + description: Email Identifier + type: string + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + subject: + type: string + description: Subject of email + content: + type: string + description: Content of email + is_open: + type: boolean + description: Has been open or not + is_scheduled: + type: boolean + description: Has been scheduled or immediate send + from: + type: object + properties: + email: + type: string + format: email + description: Recipient's email + name: + type: string + description: Recipient's name + to: + description: An array of name+email pairs the message was sent to. + type: array + items: + $ref: '#/components/schemas/EmailEngineItem/properties/from' + cc: + description: An array of name+email pairs the message was cc'd to. + type: array + items: + $ref: '#/components/schemas/EmailEngineItem/properties/from' + bcc: + description: >- + An array of name+email pairs the message was bcc'd to. For received + mail this is nearly always empty. + type: array + items: + $ref: '#/components/schemas/EmailEngineItem/properties/from' + is_private: + type: boolean + description: Private email or not + created: + type: string + format: date-time + description: Creation date / hour + updated: + type: string + format: date-time + description: Last update date / hour + related: + type: array + nullable: false + description: Main object related to the email. + items: + type: object + additionalProperties: false + description: Main object related to the email + properties: + id: + type: integer + example: 1 + type: + type: string + example: opportunity + message_id: + description: Email message identifier + nullable: true + type: string + example: axB8kdF092 + minLength: 1 + thread_id: + description: Email thread identifier + nullable: true + type: string + example: axB8kdF092 + minLength: 1 + linked_object: + type: string + nullable: true + description: Linked to the email object + example: client.1 + EmailSendBody: + type: object + required: + - subject + - content + - to + properties: + subject: + description: Subject + type: string + content: + description: Content + type: string + to: + description: Main recipients + type: array + items: + type: object + required: + - email + properties: + name: + description: Participant name + type: string + nullable: true + email: + description: Participant email + type: string + format: email + related: + description: Related objects + type: array + items: + type: object + required: + - id + - type + properties: + id: + description: Object id + type: integer + type: + description: Object type + type: string + enum: + - company + - contact + - client + - supplier + - prospect + - estimate + - invoice + - delivery + - order + - creditnote + - proforma + - opportunity + - staff + cc: + description: Recipients in copy + type: array + items: + $ref: '#/components/schemas/EmailSendBody/properties/to/items' + bcc: + description: Recipients in blind copy + type: array + items: + $ref: '#/components/schemas/EmailSendBody/properties/to/items' + related: + description: Related objects + type: array + items: + type: object + required: + - id + - type + properties: + id: + description: Object id + type: integer + type: + description: Object type + type: string + enum: + - estimate + - invoice + - delivery + - order + - creditnote + - proforma + - opportunity + - company + - client + - supplier + - prospect + - contact + - purInvoice + - purCreditNote + - purOrder + - purDelivery + in_reply_to_id: + description: Message ID of the email to which this email is a reply + type: string + nullable: true + PartialEmailHeader: + type: object + title: Mail provider error + description: The error + properties: + error: + description: Error detail + type: object + properties: + code: + type: integer + description: HTTP status code + message: + type: string + description: Error message + EmailAuthenticationItem: + title: DNS authentication result + type: object + properties: + valid: + type: boolean + description: Indicates if this is a valid domain + domain: + type: string + description: Domain for which the DNS information is retrieved + dns: + type: object + description: DNS records + properties: + mail_cname: + title: cname.yaml + type: object + description: The CNAME for your sending domain + properties: + valid: + type: boolean + description: Indicates if this is a valid CNAME + type: + type: string + description: The type of DNS record + host: + type: string + description: The domain that this CNAME is created for + data: + type: string + description: The CNAME record + dkim1: + title: dns.yaml + type: object + description: DNS record + properties: + valid: + type: boolean + description: Indicates if this is a valid DNS record + type: + type: string + description: The type of DNS record + host: + type: string + description: The domain that this DNS record was created for + data: + type: string + description: The DNS record + dkim2: + $ref: >- + #/components/schemas/EmailAuthenticationItem/properties/dns/properties/dkim1 + EmailValidationItem: + title: DNS validation result + type: object + properties: + valid: + type: boolean + description: Indicates if this is a valid domain + domain: + type: string + description: Domain for which the DNS information is retrieved + validation_results: + type: object + description: DNS records + properties: + mail_cname: + type: object + nullable: true + properties: + valid: + type: boolean + description: If the check passed or not + reason: + type: string + nullable: true + description: The error message + dkim1: + $ref: >- + #/components/schemas/EmailValidationItem/properties/validation_results/properties/mail_cname + dkim2: + $ref: >- + #/components/schemas/EmailValidationItem/properties/validation_results/properties/mail_cname + spf: + $ref: >- + #/components/schemas/EmailValidationItem/properties/validation_results/properties/mail_cname + EmailVerificationInput: + title: Email verification + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + email: + type: string + format: email + description: Email address to verify + example: john-doe@example.com + redirect_uri: + type: string + format: uri + nullable: true + description: Uri to be redirected to after email validation + example: https://www.sellsy.com + required: + - email + EmailVerificationValidateInput: + title: Email verification + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + email: + type: string + format: email + description: Email address to verify + example: john-doe@example.com + required: + - email + EmailVerificationValidateOutput: + title: Email verification result + type: object + properties: + verified: + type: boolean + description: Indicates if the email has already been verified + example: false + EmailRecipientSuggestionOutput: + title: Suggested recipient + type: array + items: + type: object + properties: + email: + type: string + format: email + example: john.doe@example.com + description: Suggested recipient's email + name: + type: string + example: John Doe + description: Suggested recipient's name + relatedObject: + $ref: '#/components/schemas/EmailSendBody/properties/related/items' + EmailRecipientsOutput: + title: Recipients + type: array + description: List of recipients + items: + type: object + properties: + email: + type: string + format: email + example: john.doe@example.com + description: Recipient's email + name: + type: string + example: John Doe + description: Recipient's name + WebhookFilters: + title: WebhookFilters + type: object + description: Webhooks filters list + properties: + filters: + type: object + description: Opportunity filters + properties: + type: + type: string + description: Webhook type + enum: + - http + - slack + example: slack + is_enabled: + type: boolean + description: Webhook status + example: true + endpoint: + type: string + description: >- + Webhook endpoint (either url for http type, either slack url for + slack type) + example: http://{host}/webhook + required: + - filters + WebhookReadItem: + anyOf: + - title: webhook.slack.read.item + type: object + description: Slack Webhook schema for read context + allOf: + - title: webhook.common.read.item + type: object + description: Webhook common schema for read context + allOf: + - title: webhook.common.item + type: object + description: Webhook common schema + properties: + is_enabled: + type: boolean + description: Webhook status + default: true + endpoint: + type: string + description: >- + Webhook endpoint (either url for http type, either slack + url for slack type) + example: http://{host}/webhook + - type: object + properties: + id: + type: integer + type: + type: string + description: Webhook type + enum: + - http + - slack + example: slack + created: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + updated: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + nullable: true + last_succeeded: + type: string + example: '1970-01-01T00:00:00+00:00' + format: date-time + nullable: true + last_failed: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + nullable: true + nb_failures: + type: integer + minimum: 0 + example: 0 + - type: object + properties: + default_channel: + type: string + nullable: true + example: sales_notifs + description: required for slack type webhook + configuration: + title: webhookConfigurationSlackItems + type: array + description: Describe all events to enable as a key + additionalProperties: true + items: + allOf: + - title: webhook.slack.configuration.item + type: object + description: Slack Webhook configuration item schema + additionalProperties: false + properties: + id: + type: string + description: Event id (fetch from /webhooks/events) + example: task.created + is_enabled: + type: boolean + description: Event enabled on webhook + example: true + channel: + type: string + nullable: true + description: Slack channel + - title: webhook.http.read.item + type: object + description: Http Webhook schema for read context + allOf: + - $ref: '#/components/schemas/WebhookReadItem/anyOf/0/allOf/0' + - type: object + properties: + configuration: + title: webhookConfigurationHttpItems + type: array + description: Describe all events to enable as a key + additionalProperties: true + items: + allOf: + - title: webhook.http.configuration.item + type: object + description: Http Webhook configuration item schema + additionalProperties: false + properties: + id: + type: string + description: Event id (fetch from /webhooks/events) + example: task.created + is_enabled: + type: boolean + description: Event enabled on webhook + example: true + WebhookEditItem: + anyOf: + - title: webhook.slack.edit.item + type: object + description: Slack Webhook schema for edit context + additionalProperties: false + properties: + is_enabled: + type: boolean + description: Webhook status + default: true + endpoint: + type: string + description: >- + Webhook endpoint (either url for http type, either slack url for + slack type) + example: http://{host}/webhook + default_channel: + type: string + nullable: true + example: sales_notifs + description: required for slack type webhook + configuration: + $ref: >- + #/components/schemas/WebhookReadItem/anyOf/0/allOf/1/properties/configuration + - title: webhook.http.edit.item + type: object + description: Http Webhook schema for edit context + additionalProperties: false + properties: + is_enabled: + type: boolean + description: Webhook status + default: true + endpoint: + type: string + description: >- + Webhook endpoint (either url for http type, either slack url for + slack type) + example: http://{host}/webhook + configuration: + $ref: >- + #/components/schemas/WebhookReadItem/anyOf/1/allOf/1/properties/configuration + WebhookCreateItem: + anyOf: + - title: webhook.slack.create.item + type: object + description: Slack Webhook schema for create context + additionalProperties: false + properties: + is_enabled: + type: boolean + description: Webhook status + default: true + endpoint: + type: string + description: >- + Webhook endpoint (either url for http type, either slack url for + slack type) + example: http://{host}/webhook + default_channel: + type: string + nullable: true + example: sales_notifs + description: required for slack type webhook + type: + type: string + description: Webhook type + enum: + - slack + - http + example: slack + configuration: + $ref: >- + #/components/schemas/WebhookReadItem/anyOf/0/allOf/1/properties/configuration + - title: webhook.http.create.item + type: object + description: Http Webhook schema for create context + additionalProperties: false + properties: + is_enabled: + type: boolean + description: Webhook status + default: true + endpoint: + type: string + description: >- + Webhook endpoint (either url for http type, either slack url for + slack type) + example: http://{host}/webhook + type: + type: string + description: Webhook type + enum: + - http + - slack + example: http + configuration: + $ref: >- + #/components/schemas/WebhookReadItem/anyOf/1/allOf/1/properties/configuration + WebhookEventsList: + title: webhookEvents + type: array + description: List available webhook events + items: + anyOf: + - title: webhookEventItem + type: object + description: Describe a webhook event item + properties: + id: + type: string + description: Entity + example: task + description: + type: string + description: Entity label + example: Tasks + events: + type: object + description: List available events for current entity + additionalProperties: + type: string + description: Event label + example: + created: Creation + deleted: Deletion + addressadded: Address added + - title: webhookEventItemWithParent + type: object + description: Describe a webhook event item with a parent + allOf: + - $ref: '#/components/schemas/WebhookEventsList/items/anyOf/0' + - type: object + properties: + parent: + type: string + description: Entity + example: task + nullable: true + PaymentMethod: + type: object + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + label: + type: string + readOnly: true + description: Label of payment method + example: Paypal + Payment: + type: object + properties: + id: + description: Payment id + type: integer + example: 7 + number: + description: Payment reference + type: string + nullable: true + example: reference + paid_at: + description: Payment date (ISO 8601) + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + status: + description: Payment status + type: string + enum: + - pending + - confirmed + - rejected + - failed + - refund + example: pending + payment_method_id: + description: Payment method id _(cf `get./payments/methods`)_ + type: integer + example: 7 + type: + description: Payment type + type: string + enum: + - credit + - debit + example: credit + amounts: + description: Amount informations + type: object + properties: + total: + description: Total amount of payment + type: string + example: '1007.90' + remaining: + description: Remaining amount of payment to be linked + type: string + example: '507.90' + currency: + description: Currency code + type: string + example: EUR + bank_deposit: + description: Information on banking + nullable: true + properties: + bank_account_id: + description: Depository bank id + type: integer + example: 7 + date: + description: Date of banking + type: string + format: date + example: '2022-05-30' + related: + description: Company or individual linked + type: object + properties: + id: + description: Id of object + type: integer + example: 7 + type: + description: Type of object + type: string + enum: + - company + - individual + example: company + related_objects: + description: payment-related object + type: array + minItems: 0 + nullable: false + items: + type: object + properties: + id: + description: Id of object + type: integer + example: 7 + type: + description: Type of object + type: string + enum: + - invoice + - credit-note + - order + - estimate + example: estimate + amount_linked: + description: Amount related to the object + type: string + example: '500' + linked_date: + description: Date of linking the payment to the object + type: string + format: date + example: '1970-01-01' + note: + description: Note of payment + type: string + nullable: true + example: Early payment of the invoice XXX + _embed: + title: Payment embed + readOnly: true + description: Payment embed + allOf: + - type: object + properties: + acl: + description: Payment acl + type: object + properties: + can_be_updated: + description: Can be update a payment + type: boolean + example: true + can_be_deleted: + description: Can be delete a payment + type: boolean + example: false + company: + description: Company linked to payment + nullable: true + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + individual: + description: Individual linked to payment + nullable: true + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + CreatePayment: + type: object + properties: + number: + description: Payment identifier + type: string + example: reference + paid_at: + description: Payment date (ISO 8601) + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + payment_method_id: + description: Payment method id + type: integer + example: 7 + type: + description: Payment type + type: string + enum: + - credit + - debit + example: credit + amount: + type: object + description: Amount of payment + properties: + value: + description: Amount (cannot be zero or negative) + type: string + example: '999.90' + currency: + type: string + description: Currency (ISO 4217) + pattern: ^[A-Za-z *]{2,5}$ + nullable: true + example: EUR + required: + - value + - currency + note: + description: Note of payment + type: string + nullable: true + example: Invoice XXX paid + required: + - paid_at + - payment_method_id + - amount + - type + Unit: + type: object + title: Unit object + properties: + id: + type: integer + readOnly: true + example: 9837 + label: + type: string + example: m² + Team: + type: object + properties: + id: + type: integer + readOnly: true + description: Team id + example: -1 + name: + type: string + readOnly: true + description: Team name + example: Commercial + jobs: + description: List of Jobs + type: object + properties: + id: + type: integer + description: Label ID + readOnly: true + example: -3 + name: + type: string + description: Name of label + readOnly: true + example: Office manager + Profiles: + type: object + title: Profile + properties: + id: + type: integer + description: Profile id + example: 6657 + name: + type: string + description: Profile name + example: Collaborator + is_administrator: + type: boolean + description: Indicates if this profile grants administrator privileges + example: true + required: + - id + - name + - is_administrator + Currency: + type: object + title: Currency + properties: + id: + type: integer + description: Currency Identifier + readOnly: true + example: 13 + code: + type: string + description: Currency code (EUR, USD..) + readOnly: true + example: EUR + symbol: + type: string + description: Currency symbol (€, $) + example: € + readOnly: true + is_default: + type: boolean + description: Is default currency? + example: true + Country: + type: object + title: Country + properties: + code: + type: string + description: Internal code + readOnly: true + example: IT + iso-alpha-2: + type: string + description: ISO alpha 2 + readOnly: true + example: IT + iso-alpha-3: + type: string + description: ISO alpha 3 + readOnly: true + example: ITA + name: + type: string + description: Country name + readOnly: true + example: Italie + Subscription: + title: Subscription + type: object + properties: + licenses: + type: array + items: + type: object + properties: + id: + type: string + description: License identifier + example: 9998a80a-7b75-4616-96d5-7ccff7ac08e8 + code: + type: string + description: License code + enum: + - pack_prospecting_sale + - pack_invoicing_management + - pack_all_included + available: + type: integer + description: Number of licenses available + example: 5 + total: + type: integer + description: Total of licenses + example: 10 + plugins: + type: object + additionalProperties: + type: boolean + example: + accounting: true + bankreconciliation: true + companySearch: true + invoicing: true + mailing: true + massmailing: true + phonecall: true + proposal: true + prospection: true + purchases: true + recurring: true + saleestimate: true + scheduler: true + stock: false + support: false + yousign: true + billing_contact: + type: object + properties: + last_name: + type: string + description: User's lastname + example: Doe + nullable: true + first_name: + type: string + description: User's firstname + example: John + nullable: true + email: + type: string + description: User's email + format: email + example: contact@example-company.com + nullable: true + phone_number: + type: string + description: User's phone + example: 33100000000 + nullable: true + billing_settings: + type: object + properties: + service_start_date: + type: string + description: Date of start service + format: date-time + nullable: true + service_end_date: + type: string + description: Date of end service + format: date-time + nullable: true + payment_method: + type: string + description: Payment method of subscription + enum: + - card + - transfer + - sepa + plan: + type: string + description: Plan of subscription + example: ESSENTIAL_MONTHLY + nullable: true + amounts: + type: object + properties: + monthly: + type: object + properties: + total: + type: integer + description: Total of monthly amount + example: 32500 + total_discount: + type: integer + description: Total of discount for monthly amount + example: 100 + total_discounted: + type: integer + description: Total after discount of monthly amount + example: 32400 + yearly: + type: object + properties: + total: + type: integer + description: Total of yearly amount + example: 390000 + total_discount: + type: integer + description: Total of discount for yearly amount + example: 10000 + total_discounted: + type: integer + description: Total after discount of yearly amount + example: 380000 + billing_address: + type: object + properties: + client_name: + type: string + description: Corp name + example: Sellsy + address_line_1: + type: string + description: Address line one + example: 30 Commercial Road + nullable: true + address_line_2: + type: string + description: Address line two + example: Finance and Accounting + nullable: true + postal_code: + type: string + description: Address postal code + example: 75012 + nullable: true + city: + type: string + description: Address city name + example: Paris + nullable: true + country: + type: string + description: Address country + example: France + nullable: true + country_code: + type: string + description: Address country code + example: FR + nullable: true + next_payment_date: + type: string + format: date-time + nullable: true + description: Date of the next subscription payment + renew_cart: + type: object + nullable: true + properties: + id: + type: string + description: Cart id + example: f0173ec-1fb2-43ce-80c1-f972390b237e + period_appliance_start: + type: string + description: Date of the beginning of the cart + example: '2022-02-17T00:00:00.000000Z' + features: + description: > + Set of features available only to specific subscriptions, with a + boolean indicating whether each function is accessible or blocked. +
This array may be empty if your subscription does not include + this notion. + type: object + nullable: true + example: + feature_1: true + feature_2: false + ItemReadItem: + type: object + title: Item + properties: + id: + type: integer + description: Item id + example: 6657 + type: + type: string + description: Item type + enum: + - product + - service + - shipping + - packaging + name: + type: string + description: Item name + example: lorem ipsum + nullable: true + reference: + type: string + description: Item reference + example: ref0123 + reference_price: + deprecated: true + type: string + description: >- + Item reference price
>This field is deprecated, refer to + `is_reference_price_taxes_free` to use either + `reference_price_taxes_inc` or `reference_price_taxes_exc` instead + example: '19.99' + reference_price_taxes_exc: + type: string + description: Item's reference price excluding taxes + example: '19.99' + purchase_amount: + type: string + description: Item's purchase price excluding taxes + example: '8.25' + reference_price_taxes_inc: + type: string + description: Item's reference price including taxes + example: '23.98' + is_reference_price_taxes_free: + type: boolean + description: Item is reference price has taxes free + example: true + tax_id: + type: integer + description: Tax id + example: 354 + nullable: true + unit_id: + type: integer + description: Unit id + example: 952 + nullable: true + category_id: + type: integer + description: Category id (only for product and service types) + example: 123 + price_excl_tax: + deprecated: true + type: string + example: '500.00' + description: >- + Item's price excluding taxes
>This field is deprecated, base on + `is_reference_price_taxes_free` to use either + `reference_price_taxes_inc` or `reference_price_taxes_exc` instead + currency: + type: string + description: Currency code + example: EUR + nullable: true + standard_quantity: + type: string + description: Standard quantity + example: '3' + description: + type: string + description: Description of item + example: T-shirt 90% coton + nullable: true + is_name_included_in_description: + type: boolean + description: To add the name of item in description + example: true + accounting_code_id: + nullable: true + type: integer + description: Accounting code id + example: 321 + accounting_purchase_code_id: + nullable: true + type: integer + description: Accounting purchase code id + example: 123 + is_archived: + type: boolean + nullable: false + description: Status archived or not + example: false + is_declined: + type: boolean + nullable: false + description: Item declined or not + example: false + required: + - id + - type + - reference + - reference_price_taxes_exc + - reference_price_taxes_inc + - is_reference_price_taxes_free + - tax_id + - unit_id + DeclinationRead: + type: object + title: Declination + properties: + id: + type: integer + description: Declination id + example: 3 + name: + type: string + description: Item name + example: lorem ipsum + reference: + type: string + description: Declination name + example: lorem ipsum + item_id: + type: integer + description: Item ID + example: 123454 + description: + type: string + description: Declination description + example: lorem ipsum + purchase_amount: + type: string + description: Declination's purchase price excluding taxes + example: '500' + is_name_included_in_description: + type: boolean + description: Add the name to the description + example: true + currency: + type: string + description: Currency code + example: EUR + nullable: true + reference_price_taxes_exc: + type: string + description: Declination's reference price excluding taxes + example: '400' + CreateItem: + title: Create item + type: object + properties: + type: + type: string + enum: + - product + - service + name: + type: string + description: Item name + example: lorem ipsum + reference: + type: string + description: Item reference + example: ref0123 + reference_price: + type: string + description: Item reference price + example: '19.99' + purchase_amount: + type: string + description: Item's purchase price excluding taxes + example: '8.25' + is_reference_price_taxes_free: + type: boolean + description: Price expressed without tax + example: true + tax_id: + type: integer + description: Tax id + example: 354 + unit_id: + type: integer + description: Unit id + example: 952 + category_id: + type: integer + description: Category id (only for product and service types) + example: 123 + standard_quantity: + type: string + description: Standard quantity + example: '3' + description: + type: string + description: Description of item + example: T-shirt 90% coton + is_name_included_in_description: + type: boolean + description: To add the name of item in description + example: true + accounting_code_id: + type: integer + description: Accounting code id + example: 321 + accounting_purchase_code_id: + type: integer + description: Accounting purchase code id + example: 123 + accounting_analytic_code: + type: string + description: Accounting analytic code + example: divers + required: + - type + - reference + UpdateItem: + title: Update item + type: object + additionalProperties: false + properties: + name: + type: string + description: Item name + example: lorem ipsum + nullable: true + reference: + type: string + description: Item reference + example: ref0123 + reference_price: + type: string + description: Item reference price + example: '19.99' + purchase_amount: + type: string + description: Item's purchase price excluding taxes + example: '8.25' + is_reference_price_taxes_free: + type: boolean + description: Price expressed without tax + example: true + tax_id: + type: integer + description: Tax id + example: 354 + unit_id: + type: integer + description: Unit id + example: 952 + category_id: + type: integer + description: Category id (only for product and service types) + example: 123 + standard_quantity: + type: string + description: Standard quantity + example: 3 + description: + type: string + description: Description of item + example: T-shirt 90% coton + is_name_included_in_description: + type: boolean + description: To add the name of item in description + example: true + accounting_code_id: + type: integer + description: Accounting code id + example: 321 + accounting_purchase_code_id: + type: integer + description: Accounting purchase code id + example: 123 + LicenseRead: + title: License + type: array + items: + type: object + properties: + id: + type: string + description: License identifier + example: 9998a80a-7b75-4616-96d5-7ccff7ac08e8 + code: + type: string + description: License code + enum: + - pack_prospecting_sale + - pack_invoicing_management + - pack_all_included + enabled: + type: boolean + description: License enabled + LicenseEdit: + title: License + type: array + minItems: 0 + maxItems: 1 + items: + type: object + properties: + id: + type: string + description: License identifier + example: 9998a80a-7b75-4616-96d5-7ccff7ac08e8 + Quotas: + type: object + additionalProperties: false + properties: + email_marketing: + allOf: + - type: object + deprecated: true + description: Quota of email marketing plugin (legacy) + - type: object + properties: + limit: + type: integer + nullable: true + description: >- + Limit of quota that can be used (null for + unlimited quota). + example: 10 + minimum: 1 + used: + type: integer + description: Quotas used + example: 3 + minimum: 0 + firm_search: + allOf: + - type: object + description: Quota of company search plugin + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + yousign: + allOf: + - type: object + description: Quota of esign plugin + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + esker: + allOf: + - type: object + description: Quota of mailing plugin + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + sms_marketing: + allOf: + - type: object + deprecated: true + description: Quota of sms marketing plugin (legacy) + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + custom_fields: + allOf: + - type: object + description: Quota on the creation of customfields + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + custom_field_groups: + allOf: + - type: object + description: Quota on the creation of customfield groups + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + pipelines: + allOf: + - type: object + description: Quota on the creation of pipelines + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + privilege_profiles: + allOf: + - type: object + description: Quota on the creation of privilege profiles + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + api_rate_seconds: + allOf: + - type: object + description: API request quota by seconds + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + api_rate_minutes: + allOf: + - type: object + description: API request quota by minutes + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + api_rate_days: + allOf: + - type: object + description: API request quota by days + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + api_rate_months: + allOf: + - type: object + description: API request quota by months + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + estimate_dunning_plan: + allOf: + - type: object + description: Quota on the creation of dunning plans for estimate + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + invoice_dunning_plan: + allOf: + - type: object + description: Quota on the creation of dunning plans for invoice + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + proforma_dunning_plan: + allOf: + - type: object + description: Quota on the creation of dunning plans for proforma + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + activity_report: + allOf: + - type: object + description: Quota on activity reporting + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + bank_account_reconciliations: + allOf: + - type: object + description: >- + Quota on number of bank accounts synchronized with the bank + reconciliation module + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + documents: + allOf: + - type: object + description: > + Quota on number of documents created in the current month +
* Starting on the day of the anniversary month of your + subscription + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + document_invoices: + allOf: + - type: object + description: > + Quota on number of invoices created in the current month +
* Starting on the day of the anniversary month of your + subscription + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + file_storage: + allOf: + - type: object + description: Quota on disk space used for files (in bytes) + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + rate_categories: + allOf: + - type: object + description: Quota on the number of rate categories + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + recurring: + allOf: + - type: object + description: Quota on the number of active customer subscriptions + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + report_cards: + allOf: + - type: object + description: >- + Quota on the number of "Reports" tiles allowed on the Sellsy web + application dashboard + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + catalog_items: + allOf: + - type: object + description: Quota on the number of "product" or "service" items + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + marketing_emailing: + allOf: + - type: object + description: Quota of marketing plugin's email + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + marketing_transactional: + allOf: + - type: object + deprecated: true + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + marketing_sms: + allOf: + - type: object + description: Quota of marketing plugin's sms + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + write_with_ai: + allOf: + - type: object + description: Quota of "write with AI" requests + - $ref: '#/components/schemas/Quotas/properties/email_marketing/allOf/1' + Verify: + description: Validated + StaffFilters: + title: Staff filters + type: object + description: Filters for search staffs endpoint + properties: + filters: + type: object + properties: + status: + type: array + description: Filters on the status of staffs + minItems: 1 + items: + type: string + enum: + - ok + - blocked + InvoicingSearch: + title: Invoicing Search + description: Invoicing Search Object + additionalProperties: false + type: object + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + number: + type: string + example: FACT-20211001-00003 + description: Document number + readOnly: true + type: + type: string + example: invoice + description: Document type + readOnly: true + enum: + - model + - estimate + - invoice + - delivery + - order + - creditnote + - proforma + ItemPrice: + title: Price + description: Price of an item + additionalProperties: false + type: object + properties: + rate_category_id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + amount_excl_tax: + type: string + example: '19.99' + description: Amount excluding taxes + readOnly: true + amount_incl_tax: + type: string + example: '24.99' + description: Amount including taxes + readOnly: true + ItemInputPrice: + title: Price + description: Price of an item + additionalProperties: false + type: object + properties: + rate_category_id: + type: integer + description: Unique ID + example: 6657 + amount: + type: string + example: '19.99' + description: > +
  • For rate category without taxes, amount must exclude them + but for rate category with taxes, it should include them
  • +
  • You can update the amount for rates categories with amount + type
  • You can't update percent rate categories
+ InvoicingSearchFilters: + title: Invoicing Search Filters + description: Invoicing Search Filters + additionalProperties: false + type: object + properties: + filters: + type: object + description: Invoicing Search Filters + properties: + id: + title: Documents + type: array + items: + type: integer + description: Filter the documents list by document ID + example: + - 12 + - 22 + AccountingMetas: + title: listingMeta + type: object + description: The listing meta + properties: + permissions: + type: object + description: The permissions + required: + - favorite + - export + properties: + favorite: + type: boolean + description: Can access to export + export: + type: boolean + description: Can access to favorite + codes: + type: array + description: List of codes + minItems: 1 + items: + type: object + required: + - label + - value + properties: + label: + type: string + description: Label of code + value: + type: string + description: Id of code + currencies: + type: array + description: List of currencies + minItems: 1 + items: + type: object + required: + - label + - value + properties: + label: + type: string + description: Label of currency + value: + type: string + description: Id of currency + required: + - permissions + - codes + - currencies + AccountingAggregations: + title: accountingAggregations + type: object + description: The accounting aggregations + properties: + credit_debit: + type: object + description: Count debit/credit + properties: + debit: + type: string + example: '123.234' + credit: + type: string + example: '123.234' + additionalProperties: true + EsignSettings: + type: object + description: The Esign Providers + required: + - provider + - available_providers + properties: + provider: + type: object + nullable: false + additionalProperties: false + required: + - id + - name + properties: + id: + type: string + nullable: false + name: + type: string + nullable: false + oauth_url: + type: string + nullable: true + is_connected: + type: boolean + nullable: false + available_providers: + type: array + nullable: false + items: + type: object + nullable: false + additionalProperties: false + required: + - id + - name + properties: + id: + type: string + nullable: false + name: + type: string + nullable: false + MarketingProviders: + type: object + description: The Marketing Providers + required: + - provider + - available_providers + properties: + provider: + type: object + nullable: true + additionalProperties: false + required: + - id + - name + properties: + id: + type: integer + nullable: false + name: + type: string + nullable: false + available_providers: + type: array + nullable: false + items: + type: object + nullable: false + additionalProperties: false + required: + - id + - name + properties: + id: + type: integer + nullable: false + name: + type: string + nullable: false + MailchimpSettings: + title: Mailchimp settings + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + apikey: + type: string + description: API key of the mailchimp account to use + example: abcdefghijklmnopqrstuv0123456789-usX + nullable: true + audiences: + type: array + items: + type: object + additionalProperties: false + properties: + id: + type: string + nullable: false + description: Audience's id + example: abcdefghijklmnopqrstuv0123456789 + name: + type: string + nullable: false + description: audience's name + example: CRM List + required: + - id + - name + marketing: + type: object + additionalProperties: false + description: Marketing settings + properties: + loaded: + type: boolean + description: Indicates if the Marketing module is loaded + example: true + nullable: false + enabled: + type: boolean + description: Indicates if Mailchimp Marketing is enabled + example: true + nullable: false + audience_id: + description: Mailchimp's audience list identifier to use + type: string + example: abcdefghijklmnopqrstuv0123456789 + nullable: true + required: + - loaded + - enabled + - audience_id + contacts_synchronization: + type: object + additionalProperties: false + description: Contact Synchronization settings + properties: + enabled: + type: boolean + description: Indicates if the synchronization of contacts is enabled + example: true + nullable: false + audience_id: + description: Mailchimp's audience list identifier to use + type: string + example: abcdefghijklmnopqrstuv0123456789 + nullable: true + merge_fields: + type: array + description: Mailchimp's audience merge fields defined + nullable: false + items: + anyOf: + - type: object + description: Text merge field + additionalProperties: false + nullable: false + properties: + merge_id: + type: integer + nullable: false + description: Merge field's Identifier + type: + type: string + nullable: false + example: text + name: + type: string + nullable: false + description: Merge field's Name + tag: + type: string + nullable: false + description: Merge field's template tag + default_value: + type: string + nullable: true + - type: object + description: Dropdown merge field + additionalProperties: false + nullable: false + properties: + merge_id: + type: integer + nullable: false + description: Merge field's Identifier + type: + type: string + nullable: false + example: dropdown + name: + type: string + nullable: false + description: Merge field's Name + tag: + type: string + nullable: false + description: Merge field's template tag + default_value: + type: string + nullable: true + choices: + type: array + nullable: false + description: Merge field's value options + items: + type: object + nullable: false + additionalProperties: false + properties: + label: + type: string + nullable: false + filter: + description: Indicates which kind of contacts to synchronize + type: string + enum: + - all + - clients + - prospects + - suppliers + default: all + nullable: true + required: + - enabled + - audience_id + - filter + required: + - apikey + - marketing + - contacts_synchronization + MailjetSettings: + title: Mailjet settings + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + api_key: + type: string + description: API key of the Mailjet account to use + example: abcdefghijklmnopqrstuv0123456789 + nullable: true + api_secret: + type: string + description: API secret of the Mailjet account to use + example: abcdefghijklmnopqrstuv0123456789 + nullable: false + contacts_lists: + type: array + items: + type: object + additionalProperties: false + properties: + id: + type: integer + minimum: 0 + exclusiveMinimum: true + nullable: false + description: contact list's id + example: 42 + name: + type: string + nullable: false + description: contact list's name + example: CRM List + required: + - id + - name + contacts_synchronization: + type: object + additionalProperties: false + description: Contact Synchronization settings + properties: + enabled: + type: boolean + description: Indicates if the synchronization of contacts is enabled + example: true + nullable: false + contacts_list_id: + description: Mailjet's contact list identifier to use + type: integer + minimum: 0 + example: 42 + nullable: true + filter: + description: Indicates which kind of contacts to synchronize + type: string + enum: + - all + - clients + - prospects + - suppliers + default: all + nullable: true + required: + - enabled + - contacts_list_id + - filter + required: + - api_key + - api_secret + - contacts_synchronization + TwoFactorAuthenticationSettings: + title: Two factor authentication settings + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + enabled: + type: boolean + description: Indicates if the two factor authentication is enabled + example: true + nullable: false + required: + - enabled + UserTwoFactorAuthenticationSettings: + title: Two factor authentication settings + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + enabled: + type: boolean + description: Indicates if the two factor authentication is enabled + example: true + nullable: false + corporation_enabled: + type: boolean + description: >- + Indicates if the two factor authentication is enabled for the + corporation + example: true + nullable: false + available_providers: + type: array + items: + type: object + additionalProperties: false + properties: + provider: + type: string + description: provider name + example: google + nullable: false + enum: + - google + required: + - provider + providers: + description: List of registered provider for the user + type: array + items: + type: object + additionalProperties: false + properties: + provider: + $ref: >- + #/components/schemas/UserTwoFactorAuthenticationSettings/properties/available_providers/items/properties/provider + primary: + type: boolean + description: is the primary provider + example: true + nullable: false + configured_at: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Configuration date time the of the provider + nullable: true + required: + - provider + - primary + - configured_at + backup_codes: + title: Two factor authentication backup codes + description: List of user's backup codes + type: array + maxItems: 10 + minItems: 0 + items: + type: object + additionalProperties: false + properties: + code: + type: string + description: Backup Code + example: EB2F5E40 + nullable: false + created_at: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Creation date of the backup code + nullable: false + used_at: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Usage date of the backup code + nullable: true + required: + - code + - created_at + - used_at + trusted_devices: + description: List of registered trusted devices for the user + type: array + items: + type: object + additionalProperties: false + properties: + id: + type: integer + device: + type: string + description: Device type + example: desktop + nullable: false + created_at: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Creation date time the of the device + nullable: false + last_login_at: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Last login date time using the device + nullable: false + os: + type: string + example: GNU/Linux + description: Operating system family of the device + nullable: true + browser: + type: string + example: Chrome + description: Browser family of the device + nullable: true + required: + - id + - device + - created_at + - last_login_at + - os + - browser + required: + - enabled + - corporation_enabled + - available_providers + - backup_codes + - providers + - trusted_devices + UserUpdateTwoFactorAuthenticationSettings: + title: Two factor authentication settings + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + providers: + description: List of registered provider for the user + type: array + items: + type: object + additionalProperties: false + properties: + provider: + $ref: >- + #/components/schemas/UserTwoFactorAuthenticationSettings/properties/available_providers/items/properties/provider + required: + - provider + required: + - providers + UserUpdateTwoFactorAuthenticationSettingsResponse: + title: Two factor authentication settings + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + enabled: + type: boolean + description: Indicates if the two factor authentication is enabled + example: true + nullable: false + providers: + description: List of registered provider for the user + type: array + items: + type: object + additionalProperties: false + properties: + provider: + $ref: >- + #/components/schemas/UserTwoFactorAuthenticationSettings/properties/available_providers/items/properties/provider + primary: + type: boolean + description: is the primary provider + example: true + nullable: false + configured_at: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Configuration date time the of the provider + nullable: true + required: + - provider + - primary + - configured_at + required: + - enabled + - providers + BackupCodes: + title: Two factor authentication backup codes + description: List of user's backup codes + type: array + maxItems: 10 + minItems: 0 + items: + type: object + additionalProperties: false + properties: + code: + type: string + description: Backup Code + example: EB2F5E40 + nullable: false + created_at: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Creation date of the backup code + nullable: false + used_at: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Usage date of the backup code + nullable: true + required: + - code + - created_at + - used_at + ScanList: + type: array + title: Search results + description: List of results + items: + type: object + properties: + name: + description: name of company + type: string + example: Sellsy + siret: + description: Siret of company + type: string + example: '82993087400013' + nullable: true + type: + type: string + description: type of company + example: SAS, société par actions simplifiée + id: + type: string + description: >- + Identifier of the company. In case of French company, it + corresponds to the SIREN Number + example: '509961074' + job_code: + type: string + description: job code of company + example: 58.29C + nullable: true + address: + type: object + properties: + country: + type: string + description: Country of company + example: France + nullable: true + city: + type: string + description: City of company + example: LA ROCHELLE, + nullable: true + postal_code: + type: string + description: Postal_code of company + example: '17000' + nullable: true + address_line_1: + type: string + description: first part of address of company + example: Avenue DU LAZARET, + nullable: true + address_line_2: + type: string + description: Second part of address of company + nullable: true + ScanFetch: + type: object + title: Search results + description: Detailed answer for a company returned via the scan route + properties: + name: + description: name of company + type: string + example: Sellsy + siret: + description: Siret of company + type: string + example: '82993087400013' + nullable: true + type: + type: string + description: type of company + example: SAS, société par actions simplifiée + id: + type: string + description: >- + Identifier of the company. In case of French company, it corresponds + to the SIREN Number + example: '509961074' + job_code: + type: string + description: job code of company + example: 58.29C + nullable: true + address: + type: object + properties: + country: + type: string + description: Country of company + example: France + nullable: true + city: + type: string + description: City of company + example: LA ROCHELLE, + nullable: true + postal_code: + type: string + description: Postal_code of company + example: '17000' + nullable: true + address_line_1: + type: string + description: first part of address of company + example: Avenue DU LAZARET, + nullable: true + address_line_2: + type: string + description: Second part of address of company + nullable: true + officers: + type: array + nullable: true + items: + type: object + properties: + lastname: + type: string + description: Lastname of officier + firstname: + type: string + description: Firstname of officier + role: + type: string + description: Role of officier + nullable: true + capital: + type: integer + description: Capital of company + nullable: true + financial_activity: + type: array + nullable: true + items: + type: object + properties: + turnover: + type: integer + description: Turnover in this year + publication_year: + type: string + description: Year of publication + publication_date: + type: string + description: Date of publication + income: + type: integer + description: Diff with last year + workforce_count: + type: integer + description: Number of emplyees + nullable: true + rcs: + type: string + description: RCS of compnay + nullable: true + vat: + type: string + description: VAT of compnay + nullable: true + company_sign: + type: string + description: Sign of company + nullable: true + Notification: + title: Notification + type: object + properties: + id: + type: integer + readOnly: true + description: Unique ID + example: 6657 + event: + type: string + description: Event name + example: mention.staff + transport: + type: string + description: Event transport + enum: + - inapp + - push + - mail + - webhook + readOnly: true + recipient: + title: Recipient + type: object + properties: + id: + type: integer + readOnly: true + description: Recipient id + example: 6657 + type: + type: string + description: Recipient type + example: staff + firstname: + type: string + description: Recipient first name + example: John + lastname: + type: string + description: Recipient last name + example: Smith + subtype: + type: string + description: Sender type + example: regular + related: + type: array + items: + title: Related + type: object + properties: + id: + type: integer + readOnly: true + description: Related object id + example: 6657 + type: + type: string + description: Related object type + example: opportunity + name: + type: string + description: Related object name + example: New website + nullable: true + sender: + title: Sender + type: object + properties: + id: + type: integer + readOnly: true + description: Sender id + example: 6657 + type: + type: string + description: Sender type + example: staff + firstname: + type: string + description: Sender first name + example: John + lastname: + type: string + description: Sender last name + example: Smith + subtype: + type: string + description: Sender type + example: regular + avatar: + type: object + nullable: true + readOnly: true + properties: + type: + type: string + enum: + - initials + - picture + - twitteruserpic + value: + type: string + description: initials or avatar url + class: + type: integer + created: + type: string + description: Creation date of event + format: date-time + example: '1970-01-01T00:00:00+00:00' + readOnly: true + read: + type: string + description: Read date of event + format: date-time + example: '1970-01-01T00:00:00+00:00' + nullable: true + readOnly: true + status: + type: string + description: Event dispatch status + enum: + - ongoing + - sent + - failed + - retry + readOnly: true + status_updated: + type: string + description: Update date of event's status + format: date-time + example: '1970-01-01T00:00:00+00:00' + readOnly: true + nullable: true + event_details: + type: object + nullable: true + description: Details of event + additionalProperties: true + targeted_staff: + title: Targeted staff + type: object + properties: + id: + type: integer + readOnly: true + description: Targeted staff id + example: 6657 + firstname: + type: string + description: Targeted staff first name + example: John + lastname: + type: string + description: Targeted staff last name + example: Smith + NotificationFilters: + title: NotificationFilters + type: object + description: Notification filters + properties: + filters: + type: object + description: Notification filters + properties: + is_read: + title: Is read + type: boolean + description: Filter on read/unread notifications + example: false + required: + - filters + NotificationMarkAsRead: + title: Mark as read + type: object + description: Mark as read + properties: + read: + title: Is read + type: boolean + description: The notification has been read + example: true + required: + - read + NotificationSettingsOutput: + title: Notifications Settings Output + type: object + properties: + subscriptions: + title: Notifications subscription + type: array + description: >- + array of notifications to subscribe, with enabled transports by + notification + items: + type: object + additionalProperties: false + properties: + name: + type: string + description: notification name + example: mention.staff + transports: + type: array + description: list of transports to enable for notification + items: + type: string + enum: + - inapp + - push + - mail + - webhook + uniqueItems: true + required: + - name + - transports + do_not_disturb: + title: Notification do-not-disturb setting + type: object + properties: + enabled: + description: Do not disturb mode is enabled + type: boolean + required: + - enabled + NotificationSettingsInput: + title: Notifications Settings Input + type: object + properties: + subscriptions: + title: Notifications subscription + type: array + description: >- + array of notifications to subscribe, with enabled transports by + notification + minItems: 1 + maxItems: 100 + items: + type: object + additionalProperties: false + properties: + name: + type: string + description: notification name + example: mention.staff + transports: + type: array + description: list of transports to enable for notification + items: + type: string + enum: + - inapp + - push + - mail + - webhook + uniqueItems: true + required: + - name + - transports + do_not_disturb: + title: Notification do-not-disturb setting + type: object + properties: + enabled: + description: Do not disturb mode is enabled + type: boolean + required: + - enabled + NotificationMetadata: + title: Notifications Metadata Object + type: object + properties: + events: + type: array + items: + title: Notification events metadata + type: object + properties: + name: + type: string + description: notification name + example: mention.staff + transports: + type: array + description: list of transports available for notification + minItems: 1 + items: + type: string + enum: + - inapp + - push + - mail + - webhook + required: + - events + corporationStaffAggregation: + title: Count licenses Aggregations + type: object + x-examples: {} + properties: + count_licenses: + type: array + items: + title: Count licenses + type: object + properties: + count: + readOnly: true + type: integer + description: Number of licenses + example: 10 + product_id: + readOnly: true + type: string + description: Product id + example: e6acc4c7-4b7d-4b64-bda0-6e53eb1a00fb + product_code: + readOnly: true + type: string + description: Product code + example: pack_all_included + CorporationSubscription: + title: Subscription + type: object + properties: + licenses: + type: array + items: + type: object + properties: + id: + type: string + description: License identifier + example: 9998a80a-7b75-4616-96d5-7ccff7ac08e8 + code: + type: string + description: License code + enum: + - pack_prospecting_sale + - pack_invoicing_management + - pack_all_included + available: + type: integer + description: Number of licenses available + example: 5 + total: + type: integer + description: Total of licenses + example: 10 + plugins: + type: object + additionalProperties: + type: boolean + example: + accounting: true + bankreconciliation: true + companySearch: true + invoicing: true + mailing: true + massmailing: true + phonecall: true + proposal: true + prospection: true + purchases: true + recurring: true + saleestimate: true + scheduler: true + stock: false + support: false + yousign: true + billing_settings: + type: object + properties: + service_start_date: + type: string + description: Date of start service + format: date-time + nullable: true + service_end_date: + type: string + description: Date of end service + format: date-time + nullable: true + payment_method: + type: string + description: Payment method of subscription + enum: + - card + - transfer + - sepa + pricing_version: + type: integer + description: Pricing version + example: 5 + pricing_revision: + type: string + description: Pricing revision + example: 20231016 + plan_id: + type: string + description: Plan id + example: 5_20231016_elite + interval: + type: string + enum: + - monthly + - yearly + description: Billing interval + example: yearly + amounts: + type: object + properties: + monthly: + type: object + properties: + total: + type: integer + description: Total of monthly amount + example: 32500 + total_discount: + type: integer + description: Total of discount for monthly amount + example: 100 + total_discounted: + type: integer + description: Total after discount of monthly amount + example: 32400 + yearly: + type: object + properties: + total: + type: integer + description: Total of yearly amount + example: 390000 + total_discount: + type: integer + description: Total of discount for yearly amount + example: 10000 + total_discounted: + type: integer + description: Total after discount of yearly amount + example: 380000 + nb_available_staff: + type: integer + description: Number of available staffs + example: 8 + nullable: true + products: + type: array + description: List of products + example: + - pack_support + - pack_cashflow_pro + items: + type: string + Report: + title: Report + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + name: + type: string + description: The report name + example: Business report + nullable: false + type: + type: string + enum: + - cumulio + - legacy + default: legacy + description: The report provider + nullable: false + dashboard_id: + type: string + description: Dashboard id + example: b5e2cf01-8bb6-4fcd-ad88-0efb611195da + nullable: true + path: + type: string + description: The path of the report + example: /report/business + nullable: true + updated: + type: string + nullable: true + description: Datetime of updating the report + example: '2020-05-29T11:22:03+02:00' + readOnly: true + required: + - name + - type + - dashboard_id + - path + - updated + ReportAggregation: + title: Reports aggregations + type: object + properties: + cumulio: + type: object + description: cumulio token + properties: + key: + type: string + description: Cumulio key + token: + type: string + description: Cumulio token + example: + key: some_key + token: some_token + Invoice: + title: Invoice + type: object + properties: + id: + type: integer + readOnly: true + description: Invoice ID + example: 3875 + number: + type: string + description: Invoice number + example: INV-2022-01-02-002 + status: + type: string + readOnly: true + description: Status of the invoice + example: paid + enum: + - draft + - due + - payinprogress + - paid + - late + - cancelled + date: + type: string + format: date + description: Date of the invoice + example: '2022-01-02' + due_date: + type: string + format: date + description: due date of the invoice + example: '2022-02-02' + created: + description: Created date of invoice + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + subject: + type: string + description: Subject of the invoice + amounts: + type: object + readOnly: true + description: Amounts of invoice, with and without taxes + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging costs. + Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + total_remaining_due_incl_tax: + type: string + description: Remaining amount to be paid + example: '50.00' + total_primes_incl_tax: + type: string + description: Total of primes added on document + example: '10.00' + currency: + type: string + description: Currency code of the invoice + example: EUR + taxes: + description: List of taxes used on the invoice + type: array + readOnly: true + items: + type: object + description: Tax used + properties: + label: + type: string + id: + type: integer + rate: + type: string + amount: + type: string + required: + - label + - id + - rate + - amount + discount: + description: Global discount applied on the invoice + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + related: + description: | + Objects linked to the invoice : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only `client` type + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + - If you provide one or more contacts, they must belong to the company or individual + type: array + minItems: 1 + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - contact + - opportunity + public_link: + description: Public link of the invoice + type: object + properties: + enabled: + type: boolean + description: Public link is enabled + url: + readOnly: true + type: string + description: Url to public link + payment_conditions_acceptance: + type: object + readOnly: true + description: Acceptance of terms and conditions + properties: + enabled: + type: boolean + description: Acceptance is required to pay or sign the document + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + - type: object + description: Invoice's owner + readOnly: true + fiscal_year_id: + type: integer + nullable: true + description: ID of the invoice's fiscal year + readOnly: true + pdf_link: + type: string + format: uri + readOnly: true + description: >- + Link to the pdf of document. /!\ Link is regenerate after an update + of document + nullable: true + decimal_number: + readOnly: true + type: object + description: Precision for decimal numbers + properties: + unit_price: + type: integer + nullable: true + description: Precision of unit price + quantity: + type: integer + nullable: true + description: Precision of quantity + main: + type: integer + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + assigned_staff_id: + type: integer + nullable: false + readOnly: true + description: The staff linked + example: 2 + contact_id: + description: Contact of company linked to the invoice + type: integer + nullable: true + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + readOnly: true + example: 777 + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + readOnly: true + example: 777 + parent: + type: object + nullable: true + description: Parent object of the document + properties: + id: + type: integer + description: Parent object id + type: + type: string + description: Parent object type + enum: + - estimate + - order + order_reference: + type: string + description: Reference of the order + readOnly: true + is_deposit: + type: boolean + description: Invoice is deposit + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: End date for service + example: '2023-01-31' + note: + type: string + description: Notes of the invoice + example: This invoice is very important
+ subscription_id: + type: integer + description: Subscription id, if invoice is linked to one + readOnly: true + is_sent_to_accounting: + type: boolean + description: If the invoice is sent to accounting + example: true + _embed: + allOf: + - title: Invoice Embed + allOf: + - type: object + properties: + related: + type: array + items: + anyOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + title: Company + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + title: Individual + - $ref: '#/components/schemas/ContactItem/allOf/0' + title: Contact + contact: + $ref: '#/components/schemas/ContactItem/allOf/0' + title: Contact + nullable: true + individual: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/individual + title: Individual + nullable: true + company: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/company + title: Company + nullable: true + - $ref: '#/components/schemas/SaleEmbed/properties/_embed/allOf/2' + - type: object + properties: + acl: + title: Invoice ACL + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Invoice can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Invoice can be deleted + example: true + can_be_validated: + type: boolean + nullable: true + description: Invoice can be validated + example: true + owner: + $ref: '#/components/schemas/CrmActivity/properties/author' + fiscal_year: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/fiscal_year + currency: {} + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + - type: object + readOnly: true + shipping_date: + type: string + format: date + description: Date of the shipping + nullable: true + example: '2024-01-31' + InvoiceOne: + allOf: + - title: Invoice + type: object + properties: + id: + type: integer + readOnly: true + description: Invoice ID + example: 3875 + number: + type: string + description: Invoice number + example: INV-2022-01-02-002 + status: + type: string + readOnly: true + description: Status of the invoice + example: paid + enum: + - draft + - due + - payinprogress + - paid + - late + - cancelled + date: + type: string + format: date + description: Date of the invoice + example: '2022-01-02' + due_date: + type: string + format: date + description: due date of the invoice + example: '2022-02-02' + created: + description: Created date of invoice + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + subject: + type: string + description: Subject of the invoice + amounts: + type: object + readOnly: true + description: Amounts of invoice, with and without taxes + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging + costs. Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + total_remaining_due_incl_tax: + type: string + description: Remaining amount to be paid + example: '50.00' + total_primes_incl_tax: + type: string + description: Total of primes added on document + example: '10.00' + currency: + type: string + description: Currency code of the invoice + example: EUR + taxes: + description: List of taxes used on the invoice + type: array + readOnly: true + items: + type: object + description: Tax used + properties: + label: + type: string + id: + type: integer + rate: + type: string + amount: + type: string + required: + - label + - id + - rate + - amount + discount: + description: Global discount applied on the invoice + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + related: + description: | + Objects linked to the invoice : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only `client` type + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + - If you provide one or more contacts, they must belong to the company or individual + type: array + minItems: 1 + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - contact + - opportunity + public_link: + description: Public link of the invoice + type: object + properties: + enabled: + type: boolean + description: Public link is enabled + url: + readOnly: true + type: string + description: Url to public link + payment_conditions_acceptance: + type: object + readOnly: true + description: Acceptance of terms and conditions + properties: + enabled: + type: boolean + description: Acceptance is required to pay or sign the document + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + - type: object + description: Invoice's owner + readOnly: true + fiscal_year_id: + type: integer + nullable: true + description: ID of the invoice's fiscal year + readOnly: true + pdf_link: + type: string + format: uri + readOnly: true + description: >- + Link to the pdf of document. /!\ Link is regenerate after an + update of document + nullable: true + decimal_number: + readOnly: true + type: object + description: Precision for decimal numbers + properties: + unit_price: + type: integer + nullable: true + description: Precision of unit price + quantity: + type: integer + nullable: true + description: Precision of quantity + main: + type: integer + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + assigned_staff_id: + type: integer + nullable: false + readOnly: true + description: The staff linked + example: 2 + contact_id: + description: Contact of company linked to the invoice + type: integer + nullable: true + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + readOnly: true + example: 777 + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + readOnly: true + example: 777 + parent: + type: object + nullable: true + description: Parent object of the document + properties: + id: + type: integer + description: Parent object id + type: + type: string + description: Parent object type + enum: + - estimate + - order + order_reference: + type: string + description: Reference of the order + readOnly: true + is_deposit: + type: boolean + description: Invoice is deposit + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: End date for service + example: '2023-01-31' + note: + type: string + description: Notes of the invoice + example: This invoice is very important
+ subscription_id: + type: integer + description: Subscription id, if invoice is linked to one + readOnly: true + is_sent_to_accounting: + type: boolean + description: If the invoice is sent to accounting + example: true + _embed: + allOf: + - $ref: '#/components/schemas/Invoice/properties/_embed/allOf/0' + - type: object + readOnly: true + shipping_date: + type: string + format: date + description: Date of the shipping + nullable: true + example: '2024-01-31' + - type: object + properties: + rows: + type: array + items: + $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/rows/items + _embed: + allOf: + - $ref: '#/components/schemas/Invoice/properties/_embed/allOf/0' + - type: object + properties: + payment_terms: + title: Document Payment Terms + description: Terms of payment of document + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/0/properties/payment_terms/allOf/0 + - type: object + properties: + computed_instalment_plan: + type: array + description: >- + List of deadlines computed with the payment + terms settings + items: + type: object + properties: + date: + type: string + description: due date + format: date + amount: + type: string + description: Total amount + due_amount: + type: string + description: Remaining due amount + status: + description: Status of deadline + type: string + enum: + - due + - payinprogress + - paid + late: + description: Is the deadline late? + type: boolean + - $ref: >- + #/components/schemas/EstimateOneEmbed/properties/_embed/allOf/1 + - type: object + properties: + automatic_dunning: + type: object + title: Automatic Dunning + properties: + is_enabled: + type: boolean + description: Automatic dunning is enabled on document + example: true + is_valid: + type: boolean + description: >- + Automatic dunning configuration is valid for + document + example: true + sent: + type: array + description: >- + List of the last 10 dunning notices sent on this + invoice + items: + description: Sent dunning object + type: object + properties: + reminder_name: + type: string + example: Dunning D+1 + sent_at: + type: string + description: Dunning email date of sent + format: date-time + example: '1970-01-01T00:00:00+00:00' + sender: + type: object + properties: + type: + type: string + description: Sender's type + enum: + - company + - individual + - contact + - staff + id: + type: integer + description: Sender's id + email: + type: string + description: Sender's email + format: email + example: contact@example-company.com + recipient: + type: object + properties: + type: + type: string + description: Recipient's type + enum: + - company + - individual + - contact + - staff + id: + type: integer + description: Recipient's id + email: + type: string + description: Recipient's email + format: email + example: contact@example-company.com + deadline_id: + type: integer + nullable: true + description: Related payment deadline id + required: + - id + - reminder_name + - sent_at + - due_at + - sender + - recipient + - deadline_id + upcoming: + type: array + description: >- + List of the next 10 dunning notices to come on this + invoice + items: + description: Upcoming dunning object + type: object + properties: + reminder_name: + type: string + example: Dunning D+1 + due_at: + type: string + description: Dunning email estimated date of sent + format: date-time + example: '1970-01-01T00:00:00+00:00' + sender: + type: object + properties: + type: + type: string + description: Sender's type + enum: + - company + - individual + - contact + - staff + nullable: true + id: + type: integer + description: Sender's id + nullable: true + email: + type: string + description: Sender's email + format: email + example: contact@example-company.com + nullable: true + recipient: + type: object + nullable: true + properties: + type: + type: string + description: Recipient's type + enum: + - company + - individual + - contact + - staff + nullable: true + id: + type: integer + description: Recipient's id + nullable: true + email: + type: string + description: Recipient's email + format: email + example: contact@example-company.com + nullable: true + deadline_id: + type: integer + nullable: true + description: Related payment deadline id + required: + - id + - reminder_name + - sent_at + - due_at + - sender + - recipient + - deadline_id + InvoiceCompute: + type: object + properties: + status: + type: string + readOnly: true + description: Status of the invoice + example: paid + enum: + - draft + - due + - payinprogress + - paid + - late + - cancelled + date: + type: string + format: date + description: date of the invoice + example: '2022-01-02' + subject: + nullable: true + type: string + description: Subject of the invoice + amounts: + type: object + readOnly: true + description: Amounts of invoice, with and without taxes + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging costs. + Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + currency: + type: string + description: Currency code of the invoice + example: EUR + taxes: + description: List of taxes used on the invoice + type: array + readOnly: true + items: + type: object + description: Tax used + properties: + label: + type: string + id: + type: integer + rate: + type: string + amount: + type: string + required: + - label + - id + - rate + - amount + order_reference: + type: string + description: Reference of the order + readOnly: true + discount: + readOnly: true + description: Global discount applied on the invoice + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + related: + description: | + Objects linked to the invoice : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only `client` type + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + - If you provide one or more contacts, they must belong to the company or individual + type: array + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - contact + - opportunity + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + - type: object + description: Invoice's owner + readOnly: true + rows: + type: array + items: + $ref: '#/components/schemas/EstimateCompute/properties/rows/items' + InvoiceFilters: + title: Invoices filters + type: object + description: Invoices filters + properties: + filters: + type: object + description: Invoices filters + properties: + created: + title: Created at + type: object + description: Filter the invoice list by creation date + properties: + start: + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + end: + type: string + format: date-time + example: '2020-02-01T00:00:00+01:00' + owners: + title: Owners + type: array + description: Filter the invoice list by owner (staff id) + items: + type: integer + date: + title: Document date + type: object + description: Filter the invoice list by date + properties: + start: + type: string + format: date + example: '2020-01-01' + end: + type: string + format: date + example: '2020-02-01' + related_objects: + title: Related Objects + type: array + items: + type: object + properties: + type: + type: string + enum: + - company + - individual + - opportunity + example: company + id: + type: integer + example: 22 + contacts: + title: Contact + type: array + description: Filter the invoice list by contact (contact id) + items: + type: integer + assigned_staff_ids: + title: Assigned staffs + type: array + description: Filter the invoice list by assigned staffs (staff id) + items: + type: integer + status: + title: Status + description: Filter the invoice list by status + example: + - draft + - due + - payinprogress + type: array + items: + type: string + enum: + - draft + - due + - payinprogress + - paid + - late + - cancelled + number: + title: number + type: string + description: Filter the invoice list by number (exact search) + example: FAC-0001 + currency: + title: currency + type: string + description: Currency code (exact search) + example: EUR + is_deposit: + title: Is deposit + description: Filter the invoices if is deposit or not + type: boolean + example: true + credit_note_id: + title: Credit note + type: integer + description: Filter the invoice list by linked credit note + example: 424242 + favourite_filter: + $ref: >- + #/components/schemas/ContactFilters/properties/filters/properties/favourite_filter + required: + - filters + InvoiceCreate: + allOf: + - title: Invoice + type: object + properties: + number: + type: string + description: >- + Invoice number (shouldn't be provided if draft numbering is + enabled) + example: INV-2022-01-02-002 + date: + type: string + format: date + description: Date of the invoice + example: '2022-01-02' + due_date: + type: string + format: date + description: Due date of the invoice + example: '2022-02-02' + created: + description: Created date of invoice + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + subject: + type: string + description: Subject of the invoice + currency: + type: string + description: Currency code of the invoice + example: EUR + discount: + type: object + description: Global discount applied on the invoice + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + type: string + description: value of discount + example: '25.20' + related: + description: | + Objects linked to the invoice : + - There can be only one company or one individual at a time (required) + - For Company & Individual, only `client` type is allowed + - Contact is the contact of company linked to the invoice. There may be no or one contact. + - Opportunity is the opportunity linked to the invoice. There may be zero or more opportunities linked to invoice + type: array + minItems: 1 + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - opportunity + - contact + public_link: + deprecated: true + description: > + Deprecated field: use "public_link_enabled"
Public link of + the invoice + type: object + properties: + enabled: + deprecated: true + type: boolean + description: Public link is enabled + public_link_enabled: + type: boolean + description: Public link of the invoice + example: true + owner_id: + type: integer + description: Invoice's owner (staff id) + minimum: 1 + order_reference: + type: string + description: Reference of the order + maxLength: 100 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: >- + End date for service

End date must be greater + than start date + example: '2023-01-31' + invoicing_address_id: + type: integer + description: >- + Invoicing address, by default take invoicing address of + company/individual. + minimum: 1 + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + minimum: 1 + note: + type: string + description: Notes of the invoice + example: This invoice is very important
+ shipping_date: + type: string + format: date + description: Date of the shipping + nullable: true + - type: object + properties: + parent: + nullable: true + oneOf: + - type: object + title: Estimate + properties: + type: + type: string + description: > + Estimate must be in the statuses: draft, sent, read, + accepted, refused, expired, partialinvoiced, cancelled + enum: + - estimate + id: + type: integer + description: Parent object id + - type: object + title: Order + properties: + type: + type: string + description: > + Order must be in the statuses: draft, sent, read, + accepted, refused, expired, partialinvoiced, cancelled + enum: + - order + id: + type: integer + description: Parent object id + - $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/parent/oneOf/0 + rate_category_id: + type: integer + description: >- + Rate Category to apply on document (By default, the + rate_category_id will be that of company) + example: 777 + rows: + type: array + nullable: true + items: + $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/rows/items + required: + - related + InvoiceUpdate: + allOf: + - $ref: '#/components/schemas/InvoiceCreate/allOf/0' + - type: object + properties: + rows: + type: array + nullable: true + items: + $ref: >- + #/components/schemas/EstimateUpdate/allOf/1/properties/rows/items + ValidateInvoice: + type: object + properties: + date: + type: string + format: date + example: '2022-01-01' + description: > + Date of document.
> Depending on your conformity settings, the + date may not be greater than the current date. + CreditNote: + title: Credit Note + type: object + properties: + id: + type: integer + readOnly: true + description: Credit Note ID + example: 3875 + number: + type: string + description: Credit Note number + example: CRED-2022-01-02-002 + status: + type: string + description: Status of the credit note + example: spent + enum: + - draft + - stored + - partialspend + - spent + - cancelled + date: + type: string + format: date + description: Date of the credit note + example: '2022-01-02' + created: + description: Created date of credit note + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + amounts: + type: object + description: Amounts of credit note, with and without taxes + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging costs. + Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + total_remaining_due_incl_tax: + type: string + description: Remaining amount to be paid + example: '50.00' + total_primes_incl_tax: + type: string + description: Total of primes added on document + example: '10.00' + currency: + type: string + description: Currency code of the credit note + example: EUR + taxes: + description: List of taxes used on the credit note + type: array + items: + type: object + description: Tax used + properties: + label: + type: string + description: Tax label + example: TTC + id: + type: integer + description: Tax id + example: 954 + rate: + type: string + description: Tax rate + example: '19.6' + amount: + type: string + description: Tax amount + example: '12.54' + discount: + description: Global discount applied on the credit note + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + related: + description: | + Objects linked to the credit note : + - There can be only one company or one individual at a time + - Contact is the contact of company linked to the credit note. There may be no or one contact. + type: array + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - contact + - opportunity + public_link: + description: Public link of the credit note + type: object + properties: + enabled: + type: boolean + description: Public link is enabled + url: + type: string + description: Url to public link + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + fiscal_year_id: + type: integer + nullable: true + description: ID of the credit note's fiscal year + pdf_link: + type: string + format: uri + readOnly: true + description: >- + Link to the pdf of document. /!\ Link is regenerate after an update + of document + nullable: true + subject: + type: string + description: Subject of the credit note + example: Credit note on the invoice INV-2022-01-02-002 + is_deposit: + type: boolean + description: Credit note is deposit + example: true + decimal_number: + readOnly: true + type: object + description: Precision for decimal numbers + properties: + unit_price: + type: integer + nullable: true + description: Precision of unit price + quantity: + type: integer + nullable: true + description: Precision of quantity + main: + type: integer + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + assigned_staff_id: + type: integer + nullable: false + description: The staff linked + example: 2 + contact_id: + description: Contact of company linked to the credit note + type: integer + nullable: true + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: End date for service + example: '2023-01-31' + note: + type: string + description: Notes of the credit note + example: This credit note is very important
+ is_sent_to_accounting: + type: boolean + description: If the credit note is sent to accounting + example: true + _embed: + title: Credit Note Embed + allOf: + - $ref: '#/components/schemas/Invoice/properties/_embed/allOf/0/allOf/0' + - $ref: '#/components/schemas/SaleEmbed/properties/_embed/allOf/2' + - type: object + properties: + fiscal_year: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/fiscal_year + currency: + $ref: >- + #/components/schemas/Invoice/properties/_embed/allOf/0/allOf/2/properties/currency + owner: + $ref: '#/components/schemas/CrmActivity/properties/author' + acl: + title: Credit Note ACL + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Credit note can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Credit note can be deleted + example: true + can_be_validated: + type: boolean + nullable: true + description: Credit note can be validated + example: true + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + CreditNoteOne: + allOf: + - title: Credit Note + type: object + properties: + id: + type: integer + readOnly: true + description: Credit Note ID + example: 3875 + number: + type: string + description: Credit Note number + example: CRED-2022-01-02-002 + status: + type: string + description: Status of the credit note + example: spent + enum: + - draft + - stored + - partialspend + - spent + - cancelled + date: + type: string + format: date + description: Date of the credit note + example: '2022-01-02' + created: + description: Created date of credit note + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + amounts: + type: object + description: Amounts of credit note, with and without taxes + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging + costs. Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + total_remaining_due_incl_tax: + type: string + description: Remaining amount to be paid + example: '50.00' + total_primes_incl_tax: + type: string + description: Total of primes added on document + example: '10.00' + currency: + type: string + description: Currency code of the credit note + example: EUR + taxes: + description: List of taxes used on the credit note + type: array + items: + type: object + description: Tax used + properties: + label: + type: string + description: Tax label + example: TTC + id: + type: integer + description: Tax id + example: 954 + rate: + type: string + description: Tax rate + example: '19.6' + amount: + type: string + description: Tax amount + example: '12.54' + discount: + description: Global discount applied on the credit note + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + related: + description: | + Objects linked to the credit note : + - There can be only one company or one individual at a time + - Contact is the contact of company linked to the credit note. There may be no or one contact. + type: array + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - contact + - opportunity + public_link: + description: Public link of the credit note + type: object + properties: + enabled: + type: boolean + description: Public link is enabled + url: + type: string + description: Url to public link + owner: + description: Credit note's owner + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + fiscal_year_id: + type: integer + nullable: true + description: ID of the credit note's fiscal year + pdf_link: + type: string + format: uri + readOnly: true + description: >- + Link to the pdf of document. /!\ Link is regenerate after an + update of document + nullable: true + subject: + type: string + description: Subject of the credit note + example: Credit note on the invoice INV-2022-01-02-002 + is_deposit: + type: boolean + description: Credit note is deposit + example: true + decimal_number: + readOnly: true + type: object + description: Precision for decimal numbers + properties: + unit_price: + type: integer + nullable: true + description: Precision of unit price + quantity: + type: integer + nullable: true + description: Precision of quantity + main: + type: integer + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + assigned_staff_id: + type: integer + nullable: false + description: The staff linked + example: 2 + contact_id: + description: Contact of company linked to the credit note + type: integer + nullable: true + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: End date for service + example: '2023-01-31' + note: + type: string + description: Notes of the credit note + example: This credit note is very important
+ is_sent_to_accounting: + type: boolean + description: If the credit note is sent to accounting + example: true + _embed: + $ref: '#/components/schemas/CreditNote/properties/_embed' + - type: object + properties: + rows: + type: array + items: + $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/rows/items + _embed: + allOf: + - $ref: '#/components/schemas/CreditNote/properties/_embed' + - $ref: >- + #/components/schemas/EstimateOneEmbed/properties/_embed/allOf/1 + CreditNoteCreate: + allOf: + - title: Credit Note + type: object + properties: + number: + type: string + description: >- + Credit note number (shouldn't be provided if draft numbering is + enabled) + example: CRE-2022-01-02-002 + date: + type: string + format: date + description: Date of the credit note + example: '2022-01-02' + due_date: + type: string + format: date + description: Due date of the credit note + example: '2022-02-02' + created: + description: Created date of credit note + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + subject: + type: string + description: Subject of the credit note + currency: + type: string + description: Currency code of the credit note + example: EUR + discount: + type: object + description: Global discount applied on the credit note + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + type: string + description: value of discount + example: '25.20' + related: + description: | + Objects linked to the credit note : + - There can be only one company or one individual at a time (required) + - For Company & Individual, only `client`, `prospect` type are allowed + - Contact is the contact of company linked to the credit note. There may be no or one contact. + - Opportunity is the opportunity linked to the credit note. There may be zero or more opportunities linked to credit note + type: array + minItems: 1 + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - opportunity + - contact + public_link_enabled: + type: boolean + description: Public link of the credit note + example: true + owner_id: + type: integer + description: Credit note's owner (staff id) + minimum: 1 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: >- + End date for service

End date must be greater + than start date + example: '2023-01-31' + note: + type: string + description: Notes of the credit note + example: This credit note is very important
+ - type: object + properties: + rows: + type: array + nullable: true + items: + $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/rows/items + parent: + nullable: true + oneOf: + - $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/parent/oneOf/0 + rate_category_id: + type: integer + description: >- + Rate Category to apply on document (By default, the + rate_category_id will be that of company) + example: 777 + required: + - related + CreditNoteUpdate: + allOf: + - $ref: '#/components/schemas/CreditNoteCreate/allOf/0' + - type: object + properties: + rows: + type: array + nullable: true + items: + $ref: >- + #/components/schemas/EstimateUpdate/allOf/1/properties/rows/items + CreditNoteValidate: + type: object + properties: + date: + type: string + format: date + example: '2022-01-01' + description: > + Date of document.
> Depending on your conformity settings, the + date may not be greater than the current date. + CreditNoteCompute: + title: Credit Note + type: object + properties: + status: + type: string + description: Status of the credit note + example: spent + enum: + - draft + - stored + - partialspend + - spent + - cancelled + date: + type: string + format: date + description: Date of the credit note + example: '2022-01-02' + subject: + type: string + description: Subject of the credit note + example: Credit note on the invoice INV-2022-01-02-002 + nullable: true + amounts: + type: object + description: Amounts of credit note, with and without taxes + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging costs. + Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + currency: + type: string + description: Currency code of the credit note + example: EUR + taxes: + description: List of taxes used on the credit note + type: array + items: + type: object + description: Tax used + properties: + label: + type: string + description: Tax label + example: TTC + id: + type: integer + description: Tax id + example: 954 + rate: + type: string + description: Tax rate + example: '19.6' + amount: + type: string + description: Tax amount + example: '12.54' + discount: + description: Global discount applied on the credit note + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + related: + description: | + Objects linked to the credit note : + - There can be only one company or one individual at a time + - Contact is the contact of company linked to the credit note. There may be no or one contact. + type: array + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - contact + - opportunity + owner: + $ref: '#/components/schemas/Model/properties/owner/allOf/0' + rows: + type: array + items: + $ref: '#/components/schemas/EstimateCompute/properties/rows/items' + CreditNoteFilters: + title: Credit notes filters + type: object + description: Filters on credit notes + properties: + filters: + type: object + description: Filters on credit notes + properties: + status: + title: Status + description: Filter credit notes list by status + example: + - draft + - stored + - partialspend + type: array + items: + type: string + enum: + - draft + - stored + - partialspend + - spent + - cancelled + related_objects: + title: Related Objects + type: array + items: + type: object + properties: + type: + type: string + enum: + - company + - individual + - opportunity + example: company + id: + type: integer + example: 22 + is_deposit: + title: Is deposit + description: Filter the credit note if is deposit or not + type: boolean + example: true + favourite_filter: + $ref: >- + #/components/schemas/ContactFilters/properties/filters/properties/favourite_filter + required: + - filters + OrderCreate: + allOf: + - title: Order + type: object + properties: + number: + type: string + description: Order number + example: ORD-00192 + date: + type: string + format: date + description: Date of the order + example: '2022-01-01' + due_date: + type: string + format: date + description: Due date for signing the order + example: '2022-03-01' + created: + description: Creation date of order + type: string + format: date-time + example: '2022-01-01T00:00:00+00:00' + subject: + type: string + description: Subject of the order + example: Order subject + currency: + type: string + description: Currency code of the order + example: USD + discount: + description: Global discount applied on the order + type: object + properties: + type: + type: string + enum: + - percent + - amount + example: amount + value: + type: string + description: Value of discount + example: '25.20' + related: + description: | + Objects linked to the order : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only `client` type + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + - If you provide one or more contacts, they must belong to the company or individual + type: array + minItems: 1 + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 90 + type: + type: string + description: Type of related + enum: + - company + - individual + - contact + - opportunity + example: company + public_link_enabled: + type: boolean + description: Public link of the order + example: true + owner_id: + type: integer + description: Order's owner (staff id) + example: 50 + minimum: 1 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: >- + End date for service

End date must be greater + than start date + example: '2023-01-31' + invoicing_address_id: + type: integer + description: >- + Invoicing address, by default take invoicing address of + company/individual. + minimum: 1 + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + minimum: 1 + note: + type: string + description: Notes of the order + example: This order is very important
+ shipping_date: + type: string + format: date + nullable: true + description: Date of the shipping + - type: object + properties: + rows: + type: array + nullable: true + items: + $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/rows/items + parent: + nullable: true + oneOf: + - $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/parent/oneOf/0 + rate_category_id: + type: integer + description: >- + Rate Category to apply on document (By default, the + rate_category_id will be that of company) + example: 777 + required: + - related + OrderUpdate: + allOf: + - $ref: '#/components/schemas/OrderCreate/allOf/0' + - type: object + properties: + rows: + type: array + nullable: true + items: + $ref: >- + #/components/schemas/EstimateUpdate/allOf/1/properties/rows/items + Order: + title: Order + type: object + properties: + id: + type: integer + readOnly: true + description: Order ID + example: 3875 + number: + type: string + description: Order number + example: ORD-2022-01-02-002 + status: + type: string + readOnly: true + description: Status of the order + example: paid + enum: + - draft + - sent + - read + - accepted + - expired + - advanced + - invoiced + - partialinvoiced + - cancelled + order_status: + type: string + readOnly: true + description: Status of the order state + example: wait + enum: + - none + - wait + - picking + - sent + - partialsent + date: + type: string + format: date + description: Date of the order + example: '2022-01-02' + due_date: + type: string + format: date + description: Due date for signing the order + example: '2022-02-02' + created: + description: Created date of order + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + subject: + type: string + description: Subject of the order + amounts: + type: object + readOnly: true + description: Amounts of order, with and without taxes + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging costs. + Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + currency: + type: string + description: Currency code of the order + example: EUR + taxes: + description: List of taxes used on the order + type: array + readOnly: true + items: + type: object + description: Tax used + properties: + label: + type: string + example: Tax label + id: + type: integer + example: 7 + rate: + type: string + example: '20.000000000' + amount: + type: string + example: '150.99' + required: + - label + - id + - rate + - amount + discount: + description: Global discount applied on the order + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + related: + description: | + Objects linked to the order : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only `client` type + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + - If you provide one or more contacts, they must belong to the company or individual + type: array + minItems: 1 + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - contact + - opportunity + public_link: + description: Public link of the order + type: object + properties: + enabled: + type: boolean + description: Public link is enabled + url: + readOnly: true + type: string + description: Url to public link + payment_conditions_acceptance: + type: object + readOnly: true + description: Acceptance of terms and conditions + properties: + enabled: + type: boolean + description: Acceptance is required to pay or sign the document + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + - type: object + description: Order's owner + readOnly: true + fiscal_year_id: + type: integer + nullable: true + description: ID of the order's fiscal year + readOnly: true + pdf_link: + type: string + format: uri + readOnly: true + description: >- + Link to the pdf of document. /!\ Link is regenerate after an update + of document + nullable: true + decimal_number: + readOnly: true + type: object + description: Precision for decimal numbers + properties: + unit_price: + type: integer + nullable: true + description: Precision of unit price + quantity: + type: integer + nullable: true + description: Precision of quantity + main: + type: integer + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + assigned_staff_id: + type: integer + nullable: false + readOnly: true + description: The staff linked + example: 2 + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + readOnly: true + example: 777 + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + readOnly: true + example: 777 + contact_id: + description: Contact of company linked to the order + type: integer + nullable: true + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: End date for service + example: '2023-01-31' + note: + type: string + description: Notes of the order + example: This order is very important
+ _embed: + allOf: + - title: Order Embed + allOf: + - $ref: >- + #/components/schemas/Invoice/properties/_embed/allOf/0/allOf/0 + - $ref: '#/components/schemas/SaleEmbed/properties/_embed/allOf/2' + - type: object + properties: + acl: + title: Order ACL + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Order can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Order can be deleted + example: true + owner: + $ref: '#/components/schemas/CrmActivity/properties/author' + fiscal_year: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/fiscal_year + currency: + $ref: >- + #/components/schemas/Invoice/properties/_embed/allOf/0/allOf/2/properties/currency + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + - type: object + readOnly: true + shipping_date: + type: string + format: date + description: Date of the shipping + nullable: true + example: '2024-01-31' + OrderOne: + allOf: + - title: Order + type: object + properties: + id: + type: integer + readOnly: true + description: Order ID + example: 3875 + number: + type: string + description: Order number + example: ORD-2022-01-02-002 + status: + type: string + readOnly: true + description: Status of the order + example: paid + enum: + - draft + - sent + - read + - accepted + - expired + - advanced + - invoiced + - partialinvoiced + - cancelled + order_status: + type: string + readOnly: true + description: Status of the order state + example: wait + enum: + - none + - wait + - picking + - sent + - partialsent + date: + type: string + format: date + description: Date of the order + example: '2022-01-02' + due_date: + type: string + format: date + description: Due date for signing the order + example: '2022-02-02' + created: + description: Created date of order + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + subject: + type: string + description: Subject of the order + amounts: + type: object + readOnly: true + description: Amounts of order, with and without taxes + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging + costs. Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + currency: + type: string + description: Currency code of the order + example: EUR + taxes: + description: List of taxes used on the order + type: array + readOnly: true + items: + type: object + description: Tax used + properties: + label: + type: string + example: Tax label + id: + type: integer + example: 7 + rate: + type: string + example: '20.000000000' + amount: + type: string + example: '150.99' + required: + - label + - id + - rate + - amount + discount: + description: Global discount applied on the order + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + related: + description: | + Objects linked to the order : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only `client` type + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + - If you provide one or more contacts, they must belong to the company or individual + type: array + minItems: 1 + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - contact + - opportunity + public_link: + description: Public link of the order + type: object + properties: + enabled: + type: boolean + description: Public link is enabled + url: + readOnly: true + type: string + description: Url to public link + payment_conditions_acceptance: + type: object + readOnly: true + description: Acceptance of terms and conditions + properties: + enabled: + type: boolean + description: Acceptance is required to pay or sign the document + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + - type: object + description: Order's owner + readOnly: true + fiscal_year_id: + type: integer + nullable: true + description: ID of the order's fiscal year + readOnly: true + pdf_link: + type: string + format: uri + readOnly: true + description: >- + Link to the pdf of document. /!\ Link is regenerate after an + update of document + nullable: true + decimal_number: + readOnly: true + type: object + description: Precision for decimal numbers + properties: + unit_price: + type: integer + nullable: true + description: Precision of unit price + quantity: + type: integer + nullable: true + description: Precision of quantity + main: + type: integer + description: >- + Main precision of estimate. Could be overrided for + unit_price/quantity + assigned_staff_id: + type: integer + nullable: false + readOnly: true + description: The staff linked + example: 2 + invoicing_address_id: + description: >- + Invoicing address, by default take invoicing address of + company/individual. + type: integer + readOnly: true + example: 777 + delivery_address_id: + type: integer + description: >- + Shipping address, by default take shipping address of + company/individual. + readOnly: true + example: 777 + contact_id: + description: Contact of company linked to the order + type: integer + nullable: true + rate_category_id: + type: integer + description: Rate Category applied on document + example: 777 + service_dates: + type: object + description: Service dates on the document if enabled + nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: End date for service + example: '2023-01-31' + note: + type: string + description: Notes of the order + example: This order is very important
+ _embed: + allOf: + - $ref: '#/components/schemas/Order/properties/_embed/allOf/0' + - type: object + readOnly: true + shipping_date: + type: string + format: date + description: Date of the shipping + nullable: true + example: '2024-01-31' + - type: object + properties: + rows: + type: array + items: + $ref: >- + #/components/schemas/EstimateCreate/allOf/1/properties/rows/items + _embed: + title: Order Embed + allOf: + - $ref: >- + #/components/schemas/Invoice/properties/_embed/allOf/0/allOf/0 + - $ref: '#/components/schemas/SaleEmbed/properties/_embed/allOf/2' + - type: object + properties: + payment_terms: + title: Document Payment Terms + description: Terms of payment of document + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/0/properties/payment_terms/allOf/0 + - type: object + properties: + computed_instalment_plan: + type: array + description: >- + List of deadlines computed with the payment + terms settings + items: + type: object + properties: + date: + type: string + description: due date + format: date + amount: + type: string + description: Total amount + - $ref: >- + #/components/schemas/EstimateOneEmbed/properties/_embed/allOf/1 + - type: object + properties: + acl: + title: Order ACL + type: object + description: '' + x-examples: {} + properties: + can_be_updated: + type: boolean + nullable: true + description: Order can be updated + example: true + can_be_deleted: + type: boolean + nullable: true + description: Order can be deleted + example: true + owner: + $ref: '#/components/schemas/CrmActivity/properties/author' + fiscal_year: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/fiscal_year + currency: + $ref: >- + #/components/schemas/Invoice/properties/_embed/allOf/0/allOf/2/properties/currency + smart_tags: + nullable: true + description: Smart-tags linked + allOf: + - $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/smart_tags/allOf/0 + OrderFilters: + title: Order filters + type: object + description: Order filters + properties: + filters: + type: object + description: Order filters + properties: + status: + title: Status + description: Filter the order list by status + example: + - draft + - sent + - read + type: array + items: + type: string + enum: + - draft + - sent + - read + - accepted + - expired + - advanced + - invoiced + - partialinvoiced + - cancelled + related_objects: + title: Related Objects + type: array + items: + type: object + properties: + type: + type: string + enum: + - company + - individual + - opportunity + example: company + id: + type: integer + example: 22 + order_status: + title: Status of the order state + description: Filter the order by order state + example: + - none + - wait + - picking + type: array + items: + type: string + enum: + - none + - wait + - picking + - sent + - partialsent + favourite_filter: + $ref: >- + #/components/schemas/ContactFilters/properties/filters/properties/favourite_filter + required: + - filters + OrderCompute: + title: Order + type: object + properties: + status: + type: string + readOnly: true + description: Status of the order + example: sent + enum: + - draft + - sent + - read + - accepted + - expired + - advanced + - invoiced + - partialinvoiced + - cancelled + order_status: + type: string + readOnly: true + description: Status of the order state + example: wait + enum: + - none + - wait + - picking + - sent + - partialsent + date: + type: string + format: date + description: Date of the order + example: '2022-01-02' + subject: + type: string + description: Subject of the order + amounts: + type: object + readOnly: true + description: Amounts of order, with and without taxes + properties: + total_raw_excl_tax: + type: string + description: >- + Total amount without taxes and discounts. Does not include + transport and packaging costs. + example: '60' + total_after_discount_excl_tax: + type: string + description: >- + Total discounted without tax. Does not include transport and + packaging costs + example: '50' + total_packaging: + type: string + description: Total amount of packaging costs. + example: '15.96' + total_shipping: + type: string + description: Total amount of shipping costs. + example: '13.90' + total_excl_tax: + type: string + description: >- + Total net without tax. Including transport and packaging costs. + Discount is applied if any. + example: '79.86' + total_incl_tax: + type: string + description: Total with tax + example: '95.83' + currency: + type: string + description: Currency code of the order + example: EUR + taxes: + description: List of taxes used on the order + type: array + readOnly: true + items: + type: object + description: Tax used + properties: + label: + type: string + example: Tax label + id: + type: integer + example: 7 + rate: + type: string + example: '20.000000000' + amount: + type: string + example: '150.99' + required: + - label + - id + - rate + - amount + discount: + description: Global discount applied on the order + nullable: true + type: object + properties: + percent: + type: string + description: Percentage of the discount + example: '12.00' + amount: + type: string + description: Amount of the discount + example: '111.97' + type: + type: string + description: Type of the global discount as defined on the document + enum: + - amount + - percent + related: + description: | + Objects linked to the order : + - You must provide at least one company, individual or opportunity + - For a company or an individual, only `client` type + - You can provide as many opportunities as you wish, even if you already provide a company or an individual, as long as opportunities belong to them + - If you provide one or more contacts, they must belong to the company or individual + type: array + minItems: 1 + items: + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - contact + - opportunity + owner: + allOf: + - $ref: '#/components/schemas/Model/properties/owner/allOf/0' + - type: object + description: Order's owner + readOnly: true + rows: + type: array + items: + $ref: '#/components/schemas/EstimateCompute/properties/rows/items' + EmailSettings: + title: Email Settings + type: object + properties: + signature: + title: Email Signature + description: The email signature object + type: object + properties: + mode: + description: Email signature mode + type: string + enum: + - auto + - manual + html_content: + nullable: true + description: HTML manual signature content + type: string + minLength: 0 + maxLength: 65535 + computed: + nullable: false + description: >- + Parsed HTML manual signature content. "contact" tags will not be + replaced + type: string + minLength: 0 + maxLength: 65535 + required: + - mode + - html_content + connection: + title: Email Connection + description: The email connection object + type: object + properties: + email: + description: Email connection + type: string + type: + description: Email type + type: string + enum: + - transfer + - synchronization + status: + description: Email status + type: string + emails_sent_from_corp: + description: Return true if emails are send by corporation + type: boolean + onboarding_setup: + description: Return true if email onboarding finished + type: boolean + required: + - email + - type + - status + - emails_sent_from_corp + - onboarding_setup + EmailSettingsInput: + title: Email Settings + type: object + properties: + signature: + oneOf: + - type: object + title: Signature in auto mode + properties: + mode: + description: Email signature mode + type: string + enum: + - auto + required: + - mode + - type: object + title: Signature in manual mode + properties: + mode: + description: Email signature mode + type: string + enum: + - manual + html_content: + nullable: true + description: HTML manual signature content (required when mode is manual) + type: string + minLength: 0 + maxLength: 65535 + required: + - mode + - html_content + required: + - signature + FiscalYear: + type: object + title: Fiscal year + properties: + id: + type: integer + description: Id of the fiscal year + name: + type: string + description: >- + Name of the fiscal year. Naming follow the current scheme: N for + the current fiscal year, N-1 for the last fiscal year, N-2, ... + start_at: + type: string + format: date + description: Start date of the fiscal year + end_at: + type: string + format: date + description: End date of the fiscal year + UploadFileInput: + title: File upload + description: Upload file schema + type: object + properties: + file: + type: string + format: binary + description: > +
  • max file size : 15Mb
  • allowed media types : +
    application/rtf,
    text/rtf,
    text/plain,
    image/jpeg,
    image/pjpeg,
    image/jpeg,
    image/pjpeg,
    image/png,
    application/pdf,
    application/acrobat,
    application/nappdf,
    application/x-pdf,
    image/pdf,
    application/xml,
    text/xml,
    application/xml,
    application/xslt+xml,
    text/csv,
    text/x-comma-separated-values,
    text/x-csv,
    application/csv,
    application/vnd.ms-excel,
    application/msexcel,
    application/x-msexcel,
    zz-application/zz-winassoc-xls,
    application/zip,
    application/x-zip,
    application/x-zip-compressed,
    application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,
    application/msword,
    application/vnd.ms-word,
    application/x-msword,
    zz-application/zz-winassoc-doc,
    application/vnd.openxmlformats-officedocument.wordprocessingml.document,
    application/vnd.ms-powerpoint,
    application/mspowerpoint,
    application/powerpoint,
    application/x-mspowerpoint,
    application/vnd.openxmlformats-officedocument.presentationml.presentation,
    application/json,
    image/vnd.dxf,
    image/vnd.dwg,
    image/svg+xml,
    image/svg,
    application/photoshop,
    application/x-photoshop,
    image/photoshop,
    image/psd,
    image/vnd.adobe.photoshop,
    image/x-photoshop,
    image/x-psd,
    application/illustrator,
    application/postscript,
    application/vnd.adobe.illustrator,
    application/postscript,
    image/x-eps,
    application/vnd.google-apps.document,
    video/avi,
    video/divx,
    video/msvideo,
    video/vnd.divx,
    video/x-avi,
    video/x-msvideo,
    audio/mpeg,
    audio/mp3,
    audio/x-mp3,
    audio/x-mpeg,
    audio/x-mpg,
    audio/mp4,
    audio/m4a,
    audio/x-m4a,
    video/mp4,
    video/mp4v-es,
    video/x-m4v,
    video/quicktime,
    application/x-rar-compressed,
    application/vnd.rar,
    application/x-rar,
    image/gif,
    application/vnd.google-apps.spreadsheet,
    application/vnd.google-apps.presentation,
    application/vnd.oasis.opendocument.spreadsheet,
    application/vnd.oasis.opendocument.text,
    application/vnd.oasis.opendocument.presentation,
    application/vnd.oasis.opendocument.graphics,
    application/vnd.oasis.opendocument.formula,
    audio/wav,
    audio/vnd.wave,
    audio/wave,
    audio/x-wav,
    audio/x-ms-wmv,
    video/x-ms-wmv,
    application/vnd.ms-excel.sheet.macroenabled.12,
    application/vnd.ms-pki.stl,
    model/stl,
    model/x.stl-ascii,
    model/x.stl-binary,
    application/x-compressed-tar,
    application/vnd.google-earth.kmz,
    application/vnd.google-earth.kml+xml,
    application/vnd.openxmlformats-officedocument.presentationml.slideshow,
    image/tiff,
    image/tiff,
    audio/amr,
    audio/amr-encrypted,
    text/x-vcard,
    text/directory,
    text/vcard,
    application/cdr,
    application/coreldraw,
    application/vnd.corel-draw,
    application/x-cdr,
    application/x-coreldraw,
    image/cdr,
    image/x-cdr,
    zz-application/zz-winassoc-cdr,
    message/rfc822,
    application/vnd.ms-outlook,
    application/vnd.koan,
    application/ics,
    text/calendar,
    text/x-vcalendar,
    application/ms-tnef,
    application/vnd.ms-tnef,
    image/webp
+ required: + - file + ListFilesOutput: + oneOf: + - title: Directory schema + type: object + description: Directory schema + properties: + id: + type: integer + description: Directory ID + readOnly: true + example: 1 + type: + type: string + description: Directory type + enum: + - directory + name: + type: string + description: Directory name + example: business-cards + minLength: 1 + maxLength: 30 + description: + type: string + nullable: true + description: Directory description + maxLength: 160 + created: + type: string + description: Creation date of directory + format: date-time + example: '1970-01-01T00:00:00+00:00' + breadcrumbs: + description: >- + Current directory location. The first element is the direct + parent of the directory + type: array + minItems: 1 + items: + $ref: '#/components/schemas/FileOuput/properties/breadcrumbs/items' + - title: File schema + type: object + description: File schema + properties: + id: + type: integer + description: File ID + readOnly: true + example: 1 + type: + type: string + description: File type + enum: + - file + name: + type: string + description: File name + example: business-card + created: + type: string + description: Creation date of file + format: date-time + example: '1970-01-01T00:00:00+00:00' + size: + type: integer + description: File size in octet + readOnly: true + example: 512 + extension: + type: string + description: File extension + example: jpg + enum: + - rtf + - txt + - jpg + - jpeg + - png + - pdf + - xml + - xsl + - csv + - xls + - zip + - xlsx + - doc + - docx + - ppt + - pptx + - json + - dxf + - dwg + - svg + - psd + - ai + - eps + - indd + - gdoc + - avi + - mp3 + - m4a + - mp4 + - rar + - gif + - gplf + - gform + - gsheet + - gslides + - gdraw + - ods + - odt + - odp + - odg + - odf + - sat + - wav + - wave + - wmv + - xlsm + - stl + - ped + - tgz + - kmz + - kml + - ppsx + - tiff + - tif + - amr + - vcf + - cdr + - ar3 + - eml + - mmap + - msg + - skp + - ics + - tnef + - webp + public_link: + type: string + format: uri + readOnly: true + description: URL to file + related: + description: Objects linked to the file + type: array + minItems: 0 + maxItems: 1 + items: + type: object + properties: + type: + type: string + description: Object type + enum: + - company + - individual + - contact + - opportunity + - estimate + - invoice + - credit-note + - order + id: + type: integer + description: Object ID + breadcrumbs: + description: >- + Current file location. The first element is the direct parent of + the file + type: array + minItems: 1 + items: + $ref: '#/components/schemas/FileOuput/properties/breadcrumbs/items' + AdyenSettings: + title: Adyen settings + type: object + additionalProperties: true + description: '' + x-examples: {} + properties: + api_key: + type: string + description: API key of the Adyen account to use + example: abcdefghijklmnopqrstuv0123456789 + nullable: true + merchant_account: + type: string + description: Merchant account + example: Sellsy + nullable: false + test_env: + type: boolean + description: If api key is to use on test environment + example: true + nullable: false + notification_hmac_key: + type: string + description: Notification key hmac + example: 04D37574774B86C7B1B6E629941311A4ADD693E117BB17849C93132293DE7F4C + theme_id: + type: string + description: Theme id for Adyen + example: 6652399b-be09-406c-88df-e2106f282996 + nullable: true + payment_method_id: + type: integer + description: Default payment method to use adyen on + example: 7 + nullable: true + live_url_prefix: + type: string + description: >- + The unique merchant-specific hostname to communicate with Adyen's + APIs + example: 1797a841fbb37ca7-AdyenDemo + nullable: true + required: + - api_key + - merchant_account + - test_env + FileOuput: + title: File schema + type: object + description: File schema + properties: + id: + type: integer + description: File ID + readOnly: true + example: 1 + type: + type: string + description: File type + enum: + - file + name: + type: string + description: File name + example: business-card + created: + type: string + description: Creation date of file + format: date-time + example: '1970-01-01T00:00:00+00:00' + size: + type: integer + description: File size in octet + readOnly: true + example: 512 + extension: + type: string + description: File extension + example: jpg + enum: + - rtf + - txt + - jpg + - jpeg + - png + - pdf + - xml + - xsl + - csv + - xls + - zip + - xlsx + - doc + - docx + - ppt + - pptx + - json + - dxf + - dwg + - svg + - psd + - ai + - eps + - indd + - gdoc + - avi + - mp3 + - m4a + - mp4 + - rar + - gif + - gplf + - gform + - gsheet + - gslides + - gdraw + - ods + - odt + - odp + - odg + - odf + - sat + - wav + - wave + - wmv + - xlsm + - stl + - ped + - tgz + - kmz + - kml + - ppsx + - tiff + - tif + - amr + - vcf + - cdr + - ar3 + - eml + - mmap + - msg + - skp + - ics + - tnef + - webp + public_link: + type: string + format: uri + readOnly: true + description: URL to file + related: + description: Objects linked to the file + type: array + minItems: 0 + maxItems: 1 + items: + type: object + properties: + type: + type: string + description: Object type + enum: + - company + - individual + - contact + - opportunity + - estimate + - invoice + - credit-note + - order + id: + type: integer + description: Object ID + breadcrumbs: + description: >- + Current file location. The first element is the direct parent of the + file + type: array + minItems: 1 + items: + type: object + properties: + type: + type: string + description: Parent type + enum: + - directory + id: + type: integer + description: Parent ID + name: + type: string + description: Parent name + example: thirds + MoveFileInput: + title: Move file schema + description: Move file schema + type: object + properties: + type: + type: string + description: New target type + example: opportunity + enum: + - company + - individual + - contact + - opportunity + - estimate + - invoice + - credit-note + - order + - directory + id: + type: integer + description: New target id + example: 1 + required: + - type + - id + CreateDirectory: + title: Directory create schema + description: Directory create schema + allOf: + - title: Directory schema + type: object + description: Directory schema + properties: + name: + type: string + description: Name of the directory + minLength: 1 + maxLength: 30 + description: + type: string + nullable: true + description: An optional description for the directory + maxLength: 160 + - type: object + properties: + parent: + type: object + description: Parent object which will receive the new directory + required: + - type + - id + properties: + type: + type: string + example: company + enum: + - company + - individual + - contact + - opportunity + - estimate + - invoice + - credit-note + - order + - directory + id: + description: Parent object id + type: integer + required: + - parent + - name + UpdateDirectory: + title: Directory schema + type: object + description: Directory schema + properties: + name: + type: string + description: Name of the directory + minLength: 1 + maxLength: 30 + description: + type: string + nullable: true + description: An optional description for the directory + maxLength: 160 + LinkCompanyContact: + type: object + properties: + roles: + type: array + description: >- + Roles given to contact.

Note that custom roles will be + ignored if company has no contact yet, the first contact will get + all roles by default. + items: + type: string + enum: + - main + - invoicing + - dunning + nullable: true + example: + - main + - dunning + uniqueItems: true + UpdateLinkCompanyContact: + type: object + properties: + roles: + type: array + description: Roles given to contact. + items: + type: string + enum: + - main + - invoicing + - dunning + nullable: false + example: + - main + - dunning + uniqueItems: true + ImportToken: + title: Token + type: object + description: '' + x-examples: {} + properties: + token: + type: string + description: Import token + example: >- + eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.dyt0CoTl4WoVjAHI9Q_CwSKhl6d_9rhM3NrXuJttkao + ImportPrepareInput: + title: Import batch preparation + type: object + description: '' + x-examples: {} + properties: + batch_id: + type: string + format: uuid + description: Batch id + example: 123e4567-e89b-12d3-a456-426614174000 + metadata: + title: Import metadata + type: object + description: Import options + x-examples: {} + properties: + insert_new_records: + type: boolean + description: If true, insert new records + example: true + update_existing_records: + type: boolean + description: If true, update existing records + example: true + update_empty_fields: + type: boolean + description: >- + If true, empty values will be persisted and overwrite actual + values + example: true + overwrite_tags: + type: boolean + description: If true, replace the smart tags instead of adding them + example: true + dismiss_required_custom_fields: + type: boolean + description: If true, import rows dismissing mandatory custom fields + example: true + insert_new_custom_fields_enum_values: + type: boolean + description: If true, new values are added to list type custom fields + example: true + use_default_values_for_empty_custom_fields: + type: boolean + description: If true, use existing default values for empty custom fields + example: true + columns: + type: array + description: List of imported columns + example: + - id + - reference + - name + - description + - reference_price + minItems: 1 + items: + type: string + identifiers: + description: Import identifiers + oneOf: + - title: Product identifier + type: object + description: '' + x-examples: {} + properties: + product: + type: array + description: List of identifiers + minItems: 1 + maxItems: 1 + items: + type: string + enum: + - id + - reference + required: + - product + - title: Product variation identifiers + type: object + description: '' + x-examples: {} + properties: + product: + type: array + description: List of identifiers + minItems: 1 + maxItems: 1 + items: + type: string + enum: + - product_id + - product_reference + product_variation: + type: array + description: List of identifiers + minItems: 1 + maxItems: 1 + items: + type: string + enum: + - variation_id + - variation_reference + required: + - product + - product_variation + - title: Company identifiers + type: object + description: '' + x-examples: {} + properties: + company: + type: array + description: List of identifiers + minItems: 1 + items: + type: string + enum: + - company_id + - company_name + - company_reference + - company_email + - company_legal_france_siret + - company_legal_france_siren + address: + type: array + description: List of identifiers + minItems: 1 + items: + type: string + enum: + - address_id + - address_name + contact: + type: array + description: List of identifiers + minItems: 1 + items: + type: string + enum: + - contact_id + - contact_last_name + - contact_first_name + - contact_email + required: + - company + - address + - contact + - title: Service identifier + type: object + description: '' + x-examples: {} + properties: + service: + type: array + description: List of identifiers + minItems: 1 + maxItems: 1 + items: + type: string + enum: + - id + - reference + required: + - service + - service-price + - $ref: >- + #/components/schemas/ImportPrepareInput/properties/metadata/properties/identifiers/oneOf/1 + required: + - insert_new_records + - update_existing_records + - update_empty_fields + - overwrite_tags + - dismiss_required_custom_fields + - insert_new_custom_fields_enum_values + - use_default_values_for_empty_custom_fields + - columns + - identifiers + data: + description: Rows to prepare + minItems: 1 + oneOf: + - type: array + description: Rows to prepare + minItems: 1 + maxItems: 100 + items: + oneOf: + - title: Product + type: object + description: '' + x-examples: {} + properties: + row_id: + type: integer + description: Row id + example: 1 + id: + type: integer + description: Item id + example: 6657 + nullable: true + reference: + type: string + description: Item reference + example: ref0123 + name: + type: string + description: Item name + example: lorem ipsum + nullable: true + description: + type: string + description: Description of item + example: T-shirt 90% coton + nullable: true + unit: + type: string + description: Unit + example: m3 + nullable: true + standard_quantity: + type: string + description: Standard quantity + example: 3 + nullable: true + category: + type: string + description: Item category + example: null + nullable: true + smart_tags: + type: array + description: Smart tags list + nullable: true + example: + - foo + - bar + items: + type: string + description: The tag + owner: + type: string + description: Owner name of the product import + example: John Snow + nullable: true + reference_price: + type: string + description: Reference price + example: 19.99 + nullable: true + tax_rate: + type: string + description: Tax rate + example: 19.6 + nullable: true + purchase_price: + type: string + description: Purchase price + example: 15.5 + nullable: true + accounting_code: + type: string + description: Accounting code + example: null + nullable: true + accounting_purchase_code: + type: string + description: Accounting purchase code + example: null + nullable: true + is_archived: + type: boolean + description: Status archived or not + example: false + required: + - reference + - title: Product variation + type: object + description: '' + x-examples: {} + properties: + row_id: + type: integer + description: Row id + example: 1 + product_id: + type: integer + description: Product id + example: 6657 + nullable: true + product_reference: + type: string + description: Product reference + example: ref0123 + nullable: true + variation_id: + type: integer + description: Variation id + example: 6678 + nullable: true + variation_reference: + type: string + description: Variation reference + example: ref0123-5 + nullable: true + trade_name: + type: string + description: Trade name of the product variation + example: T-shirt Red S + nullable: true + description: + type: string + description: Description of product variation + example: T-shirt 90% coton + nullable: true + variation_code_1: + type: string + description: Code of the first variation criteria + example: color + nullable: false + variation_code_value_1: + type: string + description: Code of the value of the first variation criteria + example: red + nullable: false + variation_code_2: + type: string + description: Code of the second variation criteria + example: size + nullable: true + variation_code_value_2: + type: string + description: Code of the value of the second variation criteria + example: small + nullable: true + variation_code_3: + type: string + description: Code of the third variation criteria + example: material + nullable: true + variation_code_value_3: + type: string + description: Code of the value of the third variation criteria + example: cotton + nullable: true + sales_price_excl_tax: + type: string + description: Sales price excluding tax of the variation + example: 105.56 + nullable: true + purchase_price_excl_tax: + type: string + description: Purchase amount excluding tax of the variation + example: 68.22 + nullable: true + required: + - variation_code_1 + - variation_code_value_1 + - title: Company + type: object + description: '' + x-examples: {} + properties: + row_id: + type: integer + description: Row id + example: 1 + company_id: + type: integer + description: Company id + example: 6657 + nullable: true + company_type: + type: string + description: Company type + example: client + enum: + - prospect + - client + - supplier + company_name: + type: string + description: Company name + minLength: 1 + maxLength: 250 + example: Example company + company_reference: + type: string + description: Company reference + minLength: 1 + maxLength: 100 + nullable: true + example: CLI-1654 + company_legal_france_company_type: + description: Company type + type: string + minLength: 2 + maxLength: 100 + nullable: true + example: SAS + company_price_category: + description: Company price category + type: string + maxLength: 255 + nullable: true + example: Some category + company_email: + description: Company email + type: string + format: email + example: contact@example-company.com + nullable: true + company_phone_number: + type: string + description: Company phone number + example: '+33100000000' + nullable: true + company_mobile_number: + type: string + description: Company mobile number + example: '+33600000000' + nullable: true + company_fax_number: + type: string + description: Company Fax number + example: '+33100000000' + nullable: true + company_website: + type: string + format: url + description: Company website + example: http://example-company.com + nullable: true + company_legal_france_vat: + description: VAT number + type: string + minLength: 1 + maxLength: 100 + nullable: true + example: FR99999999999 + company_legal_france_ape_naf_code: + description: APE/NAF Code + type: string + minLength: 2 + maxLength: 50 + nullable: true + example: 4711C + company_capital: + description: Company Capital + type: string + maxLength: 20 + nullable: true + example: '4000' + company_legal_france_rcs_immatriculation: + description: RCS immatriculation code + type: string + minLength: 2 + maxLength: 200 + nullable: true + example: RCS xxxxx + company_legal_france_siret: + description: Company Siret + type: string + minLength: 2 + maxLength: 100 + nullable: true + example: '73282932000074' + company_legal_france_siren: + description: Company Siren + type: string + minLength: 2 + maxLength: 100 + nullable: true + example: '732829320' + company_note: + type: string + description: Note on company + example: An handed-written note describing this company + company_smart_tags: + type: array + description: Company's smart tags list + nullable: true + example: + - foo + - bar + items: + type: string + description: The tag + company_owner: + type: string + description: Owner name of the company import + example: John Snow + nullable: true + company_accounting_code: + type: string + description: Company accounting code + example: null + nullable: true + company_auxiliary_code: + type: string + description: Auxiliary code + maxLength: 50 + example: 0EX11C + nullable: true + company_marketing_campaigns_email: + type: boolean + description: Company subscribed to email campaigns + example: false + company_marketing_campaigns_sms: + type: boolean + description: Company subscribed to SMS campaigns + example: false + company_marketing_campaigns_phone: + type: boolean + description: Company subscribed to phone campaigns + example: false + company_marketing_campaigns_postal_mail: + type: boolean + description: Company subscribed to postal mail campaigns + example: false + company_marketing_campaigns_custom: + type: boolean + description: Company subscribed to custom campaigns + example: false + company_is_archived: + type: boolean + description: Company' status archived or not + example: false + address_id: + type: integer + description: Unique ID + example: 6657 + address_name: + type: string + description: Address name + example: Main office + minLength: 2 + address_address_line_1: + type: string + description: Address line one + example: 30 Commercial Road + nullable: true + address_address_line_2: + type: string + description: Address line two + example: Finance and Accounting + nullable: true + address_address_line_3: + type: string + description: Address line three + example: Lighthouse Promotions + nullable: true + address_address_line_4: + type: string + description: Address line four + example: PO Box 215 + nullable: true + address_postal_code: + type: string + nullable: true + description: Address postal code + example: '75012' + minLength: 2 + address_city: + type: string + description: Address city name + example: Paris + minLength: 2 + address_state: + type: string + description: Address state + example: null + address_country_code: + type: string + description: Address country code + example: FR + minLength: 2 + maxLength: 2 + contact_id: + type: integer + description: Unique ID + example: 6657 + contact_civility: + type: string + description: contact civility + example: mrs + nullable: true + enum: + - mr + - mrs + - ms + contact_type_main: + type: boolean + description: Defines whether the company has main contact type + example: false + nullable: true + contact_type_invoicing: + type: boolean + description: Defines whether the company has invoicing contact type + example: false + nullable: true + contact_type_dunning: + type: boolean + description: Defines whether the company has dunning contact type + example: false + nullable: true + contact_last_name: + type: string + description: Contact name + example: Doe + maxLength: 200 + nullable: true + contact_first_name: + type: string + description: Contact first name + example: John + nullable: true + maxLength: 200 + contact_email: + description: Contact email + type: string + format: email + example: john.doe@example-company.com + nullable: true + contact_phone_number: + type: string + description: Contact phone number + example: '+33100000000' + nullable: true + contact_mobile_number: + type: string + description: Contact mobile number + example: '+33600000000' + nullable: true + contact_fax_number: + type: string + description: Contact Fax number + example: '+33100000000' + nullable: true + contact_website: + type: string + format: url + description: Contact website + example: http://example-john-doe.com + nullable: true + contact_position: + type: string + nullable: true + description: Contact job + example: Financial + contact_smart_tags: + type: array + description: Contact's smart tags list + nullable: true + example: + - foo + - bar + items: + type: string + description: The tag + contact_note: + type: string + description: Note on contact + example: An handed-written note describing this contact + contact_marketing_campaigns_email: + type: boolean + description: Contact subscribed to email campaigns + example: false + contact_marketing_campaigns_sms: + type: boolean + description: Contact subscribed to SMS campaigns + example: false + contact_marketing_campaigns_phone: + type: boolean + description: Contact subscribed to phone campaigns + example: false + contact_marketing_campaigns_postal_mail: + type: boolean + description: Contact subscribed to postal mail campaigns + example: false + contact_marketing_campaigns_custom: + type: boolean + description: Contact subscribed to custom campaigns + example: false + contact_is_archived: + type: boolean + nullable: false + description: Contact' status archived or not + example: false + required: + - row_id + - company_type + - company_name + - title: Service + type: object + description: '' + x-examples: {} + properties: + row_id: + type: integer + description: Row id + example: 1 + id: + type: integer + description: Service id + example: 6657 + nullable: true + reference: + type: string + description: Service reference + example: ref0123 + name: + type: string + description: Service name + example: lorem ipsum + nullable: true + description: + type: string + description: Description of service + example: Repair and maintenance + nullable: true + unit: + type: string + description: Unit + example: hour + nullable: true + standard_quantity: + type: string + description: Standard quantity + example: 3 + nullable: true + category: + type: string + description: Service category + example: null + nullable: true + smart_tags: + type: array + description: Smart tags list + nullable: true + example: + - foo + - bar + items: + type: string + description: The tag + owner: + type: string + description: Owner name of the product import + example: John Snow + nullable: true + is_timetracking: + type: boolean + description: Service is usable for timetracking + example: false + reference_price: + type: string + description: Reference price + example: 19.99 + nullable: true + tax_rate: + type: string + description: Tax rate + example: 19.6 + nullable: true + purchase_price: + type: string + description: Purchase price + example: 15.5 + nullable: true + accounting_code: + type: string + description: Accounting code + example: null + nullable: true + accounting_purchase_code: + type: string + description: Accounting purchase code + example: null + nullable: true + is_archived: + type: boolean + description: Status archived or not + example: false + required: + - reference + - title: Service price + type: object + description: '' + x-examples: {} + properties: + row_id: + type: integer + description: Row id + example: 1 + id: + type: integer + description: Service id + example: 6657 + nullable: true + reference: + type: string + description: Service reference + example: ref0123 + prices: + type: array + description: Rate category ids and corresponding prices + minItems: 1 + maxItems: 100 + items: + title: Rate category + type: object + description: '' + x-examples: {} + properties: + category: + type: string + description: Rate category name + example: Tax rate 20 + price: + type: number + description: Price for corresponding category + example: 23.11 + required: + - reference + required: + - reference + - title: Product price + type: object + description: '' + x-examples: {} + properties: + row_id: + type: integer + description: Row id + example: 1 + id: + type: integer + description: Product id + example: 6657 + nullable: true + reference: + type: string + description: Product reference + example: ref0123 + nullable: true + variation_id: + type: integer + description: Product variation id + example: 100 + nullable: true + variation_reference: + type: string + description: Product variation reference + example: ref11 + nullable: true + prices: + type: array + description: Rate category ids and corresponding prices + minItems: 1 + maxItems: 100 + items: + $ref: >- + #/components/schemas/ImportPrepareInput/properties/data/oneOf/0/items/oneOf/4/properties/prices/items + required: + - reference + required: + - batch_id + - metadata + - data + ImportValidateInput: + title: Import batch validation + type: object + description: '' + x-examples: {} + properties: + batch_id: + type: string + format: uuid + description: Batch id + example: 123e4567-e89b-12d3-a456-426614174000 + metadata: + $ref: '#/components/schemas/ImportPrepareInput/properties/metadata' + data: + description: Rows to validate + minItems: 1 + oneOf: + - type: array + description: Rows to validate + minItems: 1 + maxItems: 100 + items: + oneOf: + - $ref: >- + #/components/schemas/ImportPrepareInput/properties/data/oneOf/0/items/oneOf/0 + - $ref: >- + #/components/schemas/ImportPrepareInput/properties/data/oneOf/0/items/oneOf/1 + - $ref: >- + #/components/schemas/ImportPrepareInput/properties/data/oneOf/0/items/oneOf/2 + - $ref: >- + #/components/schemas/ImportPrepareInput/properties/data/oneOf/0/items/oneOf/3 + - $ref: >- + #/components/schemas/ImportPrepareInput/properties/data/oneOf/0/items/oneOf/4 + - $ref: >- + #/components/schemas/ImportPrepareInput/properties/data/oneOf/0/items/oneOf/5 + required: + - batch_id + - metadata + - data + ImportStartInput: + title: Import + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + batch_id: + type: string + description: Batch id + format: uuid + example: 123e4567-e89b-12d3-a456-426614174000 + required: + - batch_id + CompanyPreferences: + title: Company's preferences + type: object + additionalProperties: false + properties: + currency: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/currency + carrier: + type: object + description: Company preferred carrier. + nullable: true + properties: + id: + type: integer + description: id of carrier + example: 1234 + label: + type: string + description: label of carrier + example: DHL + tax: + title: Tax + type: object + description: '' + x-examples: {} + properties: + id: + type: integer + readOnly: true + description: Id of tax + example: 6657 + rate: + type: number + format: float + description: Rate of tax + example: 20 + label: + type: string + description: Label of tax + example: Product TVA + is_active: + type: boolean + description: Is the tax enabled or not + example: true + is_ecotax: + type: boolean + description: Is the tax an ecotax + example: true + payment_term: + type: object + description: Company preferred pay date. + nullable: true + properties: + id: + type: integer + description: id of pay date + example: 1234 + label: + type: string + description: label of pay date + example: from 30 days + x_days: + type: integer + nullable: true + description: Number of days for pay deadlines. + end_of_month: + type: boolean + nullable: true + description: Is pay deadlines at end of the month. + discount: + type: object + description: Company's preferred discount. + properties: + amount: + type: string + description: numeric string. Can be float, double or integer + type: + type: string + enum: + - amount + - percent + bank_account: + type: object + description: Company's preferred bank account. + nullable: true + properties: + id: + type: integer + description: id of bank account + example: 1234 + label: + type: string + description: label of bank account + example: My bank + iban: + type: string + description: iban of bank account + example: FRxxxxxxxxxxxxxx + discount_by_row: + type: boolean + description: Rows for this Company can have its own discount. + dunnings: + type: object + description: Company's preferred dunning plan for each doctype. + nullable: true + properties: + estimate: + type: object + nullable: true + properties: + value: + type: string + description: Dunning type select for estimate documents. + enum: + - disabled + - default + - id + id: + type: integer + description: Dunning id selected for estimate documents if value is "id". + label: + type: string + description: >- + Label of dunning selected for estimate documents if value + is "id". + invoice: + type: object + nullable: true + properties: + value: + type: string + description: Dunning type select for invoice documents. + enum: + - disabled + - default + - id + id: + type: integer + description: Dunning id select for invoice documents if value is "id". + label: + type: string + description: >- + Label of dunning selected for invoice documents if value is + "id". + proforma: + type: object + nullable: true + properties: + value: + type: string + description: Dunning type select for proforma documents. + enum: + - disabled + - default + - id + id: + type: integer + description: Dunning id select for proforma documents if value is "id". + label: + type: string + description: >- + Label of dunning selected for proforma documents if value + is "id". + rate_category: + type: object + description: Company's preferred rate category. + nullable: true + properties: + id: + type: integer + description: id of rate category + example: 123456 + label: + type: string + description: label of rate category + example: HT + pay_mediums: + type: array + description: Company's preferred pay mediums. + nullable: true + items: + type: object + properties: + id: + type: integer + description: id of pay medium + example: 1234 + label: + type: string + description: label of pay medium + example: credit card + UpdateCompanyPreferences: + title: Company preferences + type: object + additionalProperties: false + properties: + currency_id: + type: integer + description: Id of the selected currency. + carrier_id: + type: integer + description: Id of the carrier selected. + tax_id: + type: integer + description: Id of the tax selected. + payment_terms: + type: object + description: Id of the payment term selected. + properties: + id: + type: integer + x_days: + type: integer + nullable: true + description: Number of days for pay deadlines. + end_of_month: + type: boolean + nullable: true + description: Is pay deadlines at end of the month. + required: + - id + discount: + type: object + description: Default company's global discount applied. + properties: + amount: + type: string + description: numeric string. Can be float, double or integer + type: + type: string + enum: + - amount + - percent + required: + - amount + - type + bank_account_id: + type: integer + nullable: true + description: Id of Bank account selected. + discount_by_row: + type: boolean + description: Rows for this Company can have its own discount. + dunning: + type: object + description: Dunning selected for each doctype. + properties: + estimate: + oneOf: + - title: disabled + type: object + additionalProperties: false + description: Disabled dunning for this doctype. + properties: + value: + type: string + enum: + - disabled + required: + - value + - title: default dunning + type: object + additionalProperties: false + description: Default dunning for this doctype. + properties: + value: + type: string + enum: + - default + required: + - value + - title: dunning id + type: object + additionalProperties: false + description: Specified dunning for this doctype. + properties: + value: + type: string + enum: + - id + id: + type: integer + required: + - value + - id + invoice: + oneOf: + - $ref: >- + #/components/schemas/UpdateCompanyPreferences/properties/dunning/properties/estimate/oneOf/0 + - $ref: >- + #/components/schemas/UpdateCompanyPreferences/properties/dunning/properties/estimate/oneOf/1 + - $ref: >- + #/components/schemas/UpdateCompanyPreferences/properties/dunning/properties/estimate/oneOf/2 + proforma: + oneOf: + - $ref: >- + #/components/schemas/UpdateCompanyPreferences/properties/dunning/properties/estimate/oneOf/0 + - $ref: >- + #/components/schemas/UpdateCompanyPreferences/properties/dunning/properties/estimate/oneOf/1 + - $ref: >- + #/components/schemas/UpdateCompanyPreferences/properties/dunning/properties/estimate/oneOf/2 + rate_category_id: + type: integer + description: Id of the rate category selected. + pay_medium_ids: + type: array + description: Ids of Company's pay medium displayed. + items: + type: integer + required: + - currency_id + - carrier_id + - tax_id + - payment_terms + - discount + - bank_account_id + - discount_by_row + - pay_medium_ids + IndividualPreferences: + title: Individual's preferences + type: object + additionalProperties: false + properties: + currency: + $ref: >- + #/components/schemas/SaleEmbed/properties/_embed/allOf/1/properties/currency + carrier: + type: object + description: Individual preferred carrier. + nullable: true + properties: + id: + type: integer + description: id of carrier + example: 1234 + label: + type: string + description: label of carrier + example: DHL + tax: + $ref: '#/components/schemas/CompanyPreferences/properties/tax' + payment_term: + type: object + description: Individual preferred pay date. + nullable: true + properties: + id: + type: integer + description: id of pay date + example: 1234 + label: + type: string + description: label of pay date + example: from 30 days + x_days: + type: integer + nullable: true + description: Number of days for pay deadlines. + end_of_month: + type: boolean + nullable: true + description: Is pay deadlines at end of the month. + discount: + type: object + description: Individual's preferred discount. + properties: + amount: + type: string + description: numeric string. Can be float, double or integer + type: + type: string + enum: + - amount + - percent + bank_account: + type: object + description: Individual's preferred bank account. + nullable: true + properties: + id: + type: integer + description: id of bank account + example: 1234 + label: + type: string + description: label of bank account + example: My bank + iban: + type: string + description: iban of bank account + example: FRxxxxxxxxxxxxxx + discount_by_row: + type: boolean + description: Rows for this Individual can have its own discount. + dunning: + type: object + description: Individual's preferred dunning plan for each doctype. + nullable: true + properties: + estimate: + type: object + nullable: true + properties: + value: + type: string + description: Dunning type select for estimate documents. + enum: + - disabled + - default + - id + id: + type: integer + description: Dunning id selected for estimate documents if value is "id". + label: + type: string + description: >- + Label of dunning selected for estimate documents if value + is "id". + invoice: + type: object + nullable: true + properties: + value: + type: string + description: Dunning type select for invoice documents. + enum: + - disabled + - default + - id + id: + type: integer + description: Dunning id select for invoice documents if value is "id". + label: + type: string + description: >- + Label of dunning selected for invoice documents if value is + "id". + proforma: + type: object + nullable: true + properties: + value: + type: string + description: Dunning type select for proforma documents. + enum: + - disabled + - default + - id + id: + type: integer + description: Dunning id select for proforma documents if value is "id". + label: + type: string + description: >- + Label of dunning selected for proforma documents if value + is "id". + rate_category: + type: object + description: Individual's preferred rate category. + nullable: true + properties: + id: + type: integer + description: id of rate category + example: 123456 + label: + type: string + description: label of rate category + example: HT + pay_medium: + type: array + description: Individual's preferred pay medium. + nullable: true + items: + type: object + properties: + id: + type: integer + description: id of pay medium + example: 1234 + label: + type: string + description: label of pay medium + example: credit card + UpdateIndividualPreferences: + title: Individual preferences + type: object + additionalProperties: false + properties: + currency_id: + type: integer + description: Id of the selected currency. + carrier_id: + type: integer + description: Id of the carrier selected. + tax_id: + type: integer + description: Id of the tax selected. + payment_terms: + type: object + description: Id of the payment term selected. + properties: + id: + type: integer + x_days: + type: integer + nullable: true + description: Number of days for pay deadlines. + end_of_month: + type: boolean + nullable: true + description: Is pay deadlines at end of the month. + required: + - id + discount: + type: object + description: Default individual's global discount applied. + properties: + amount: + type: string + description: numeric string. Can be float, double or integer + type: + type: string + enum: + - amount + - percent + required: + - amount + - type + bank_account_id: + type: integer + nullable: true + description: Id of Bank account selected. + discount_by_row: + type: boolean + description: Rows for this individual can have its own discount. + dunning: + type: object + description: Dunning selected for each doctype. + properties: + estimate: + oneOf: + - title: dunning id + type: object + additionalProperties: false + description: Disabled dunning for this doctype. + properties: + value: + type: string + enum: + - disabled + required: + - value + - title: default dunning + type: object + additionalProperties: false + description: Default dunning for this doctype. + properties: + value: + type: string + enum: + - default + required: + - value + - title: dunning id + type: object + additionalProperties: false + description: Specified dunning for this doctype. + properties: + value: + type: string + enum: + - id + id: + type: integer + required: + - value + - id + invoice: + oneOf: + - $ref: >- + #/components/schemas/UpdateIndividualPreferences/properties/dunning/properties/estimate/oneOf/0 + - $ref: >- + #/components/schemas/UpdateIndividualPreferences/properties/dunning/properties/estimate/oneOf/1 + - $ref: >- + #/components/schemas/UpdateIndividualPreferences/properties/dunning/properties/estimate/oneOf/2 + proforma: + oneOf: + - $ref: >- + #/components/schemas/UpdateIndividualPreferences/properties/dunning/properties/estimate/oneOf/0 + - $ref: >- + #/components/schemas/UpdateIndividualPreferences/properties/dunning/properties/estimate/oneOf/1 + - $ref: >- + #/components/schemas/UpdateIndividualPreferences/properties/dunning/properties/estimate/oneOf/2 + rate_category_id: + type: integer + description: Id of the rate category selected. + pay_medium_ids: + type: array + description: Ids of individual's pay medium displayed. + items: + type: integer + required: + - currency_id + - carrier_id + - tax_id + - payment_terms + - discount + - bank_account_id + - discount_by_row + - pay_medium_ids + ImportModel: + title: Import model + type: object + additionalProperties: false + description: '' + x-examples: {} + properties: + columns: + type: array + description: The model columns + minItems: 1 + example: + - name: Column name + mandatory: true + custom_field: false + items: + title: Column + type: object + description: Column properties + x-examples: {} + properties: + name: + type: string + description: Column name + example: Reference + mandatory: + type: boolean + description: Is it a mandatory column + example: true + custom_field: + type: boolean + description: Is it a column used as custom field + example: true + required: + - name + title: + type: string + description: Title of template + nullable: true + example: Modèle Produit + SubscriptionOne: + title: Subscription + type: object + properties: + id: + description: Id of subscription + type: integer + example: 2 + created: + description: Created date + type: string + format: date-time + example: '2020-01-01T00:00:00+01:00' + model: + description: Document to use as a template for subscription payment installments + type: object + properties: + type: + type: string + enum: + - model + id: + type: integer + related: + description: | + Objects linked to the subscription : + - A required company or individual + - An optional contact linked to the provided company. + type: array + minItems: 1 + maxItems: 2 + items: + title: Related + description: Objects linked to the subscription + type: object + properties: + id: + type: integer + description: ID of related + example: 234 + type: + type: string + description: Type of related + example: company + enum: + - company + - individual + - contact + required: + - id + - type + sending: + title: Sending + type: object + additionalProperties: false + description: Email sending configuration + properties: + mode: + type: string + description: >- + Once the invoice has been generated, from subscription deadline, + if sending mode is automatic, email will be sent to all + recipients, otherwise, if it's manual, email should be send + manually + enum: + - automatic + - manual + example: automatic + recipients: + type: array + minItems: 0 + description: Email recipients + items: + anyOf: + - type: object + properties: + id: + type: integer + description: Id of recipient + example: 345 + type: + type: string + description: Type of recipient + enum: + - company + - individual + - contact + - staff + - type: object + properties: + email: + type: string + description: Email of recipient + example: contact@sellsy.com + email_template: + type: integer + description: >- + Id of email template. If not specified, the default email layout + will be used + example: 12 + nullable: true + required: + - mode + preferences_source: + description: Source of payment preferences + type: string + enum: + - model + - related + owner: + description: Subscription owner + type: object + properties: + type: + type: string + enum: + - staff + id: + type: integer + conditions: + type: object + description: Conditions to generate subscription payment installment + properties: + interval: + type: object + description: Interval for subscription payment installments + oneOf: + - title: Weekly interval + additionalProperties: false + description: Weekly interval + properties: + type: + type: string + enum: + - weekly + value: + type: string + enum: + - monday + - tuesday + - wednesday + - thursday + - friday + - saturday + - sunday + required: + - value + - type + - title: Monthly interval + type: object + additionalProperties: false + description: Monthly interval + properties: + type: + type: string + enum: + - monthly + - bimonthly + - quarterly + - biannual + - annual + value: + type: string + enum: + - first_monday + - first_tuesday + - first_wednesday + - first_thursday + - first_friday + - first_saturday + - first_sunday + - '1' + - '2' + - '3' + - '4' + - '5' + - '6' + - '7' + - '8' + - '9' + - '10' + - '11' + - '12' + - '13' + - '14' + - '15' + - '16' + - '17' + - '18' + - '19' + - '20' + - '21' + - '22' + - '23' + - '24' + - '25' + - '26' + - '27' + - '28' + - '29' + - '30' + - '31' + - last_monday + - last_tuesday + - last_wednesday + - last_thursday + - last_friday + - last_saturday + - last_sunday + required: + - value + - type + - title: Every days interval + type: object + additionalProperties: false + description: Every days interval + properties: + type: + type: string + enum: + - every_days + value: + type: integer + minimum: 0 + required: + - value + - type + billing_address: + description: Id of billing address + type: integer + nullable: true + example: 69 + shipping_address: + description: Id of shipping address + type: integer + nullable: true + example: 67 + order_reference: + description: Order reference + type: string + nullable: true + maxLength: 100 + example: reference + has_updated_catalog_prices: + description: Update prices according to the products or services in the catalog + type: boolean + default: false + has_catalog_promotions: + description: Take into account catalog promotions + type: boolean + default: false + has_display_of_next_deadline: + description: Display the next recurrence date on the invoice + type: boolean + default: false + has_service_dates: + description: Display service dates on the invoice + type: boolean + default: false + service_dates: + description: > + Service dates on the invoice

- Prerequisite: + `has_service_dates` should be true
+ type: object + nullable: true + properties: + start: + description: Start date for service + type: string + format: date + example: '2023-01-01' + end: + description: > + End date for service

End date must be greater than + start date + type: string + format: date + example: '2023-01-31' + has_impact_on_stock: + description: > + Enable stock impact on new invoices generated by subscription +

- Prerequisite: The Stock module must be enabled and + configured on your account to use this option + type: boolean + default: false + example: true + warehouse_id: + description: > + Specify the warehouse stock to be impacted once the invoice is + generated

- Prerequisite: `has_impact_on_stock` should be + true
- Prerequisite: The Stock module must be enabled and + configured on your account to use this option

If specified + to null, the default warehouse defined in the Stock module + preferences will be used + type: integer + nullable: true + payment_settings: + description: > + Enable automatic payment by direct debit on new invoices generated + by subscription

- Prerequisite: The Gocardless or Stripe + module _(according to the one enabled on the document model used)_ + must be enabled and configured on your account to use this option + type: object + nullable: true + properties: + direct_debit: + description: Activate direct debit + type: boolean + example: true + mandate: + description: >- + Required if the direct debit module on document model is + GoCardless + type: integer + nullable: true + example: 6 + payment_installment_invoice: + description: Payment installment invoice + type: string + enum: + - invoice_due_date + - invoice_generation_date + example: invoice_generation_date + currency: + type: string + description: Currency code of the invoice + example: EUR + first_payment_installment_date: + description: First payment date. + type: object + nullable: true + properties: + date: + type: string + format: date + id: + type: integer + next_payment_installment_date: + description: Next payment date. If the value is `null`, the subscription is end. + type: object + nullable: true + properties: + date: + type: string + format: date + id: + type: integer + amounts: + description: Amounts of subscription + type: object + properties: + total_excl_tax: + type: string + total_incl_tax: + type: string + invoices_total_count: + description: Total number of invoices + type: integer + example: 12 + invoices_generated_count: + description: Number of invoices generated + type: integer + example: 2 + invoices_remaining_count: + description: Number of remaining invoices + type: integer + example: 10 + SubscriptionCreate: + title: Create subscription + type: object + properties: + model: + title: Model + type: object + additionalProperties: false + description: Document to use as a template for subscription payment installments + properties: + type: + type: string + description: Template type + enum: + - model + example: model + id: + type: integer + description: Template id + example: 123 + required: + - id + - type + related: + type: array + minItems: 1 + maxItems: 2 + description: | + Objects linked to the subscription : + - A required company or individual, only "client" type. + - An optional contact can be added, it must be linked to the provided company. + items: + $ref: '#/components/schemas/SubscriptionOne/properties/related/items' + sending: + $ref: '#/components/schemas/SubscriptionOne/properties/sending' + preferences_source: + type: string + description: Source of payment preferences + enum: + - model + - related + conditions: + title: Condition + type: object + description: Conditions to generate subscription deadline + properties: + start_date: + type: string + format: date + description: Date to start subscription, must be greater than today + example: '2022-01-02' + interval: + type: object + description: Interval for subscription deadlines + oneOf: + - $ref: >- + #/components/schemas/SubscriptionOne/properties/conditions/properties/interval/oneOf/0 + - $ref: >- + #/components/schemas/SubscriptionOne/properties/conditions/properties/interval/oneOf/1 + - $ref: >- + #/components/schemas/SubscriptionOne/properties/conditions/properties/interval/oneOf/2 + required: + - start_date + - interval + payment_installments: + type: array + minItems: 1 + maxItems: 500 + description: Subscription payment installments to be generated + items: + title: Payment installments + description: Subscription payment installments to be generated + type: object + properties: + date: + type: string + format: date + description: > + Date of the payment installments. The date must not be over + 2038-01-19. + example: '2022-01-02' + sending_mode: + type: string + description: > + By default, the general preference "sending.mode" is applied + to each payment installments, but it is possible to override + the sending mode on each + enum: + - automatic + - manual + required: + - date + billing_address: + type: integer + nullable: true + description: Id of billing address + example: 69 + shipping_address: + type: integer + nullable: true + description: Id of shipping address + example: 67 + order_reference: + type: string + description: Order reference + example: reference + maxLength: 100 + nullable: true + has_updated_catalog_prices: + type: boolean + description: Update prices according to the products or services in the catalog + default: false + has_catalog_promotions: + type: boolean + description: Take into account catalog promotions + default: false + has_display_of_next_deadline: + type: boolean + description: Display the next recurrence date on the invoice + default: false + has_service_dates: + type: boolean + description: Display service dates on the invoice + default: false + service_dates: + type: object + description: > + Service dates on the invoice

- Prerequisite: + `has_service_dates` should be true
+ nullable: true + properties: + start: + type: string + format: date + description: Start date for service + example: '2023-01-01' + end: + type: string + format: date + description: > + End date for service

End date must be greater than + start date + example: '2023-01-31' + has_impact_on_stock: + type: boolean + description: > + Enable stock impact on new invoices generated by subscription +

- Prerequisite: The Stock module must be enabled and + configured on your account to use this option + default: false + example: true + warehouse_id: + type: integer + nullable: true + description: > + Specify the warehouse stock to be impacted once the invoice is + generated

- Prerequisite: `has_impact_on_stock` should be + true
- Prerequisite: The Stock module must be enabled and + configured on your account to use this option

If specified + to null, the default warehouse defined in the Stock module + preferences will be used + payment_settings: + type: object + description: > + Enable automatic payment by direct debit on new invoices generated + by subscription

- Prerequisite: The Gocardless or Stripe + module _(according to the one enabled on the document model used)_ + must be enabled and configured on your account to use this option + nullable: true + properties: + direct_debit: + type: boolean + description: Activate direct debit + example: true + mandate: + type: integer + nullable: true + description: >- + Required if the direct debit module on document model is + GoCardless + example: 6 + payment_installment_invoice: + type: string + description: Payment installment invoice + enum: + - invoice_due_date + - invoice_generation_date + example: invoice_generation_date + required: + - model + - related + - sending + - preferences_source + - conditions + - payment_installments + LinkPaymentToDocument: + additionalProperties: false + type: object + required: + - amount + properties: + amount: + type: number + description: >- + Amount to link from payment to document.
Must be greater than + zero, and less than amount left to solve on payment and on document. + example: 123.45 + InvoicingPayment: + type: object + properties: + id: + type: integer + description: Payment id + number: + type: string + nullable: true + description: Payment identifier + example: reference + paid_at: + type: string + format: date-time + example: '1970-01-01T00:00:00+00:00' + description: Payment date (ISO 8601) + status: + type: string + enum: + - pending + - confirmed + - rejected + - failed + - refund + description: Payment status + payment_method_id: + type: integer + description: Payment method id + type: + type: string + enum: + - credit + - debit + description: Payment type + amount: + type: object + properties: + value: + type: string + description: Amount + nullable: true + example: '15.26' + currency: + type: string + description: Currency (ISO 4217) + pattern: ^[A-Za-z *]{2,5}$ + nullable: true + example: EUR + related: + type: array + description: Payment related entities + minItems: 1 + maxItems: 1 + items: + type: object + description: Object linked + properties: + id: + type: integer + description: Id of object + type: + type: string + description: Type of object + example: invoice + enum: + - invoice + - creditnote + - estimate + - order + ObjectiveCollectionOutput: + title: Collection of objectives + type: object + properties: + pagination: + $ref: '#/components/schemas/AccountDocumentCollection/properties/pagination' + data: + type: array + items: + allOf: + - oneOf: + - title: Turnover objective + type: object + properties: + id: + type: integer + description: Objective id + name: + type: string + description: Objective name + example: My Objective + category: + $ref: >- + #/components/schemas/ObjectiveOutput/oneOf/0/properties/category + turnover: + $ref: >- + #/components/schemas/ObjectiveOutput/oneOf/0/properties/turnover + period: + $ref: >- + #/components/schemas/ObjectiveTurnoverInput/properties/period + item: + type: object + nullable: true + properties: + id: + type: integer + description: linked Item id + name: + type: string + description: linked Item name + required: + - id + - name + item_category: + $ref: >- + #/components/schemas/ObjectiveOutput/oneOf/0/properties/item_category + refinements: + type: array + description: Refinements of the objective + items: + type: object + properties: + period: + $ref: >- + #/components/schemas/ObjectiveTurnoverInput/properties/period + turnover: + $ref: >- + #/components/schemas/ObjectiveOutput/oneOf/0/properties/turnover + assignee: + $ref: >- + #/components/schemas/ObjectiveOutput/oneOf/0/properties/assignee + links: + $ref: >- + #/components/schemas/ObjectiveCollectionOutput/properties/links + required: + - id + - name + - category + - turnover + - period + - item + - item_category + - refinements + - assignee + - links + - title: Objective Embed + type: object + properties: + _embed: + nullable: true + additionalProperties: false + properties: + created_by: + $ref: >- + #/components/schemas/Activity/properties/_embed/properties/author + modified_by: + $ref: >- + #/components/schemas/Activity/properties/_embed/properties/author + links: + type: array + items: + type: object + title: link + properties: + rel: + type: string + href: + type: string + required: + - rel + - href + required: + - pagination + - data + - links + ObjectiveTurnoverInput: + title: 'Turnover objective ' + type: object + properties: + name: + type: string + description: Objective name + example: My Objective + category: + type: string + description: Code of an existing objective category + example: turnover + enum: + - turnover + turnover: + title: money + type: object + x-examples: {} + properties: + amount: + type: string + example: '124.33' + description: Amount of turnover expected + currency: + type: string + description: Currency code + example: EUR + required: + - amount + - currency + period: + title: Period + type: object + description: period of the objective + x-examples: {} + properties: + duration: + type: string + enum: + - year + - quarter + - month + description: The duration of the period + date_start: + type: string + format: date + description: The start date + date_end: + type: string + format: date + description: The end date + required: + - duration + - date_start + - date_end + item_id: + type: integer + nullable: true + description: Linked item id + item_category_id: + type: integer + nullable: true + description: Linked item category id + refinements: + type: array + description: Refinements of the objective + items: + type: object + properties: + period: + $ref: '#/components/schemas/ObjectiveTurnoverInput/properties/period' + turnover: + $ref: >- + #/components/schemas/ObjectiveTurnoverInput/properties/turnover + assignee: + title: Assignee + type: object + description: Assignee of the objective + x-examples: {} + properties: + type: + type: string + enum: + - corp + - group + - staff + description: Type of assignee + id: + type: integer + description: 'Id of Assignee: corp id, group id or staff id' + required: + - type + required: + - name + - category + - turnover + - period + - item_id + - item_category_id + - refinements + - assignee + ObjectiveSearchInput: + title: objective filters + type: object + description: The objective filters + properties: + filters: + type: object + properties: + name: + type: object + description: name of the Objective + properties: + mode: + type: string + value: + type: string + example: + mode: contain + value: search + required: + - mode + assignee: + type: array + description: List of Assignees + items: + title: Assignee Filter + type: object + description: Filter Assignee of the objective + x-examples: {} + properties: + type: + type: string + enum: + - corp + - group + - staff + description: Type of assignee + id: + type: integer + description: 'Id of Assignee: corp id, group id or staff id' + required: + - type + ObjectiveOutput: + oneOf: + - title: Turnover objective + type: object + properties: + id: + type: integer + description: Objective id + name: + type: string + description: Objective name + example: My Objective + category: + type: object + description: Objective category + properties: + code: + type: string + description: Code of an existing objective category + example: turnover + label: + type: string + description: Label of an existing objective category + example: Turnover + required: + - code + - label + turnover: + title: Turnover + type: object + description: Turnover + x-examples: {} + properties: + expected: + $ref: >- + #/components/schemas/ObjectiveTurnoverInput/properties/turnover + actual: + $ref: >- + #/components/schemas/ObjectiveTurnoverInput/properties/turnover + progression: + type: number + description: Progression of the objective + computed_at: + type: string + format: date-time + description: Date of last turnover calculation + days_left: + type: number + description: Days remaining between now and the end of the period + required: + - expected + - actual + - progression + - computed_at + - days_left + period: + $ref: '#/components/schemas/ObjectiveTurnoverInput/properties/period' + item: + type: object + nullable: true + properties: + id: + type: integer + description: linked Item id + name: + type: string + description: linked Item name + required: + - id + - name + item_category: + type: object + nullable: true + properties: + id: + type: integer + nullable: true + description: Linked item category id + name: + type: string + description: Linked item category name + required: + - id + - name + refinements: + type: array + description: Refinements of the objective + items: + type: object + properties: + period: + $ref: >- + #/components/schemas/ObjectiveTurnoverInput/properties/period + turnover: + $ref: >- + #/components/schemas/ObjectiveOutput/oneOf/0/properties/turnover + assignee: + title: Assignee + type: object + description: Assignee of the objective + x-examples: {} + properties: + type: + type: string + enum: + - corp + - group + - staff + description: Type of assignee + id: + type: integer + description: 'Assignee id: corp id, group id or staff id' + name: + type: string + description: 'Assignee name: corp name, group name or staff name' + required: + - type + links: + $ref: '#/components/schemas/ObjectiveCollectionOutput/properties/links' + required: + - id + - name + - category + - turnover + - period + - item + - item_category + - refinements + - assignee + - links + ObjectiveMetadata: + title: objective metadatas + type: object + properties: + turnover: + type: object + properties: + data: + type: object + properties: + category: + $ref: >- + #/components/schemas/ObjectiveOutput/oneOf/0/properties/category + currency: + type: string + example: EUR + assignees_types: + type: array + items: + type: object + properties: + value: + type: string + label: + type: string + order: + type: integer + assignees: + type: array + items: + type: object + properties: + groups: + $ref: >- + #/components/schemas/ObjectiveMetadata/properties/turnover/properties/data/properties/assignees_types + staffs: + $ref: >- + #/components/schemas/ObjectiveMetadata/properties/turnover/properties/data/properties/assignees_types + item_categories: + allOf: + - $ref: >- + #/components/schemas/ObjectiveMetadata/properties/turnover/properties/data/properties/assignees_types + - type: array + items: + type: object + properties: + parent: + type: integer + nullable: true + logo: + type: string + nullable: true + durations: + $ref: >- + #/components/schemas/ObjectiveMetadata/properties/turnover/properties/data/properties/assignees_types + required: + - category + - currency + - assignees_types + - assignees + - item_categories + - durations + metadata: + type: object + properties: + choose_product: + type: boolean + create_new_staff: + type: boolean + create_new_group: + type: boolean + _links: + $ref: '#/components/schemas/ObjectiveCollectionOutput/properties/links' + required: + - objectives + - links + ObjectiveComputeTurnoverInput: + type: object + properties: + currency: + description: Currency used to compute the turnover + type: string + example: EUR + period: + description: Period used to compute the turnover + allOf: + - $ref: '#/components/schemas/ObjectiveTurnoverInput/properties/period' + item_id: + description: linked item id used to compute the turnover + type: integer + nullable: true + item_category_id: + description: Linked item category id used to compute the turnover + type: integer + nullable: true + assignee: + description: Assignee used to compute the turnover + allOf: + - $ref: '#/components/schemas/ObjectiveTurnoverInput/properties/assignee' + required: + - currency + - period + - item_id + - item_category_id + - assignee + ObjectiveComputeTurnoverOutput: + type: array + items: + type: object + properties: + period: + description: Period used to compute the turnover + allOf: + - $ref: '#/components/schemas/ObjectiveTurnoverInput/properties/period' + turnover: + description: The computed turnover + allOf: + - $ref: >- + #/components/schemas/ObjectiveTurnoverInput/properties/turnover + required: + - period + - turnover + OnboardingScreenOutput: + title: Onboarding Screen output + type: object + additionalProperties: false + properties: + code: + description: Screen code + type: string + example: 'Screen #1' + persona: + description: Screen target user + example: owner + type: string + id: + description: Screen id + type: integer + example: 3 + columns: + description: Screen columns + type: array + items: + type: object + additionalProperties: false + properties: + order: + description: Screen column order + type: integer + label: + description: Screen column label + type: string + cards: + description: Screen column cards + type: array + items: + description: Onboarding Screen card + type: object + additionalProperties: false + properties: + id: + description: Screen card id + type: integer + url: + description: Screen card target url + type: string + label: + description: Screen card label + type: string + code: + description: Screen card code + type: string + icon: + description: Screen card icon identifier + type: string + example: icon-code + order: + description: Screen card order in column + type: integer + state: + description: Screen card completion state + type: string + enum: + - completed + - to_complete + - completing + required: + - id + - url + - label + - code + - icon + - order + - state + required: + - order + - label + - cards + required: + - code + - role + - id + - columns + DiscountInclTaxesOutput: + type: object + description: Discount including taxes + properties: + id: + type: integer + description: identifier of discount + readOnly: true + example: 31 + reference: + type: string + description: Reference of discount + minLength: 1 + maxLength: 250 + example: Halloween five last day + name: + type: string + description: Name of discount + minLength: 1 + maxLength: 250 + example: Halloween promotion + description: + type: string + description: Description visible on the document + minLength: 1 + maxLength: 1000 + example: For purchases made during the last five days of October + unit_id: + type: integer + description: Unit id + example: 31 + amount: + type: string + description: Amount of unit + minLength: 0 + example: 31 + accounting_code_id: + type: integer + description: > +
  • If the accounting code is not empty, we use it.
  • If + the accounting code is empty AND if the account has activated + dedicated accounting codes for discounts including VAT, we use + it.
  • Otherwise, we use the default accounting code for + companies.
+ nullable: true + example: 31 + DiscountInclTaxesInput: + type: object + description: Discount including taxes + properties: + reference: + type: string + description: Reference of discount + minLength: 1 + maxLength: 250 + example: Halloween five last day + name: + type: string + description: Name of discount + minLength: 1 + maxLength: 250 + example: Halloween promotion + description: + type: string + description: Description visible on the document + minLength: 1 + maxLength: 1000 + example: For purchases made during the last five days of October + unit_id: + type: integer + description: Unit id + example: 31 + amount: + type: string + description: Amount of unit + minLength: 0 + example: 31 + accounting_code_id: + type: integer + description: > +
    If `null` :
  • Uses company default
  • Or the customer's + if he has one
+ nullable: true + example: 31 + required: + - reference + - name + - description + - unit_id + - amount + UpdateDiscountInclTaxes: + type: object + description: Update discount including taxes + properties: + reference: + type: string + description: Reference of discount + minLength: 1 + maxLength: 250 + example: Halloween five last day + name: + type: string + description: Name of discount + minLength: 1 + maxLength: 250 + example: Halloween promotion + description: + type: string + description: Description visible on the document + minLength: 1 + maxLength: 1000 + example: For purchases made during the last five days of October + unit_id: + type: integer + description: Unit id + example: 31 + amount: + type: string + description: Amount of unit + minLength: 0 + example: 31 + accounting_code_id: + type: integer + description: > +
    If `null` :
  • Uses company default
  • Or the customer's + if he has one
+ nullable: true + example: 31 + MarketingAttributeOutput: + title: List Attributes Output + type: object + additionalProperties: false + properties: + attributes: + type: array + description: List of attributes + items: + title: Marketing Attribute + type: object + additionalProperties: false + properties: + id: + type: integer + description: Attribute id + label: + type: string + description: Attribute display label + code: + type: string + description: Attribute identifier code + default: + type: boolean + description: Is the Attribute active by default + synchronized: + type: boolean + description: Has the Attribute been synchronized + category: + type: object + nullable: true + description: Attribute category + additionalProperties: false + properties: + code: + type: string + description: Attribute category code + label: + type: string + description: Attributes category label + required: + - code + - label + sub_category: + type: object + nullable: true + description: Attribute sub-category + additionalProperties: false + properties: + code: + type: string + description: Attribute sub-category code + label: + type: string + description: Attributes sub-category label + required: + - code + - label + required: + - id + - label + - code + - default + - synchronized + - category + - sub_category + links: + type: array + description: List of related routes available + items: + type: object + title: link + properties: + rel: + type: string + href: + type: string + required: + - rel + - href + required: + - attributes + - links + MarketingAttributeInput: + title: Marketing Attribute revision + type: array + example: + - 56 + - 123 + - 345 + items: + type: integer + description: Marketing Attribute id + MarketingAttributeDiffOutput: + title: Marketing attribute revision diff + type: object + additionalProperties: false + properties: + create: + type: array + description: List of new Marketing Attributes to create + items: + $ref: >- + #/components/schemas/MarketingAttributeOutput/properties/attributes/items + delete: + type: array + description: List of previous Marketing Attributes to delete + items: + $ref: >- + #/components/schemas/MarketingAttributeOutput/properties/attributes/items + void: + type: array + description: List of Marketing Attributes unchanged + items: + $ref: >- + #/components/schemas/MarketingAttributeOutput/properties/attributes/items + links: + $ref: '#/components/schemas/MarketingAttributeOutput/properties/links' + required: + - create + - delete + - void + - links + DiscountInclTaxesDocumentInput: + type: object + title: Discount including taxes + properties: + quantity: + type: integer + minimum: 1 + description: Discount including taxes quantity + example: 12 + amount: + type: string + description: Discount including taxes amount + minimum: 0 + example: '12.34' + required: + - quantity + ConsentSettingsOuput: + type: object + description: The consent settings + required: + - settings + - _links + properties: + settings: + type: object + description: The consent settings + required: + - default_consent + - double_optin + properties: + default_consent: + type: boolean + double_optin: + type: object + required: + - enable + - confirm_email + properties: + enable: + type: boolean + confirm_email: + type: object + required: + - subject + - body + - sender + - button + properties: + subject: + type: string + body: + type: string + sender: + type: object + required: + - email + - name + properties: + email: + type: string + name: + type: string + button: + type: object + required: + - label + properties: + label: + type: string + _links: + type: array + items: + type: object + title: link + properties: + rel: + type: string + href: + type: string + required: + - rel + - href + ConsentSettingsInput: + $ref: '#/components/schemas/ConsentSettingsOuput/properties/settings' + ConsentMarketingSettingsInput: + type: object + description: The marketing consent settings + required: + - marketing + properties: + marketing: + type: object + required: + - email + - sms + - phone + - postal_mail + - custom + properties: + email: + type: boolean + sms: + type: boolean + phone: + type: boolean + postal_mail: + type: boolean + custom: + type: boolean + parameters: + ModelOrder: + in: query + name: order + description: Order field + schema: + type: string + example: id + enum: + - id + - number + - created + commentOrder: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - updated + - created + commentItemEmbed: + in: query + name: embed + description: > + Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + company: `companies.read`
- individual: `individuals.read`
- + owner: `staffs.read`
- contact: `contacts.read`
- related: + by object type. Check the entire documentation to verify the usual + scopes requested for the types returned + schema: + type: array + items: + type: string + enum: + - owner + - related + - company + - individual + - contact + - acl + contactEmbed: + in: query + name: embed + description: > + Example : `embed[]=delivery_address&embed[]=cf.1542&embed[]=acl`
+ Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + opportunities: `opportunities.read`
- + estimates,invoices,orders,deliveries: `invoicing.read`
- + cf.{custom_field_id} : `custom-fields.read`
- smart_tags: + `smart-tags.read`
Additionnally, the smart_tags embed is limited + to the 20 first results sorted in alphabetical order.
+ schema: + type: array + items: + oneOf: + - type: string + title: standards + description: The standards embeds + enum: + - invoicing_address + - delivery_address + - opportunities + - estimates + - invoices + - orders + - deliveries + - acl + - smart_tags + - type: string + title: custom-fields + description: >- + Each custom field value could be requested as an embed object by + specifiying it identifier in the query, prefixed by "cf." + string. _(example: `embed[]=cf.123` for the value of the custom + field of identifier `123`)
`custom-fields.read` oauth2 scope + is required_ + pattern: ^cf.[\d]+$ + crmActivityOrder: + in: query + name: order + description: The order field + schema: + type: string + example: date + enum: + - date + - due_date + - event + - author + - more.label + dealsActivityOrder: + in: query + name: order + description: The order field + schema: + type: string + example: due_date + enum: + - due_date + - event + - label + accountDocumentOrder: + in: query + name: order + description: The order field + schema: + type: string + example: date + enum: + - date + crmActivityEmbed: + in: query + name: embed + description: >- + Additional object included in the result.
Aggregations by + date only works with due_date filter :
- For + aggregations.by_day_and_event, maximum interval of due_date is 90 days +
- For aggregations.by_month_and_event, maximum interval of + due_date is 365 days + schema: + type: array + items: + type: string + enum: + - aggregations + - aggregations.by_event + - aggregations.by_month_and_event + - aggregations.by_day_and_event + - aggregations.by_week_and_event + - aggregations.by_author_and_event + - aggregations.by_author_and_label + opportunityEmbed: + in: query + name: embed + description: > + Example : `embed[]=assigned_staffs&embed[]=cf.1542&embed[]=acl`
+ Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + company: `companies.read`
- individual: `individuals.read`
- + assigned_staffs: `staffs.read`
- contacts: `contacts.read`
- + estimates, invoices, orders, deliveries, proformas, creditnotes: + `invoicing.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags + embed is limited to the 20 first results sorted in alphabetical order. +
+ schema: + type: array + items: + oneOf: + - type: string + title: standards + description: The standards embeds + enum: + - estimates + - individual + - invoices + - orders + - deliveries + - proformas + - creditnotes + - assigned_staffs + - company + - contacts + - acl + - currency + - smart_tags + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + opportunityEmbedWithAggregations: + in: query + name: embed + description: > + Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + company: `companies.read`
- individual: `individuals.read`
- + assigned_staffs: `staffs.read`
- contacts: `contacts.read`
- + estimates, invoices, orders, deliveries, proformas, creditnotes: + `invoicing.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags + embed is limited to the 20 first results sorted in alphabetical order. +
+ schema: + type: array + items: + oneOf: + - type: string + title: standards + description: The standards embeds + enum: + - estimates + - individual + - invoices + - orders + - deliveries + - proformas + - creditnotes + - assigned_staffs + - company + - contacts + - acl + - currency + - aggregations + - aggregations.amount_sum + - aggregations.amount_sum_by_status + - aggregations.amount_sum_by_status_due_at_seven + - aggregations.number_by_pipeline_and_step + - smart_tags + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + opportunityOrder: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - created + - step_rank + - due_date + staffEmbed: + in: query + name: embed + description: > + Additional object included in the result.

If current user + visibility on staffs is restricted, embed will not be available.

Each embed object may require different oauth2 scopes than the + main endpoint:
- licenses: `accounts.read` + schema: + type: array + items: + type: string + enum: + - preferences + - acl + - licenses + - preferences_calendar + staffItemEmbed: + in: query + name: embed + description: > + Additional object included in the result.

If current user + visibility on staffs is restricted, embed will not be available.

Each embed object may require different oauth2 scopes than the + main endpoint:
- licenses: `accounts.read`
- profile: + `staffs.read`
- account: `staffs.read`
- user: + `staffs.read`
- subscriptions: `accounts.read`
- features: + `accounts.read` + schema: + type: array + items: + type: string + enum: + - preferences + - acl + - licenses + - preferences_calendar + - intercom_hash + - profile + - account + - user + - subscriptions + - features + opportunitySourceOrder: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - rank + default: rank + opportunityPipelineOrder: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - rank + default: rank + pipelineStepOrder: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - rank + - probability + default: rank + pipelineStepEmbed: + in: query + name: embed + description: > + Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + opportunities_number: `opportunities.read` + schema: + type: array + items: + type: string + enum: + - opportunities_number + fields: + in: query + name: field + description: > + Filters the fields returned in the response

Example:
+ - `field[]=id`: Return the `id` field
- `field[]=address.id`: + Return the `id` field of the `address` object
- + `field[]=addresses[].id`: Return the `id` field of the `address` + objects

On endpoints that implement the `embed` query + parameter, if you specified embeds in your call, you will need to + request the `_embed` field as well.
Example:
- `field[]=_embed`: + Return all fields from all requested embeds
- + `field[]=_embed.address`: Return all fields from the `address` embed
+ - `field[]=_embed.company.name`: Return the `name` field from the + `company` embed
+ schema: + type: array + items: + type: string + pattern: ^[A-Za-z0-9\.\[\]_-]+$ + favouriteFiltersOrder: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - name + - id + SaleEmbed: + in: query + name: embed + description: > + Example : `embed[]=payment_method_ids&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
+ - payment_method_ids: `payments.read`
- company: + `companies.read`
- individual: `individuals.read`
- contact: + `contacts.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags + embed is limited to the 20 first results sorted in alphabetical order. +
- related: by object type. Check the entire documentation to + verify the usual scopes requested for the types returned

+ Aggregations on amounts only works in addition with the currency + filter + schema: + type: array + items: + oneOf: + - type: string + title: standards + description: The standards embeds + enum: + - company + - individual + - contact + - invoicing_address + - delivery_address + - currency + - acl + - payment_method_ids + - aggregations + - aggregations.amount_sum_by_status + - aggregations.count_by_status + - fiscal_year + - smart_tags + - payment_terms + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + EstimateOneEmbed: + in: query + name: embed + description: > + Example : `embed[]=payment_method_ids&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed + object may require different oauth2 scopes than the main endpoint:
+ - payment_method_ids: `payments.read`
- company: + `companies.read`
- individual: `individuals.read`
- contact: + `contacts.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
- discount_incl_taxes: + `discount-incl-taxes.read`
Additionnally, the smart_tags embed is + limited to the 20 first results sorted in alphabetical order.
- + related: by object type. Check the entire documentation to verify the + usual scopes requested for the types returned

+ Aggregations on amounts only works in addition with the currency + filter + schema: + type: array + items: + oneOf: + - type: string + title: standards + description: The standards embeds + enum: + - company + - individual + - contact + - invoicing_address + - delivery_address + - currency + - acl + - payment_method_ids + - aggregations + - aggregations.amount_sum_by_status + - aggregations.count_by_status + - fiscal_year + - smart_tags + - payment_terms + - discount_incl_taxes + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + SaleOrder: + in: query + name: order + description: >- + The order field + + > Value `numero` is deprecated and will be deleted on the July 1st 2022. + Use `number` instead. + schema: + type: string + example: id + enum: + - id + - numero + - created + - date + - expiry_date + - number + - amount + taskEmbed: + in: query + name: embed + description: > + Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + company: `companies.read`
- individual: `individuals.read`
- + owner, assigned_staffs: `staffs.read`
- contact: + `contacts.read`
- related: by object type. Check the entire + documentation to verify the usual scopes requested for the types + returned + schema: + type: array + items: + type: string + enum: + - owner + - assigned_staffs + - related + - company + - individual + - contact + - acl + taskOrder: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - due_date + labelOrder: + in: query + name: order + description: The order field + schema: + type: string + example: rank + enum: + - rank + - id + autocomplete: + in: query + name: q + description: The search field + schema: + type: string + example: John + required: true + searchType: + in: query + name: type + explode: true + description: | + Filter search by object type or subtype. + - `ex with types: type[]=contact&type[]=company` + - `ex with subtypes: type[]=company.client&type[]=item.product` + - `ex with both: type[]=company&type[]=item.product` + schema: + type: array + items: + type: string + enum: + - company + - company.client + - company.prospect + - company.supplier + - individual + - individual.client + - individual.prospect + - individual.supplier + - contact + - opportunity + - purchase + - purchase.purInvoice + - purchase.purDelivery + - purchase.purOrder + - purchase.purCreditNote + - item + - item.product + - item.packaging + - item.shipping + - item.service + - declination + - declination.product + - declination.declination + - document + - document.estimate + - document.invoice + - document.delivery + - document.order + - document.proforma + - document.creditnote + - staff + - ticket + - redactor + - redactor.document + - redactor.template + activityOrder: + in: query + name: order + description: The order field + schema: + type: string + example: due_date + enum: + - due_date + activityEmbed: + in: query + name: embed + description: > + Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + company: `companies.read`
- individual: `individuals.read`
- + author: `staffs.read`
- object_related: by object type. Check the + entire documentation to verify the usual scopes requested for the types + returned + schema: + type: array + items: + type: string + enum: + - object_related + - author + - individual + - company + - acl + phoneCallEmbed: + in: query + name: embed + description: > + Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + company: `companies.read`
- individual: `individuals.read`
- + owner: `staffs.read`
- contact: `contacts.read`
- related: + by object type. Check the entire documentation to verify the usual + scopes requested for the types returned + schema: + type: array + items: + type: string + enum: + - company + - individual + - contact + - related + - owner + - acl + reportEmbed: + in: query + name: embed + description: Additional object included in the result. + schema: + type: array + items: + type: string + enum: + - aggregations + - aggregations.cumulio + contactOrders: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - name + - created_at + direction: + in: query + name: direction + description: The order direction + schema: + type: string + enum: + - asc + - desc + default: asc + order: + in: query + name: order + description: The order field + schema: + type: string + example: id + limit: + in: query + name: limit + description: The pagination limit + schema: + type: integer + description: Pagination limit + default: 25 + maximum: 100 + minimum: 0 + offset: + in: query + name: offset + description: The pagination offset + schema: + oneOf: + - type: integer + minimum: 0 + example: 25 + - type: string + example: WzIwMTQtMDEtMDEsNTk4XQ== + language: + in: query + name: language + description: translation of the country name + schema: + type: string + enum: + - fr + - en + default: fr + description: language code + customActivityOrder: + in: query + name: order + description: The order field + schema: + type: string + example: date + enum: + - date + ocrOrder: + in: query + name: order + description: The order field + schema: + type: string + example: completed_at + enum: + - created_at + - completed_at + paymentMethodOrder: + in: query + name: order + description: The order field + schema: + type: string + example: rank + enum: + - id + - rank + accountingOrder: + in: query + name: order + description: The order field + schema: + type: string + example: code + enum: + - code + calendarEventEmbed: + in: query + name: embed + description: > + Additional object included in the result.

Each embed object + may require different oauth2 scopes than the main endpoint:
- + company: `companies.read`
- individual: `individuals.read`
- + owner: `staffs.read`
- contact: `contacts.read`
- related, + participants: by object type. Check the entire documentation to verify + the usual scopes requested for the types returned + schema: + type: array + items: + type: string + enum: + - company + - contact + - individual + - owner + - related + - participants + - acl + calendarEventOrder: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - due_date + profileOrder: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - name + - id + staffOrder: + in: query + name: order + description: Field on which to sort the data + schema: + type: string + example: id + enum: + - id + - name + verify: + in: query + name: verify + description: >- + Flag to trigger validation only (set to true to validate payload without + persisting data) + schema: + type: boolean + accountingEmbed: + in: query + name: embed + description: >- + Additional object included in the result.
Aggregations by + date only works with due_date filter :
- For + aggregations.by_day_and_event, maximum interval of due_date is 90 days +
- For aggregations.by_month_and_event, maximum interval of + due_date is 365 days + schema: + type: array + items: + type: string + enum: + - aggregations + - aggregations.credit_debit + opportuntiyCategoryEmbed: + in: query + name: embed + description: Additional object included in the result + schema: + type: array + items: + type: string + enum: + - sources + corporationStaffEmbed: + in: query + name: embed + description: Additional object included in the result + schema: + type: array + items: + type: string + enum: + - predicted_licenses + - aggregations.count_licenses + invoiceEmbed: + in: query + name: embed + description: Additional object included in the result + schema: + type: array + items: + oneOf: + - type: string + enum: + - acl + - owner + - related + - contact + - individual + - company + - fiscal_year + - currency + - smart_tags + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + invoiceOneEmbed: + in: query + name: embed + description: Additional object included in the result + schema: + type: array + items: + oneOf: + - type: string + title: standards + description: The standards embeds + enum: + - acl + - payment_terms + - owner + - related + - contact + - individual + - company + - fiscal_year + - currency + - automatic_dunning + - smart_tags + - discount_incl_taxes + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + invoiceOrder: + in: query + name: order + description: Order field + schema: + type: string + example: id + enum: + - id + - number + - created + - date + - amount + - due_date + creditNoteEmbed: + in: query + name: embed + description: Additional object included in the result + schema: + type: array + items: + oneOf: + - type: string + enum: + - fiscal_year + - related + - contact + - company + - individual + - currency + - owner + - acl + - smart_tags + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + creditNoteOneEmbed: + in: query + name: embed + description: Additional object included in the result + schema: + type: array + items: + oneOf: + - type: string + title: standards + description: The standards embeds + enum: + - fiscal_year + - related + - contact + - company + - individual + - currency + - owner + - acl + - smart_tags + - discount_incl_taxes + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + creditNoteOrder: + in: query + name: order + description: Order field + schema: + type: string + example: id + enum: + - id + - number + - created + - date + - amount + itemOrder: + in: query + name: order + description: Order field + schema: + type: string + example: id + enum: + - id + - created_at + importType: + in: path + name: type + required: true + description: Type of import + schema: + type: string + enum: + - product + - product-variation + - company + - service + - service-price + - product-price + orderEmbed: + in: query + name: embed + description: Additional object included in the result + schema: + type: array + items: + oneOf: + - type: string + enum: + - acl + - related + - contact + - individual + - company + - fiscal_year + - currency + - smart_tags + - owner + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + orderEmbedOne: + in: query + name: embed + description: Additional object included in the result + schema: + type: array + items: + oneOf: + - type: string + enum: + - acl + - related + - contact + - individual + - company + - fiscal_year + - currency + - smart_tags + - owner + - payment_terms + - discount_incl_taxes + - $ref: '#/components/parameters/contactEmbed/schema/items/oneOf/1' + orderOrder: + in: query + name: order + description: Order field + schema: + type: string + example: id + enum: + - id + - number + - created + - date + - amount + - due_date + - order_status + objectiveOrder: + in: query + name: order + description: The order field + schema: + type: string + example: id + enum: + - id + - name + - date_start + - date_end + - created_at + - updated_at + - progress + - expected_amount + - period + - duration + - assignee + - item + objectiveEmbed: + in: query + name: embed + description: > + Example : `embed[]=created_by&embed[]=modified_by`
Additional + object included in the result.

Each embed object may require + different oauth2 scopes than the main endpoint:
- created_by: + `staffs.read`
- modified_by: `staffs.read`
+ schema: + type: array + items: + type: string + title: Embed + description: The embeds + enum: + - created_by + - modified_by + - objective_results + objectiveCategory: + in: query + name: category + description: filter specific objective categories + schema: + type: array + items: + type: string + title: Category + description: The category + enum: + - turnover + securitySchemes: + oauth2: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: https://login.sellsy.com/oauth2/authorization + tokenUrl: https://login.sellsy.com/oauth2/access-tokens + refreshUrl: https://login.sellsy.com/oauth2/access-tokens + scopes: + comments.read: Grand read access to comments + comments.write: Grand write access to comments + contacts.read: Grants read access to contacts + contacts.write: Grants read access to contacts + individuals.read: Grants read access to individuals + companies.read: Grants read access to companies + companies.write: Grants write access to companies + estimates.read: Grants read access to estimates + estimates.write: Grants write access to estimates + activities.write: Grants write access to activities + activities.read: Grants read access to activities + listings.read: Grants read access to listings + listings.write: Grants write access to listings + custom-fields.read: Grand read access to custom fields + custom-fields.write: Grand write access to custom fields + smart-tags.read: Grand read access to smart tags + smart-tags.write: Grand write access to smart tags + custom-activities.read: Grand read access to custom activities + custom-activities.write: Grand write access to custom activities + scopes.read: Grants read access to scopes + access-tokens.read: Grants read access to access tokens + access-tokens.write: Grants write access to access tokens + clients.read: Grants read access to OAuth clients + clients.write: Grants write access to OAuth clients + accounting-codes.read: Grant read access to accounting codes + accounting-codes.write: Grant write access to accounting codes + taxes.read: Grant read access to taxes + taxes.write: Grant write access to taxes + ocr.read: Grant read access to ocr + individuals.write: Grants write access to individuals + accounts.read: Grant read access to accounts + accounts.write: Grant write access to accounts + opportunities.read: Grand read access to opportunities + opportunities.write: Grant write access to opportunities + orders.read: Grand read access to orders + orders.write: Grand write access to orders + tasks.read: Grant read access to tasks + tasks.write: Grant write access to tasks + staffs.read: Grand read access to staffs + staffs.write: Grant write access to staffs + search.read: Grant access to search + phonecalls.read: Grand read access to phonecall + phonecalls.write: Grand write access to phonecall + calendars.read: Grant read access to calendar + calendars.write: Grant write access to calendar + emails.read: Grant read access to email + emails.write: Grant write access to email + emails.settings: Grant access to email settings + webhooks.read: Grants read access to webhooks + webhooks.write: Grants write access to webhooks + payments.read: Grand read access to payments + payments.write: Grand write access to payments + items.read: Grand read acces to items + items.write: Grand write acces to items + invoicing.read: Grant read access to invoicing + notifications.read: Grant read access to notifications + notifications.write: Grant write access to notifications + accounting-entry.read: Grant read access to accounting entries + accounting-entry.write: Grant write access to accounting entries + invoices.read: Grant read access to invoices + invoices.write: Grant write access to invoices + api-v1: >- + Grant full access to API v1 with API v2 access tokens. Caution, + this scope gives access to all sellsy functionality + credit-notes.read: Grant read access to credit-notes + credit-notes.write: Grant write access to credit-notes + document-layouts.read: Grant read access to document layouts + rate-categories.read: Grant read access to rate categories + rate-categories.write: Grant write access to rate categories + files.write: Grants write access to files + files.read: Grants read access to files + adyen.read: Grant read access to adyen + adyen.write: Grant write access to adyen + subscriptions.write: Grant write access to subscription + subscriptions.read: Grant read access to subscription + models.write: Grant write access to models + models.read: Grant read access to models + objectives.read: Grant read access to objectives + objectives.write: Grant write access to objectives + primes.read: Grant read access to primes + discount-incl-taxes.read: Grant read access to discount including taxes + discount-incl-taxes.write: Grant write access to discount including taxes + clientCredentials: + tokenUrl: https://login.sellsy.com/oauth2/access-tokens + scopes: {} + description: "### Client OAuth\nYou can generate a new OAuth 2 client for the V2 API, from the developer page of your Sellsy account (https://www.sellsy.fr/developer/api-v2).\n\nSeveral types of clients are available:\n\n- **Private:** API access limited to staffs of your SELLSY account.\n A flow by authorization code will be required\n- **Personal**: API access linked to an staff.\n The use of client credentials flow is possible.\n- **Public**: API access to connect to all SELLSY accounts.\n A validation of SELLSY and a flow by authorization code will be required.\n\n### Authorization Code Flow\nSee https://www.oauth.com/oauth2-servers/server-side-apps/authorization-code/\n\n**PKCE** is required when using the authorization code flow. https://www.oauth.com/oauth2-servers/pkce/\n\n- **Authorization URL:** https://login.sellsy.com/oauth2/authorization\n- **Token URL:** https://login.sellsy.com/oauth2/access-tokens\n- **Refresh URL:** https://login.sellsy.com/oauth2/access-tokens\n\n\n#### Example:\nCall `https://login.sellsy.com/oauth2/authorization?response_type=code&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&code_challenge=YOUR_PKCE_CODE_CHALENGE&code_challenge_method=S256`\n\nAfter authentication, a redirection will be performed on the redirection uri. The authaurization code will be retrieved in the query parameter `code` .\n\nThis code can now be exchanged for an access token:\n```bash\ncurl -X POST \\\n https://login.sellsy.com/oauth2/access-tokens \\\n -d '{\n\t\"grant_type\": \"authorization_code\",\n\t\"client_id\": \"YOUR_CLIENT_ID\",\n\t\"redirect_uri\": \"YOUR_REDIRECT_URI\",\n\t\"code_verifier\": \"YOUR_PKCE_CODE_VERIFIER\",\n\t\"code\": \"THE_CODE\"\n}'\n# Response\n{\n \"token_type\": \"Bearer\",\n \"expires_in\": 3600,\n \"access_token\": \"YOUR_ACCESS_TOKEN\",\n \"refresh_token\": \"YOUR_REFRESH_TOKEN\"\n}\n# Use API\ncurl -X GET \\\n 'https://api.sellsy.com/v2/teams' \\\n --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'\n```\n\nYou can request a new access token, from the refresh token previously retrieved:\n```bash\ncurl -X POST \\\n https://login.sellsy.com/oauth2/access-tokens \\\n -d '{\n\t\"grant_type\": \"refresh_token\",\n\t\"client_id\": \"YOUR_CLIENT_ID\",\n\t\"client_secret\": \"YOUR_CLIENT_SECRET\"\n\t\"refresh_token\": \"YOUR_REFRESH_TOKEN\"\n}'\n# Response\n{\n \"token_type\": \"Bearer\",\n \"expires_in\": 3600,\n \"access_token\": \"YOUR_NEW_ACCESS_TOKEN\",\n \"refresh_token\": \"YOUR_NEW_REFRESH_TOKEN\"\n}\n```\n\n### Client Credential Flow\nSee https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/\n\nOnly personal clients can use this authentication flow.\n\n**Token URL:** https://login.sellsy.com/oauth2/access-tokens\n\n#### Example:\n```bash\ncurl -X POST \\\n https://login.sellsy.com/oauth2/access-tokens \\\n -d '{\n\t\"grant_type\": \"client_credentials\",\n\t\"client_id\": \"YOUR_CLIENT_ID\",\n\t\"client_secret\": \"YOUR_CLIENT_SECRET\"\n}'\n# Response\n{\n \"token_type\": \"Bearer\",\n \"expires_in\": 3600,\n \"access_token\": \"YOUR_ACCESS_TOKEN\"\n}\n# Use API\ncurl -X GET \\\n 'https://api.sellsy.com/v2/teams' \\\n --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'\n```\n### Tokens expiration\n- **Authorization Code:** 10 min\n- **Access Token:** 24 hours\n- **Refresh Token:** 60 days" diff --git a/sdks/db/processed-custom-request-cache/relysia.com.yaml b/sdks/db/processed-custom-request-cache/relysia.com.yaml new file mode 100644 index 000000000..d2fca53e8 --- /dev/null +++ b/sdks/db/processed-custom-request-cache/relysia.com.yaml @@ -0,0 +1,23 @@ +processed: + securitySchemes: + authToken: + type: apiKey + in: header + name: authToken + serviceID: + type: apiKey + in: header + name: serviceID + apiBaseUrl: https://api.relysia.com + apiVersion: 2.4.8 + apiDescription: Relysia makes blockchain adoption frictionless and easy. + apiTitle: Relysia Blockchain API + endpoints: 78 + sdkMethods: 85 + schemas: 0 + parameters: 252 + originalCustomRequest: + type: GET + url: https://api.relysia.com/docs/json + customRequestSpecFilename: relysia.com.yaml + difficultyScore: 148 diff --git a/sdks/db/processed-custom-request-cache/rivery.io.yaml b/sdks/db/processed-custom-request-cache/rivery.io.yaml new file mode 100644 index 000000000..6d682d59d --- /dev/null +++ b/sdks/db/processed-custom-request-cache/rivery.io.yaml @@ -0,0 +1,80 @@ +processed: + securitySchemes: + HTTPBearer: + type: http + scheme: bearer + apiBaseUrl: https://api.rivery.io + apiVersion: 1.0.0 + apiDescription: > + + # Rivery API documentation + + + Welcome to the Rivery API Documentation. + + + Using the Rivery API, you can automate any single or group operations you + perform in the Rivery console. + + You can create, execute, and delete Rivers, create DataFrames, automate + processes, and more. + + The Rivery API is structured around REST. It accepts JSON request bodies, + returns JSON responses, + + and employs conventional HTTP response codes, authentication, and verbs to + access and use data through HTTP requests. + + + Consult our [Legacy API](https://api-docs.rivery.io/) documentation. + + + Please [contact our Support team]( mailto:) if you have + any questions or concerns. + + + # Authorization + + ## Rivery API Token + + To generate a Bearer token, please check out [Rivery's + docs](https://docs.rivery.io/docs/rivery-api). + + + Every bearer token is a combination of account, environment, and scopes + attached. Every time the token is provided, + + the API compares its scopes with the request required scope. + + If the scope is not valid, an insufficient permissions (403) response code + returned. + + + ## Scopes + + A scope is defined as a combination of the entity in Rivery, and the + operation allowed to perform on the entity. + + + The entity can be any entity available via the API, for example - + connection. + + An operation can be one of specific operations allowed for each scope. For + example: list or edit. + + Therefore, listing connections scope will be set as `connection:list`. + + Please make sure the Bearer token is has the right scopes attached for all + of the needed requests. + apiTitle: Rivery API + endpoints: 42 + sdkMethods: 57 + schemas: 203 + parameters: 289 + contactUrl: https://docs.rivery.io/ + contactEmail: contact@rivery.io + originalCustomRequest: + type: GET + url: https://api.rivery.io/openapi.json + customRequestSpecFilename: rivery.io.yaml + difficultyScore: 230.75 diff --git a/sdks/db/processed-custom-request-cache/secoda.co.yaml b/sdks/db/processed-custom-request-cache/secoda.co.yaml new file mode 100644 index 000000000..5cb6dec39 --- /dev/null +++ b/sdks/db/processed-custom-request-cache/secoda.co.yaml @@ -0,0 +1,117 @@ +processed: + securitySchemes: + ApiKeyAuth: + type: http + scheme: bearer + bearerFormat: string + apiBaseUrl: https://api.secoda.co + apiVersion: 1.0.0 + apiDescription: > + Use this API to programmatically use Secoda's data enablement features. With + these APIs, you can bring in resource metadata, build documentation + pipelines, and manage workspace settings programmatically. + + + To learn more about Secoda, visit the [Secoda + documentation](https://docs.secoda.co/). + + + To get in touch with Secoda, contact customer support at support@secoda.co. + + + ## Getting Started + + + ### Authentication + + + Secoda API's require an Authorization header with a Bearer token. You can + generate an API key in your workspace, as outlined + [here](https://docs.secoda.co/secoda-api/authentication). + + + ### Base URL + + + To determine the base URL of your API requests, please refer to the chart + below. + + + | Workspace URL | Base URL | + + | ---------------------- | ---------------------- | + + | app.secoda.co | api.secoda.co | + + | eu.secoda.co | eapi.secoda.co | + + | apac.secoda.co | aapi.secoda.co | + + + For teams with an On Premise or Managed instance with a custom domain, the + Base URL is the custom domain followed by `/api/v1`. + + + ## Helpful Information + + + Secoda’s APIs generally follow the CRUD pattern (Create, Read, Update, + Delete). The data elements that are managed with these APIs are called + Resources. Generally, each resource maps to an integration, with many set + and customizable properties called Metadata. + + + ### Important Terminology + + + **Workspace:** + + In Secoda, a workspace is the environment within the application where teams + can integrate resources and metadata and add documentation, either through + the UI or programatically through the API. + + + **Resource:** + + In Secoda, a resource is any entity that metadata can be added to. This + includes, but is not limited to, tables, dashboards, charts, columns, + queries, documents, dictionary terms, and more. + + + **Metadata:** + + In Secoda, metadata is the additional information you can provide to add + context to your resources. This includes descriptions, definitions, owners, + custom properties, and more. Metadata is the lifeblood of Secoda; the more + you put in, the more you'll get out of the tool! + + + ### Resource Heirarchy + + + Nearly all resources in Secoda can be nested under a parent. A resource has + a one to many relationship with its child. This means thats a parent + resource can have several children, but a child resource can only have one + parent. + + + For Collections, Dictionary Terms, and Documents, the parent must be the + same resource type. However, there are two unique heirarchy structures that + the application expects when adding net new resources. + + + **Table Heirarchy:** Integration > Databases > Schemas > Tables > Columns > + Columns (if nested) + + + **Dashboard Heirarchy:** Integration > Groups > Dashboards > Charts + apiTitle: Secoda API + endpoints: 51 + sdkMethods: 105 + schemas: 26 + parameters: 289 + originalCustomRequest: + type: GET + url: https://api.secoda.co/api/schema/ + customRequestSpecFilename: secoda.co.yaml + difficultyScore: 190.25 diff --git a/sdks/db/processed-custom-request-cache/sellsy.com.yaml b/sdks/db/processed-custom-request-cache/sellsy.com.yaml new file mode 100644 index 000000000..d430829c3 --- /dev/null +++ b/sdks/db/processed-custom-request-cache/sellsy.com.yaml @@ -0,0 +1,319 @@ +processed: + securitySchemes: + oauth2: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: https://login.sellsy.com/oauth2/authorization + tokenUrl: https://login.sellsy.com/oauth2/access-tokens + refreshUrl: https://login.sellsy.com/oauth2/access-tokens + scopes: + comments.read: Grand read access to comments + comments.write: Grand write access to comments + contacts.read: Grants read access to contacts + contacts.write: Grants read access to contacts + individuals.read: Grants read access to individuals + companies.read: Grants read access to companies + companies.write: Grants write access to companies + estimates.read: Grants read access to estimates + estimates.write: Grants write access to estimates + activities.write: Grants write access to activities + activities.read: Grants read access to activities + listings.read: Grants read access to listings + listings.write: Grants write access to listings + custom-fields.read: Grand read access to custom fields + custom-fields.write: Grand write access to custom fields + smart-tags.read: Grand read access to smart tags + smart-tags.write: Grand write access to smart tags + custom-activities.read: Grand read access to custom activities + custom-activities.write: Grand write access to custom activities + scopes.read: Grants read access to scopes + access-tokens.read: Grants read access to access tokens + access-tokens.write: Grants write access to access tokens + clients.read: Grants read access to OAuth clients + clients.write: Grants write access to OAuth clients + accounting-codes.read: Grant read access to accounting codes + accounting-codes.write: Grant write access to accounting codes + taxes.read: Grant read access to taxes + taxes.write: Grant write access to taxes + ocr.read: Grant read access to ocr + individuals.write: Grants write access to individuals + accounts.read: Grant read access to accounts + accounts.write: Grant write access to accounts + opportunities.read: Grand read access to opportunities + opportunities.write: Grant write access to opportunities + orders.read: Grand read access to orders + orders.write: Grand write access to orders + tasks.read: Grant read access to tasks + tasks.write: Grant write access to tasks + staffs.read: Grand read access to staffs + staffs.write: Grant write access to staffs + search.read: Grant access to search + phonecalls.read: Grand read access to phonecall + phonecalls.write: Grand write access to phonecall + calendars.read: Grant read access to calendar + calendars.write: Grant write access to calendar + emails.read: Grant read access to email + emails.write: Grant write access to email + emails.settings: Grant access to email settings + webhooks.read: Grants read access to webhooks + webhooks.write: Grants write access to webhooks + payments.read: Grand read access to payments + payments.write: Grand write access to payments + items.read: Grand read acces to items + items.write: Grand write acces to items + invoicing.read: Grant read access to invoicing + notifications.read: Grant read access to notifications + notifications.write: Grant write access to notifications + accounting-entry.read: Grant read access to accounting entries + accounting-entry.write: Grant write access to accounting entries + invoices.read: Grant read access to invoices + invoices.write: Grant write access to invoices + api-v1: >- + Grant full access to API v1 with API v2 access tokens. Caution, + this scope gives access to all sellsy functionality + credit-notes.read: Grant read access to credit-notes + credit-notes.write: Grant write access to credit-notes + document-layouts.read: Grant read access to document layouts + rate-categories.read: Grant read access to rate categories + rate-categories.write: Grant write access to rate categories + files.write: Grants write access to files + files.read: Grants read access to files + adyen.read: Grant read access to adyen + adyen.write: Grant write access to adyen + subscriptions.write: Grant write access to subscription + subscriptions.read: Grant read access to subscription + models.write: Grant write access to models + models.read: Grant read access to models + objectives.read: Grant read access to objectives + objectives.write: Grant write access to objectives + primes.read: Grant read access to primes + discount-incl-taxes.read: Grant read access to discount including taxes + discount-incl-taxes.write: Grant write access to discount including taxes + clientCredentials: + tokenUrl: https://login.sellsy.com/oauth2/access-tokens + scopes: {} + description: "### Client OAuth\nYou can generate a new OAuth 2 client for the V2 API, from the developer page of your Sellsy account (https://www.sellsy.fr/developer/api-v2).\n\nSeveral types of clients are available:\n\n- **Private:** API access limited to staffs of your SELLSY account.\n A flow by authorization code will be required\n- **Personal**: API access linked to an staff.\n The use of client credentials flow is possible.\n- **Public**: API access to connect to all SELLSY accounts.\n A validation of SELLSY and a flow by authorization code will be required.\n\n### Authorization Code Flow\nSee https://www.oauth.com/oauth2-servers/server-side-apps/authorization-code/\n\n**PKCE** is required when using the authorization code flow. https://www.oauth.com/oauth2-servers/pkce/\n\n- **Authorization URL:** https://login.sellsy.com/oauth2/authorization\n- **Token URL:** https://login.sellsy.com/oauth2/access-tokens\n- **Refresh URL:** https://login.sellsy.com/oauth2/access-tokens\n\n\n#### Example:\nCall `https://login.sellsy.com/oauth2/authorization?response_type=code&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&code_challenge=YOUR_PKCE_CODE_CHALENGE&code_challenge_method=S256`\n\nAfter authentication, a redirection will be performed on the redirection uri. The authaurization code will be retrieved in the query parameter `code` .\n\nThis code can now be exchanged for an access token:\n```bash\ncurl -X POST \\\n https://login.sellsy.com/oauth2/access-tokens \\\n -d '{\n\t\"grant_type\": \"authorization_code\",\n\t\"client_id\": \"YOUR_CLIENT_ID\",\n\t\"redirect_uri\": \"YOUR_REDIRECT_URI\",\n\t\"code_verifier\": \"YOUR_PKCE_CODE_VERIFIER\",\n\t\"code\": \"THE_CODE\"\n}'\n# Response\n{\n \"token_type\": \"Bearer\",\n \"expires_in\": 3600,\n \"access_token\": \"YOUR_ACCESS_TOKEN\",\n \"refresh_token\": \"YOUR_REFRESH_TOKEN\"\n}\n# Use API\ncurl -X GET \\\n 'https://api.sellsy.com/v2/teams' \\\n --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'\n```\n\nYou can request a new access token, from the refresh token previously retrieved:\n```bash\ncurl -X POST \\\n https://login.sellsy.com/oauth2/access-tokens \\\n -d '{\n\t\"grant_type\": \"refresh_token\",\n\t\"client_id\": \"YOUR_CLIENT_ID\",\n\t\"client_secret\": \"YOUR_CLIENT_SECRET\"\n\t\"refresh_token\": \"YOUR_REFRESH_TOKEN\"\n}'\n# Response\n{\n \"token_type\": \"Bearer\",\n \"expires_in\": 3600,\n \"access_token\": \"YOUR_NEW_ACCESS_TOKEN\",\n \"refresh_token\": \"YOUR_NEW_REFRESH_TOKEN\"\n}\n```\n\n### Client Credential Flow\nSee https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/\n\nOnly personal clients can use this authentication flow.\n\n**Token URL:** https://login.sellsy.com/oauth2/access-tokens\n\n#### Example:\n```bash\ncurl -X POST \\\n https://login.sellsy.com/oauth2/access-tokens \\\n -d '{\n\t\"grant_type\": \"client_credentials\",\n\t\"client_id\": \"YOUR_CLIENT_ID\",\n\t\"client_secret\": \"YOUR_CLIENT_SECRET\"\n}'\n# Response\n{\n \"token_type\": \"Bearer\",\n \"expires_in\": 3600,\n \"access_token\": \"YOUR_ACCESS_TOKEN\"\n}\n# Use API\ncurl -X GET \\\n 'https://api.sellsy.com/v2/teams' \\\n --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'\n```\n### Tokens expiration\n- **Authorization Code:** 10 min\n- **Access Token:** 24 hours\n- **Refresh Token:** 60 days" + apiBaseUrl: https://api.sellsy.com/v2 + apiVersion: 2.126.0 + apiDescription: >- + Find out the [Postman collections](dist/postman/CollectionsApiV2.json) with + the required [environment variables](dist/postman/Environment.json) + + + Find out the [Changelog](changelog.html) + + # Errors + + + The errors are returned in JSON with the following format: + + ``` + + { + "error": { + "code": HTTP_CODE, + "message": "Error message", + "context": "Error context code" + "details": { + "FIELD": "Error message" + } + } + + ``` + + + The `details` field can contain an object that details the error. It is used + in particular during validation to return the invalid fields + + + + | HTTP Code | Description | + + | ------------- | ------------- | + + | 400 | Validation and logic errors | + + | 401 | Authentification errors | + + | 402 | Quotas limit reached or limit of feature reached on your + current plan | + + | 403 | Insufficient privileges | + + | 404 | Page not found | + + | 409 | A request conflicts with the current state of the server | + + | 413 | Payload is too large | + + | 429 | Quotas of requests reached (See quotas section) | + + | 5xx | Server errors | + + + + # Versioning + + + This API is versioned, the modifications carried out on this one should not + generate regression if you respect the following recommendations: + + + - A new field can be added, your code must authorize this + + - A new error code can be added, your code must deal with unknown errors + + - On lists, values can be added + + - A missing field is not equal to `null` + + + To target a specific **major** version of the API, just precise the number + in the url: `{url}/v2/{endpoint}` + + + # Quotas + + + A limit on the number of requests per second, minute, day and/or month is + applied to each user account. + + + A 429 error will be sent if at least one of the quotas has reached zero. + + + You can know your remaining quota through the headers of the response: + + - `X-Quota-Remaining-By-Second` + + - `X-Quota-Remaining-By-Minute` + + - `X-Quota-Remaining-By-Day` + + - `X-Quota-Remaining-By-Month` + + + The quotas are counted on each request, even in the event of an error. On + the scripts generating a lot of requests, it is therefore necessary to check + these values before returning requests. + + + A new 402 error code has created. This error appears when you try to create + ressources like a pipeline or custom fields and the quota limit has been + reached. + + + # Pagination on list and search requests + + On list and search requests, the pagination offset can be typed as either an + int or a string, depending on the pagination method used. + + + We provide 2 ways to interact with the pagination. + + ### 1. "Seek" method + + The offset value represents the LAST object in the response list, it's the + default one used. + + + **We recommend to use the "seek" method, it has better performance and + includes optimizations.** + + ``` + + GET {{url}}/comments?limit=1 { + "data": [ + { + "id": 1 + } + ], + "pagination": { + "limit": 1, + "count": 1, + "total": 13, + "offset": "WyIxMSJd" + } + } + + --- + + GET {{url}}/comments?limit=1&offset=WyIxMSJd { + "data": [ + { + "id": 2 + } + ], + "pagination": { + "limit": 1, + "count": 1, + "total": 13, + "offset": "SoIxNyJd" + } + } + + ``` + + ### 2. Numeric offset method + + The second method, more classical, where the offset corresponds to the + number of the result page, it must be explicitly specified in the first + request. + + + **We have applied a limit to the first 100 000 results on this method, for + performance purposes.** + + ``` + + GET {{url}}/comments?limit=1&offset=0 { + "data": [ + { + "id": 1 + } + ], + "pagination": { + "limit": 1, + "count": 1, + "total": 13, + "offset": 0 + } + } + + --- + + GET {{url}}/comments?limit=1&offset=1 { + "data": [ + { + "id": 2 + } + ], + "pagination": { + "limit": 1, + "count": 1, + "total": 13, + "offset": 1 + } + } + + ``` + + # Embed objects + + Additional objects can be included in the result, and are specified on each + endpoint under the `embed` parameter. Those objects may require different + OAuth2 scopes than the main endpoint, and will automatically be `null` if + the scopes are not respected. Usually, the scopes are listed in the + description of the parameter. + apiTitle: Sellsy API + endpoints: 225 + sdkMethods: 463 + schemas: 229 + parameters: 1038 + contactEmail: api@sellsy.com + originalCustomRequest: + type: GET + url: https://api.sellsy.com/doc/v2/dist/sellsy.v2.latest.yaml + customRequestSpecFilename: sellsy.com.yaml + difficultyScore: 837 diff --git a/sdks/db/progress/relysia-progress.yaml b/sdks/db/progress/relysia-progress.yaml new file mode 100644 index 000000000..09fc13f8a --- /dev/null +++ b/sdks/db/progress/relysia-progress.yaml @@ -0,0 +1,834 @@ +examples: {} +examples_2: {} +examples_3: {} +operationIds: + /: + get: Utility_getData + /.well-known/bsvalias: + get: Paymail_getBsvAlias + /admin/v1/metrics: + post: Admin_createMetricsRecord + /admin/v1/plan/list: + get: Admin_listPlans + /admin/v1/plans: + post: Admin_createPlan + /admin/v1/plans/{serviceType}: + delete: Admin_deletePlanByServiceType + get: Admin_getServiceTypePlans + put: Admin_updatePlanServiceType + /admin/v1/setup: + post: Admin_setupPost + /admin/v1/setup/serviceIds: + get: Admin_getServiceIds + /admin/v1/setup/{serviceId}: + delete: Admin_deleteServiceSetup + get: Admin_getServiceSetup + put: Admin_updateServiceSetup + /admin/v1/tokenMetrics: + post: Admin_calculateTokenMetrics + /post: + post: Utility_broadcastNoteToBlockchain + /upload: + post: Utility_broadcastFileToBlockchain + /v1/URI: + get: Utility_resolveAddressInfo + /v1/address: + get: Wallets_getAddressAndPaymail + /v1/allAddresses: + get: Wallets_getAllAddresses + /v1/asm: + post: Transactions_uploadCustomAsmScripts + /v1/auth: + post: Authentication_userLogin + /v1/balance: + get: Wallets_getBalance + /v1/bsvalias/address/{paymail}: + post: Paymail_resolveAddressInfo + /v1/bsvalias/id/{paymail}: + get: Paymail_getProfileDetails + /v1/bsvalias/p2p-payment-destination/{paymail}: + post: Paymail_createP2pPaymentDestination + /v1/bsvalias/receive-transaction/{paymail}: + post: Paymail_receiveTransaction + /v1/bsvalias/verifypubkey/{paymail}/{pubkey}: + post: Paymail_verifyPubkey + /v1/compile: + post: Utility_compileScryptToBitcoinScript + /v1/createWallet: + get: Wallets_createHDWalletOfChoice + /v1/currencyConversion: + get: Utility_convertSatoshiToFiat + /v1/domain/generateToken: + post: Admin_verifyDomainOwnership + /v1/domain/{userId}/verifyToken: + post: Admin_verifyDomainOwnership + /v1/drop: + post: Transactions_withdrawFromPrivateKey + /v1/exchangeOffer: + post: Transactions_createSwapOffer + /v1/exchangeSwap: + post: Transactions_acceptSwapOffer + /v1/feeAddressBeta: + get: Admin_getFeeManagerAddresses + /v1/feeMetricsBeta: + get: Admin_getUtxoSet + /v1/feeUtxoState: + get: Admin_getFeeUtxoState + /v1/history: + get: Wallets_getTransactionHistory + /v1/initBeta: + get: Admin_setupFeeManager + /v1/inspect: + post: Transactions_inspectAtomicSwapOffer + /v1/invoice: + post: Transactions_createInvoiceRequest + /v1/issue: + post: SmartContracts_mintToken + /v1/leaderboard: + get: Wallets_getTokenOwnershipDetails + /v1/lookup: + post: Utility_getAssetBalance + /v1/metrics: + get: Utility_getLatestUtxoState + /v1/migrateToken: + post: Admin_migrateTokenRequest + /v1/mnemonic: + get: Wallets_getMnemonicPhrase + /v1/notificationToken/{userId}: + delete: Delete_notificationToken + put: Notifications_updateToken + /v1/offer: + post: Transactions_createAtomicSwap + /v1/password/change: + post: Authentication_changeUserPassword + /v1/pay: + post: Transactions_resolveInvoiceRequest + /v1/paymail: + put: Paymail_updateAddressInfo + /v1/paymail/activate: + post: Paymail_activateDeactivate + /v1/paymail/{paymailId}: + get: Paymail_getAddressInfo + /v1/paymentRequest/pay/{invoiceId}: + post: Transactions_settleInvoiceRequest + /v1/paymentRequest/{invoiceId}: + get: Transactions_createInvoiceRequest + /v1/plan/deactivate: + put: Quota_deactivatePlan + /v1/plan/quota: + put: Quota_updatePlanQuota + /v1/plan/{serviceType}/activate: + post: Quota_activateServiceType + /v1/post: + post: Utility_postMessagesToBlockchain + /v1/rawtx: + post: Transactions_createRawTx + /v1/redeem: + post: SmartContracts_redeemTokens + /v1/reset/password: + post: Authentication_resetUserPasswordConfirmation + /v1/send: + post: Transactions_createTransactionToAddress + /v1/sendNotification: + post: Notifications_sendNotification + /v1/sign: + post: Utility_signMessageToAddress + /v1/signUp: + post: Authentication_createUserToken + /v1/swap: + post: Transactions_acceptSwapOffer + /v1/sweep: + post: Transactions_transferAssetsFromPrivateKey + /v1/token/{id}: + get: SmartContracts_getTokenDetails + /v1/tokenMetrics: + get: Utility_syncTokenFromBlockchain + /v1/transpile: + post: Utility_transpileSolidityCodeToScrypt + /v1/user: + delete: Delete_userAccount + get: Identity_getProfileDetails + /v1/wallet: + delete: Delete_walletData + /v1/wallets: + delete: Delete_allWallets + get: Wallets_listAvailableUserWallets + /v2/balance: + get: Wallets_getBalances + /v2/history: + get: Wallets_getTransactionHistory + /v2/inspect: + post: Transactions_inspectAtomicSwapOffer + /v2/issue: + post: SmartContracts_mintToken + /v2/send: + post: Transactions_transferToAddress + /v2/token/{id}: + get: SmartContracts_getTokenDetails +operationTags: + /: + get: Utility +renameTags: {} +requestSchemaNames: + /admin/v1/metrics: + post: + application/json: AdminCreateMetricsRecordRequest + /admin/v1/plans: + post: + application/json: AdminCreatePlanRequest + /admin/v1/plans/{serviceType}: + put: + application/json: AdminUpdatePlanServiceTypeRequest + /admin/v1/setup: + post: + application/json: AdminSetupPostRequest + /admin/v1/setup/{serviceId}: + put: + application/json: AdminUpdateServiceSetupRequest + /admin/v1/tokenMetrics: + post: + application/json: AdminCalculateTokenMetricsRequest + /post: + post: + application/json: UtilityBroadcastNoteToBlockchainRequest + /upload: + post: + application/json: UtilityBroadcastFileToBlockchainRequest + /v1/asm: + post: + application/json: TransactionsUploadCustomAsmScriptsRequest + /v1/auth: + post: + application/json: AuthenticationUserLoginRequest + /v1/bsvalias/address/{paymail}: + post: + application/json: PaymailResolveAddressInfoRequest + /v1/bsvalias/p2p-payment-destination/{paymail}: + post: + application/json: PaymailCreateP2PPaymentDestinationRequest + /v1/bsvalias/receive-transaction/{paymail}: + post: + application/json: PaymailReceiveTransactionRequest + /v1/compile: + post: + application/json: UtilityCompileScryptToBitcoinScriptRequest + /v1/domain/generateToken: + post: + application/json: AdminVerifyDomainOwnershipRequest + /v1/domain/{userId}/verifyToken: + post: + application/json: AdminVerifyDomainOwnershipRequest1 + /v1/drop: + post: + application/json: TransactionsWithdrawFromPrivateKeyRequest + /v1/exchangeOffer: + post: + application/json: TransactionsCreateSwapOfferRequest + /v1/exchangeSwap: + post: + application/json: TransactionsAcceptSwapOfferRequest1 + /v1/inspect: + post: + application/json: TransactionsInspectAtomicSwapOfferRequest + /v1/invoice: + post: + application/json: TransactionsCreateInvoiceRequestRequest + /v1/issue: + post: + application/json: SmartContractsMintTokenRequest + /v1/lookup: + post: + application/json: UtilityGetAssetBalanceRequest + /v1/notificationToken/{userId}: + put: + application/json: NotificationsUpdateTokenRequest + /v1/offer: + post: + application/json: TransactionsCreateAtomicSwapRequest + /v1/password/change: + post: + application/json: AuthenticationChangeUserPasswordRequest + /v1/pay: + post: + application/json: TransactionsResolveInvoiceRequestRequest + /v1/paymail: + put: + application/json: PaymailUpdateAddressInfoRequest + /v1/paymail/activate: + post: + application/json: PaymailActivateDeactivateRequest + /v1/paymentRequest/pay/{invoiceId}: + post: + application/bitcoinsv-payment: TransactionsSettleInvoiceRequestRequest1 + application/json: TransactionsSettleInvoiceRequestRequest + /v1/plan/deactivate: + put: + application/json: QuotaDeactivatePlanRequest + /v1/plan/quota: + put: + application/json: QuotaUpdatePlanQuotaRequest + /v1/plan/{serviceType}/activate: + post: + application/json: QuotaActivateServiceTypeRequest + /v1/post: + post: + application/json: UtilityPostMessagesToBlockchainRequest + /v1/rawtx: + post: + application/json: TransactionsCreateRawTxRequest + /v1/redeem: + post: + application/json: SmartContractsRedeemTokensRequest + /v1/reset/password: + post: + application/json: AuthenticationResetUserPasswordConfirmationRequest + /v1/send: + post: + application/json: TransactionsCreateTransactionToAddressRequest + /v1/sendNotification: + post: + application/json: NotificationsSendNotificationRequest + /v1/sign: + post: + application/json: UtilitySignMessageToAddressRequest + /v1/signUp: + post: + application/json: AuthenticationCreateUserTokenRequest + /v1/swap: + post: + application/json: TransactionsAcceptSwapOfferRequest + /v1/sweep: + post: + application/json: TransactionsTransferAssetsFromPrivateKeyRequest + /v1/transpile: + post: + application/json: UtilityTranspileSolidityCodeToScryptRequest + /v2/inspect: + post: + application/json: TransactionsInspectAtomicSwapOfferRequest1 + /v2/issue: + post: + application/json: SmartContractsMintTokenRequest1 + /v2/send: + post: + application/json: TransactionsTransferToAddressRequest +responseDescriptions: {} +responseSchemaNames: + /admin/v1/metrics: + post: + '200': + application/json: AdminCreateMetricsRecordResponse + '400': + application/json: AdminCreateMetricsRecord400Response + /admin/v1/plan/list: + get: + '200': + application/json: AdminListPlansResponse + '400': + application/json: AdminListPlans400Response + /admin/v1/plans: + post: + '200': + application/json: AdminCreatePlanResponse + '400': + application/json: AdminCreatePlan400Response + /admin/v1/plans/{serviceType}: + delete: + '200': + application/json: AdminDeletePlanByServiceTypeResponse + '400': + application/json: AdminDeletePlanByServiceType400Response + get: + '200': + application/json: AdminGetServiceTypePlansResponse + '400': + application/json: AdminGetServiceTypePlans400Response + put: + '200': + application/json: AdminUpdatePlanServiceTypeResponse + '400': + application/json: AdminUpdatePlanServiceType400Response + /admin/v1/setup: + post: + '200': + application/json: AdminSetupPostResponse + '400': + application/json: AdminSetupPost400Response + /admin/v1/setup/serviceIds: + get: + '200': + application/json: AdminGetServiceIdsResponse + '400': + application/json: AdminGetServiceIds400Response + /admin/v1/setup/{serviceId}: + delete: + '200': + application/json: AdminDeleteServiceSetupResponse + '400': + application/json: AdminDeleteServiceSetup400Response + get: + '200': + application/json: AdminGetServiceSetupResponse + '400': + application/json: AdminGetServiceSetup400Response + put: + '200': + application/json: AdminUpdateServiceSetupResponse + '400': + application/json: AdminUpdateServiceSetup400Response + /admin/v1/tokenMetrics: + post: + '200': + application/json: AdminCalculateTokenMetricsResponse + '400': + application/json: AdminCalculateTokenMetrics400Response + /post: + post: + '200': + application/json: UtilityBroadcastNoteToBlockchainResponse + '400': + application/json: UtilityBroadcastNoteToBlockchain400Response + /upload: + post: + '200': + application/json: UtilityBroadcastFileToBlockchainResponse + '400': + application/json: UtilityBroadcastFileToBlockchain400Response + /v1/URI: + get: + '200': + application/json: UtilityResolveAddressInfoResponse + '400': + application/json: UtilityResolveAddressInfo400Response + /v1/address: + get: + '200': + application/json: WalletsGetAddressAndPaymailResponse + '400': + application/json: WalletsGetAddressAndPaymail400Response + /v1/allAddresses: + get: + '200': + application/json: WalletsGetAllAddressesResponse + '400': + application/json: WalletsGetAllAddresses400Response + /v1/asm: + post: + '200': + application/json: TransactionsUploadCustomAsmScriptsResponse + '400': + application/json: TransactionsUploadCustomAsmScripts400Response + /v1/auth: + post: + '200': + application/json: AuthenticationUserLoginResponse + '400': + application/json: AuthenticationUserLogin400Response + /v1/balance: + get: + '200': + application/json: WalletsGetBalanceResponse + '400': + application/json: WalletsGetBalance400Response + /v1/compile: + post: + '200': + application/json: UtilityCompileScryptToBitcoinScriptResponse + '400': + application/json: UtilityCompileScryptToBitcoinScript400Response + /v1/createWallet: + get: + '200': + application/json: WalletsCreateHdWalletOfChoiceResponse + '400': + application/json: WalletsCreateHdWalletOfChoice400Response + /v1/currencyConversion: + get: + '200': + application/json: UtilityConvertSatoshiToFiatResponse + '400': + application/json: UtilityConvertSatoshiToFiat400Response + /v1/domain/generateToken: + post: + '200': + application/json: AdminVerifyDomainOwnershipResponse + '400': + application/json: AdminVerifyDomainOwnership400Response + /v1/domain/{userId}/verifyToken: + post: + '200': + application/json: AdminVerifyDomainOwnership200Response + '400': + application/json: AdminVerifyDomainOwnership400Response + /v1/drop: + post: + '200': + application/json: TransactionsWithdrawFromPrivateKeyResponse + '400': + application/json: TransactionsWithdrawFromPrivateKey400Response + /v1/exchangeOffer: + post: + '200': + application/json: TransactionsCreateSwapOfferResponse + '400': + application/json: TransactionsCreateSwapOffer400Response + /v1/exchangeSwap: + post: + '200': + application/json: TransactionsAcceptSwapOffer200Response + '400': + application/json: TransactionsAcceptSwapOffer400Response + /v1/feeAddressBeta: + get: + '200': + application/json: AdminGetFeeManagerAddressesResponse + '400': + application/json: AdminGetFeeManagerAddresses400Response + /v1/feeMetricsBeta: + get: + '200': + application/json: AdminGetUtxoSetResponse + '400': + application/json: AdminGetUtxoSet400Response + /v1/feeUtxoState: + get: + '200': + application/json: AdminGetFeeUtxoStateResponse + '400': + application/json: AdminGetFeeUtxoState400Response + /v1/history: + get: + '200': + application/json: WalletsGetTransactionHistoryResponse + '400': + application/json: WalletsGetTransactionHistory400Response + /v1/initBeta: + get: + '200': + application/json: AdminSetupFeeManagerResponse + '400': + application/json: AdminSetupFeeManager400Response + /v1/inspect: + post: + '200': + application/json: TransactionsInspectAtomicSwapOfferResponse + '400': + application/json: TransactionsInspectAtomicSwapOffer400Response + /v1/invoice: + post: + '200': + application/json: TransactionsCreateInvoiceRequestResponse + '400': + application/json: TransactionsCreateInvoiceRequest400Response + /v1/issue: + post: + '200': + application/json: SmartContractsMintTokenResponse + '400': + application/json: SmartContractsMintToken400Response + /v1/leaderboard: + get: + '200': + application/json: WalletsGetTokenOwnershipDetailsResponse + '400': + application/json: WalletsGetTokenOwnershipDetails400Response + /v1/lookup: + post: + '200': + application/json: UtilityGetAssetBalanceResponse + /v1/metrics: + get: + '200': + application/json: UtilityGetLatestUtxoStateResponse + '400': + application/json: UtilityGetLatestUtxoState400Response + /v1/migrateToken: + post: + '200': + application/json: AdminMigrateTokenRequestResponse + '400': + application/json: AdminMigrateTokenRequest400Response + /v1/mnemonic: + get: + '200': + application/json: WalletsGetMnemonicPhraseResponse + '400': + application/json: WalletsGetMnemonicPhrase400Response + /v1/notificationToken/{userId}: + delete: + '200': + application/json: DeleteNotificationTokenResponse + '400': + application/json: DeleteNotificationToken400Response + put: + '200': + application/json: NotificationsUpdateTokenResponse + '400': + application/json: NotificationsUpdateToken400Response + /v1/offer: + post: + '200': + application/json: TransactionsCreateAtomicSwapResponse + '400': + application/json: TransactionsCreateAtomicSwap400Response + /v1/password/change: + post: + '200': + application/json: AuthenticationChangeUserPasswordResponse + '400': + application/json: AuthenticationChangeUserPassword400Response + /v1/pay: + post: + '200': + application/json: TransactionsResolveInvoiceRequestResponse + '400': + application/json: TransactionsResolveInvoiceRequest400Response + /v1/paymail: + put: + '200': + application/json: PaymailUpdateAddressInfoResponse + '400': + application/json: PaymailUpdateAddressInfo400Response + /v1/paymail/activate: + post: + '200': + application/json: PaymailActivateDeactivateResponse + '400': + application/json: PaymailActivateDeactivate400Response + /v1/paymail/{paymailId}: + get: + '200': + application/json: PaymailGetAddressInfoResponse + '400': + application/json: PaymailGetAddressInfo400Response + /v1/paymentRequest/pay/{invoiceId}: + post: + '200': + application/json: TransactionsSettleInvoiceRequestResponse + '400': + application/json: TransactionsSettleInvoiceRequest400Response + /v1/paymentRequest/{invoiceId}: + get: + '200': + application/json: TransactionsCreateInvoiceRequest200Response + '400': + application/json: TransactionsCreateInvoiceRequest400Response + /v1/plan/deactivate: + put: + '200': + application/json: QuotaDeactivatePlanResponse + '400': + application/json: QuotaDeactivatePlan400Response + /v1/plan/quota: + put: + '200': + application/json: QuotaUpdatePlanQuotaResponse + '400': + application/json: QuotaUpdatePlanQuota400Response + /v1/plan/{serviceType}/activate: + post: + '200': + application/json: QuotaActivateServiceTypeResponse + '400': + application/json: QuotaActivateServiceType400Response + /v1/post: + post: + '200': + application/json: UtilityPostMessagesToBlockchainResponse + '400': + application/json: UtilityPostMessagesToBlockchain400Response + /v1/rawtx: + post: + '200': + application/json: TransactionsCreateRawTxResponse + '400': + application/json: TransactionsCreateRawTx400Response + /v1/redeem: + post: + '200': + application/json: SmartContractsRedeemTokensResponse + '400': + application/json: SmartContractsRedeemTokens400Response + /v1/reset/password: + post: + '200': + application/json: AuthenticationResetUserPasswordConfirmationResponse + '400': + application/json: AuthenticationResetUserPasswordConfirmation400Response + /v1/send: + post: + '200': + application/json: TransactionsCreateTransactionToAddressResponse + '400': + application/json: TransactionsCreateTransactionToAddress400Response + /v1/sendNotification: + post: + '200': + application/json: NotificationsSendNotificationResponse + '400': + application/json: NotificationsSendNotification400Response + /v1/sign: + post: + '200': + application/json: UtilitySignMessageToAddressResponse + '400': + application/json: UtilitySignMessageToAddress400Response + /v1/signUp: + post: + '200': + application/json: AuthenticationCreateUserTokenResponse + '400': + application/json: AuthenticationCreateUserToken400Response + /v1/swap: + post: + '200': + application/json: TransactionsAcceptSwapOfferResponse + '400': + application/json: TransactionsAcceptSwapOffer400Response + /v1/sweep: + post: + '200': + application/json: TransactionsTransferAssetsFromPrivateKeyResponse + '400': + application/json: TransactionsTransferAssetsFromPrivateKey400Response + /v1/token/{id}: + get: + '200': + application/json: SmartContractsGetTokenDetailsResponse + '400': + application/json: SmartContractsGetTokenDetails400Response + /v1/tokenMetrics: + get: + '200': + application/json: UtilitySyncTokenFromBlockchainResponse + '400': + application/json: UtilitySyncTokenFromBlockchain400Response + /v1/transpile: + post: + '200': + application/json: UtilityTranspileSolidityCodeToScryptResponse + '400': + application/json: UtilityTranspileSolidityCodeToScrypt400Response + /v1/user: + delete: + '200': + application/json: DeleteUserAccountResponse + '400': + application/json: DeleteUserAccount400Response + get: + '200': + application/json: IdentityGetProfileDetailsResponse + '400': + application/json: IdentityGetProfileDetails400Response + /v1/wallet: + delete: + '200': + application/json: DeleteWalletDataResponse + '400': + application/json: DeleteWalletData400Response + /v1/wallets: + delete: + '200': + application/json: DeleteAllWalletsResponse + '400': + application/json: DeleteAllWallets400Response + get: + '200': + application/json: WalletsListAvailableUserWalletsResponse + '400': + application/json: WalletsListAvailableUserWallets400Response + /v2/balance: + get: + '200': + application/json: WalletsGetBalancesResponse + '400': + application/json: WalletsGetBalances400Response + /v2/history: + get: + '200': + application/json: WalletsGetTransactionHistory200Response + '400': + application/json: WalletsGetTransactionHistory400Response + /v2/inspect: + post: + '200': + application/json: TransactionsInspectAtomicSwapOffer200Response + '400': + application/json: TransactionsInspectAtomicSwapOffer400Response + /v2/issue: + post: + '200': + application/json: SmartContractsMintToken200Response + '400': + application/json: SmartContractsMintToken400Response + /v2/send: + post: + '200': + application/json: TransactionsTransferToAddressResponse + '207': + application/json: TransactionsTransferToAddress207Response + '500': + application/json: TransactionsTransferToAddress500Response + /v2/token/{id}: + get: + '200': + application/json: SmartContractsGetTokenDetails200Response + '400': + application/json: SmartContractsGetTokenDetails400Response +securityParameters: + compact: + header: false + currency: + header: false + custom-token: + header: false + force: + header: false + limit: + query: false + maxResults: + header: false + mnemonic: + header: false + mnemonicPhrase: + header: false + nextPageToken: + header: false + query: false + oauth: + header: false + paymail: + header: false + paymailActivate: + header: false + privateKey: + header: false + protocol: + header: false + query: false + reminting: + header: false + satoshis: + header: false + secretKey: + header: false + symbol: + query: false + tokenId: + header: false + query: false + type: + header: false + uri: + header: false + userID: + header: false + version: + header: false + walletID: + header: false + walletLogo: + header: false + walletTitle: + header: false +validServerUrls: {} diff --git a/sdks/db/progress/rivery-progress.yaml b/sdks/db/progress/rivery-progress.yaml new file mode 100644 index 000000000..26edf979f --- /dev/null +++ b/sdks/db/progress/rivery-progress.yaml @@ -0,0 +1,186 @@ +examples: {} +examples_2: {} +examples_3: + /v1/accounts/{account_id}/environments/{environment_id}/connections/{connection_cross_id}: + delete: + '200': + application/json: {} + /v1/accounts/{account_id}/environments/{environment_id}/dataframes/{dataframe_name}: + delete: + '200': + application/json: {} + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}: + delete: + '200': + application/json: {} + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/cdc_config: + delete: + '200': + application/json: {} + post: + '200': + application/json: {} +ignoreObjectsWithNoProperties: true +ignorePotentialIncorrectType: true +operationIds: + /v1/accounts/{account_id}/environments/{environment_id}/activities_statistics: + get: Activities_getStatistics + /v1/accounts/{account_id}/environments/{environment_id}/audit_events: + get: AuditEvents_list + /v1/accounts/{account_id}/environments/{environment_id}/audit_events/{event_id}: + get: AuditEvents_getById + /v1/accounts/{account_id}/environments/{environment_id}/dataframes/{dataframe_name}/clear: + post: Dataframes_clearValues + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_run_groups: + get: Activities_listRunGroups + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_run_groups/{run_group_id}: + get: Activities_getRunGroup + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_statistics: + get: Activities_getRiverActivitiesStatistic + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_sub_rivers: + get: Activities_getSubRiverActivities + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_targets: + get: Activities_getRiverActivityTargets + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/cancel_run: + post: Rivers_cancelRun + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/cdc_config: + delete: Rivers_deleteCdcConfig + get: Rivers_getCdcConfig + post: Rivers_setCdcConfig + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs: + get: Activities_getRiverRuns + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}: + get: Activities_getRiverActivitiesRun + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}/logic_steps: + get: Activities_getLogicStepsStatus + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}/logic_steps/{step_id}/logs: + get: Activities_getLogicStepLogs + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}/logs: + get: Activities_getRunLogs + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}/variables: + get: Activities_getRunVariables + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/sub_rivers/{sub_river_id}/run: + post: Rivers_triggerSubRiverRun + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/variables: + get: Rivers_getVariables + put: Rivers_updateRiverVariable + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/versions: + get: Rivers_listVersions + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/versions/{version_id}: + get: Rivers_getVersion + /v1/accounts/{account_id}/scim_provisioning: + delete: Accounts_deleteScimProvisioning + get: Accounts_getScimProvisioningStatus + put: Accounts_addOrUpdateScimProvisioning + /v1/predefined_metadata/columns: + get: BetaEndpoints_getPredefinedColumns + /v1/predefined_metadata/metadata: + get: BetaEndpoints_getPredefinedMetadata + /v1/predefined_metadata/tables: + get: BetaEndpoints_listPredefinedTables + /v1/river_source/metadata: + get: BetaEndpoints_getSourceMetadata +operationTags: {} +renameTags: {} +requestSchemaNames: {} +responseDescriptions: {} +responseSchemaNames: + /v1/accounts/{account_id}/environments/{environment_id}/connections/{connection_cross_id}: + delete: + '200': + application/json: DeleteConnectionResponse + /v1/accounts/{account_id}/environments/{environment_id}/dataframes/{dataframe_name}: + delete: + '200': + application/json: DeleteDataframeResponse + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}: + delete: + '200': + application/json: DeleteRiverResponse + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/cdc_config: + delete: + '200': + application/json: RiversDeleteCdcConfigResponse + post: + '200': + application/json: RiversSetCdcConfigResponse + /v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}/logs: + get: + '200': + text/html: ActivitiesGetRunLogsResponse +securityParameters: + cache_context_id: + query: false + column_name: + query: false + datasource_id: + query: false + display_name: + query: false + end_time: + query: false + entity_logical_key: + query: false + entity_type: + query: false + event_type: + query: false + group_id: + query: false + group_name: + query: false + include_deleted: + query: false + is_deployable_environments: + query: false + is_scheduled: + query: false + items_per_page: + query: false + iteration_number: + query: false + name: + query: false + page: + query: false + remote_display_name: + query: false + report: + query: false + report_id: + query: false + report_name: + query: false + river_status: + query: false + river_type: + query: false + run_group_id: + query: false + run_sub_rivers: + query: false + schedule: + query: false + search: + query: false + sort_by: + query: false + sort_order: + query: false + source: + query: false + source_name: + query: false + start_time: + query: false + status: + query: false + sub_river_id: + query: false + target_name: + query: false + team_id: + query: false + user_id: + query: false +validServerUrls: {} diff --git a/sdks/db/progress/secoda-progress.yaml b/sdks/db/progress/secoda-progress.yaml new file mode 100644 index 000000000..4d97c21f2 --- /dev/null +++ b/sdks/db/progress/secoda-progress.yaml @@ -0,0 +1,335 @@ +examples: {} +examples_2: {} +examples_3: {} +operationIds: + /auth/group: + get: UserGroups_list + post: UserGroups_createNewGroup + /auth/group/{id}: + delete: UserGroups_deleteById + get: UserGroups_getUserGroupById + patch: UserGroups_updateById + /auth/teams: + get: Teams_getList + post: Teams_createNewTeam + /auth/teams/{id}: + delete: Teams_deleteById + get: Teams_getById + patch: Teams_updateById + /collection/collections: + get: Collections_listCollectionsByTitle + post: Collections_createNewCollection + /collection/collections/{collection_id}: + delete: Collections_deleteById + get: Collections_getById + patch: Collections_updateById + /dashboard/charts: + get: Charts_list + post: Charts_createNewChart + /dashboard/charts/{chart_id}: + delete: Charts_deleteById + get: Charts_getById + patch: Charts_updateById + /dashboard/dashboards: + get: Dashboards_listWithFilter + post: Dashboards_createNewDashboard + /dashboard/dashboards/{dashboard_id}: + delete: Dashboards_deleteById + get: Dashboards_getById + patch: Dashboards_updateById + /dashboard/groups: + get: DashboardGroups_list + post: DashboardGroups_createNewGroup + /dashboard/groups/{group_id}: + get: DashboardGroups_getById + /dictionary/terms: + get: Terms_getListByTitle + post: Terms_createNewTerm + /dictionary/terms/{term_id}: + delete: Terms_deleteById + get: Terms_getById + patch: Terms_updateById + /document: + get: Documents_listDocumentsByTitle + post: Documents_createNewDocument + /document/{document_id}: + delete: Documents_deleteById + get: Documents_getById + patch: Documents_updateById + /event/category: + get: EventCategories_list + post: EventCategories_createNewCategory + /event/category/{event_category_id}: + get: EventCategories_getById + /event/event_properties: + get: EventProperties_listEventProperties + post: EventProperties_createNewProperty + /event/event_properties/{event_property_id}: + delete: EventProperties_deleteById + get: EventProperties_getById + patch: EventProperties_updateByIdentifier + /event/events: + get: Events_listEventsByFiltering + post: Events_createNewEvent + /event/events/{event_id}: + delete: Events_deleteById + get: Events_getById + patch: Events_updateById + /integration/integrations: + get: Integrations_listActive + post: Integrations_createNewIntegration + /integration/integrations/{integration_id}: + get: Integrations_getById + /integration/integrations/{integration_id}/import_jsonl_metadata: + post: Integrations_uploadJsonlMetadata + /integration/integrations/{integration_id}/import_metadata: + post: Integrations_uploadMetadataCsv + /lineage/manual: + get: Lineage_listObjectsWithFiltering + post: Lineage_createNewLineageManually + /lineage/manual/{lineage_id}: + delete: Lineage_deleteById + get: Lineage_getById + /monitors/incident/{incident_id}: + get: Monitors_getIncidentById + /monitors/incidents: + get: Monitors_listIncidents + /monitors/measurements: + get: Monitors_listMeasurements + /monitors/monitors: + get: Monitors_listMonitors + /monitors/monitors/{monitor_id}: + get: Monitors_getById + /query/queries: + get: Queries_getList + /query/queries/{query_id}: + get: Queries_getById + /question/questions: + get: Questions_getList + post: Questions_createNewQuestion + /question/questions/{question_id}: + delete: Questions_deleteById + get: Questions_getById + patch: Questions_updateById + /question/replies: + get: Questions_listReplies + post: Questions_createNewReply + /question/replies/{reply_id}: + delete: Questions_deleteReplyById + get: Questions_getReplyById + patch: Questions_editReplyById + /table/columns: + get: Columns_getList + post: Columns_createNewColumn + /table/columns/{column_id}: + delete: Columns_deleteById + get: Columns_getColumnById + patch: Columns_editById + /table/databases: + get: Databases_listAllActive + post: Databases_createNewDatabase + /table/databases/{database_id}: + get: Databases_getById + /table/schemas: + get: Schemas_listWithFilter + post: Schemas_createNewSchema + /table/schemas/{schema_id}: + get: Schemas_getById + patch: Schemas_updateById + /table/tables: + get: Tables_listTablesByFilter + post: Tables_createNewTable + /table/tables/{table_id}: + delete: Tables_deleteById + get: Tables_getTableById + patch: Tables_updateById + /tag: + get: Tags_list + post: Tags_createNewTag + /tag/{tag_id}: + delete: Tags_deleteById + get: Tags_getById + patch: Tags_updateById + /user: + get: Users_list + post: Users_createNewUser + /user/{id}: + delete: Users_deleteById + get: Users_getUserById + patch: Users_updateById +operationTags: {} +renameTags: {} +requestSchemaNames: + /auth/group: + post: + application/json: UserGroupsCreateNewGroupRequest + /auth/group/{id}: + patch: + application/json: UserGroupsUpdateByIdRequest + /auth/teams: + post: + application/json: TeamsCreateNewTeamRequest + /auth/teams/{id}: + patch: + application/json: TeamsUpdateByIdRequest + /event/category: + post: + application/json: EventCategoriesCreateNewCategoryRequest + /integration/integrations: + post: + application/json: IntegrationsCreateNewIntegrationRequest + /integration/integrations/{integration_id}/import_jsonl_metadata: + post: + multipart/form-data: IntegrationsUploadJsonlMetadataRequest + /integration/integrations/{integration_id}/import_metadata: + post: + multipart/form-data: IntegrationsUploadMetadataCsvRequest + /lineage/manual: + post: + application/json: LineageCreateNewLineageManuallyRequest + /question/replies: + post: + application/json: QuestionsCreateNewReplyRequest + /question/replies/{reply_id}: + patch: + application/json: QuestionsEditReplyByIdRequest + /tag: + post: + application/json: TagsCreateNewTagRequest + /tag/{tag_id}: + patch: + application/json: TagsUpdateByIdRequest + /user: + post: + application/json: UsersCreateNewUserRequest + /user/{id}: + patch: + application/json: UsersUpdateByIdRequest +responseDescriptions: {} +responseSchemaNames: + /auth/group: + get: + '200': + application/json: UserGroupsListResponse + /auth/teams: + get: + '200': + application/json: TeamsGetListResponse + /collection/collections: + get: + '200': + application/json: CollectionsListCollectionsByTitleResponse + /dashboard/charts: + get: + '200': + application/json: ChartsListResponse + /dashboard/dashboards: + get: + '200': + application/json: DashboardsListWithFilterResponse + /dashboard/groups: + get: + '200': + application/json: DashboardGroupsListResponse + /dictionary/terms: + get: + '200': + application/json: TermsGetListByTitleResponse + /document: + get: + '200': + application/json: DocumentsListDocumentsByTitleResponse + /event/category: + get: + '200': + application/json: EventCategoriesListResponse + /event/event_properties: + get: + '200': + application/json: EventPropertiesListEventPropertiesResponse + /event/events: + get: + '200': + application/json: EventsListEventsByFilteringResponse + /integration/integrations: + get: + '200': + application/json: IntegrationsListActiveResponse + /lineage/manual: + get: + '200': + application/json: LineageListObjectsWithFilteringResponse + /monitors/incidents: + get: + '200': + application/json: MonitorsListIncidentsResponse + /monitors/measurements: + get: + '200': + application/json: MonitorsListMeasurementsResponse + /monitors/monitors: + get: + '200': + application/json: MonitorsListMonitorsResponse + /query/queries: + get: + '200': + application/json: QueriesGetListResponse + /question/questions: + get: + '200': + application/json: QuestionsGetListResponse + /question/replies: + get: + '200': + application/json: QuestionsListRepliesResponse + /table/columns: + get: + '200': + application/json: ColumnsGetListResponse + /table/databases: + get: + '200': + application/json: DatabasesListAllActiveResponse + /table/schemas: + get: + '200': + application/json: SchemasListWithFilterResponse + /table/tables: + get: + '200': + application/json: TablesListTablesByFilterResponse + /tag: + get: + '200': + application/json: TagsListResponse + /user: + get: + '200': + application/json: UsersListResponse +securityParameters: + from_entity__in: + query: false + incident_id: + query: false + integration_id: + query: false + monitor: + query: false + parent: + query: false + parent_id: + query: false + question_id: + query: false + table_title: + query: false + title: + query: false + to_entity__in: + query: false + type: + query: false +validServerUrls: + https://{customer_domain}.secoda.co/api/v1: + url: https://{customer_domain}.secoda.co/api/v1 diff --git a/sdks/db/progress/sellsy-progress.yaml b/sdks/db/progress/sellsy-progress.yaml new file mode 100644 index 000000000..109934076 --- /dev/null +++ b/sdks/db/progress/sellsy-progress.yaml @@ -0,0 +1,1345 @@ +examples: {} +examples_2: {} +examples_3: {} +ignoreObjectsWithNoProperties: true +ignorePotentialIncorrectType: true +operationIds: + /accounting-codes: + get: Accounting_getCodes + post: Accounting_createCode + /accounting-codes/search: + post: Accounting_searchCodes + /accounting-codes/{id}: + delete: Accounting_deleteCode + /accounting-journal/{type}: + get: Accounting_journalList + /accounting-journal/{type}/export: + post: Accounting_journalExport + /accounting-journal/{type}/metas: + get: Accounting_journalMetaGet + /accounting-journal/{type}/search: + post: Accounting_journalSearch + /accounts/conformities: + get: Conformities_getInvoicingState + post: Conformities_activateInvoiceConformity + /accounts/documents: + get: Documents_getInvoicesAndCreditNotes + /activities/crm: + get: CrmActivities_getActivity + /activities/crm/export: + post: CrmActivities_exportActivitySearch + /activities/crm/metas: + get: CrmActivities_getMetaInfo + /activities/crm/search: + post: CrmActivities_searchActivity + /activities/search: + post: Activities_performSearch + /batch: + post: Batch_requestCreate + /calendar-events: + get: Calendar_getEventsList + post: Calendar_createEvent + /calendar-events/labels: + get: Calendar_getLabels + /calendar-events/search: + post: Calendar_searchEvent + /calendar-events/{id}: + delete: Calendar_deleteEvent + get: Calendar_getEvent + put: Calendar_updateEvent + /clients: + get: ApiManagement_listClients + post: ApiManagement_createOAuthClient + /clients/{id}: + delete: ApiManagement_deleteOAuthClient + get: ApiManagement_getOAuthClient + put: ApiManagement_updateOAuthClient + /comments: + get: Comments_getList + post: Comments_createComment + /comments/search: + post: Comments_searchComments + /comments/{id}: + delete: Comments_removeComment + get: Comments_getDetails + put: Comments_updateComment + /companies: + get: Companies_getList + post: Companies_createNewCompany + /companies/favourite-filters: + get: Companies_listFavouriteFilters + /companies/search: + post: Companies_searchCompanies + /companies/{companyId}/addresses: + get: Companies_getAddresses + post: Companies_addAddress + /companies/{companyId}/addresses/{id}: + delete: Companies_deleteAddress + get: Companies_getAddress + put: Companies_updateAddress + /companies/{companyId}/contacts/{contactId}: + delete: Companies_unlinkContact + post: Companies_linkContact + put: Companies_updateContactOfCompanyLink + /companies/{companyId}/files: + get: Companies_listFiles + post: Companies_attachFileToCompany + /companies/{companyId}/smart-tags: + get: Companies_getSmartTagsList + post: Companies_linkSmartTags + /companies/{id}: + delete: Companies_removeCompany + get: Companies_getInformations + put: Companies_updateInformation + /companies/{id}/contacts: + get: Companies_getContacts + /companies/{id}/custom-fields: + get: Companies_getCustomFieldsList + put: Companies_updateCustomFields + /companies/{id}/payments: + post: Companies_recordPayment + /contacts: + get: Contacts_getList + post: Contacts_createContact + /contacts/favourite-filters: + get: Contacts_listFavouriteFilters + /contacts/search: + post: Contacts_searchContacts + /contacts/{contactId}/addresses: + get: Contacts_getAddresses + post: Contacts_createAddress + /contacts/{contactId}/addresses/{id}: + delete: Contacts_deleteAddress + get: Contacts_getAddressById + put: Contacts_updateAddress + /contacts/{contactId}/custom-fields: + get: Contacts_getCustomFields + put: Contacts_updateCustomFields + /contacts/{contactId}/files: + get: Contacts_listDirectoriesAndFiles + post: Contacts_attachFileToContact + /contacts/{contactId}/smart-tags: + get: Contacts_getSmartTags + post: Contacts_linkSmartTags + /contacts/{id}: + delete: Contacts_removeContact + get: Contacts_getInformations + put: Contacts_updateContactInfo + /contacts/{id}/companies: + get: Contacts_getCompanies + /countries: + get: Countries_getList + /credit-notes: + get: CreditNotes_getList + post: CreditNotes_createCreditNote + /credit-notes/compute: + post: CreditNotes_computeCreditNote + /credit-notes/favourite-filters: + get: CreditNotes_listFavouriteFilters + /credit-notes/search: + post: CreditNotes_searchCreditNotes + /credit-notes/{creditNoteId}/discount-incl-taxes/{discountId}: + delete: CreditNotes_unlinkDiscountInclTaxes + post: CreditNotes_linkDiscountToCreditNote + /credit-notes/{creditNoteId}/invoices/{invoiceId}: + delete: CreditNotes_unlinkInvoice + post: CreditNotes_linkInvoice + /credit-notes/{creditNoteId}/primes/{primeId}: + delete: CreditNotes_unlinkPrimeFromNote + post: CreditNotes_linkPrimeToCreditNote + /credit-notes/{documentId}/files: + get: CreditNotes_getDirectoryFiles + post: CreditNotes_attachFileToCreditNote + /credit-notes/{documentId}/payments/{paymentId}: + delete: CreditNotes_unlinkPayment + post: CreditNotes_linkPayment + /credit-notes/{id}: + get: CreditNotes_getById + put: CreditNotes_updateNote + /credit-notes/{id}/custom-fields: + get: CreditNotes_listCustomFields + put: CreditNotes_updateCustomFields + /credit-notes/{id}/invoices: + get: CreditNotes_getLinkedInvoices + /credit-notes/{id}/payments: + get: CreditNotes_getPaymentsList + /credit-notes/{id}/smart-tags: + get: CreditNotes_getSmartTagsList + post: CreditNotes_linkSmartTags + /credit-notes/{id}/validate: + post: CreditNotes_validateCreditNote + /currencies: + get: Currencies_getAll + /custom-activities: + get: CustomActivities_getList + post: CustomActivities_createActivity + /custom-activities/search: + post: CustomActivities_performSearch + /custom-activities/{id}: + delete: CustomActivities_deleteCustomActivity + get: CustomActivities_getInformation + put: CustomActivities_editCustomActivity + /custom-activity-types: + get: CustomActivities_getList + post: CustomActivities_createType + /custom-activity-types/{id}: + get: CustomActivities_getType + put: CustomActivities_updateType + /custom-fields: + get: CustomFields_getList + /custom-fields/search: + post: CustomFields_search + /custom-fields/{id}: + get: CustomFields_getInformation + /directories: + post: Files_createDirectory + /directories/{id}: + delete: Files_deleteDirectoryAndItems + get: Files_getDirectory + put: Files_updateDirectory + /directories/{id}/files: + get: Files_listDirectoryContents + post: Files_attachToDirectory + /discount-incl-taxes: + get: DiscountIncludingTaxes_list + post: DiscountIncludingTaxes_createDiscount + /discount-incl-taxes/{id}: + delete: DiscountIncludingTaxes_delete + get: DiscountIncludingTaxes_getById + put: DiscountIncludingTaxes_updateWithId + /document-layouts: + get: DocumentLayouts_getAllLayouts + /documents/models: + get: DocumentModels_list + post: DocumentModels_createModel + /documents/models/search: + post: DocumentModels_searchModels + /documents/models/tags: + get: DocumentModels_getAvailableTags + /documents/models/{id}: + get: DocumentModels_getById + put: DocumentModels_updateModel + /documents/models/{id}/convert: + post: DocumentModels_convertDocumentModel + /email/authenticate: + get: Emails_getDnsData + /email/domain/validate: + post: Emails_validateDns + /emails/threads/{id}: + get: Emails_getThreadEmails + /emails/{id}: + get: Emails_getDetails + /estimates: + get: Estimates_getAll + post: Estimates_createNewEstimate + /estimates/compute: + post: Estimates_computeEstimate + /estimates/favourite-filters: + get: Estimates_listFavouriteFilters + /estimates/search: + post: Estimates_searchEstimates + /estimates/{documentId}/files: + get: Estimates_getFilesForEstimate + post: Estimates_attachFile + /estimates/{documentId}/payments/{paymentId}: + delete: Estimates_unlinkPayment + post: Estimates_linkPaymentToEstimate + /estimates/{estimateId}/discount-incl-taxes/{discountId}: + delete: Estimates_unlinkDiscountInclTaxes + post: Estimates_linkDiscountIncludingTaxes + /estimates/{estimateId}/primes/{primeId}: + delete: Estimates_unlinkPrime + post: Estimates_linkPrimeToEstimate + /estimates/{id}: + get: Estimates_getById + put: Estimates_updateEstimate + /estimates/{id}/custom-fields: + get: Estimates_listCustomFields + put: Estimates_updateCustomFields + /estimates/{id}/payments: + get: Estimates_getPaymentsList + /estimates/{id}/smart-tags: + get: Estimates_getSmartTagsList + post: Estimates_linkSmartTags + /estimates/{id}/status: + put: Estimates_updateStatus + /files/{id}: + delete: Files_removeFile + get: Files_getById + patch: Files_moveFileToDirectory + /fiscal-years: + get: FiscalYear_getList + /individuals: + get: Individuals_getList + post: Individuals_createNewIndividual + /individuals/favourite-filters: + get: Individuals_listFavouriteFilters + /individuals/search: + post: Individuals_searchResults + /individuals/{id}: + delete: Individuals_removeIndividual + get: Individuals_getInfo + put: Individuals_updateInfo + /individuals/{id}/contacts: + get: Individuals_getContacts + /individuals/{id}/custom-fields: + get: Individuals_getCustomFields + put: Individuals_updateCustomFields + /individuals/{id}/payments: + post: Individuals_recordPayment + /individuals/{id}/smart-tags: + get: Individuals_getSmartTagsList + post: Individuals_linkSmartTags + /individuals/{individualId}/addresses: + get: Individuals_getAddresses + post: Individuals_createAddress + /individuals/{individualId}/addresses/{id}: + delete: Individuals_deleteAddress + get: Individuals_getAddress + put: Individuals_updateAddress + /individuals/{individualId}/contacts/{contactId}: + delete: Individuals_deleteLinkBetweenContactAndIndividual + post: Individuals_linkContactToIndividual + /individuals/{individualId}/files: + get: Individuals_listFilesOfIndividual + post: Individuals_attachFile + /invoices: + get: Invoices_list + post: Invoices_createNewInvoice + /invoices/compute: + post: Invoices_computeInvoice + /invoices/favourite-filters: + get: Invoices_listFavouriteFilters + /invoices/search: + post: Invoices_searchInvoices + /invoices/{documentId}/files: + get: Invoices_listFiles + post: Invoices_attachFile + /invoices/{documentId}/payments/{paymentId}: + delete: Invoices_unlinkPayment + post: Invoices_linkPaymentToInvoice + /invoices/{id}: + get: Invoices_getById + put: Invoices_updateInvoiceById + /invoices/{id}/credit-notes: + get: Invoices_getCreditNotes + /invoices/{id}/custom-fields: + get: Invoices_getCustomFields + put: Invoices_updateCustomFields + /invoices/{id}/payments: + get: Invoices_getPaymentsList + /invoices/{id}/smart-tags: + get: Invoices_getSmartTagsList + post: Invoices_linkSmartTags + /invoices/{id}/validate: + post: Invoices_validateInvoice + /invoices/{invoiceId}/credit-notes/{creditNoteId}: + delete: Invoices_unlinkCreditNote + post: Invoices_linkCreditNote + /invoices/{invoiceId}/discount-incl-taxes/{discountId}: + delete: Invoices_unlinkDiscountIncludingTaxes + post: Invoices_linkDiscountIncludingTaxes + /invoices/{invoiceId}/primes/{primeId}: + delete: Invoices_unlinkPrime + post: Invoices_linkPrimeToInvoice + /items: + get: Items_getList + post: Items_createItem + /items/favourite-filters: + get: Items_listFavouriteFilters + /items/search: + post: Items_searchItems + /items/{id}: + delete: Items_removeItem + get: Items_getById + put: Items_updateItem + /items/{id}/declinations: + get: Items_getDeclinationsList + /items/{id}/prices: + get: Items_getPricesList + put: Items_updatePricesList + /languages: + get: Language_getAccountLanguages + /notifications: + get: Notifications_getUserNotifications + /notifications/mark-all-as-read: + patch: Notifications_markAllAsRead + /notifications/search: + post: Notifications_searchUserNotifications + /notifications/settings: + get: Notifications_getSettings + put: Notifications_updateSettings + /notifications/{id}: + delete: Notifications_deleteNotification + /notifications/{id}/mark-as-read: + patch: Notifications_markAsRead + /ocr/pur-invoice: + get: PurchaseOcr_listPurchaseInvoices + /ocr/pur-invoice/metas: + get: PurchaseOcr_getMetadata + /ocr/pur-invoice/search: + post: PurchaseOcr_searchDocument + /opportunities: + get: Opportunities_getList + post: Opportunities_createNewOpportunity + /opportunities/categories: + get: Opportunities_listCategories + /opportunities/categories/{id}: + get: Opportunities_getCategory + /opportunities/categories/{sourceCategoryId}/sources: + get: Opportunities_listCategorySources + /opportunities/favourite-filters: + get: Opportunities_listFavouriteFilters + /opportunities/pipelines: + get: Opportunities_listPipelines + /opportunities/pipelines/search: + post: Opportunities_searchPipelines + /opportunities/pipelines/{pipelineId}/steps: + get: Opportunities_getPipelineSteps + /opportunities/pipelines/{pipelineId}/steps/search: + post: Opportunities_searchPipelineSteps + /opportunities/search: + post: Opportunities_searchOpportunities + /opportunities/sources: + get: Opportunities_getSourcesList + /opportunities/sources/search: + post: Opportunities_searchSources + /opportunities/steps/search: + post: Opportunities_searchPipelineSteps + /opportunities/{id}: + delete: Opportunities_removeOpportunity + get: Opportunities_getOpportunity + put: Opportunities_updateInformation + /opportunities/{id}/custom-fields: + get: Opportunities_getCustomFields + put: Opportunities_updateCustomFields + /opportunities/{id}/smart-tags: + get: Opportunities_getSmartTags + post: Opportunities_linkSmartTags + /opportunities/{id}/step-rank: + patch: Opportunities_updateRankStep + /opportunities/{opportunityId}/files: + get: Opportunities_listFiles + post: Opportunities_attachFileToOpportunity + /orders: + get: Orders_getAll + post: Orders_createOrder + /orders/compute: + post: Orders_calculateOrder + /orders/favourite-filters: + get: Orders_listFavouriteFilters + /orders/search: + post: Orders_searchOrders + /orders/{documentId}/files: + get: Orders_listFiles + post: Orders_attachFileToOrder + /orders/{documentId}/payments/{paymentId}: + delete: Orders_unlinkPayment + post: Orders_linkPaymentToOrder + /orders/{id}: + get: Orders_getById + put: Orders_updateById + /orders/{id}/custom-fields: + get: Orders_getCustomFieldsList + put: Orders_updateCustomFields + /orders/{id}/payments: + get: Orders_getPaymentsList + /orders/{id}/smart-tags: + get: Orders_listSmartTags + post: Orders_linkSmartTags + /orders/{orderId}/discount-incl-taxes/{discountId}: + delete: Orders_unlinkDiscountInclTaxes + post: Orders_linkDiscountInclTaxes + /orders/{orderId}/primes/{primeId}: + delete: Orders_unlinkPrime + post: Orders_linkPrimeToOrder + /payments: + get: Payments_getList + /payments/methods: + get: Payments_getMethods + /payments/methods/search: + post: Payments_searchMethods + /payments/methods/{id}: + get: Payments_getMethod + /payments/search: + post: Payments_searchPayments + /payments/{id}: + delete: Payments_deletePayment + get: Payments_getPaymentById + /personal-access-tokens: + get: ApiManagement_listPersonalAccessTokens + post: ApiManagement_createPersonalAccessToken + /personal-access-tokens/metas: + get: ApiManagement_getPersonalAccessTokensMeta + /personal-access-tokens/{id}: + delete: ApiManagement_deletePersonalAccessToken + get: ApiManagement_getOAuthToken + /phone-calls: + get: PhoneCalls_getList + post: PhoneCalls_createPhoneCall + /phone-calls/search: + post: PhoneCalls_searchList + /phone-calls/{id}: + delete: PhoneCalls_deletePhoneCall + get: PhoneCalls_getPhoneCall + put: PhoneCalls_updatePhoneCall + /primes: + get: DiscountIncludingTaxes_getPrimesList + /profiles: + get: Staffs_getProfilesList + /quotas: + get: Quotas_getCorpQuotas + /rate-categories: + get: RateCategories_getList + post: RateCategories_createCategory + /rate-categories/{id}: + delete: RateCategories_removeCategory + get: RateCategories_getCategory + put: RateCategories_updateRateCategory + /scopes: + get: ApiManagement_listScopes + /scopes/tree: + get: ApiManagement_getScopesTree + /search: + get: Listings_searchObjects + /settings/email: + get: Emails_getSettings + put: Emails_updateSettings + /settings/email/tags: + get: Emails_getAvailableTagsForSettings + /settings/subscription: + get: Subscription_getDetails + /smart-tags/{id}: + delete: SmartTags_deleteSmartTag + /smart-tags/{linkedtype}/autocomplete: + get: SmartTags_autocompleteGet + /staffs: + get: Staffs_getList + post: Staffs_createStaff + /staffs/search: + post: Staffs_searchList + /staffs/{id}: + get: Staffs_getStaff + put: Staffs_updateInformation + /staffs/{id}/licenses: + delete: Staffs_removeLicenses + put: Staffs_updateLicenses + /subscriptions: + get: Subscriptions_getList + post: Subscriptions_createNewSubscription + /subscriptions/payment-installments: + get: Subscriptions_getPaymentInstallments + /subscriptions/payment-installments/search: + post: Subscriptions_searchPaymentInstallments + /subscriptions/search: + post: Subscriptions_searchSubscriptions + /subscriptions/{id}: + delete: Subscriptions_deleteSubscription + get: Subscriptions_getSubscriptionById + /subscriptions/{id}/payment-installments: + patch: Subscriptions_addPaymentInstallment + /tasks: + get: Tasks_getList + post: Tasks_createTask + /tasks/labels: + get: Tasks_getLabels + /tasks/search: + post: Tasks_searchTasks + /tasks/{id}: + delete: Tasks_removeTask + get: Tasks_getById + put: Tasks_updateTaskById + /taxes: + get: Taxes_getList + post: Taxes_createTax + /taxes/accounting-codes: + get: Taxes_getAccountingCodes + /taxes/search: + post: Taxes_searchTaxes + /taxes/{id}: + delete: Taxes_removeTax + get: Taxes_getTaxInfo + put: Taxes_updateTaxInfo + /taxes/{id}/accounting-codes: + get: Taxes_getAccountingCodesList + put: Taxes_updateAccountingCodes + /teams: + get: Staffs_listTeams + /timeline/{type}/{id}/search: + post: Activities_searchTimelineActivity + /units: + get: Units_getAll + /webhooks: + get: Webhooks_getList + post: Webhooks_createWebhook + /webhooks/events: + get: Webhooks_listEvents + /webhooks/search: + post: Webhooks_searchWebhooksList + /webhooks/{id}: + delete: Webhooks_deleteWebhook + get: Webhooks_getWebhook + put: Webhooks_updateInformation +operationTags: {} +renameTags: {} +requestSchemaNames: + /accounting-codes/search: + post: + application/json: AccountingSearchCodesRequest + /accounting-journal/{type}/export: + post: + application/json: AccountingJournalExportRequest + /accounting-journal/{type}/search: + post: + application/json: AccountingJournalSearchRequest + /accounts/conformities: + post: + application/json: ConformitiesActivateInvoiceConformityRequest + /activities/crm/export: + post: + application/json: CrmActivitiesExportActivitySearchRequest + /activities/search: + post: + application/json: ActivitiesPerformSearchRequest + /batch: + post: + text/plain: BatchRequestCreateRequest + /companies: + post: + application/json: CompaniesCreateNewCompanyRequest + /companies/search: + post: + application/json: CompaniesSearchCompaniesRequest + /companies/{companyId}/smart-tags: + post: + application/json: CompaniesLinkSmartTagsRequest + /companies/{id}: + put: + application/json: CompaniesUpdateInformationRequest + /companies/{id}/custom-fields: + put: + application/json: CompaniesUpdateCustomFieldsRequest + /custom-fields/search: + post: + application/json: CustomFieldsSearchRequest + /documents/models/search: + post: + application/json: DocumentModelsSearchModelsRequest + /documents/models/{id}: + put: + application/json: DocumentModelsUpdateModelRequest + /documents/models/{id}/convert: + post: + application/json: DocumentModelsConvertDocumentModelRequest + /email/domain/validate: + post: + application/json: EmailsValidateDnsRequest + /individuals: + post: + application/json: IndividualsCreateNewIndividualRequest + /individuals/search: + post: + application/json: IndividualsSearchResultsRequest + /individuals/{id}: + put: + application/json: IndividualsUpdateInfoRequest + /invoices/{invoiceId}/credit-notes/{creditNoteId}: + post: + application/json: InvoicesLinkCreditNoteRequest + /items/search: + post: + application/json: ItemsSearchItemsRequest + /items/{id}/declinations: + get: + application/json: ItemsGetDeclinationsListRequest + /items/{id}/prices: + put: + application/json: ItemsUpdatePricesListRequest + /ocr/pur-invoice/search: + post: + application/json: PurchaseOcrSearchDocumentRequest + /payments/methods/search: + post: + application/json: PaymentsSearchMethodsRequest + /payments/search: + post: + application/json: PaymentsSearchPaymentsRequest + /rate-categories: + post: + application/json: RateCategoriesCreateCategoryRequest + /rate-categories/{id}: + put: + application/json: RateCategoriesUpdateRateCategoryRequest + /subscriptions/payment-installments/search: + post: + application/json: SubscriptionsSearchPaymentInstallmentsRequest + /subscriptions/search: + post: + application/json: SubscriptionsSearchSubscriptionsRequest + /subscriptions/{id}/payment-installments: + patch: + application/json: SubscriptionsAddPaymentInstallmentRequest + /taxes: + post: + application/json: TaxesCreateTaxRequest + /taxes/{id}: + put: + application/json: TaxesUpdateTaxInfoRequest + /taxes/{id}/accounting-codes: + put: + application/json: TaxesUpdateAccountingCodesRequest +responseDescriptions: {} +responseSchemaNames: + /accounting-codes: + get: + '200': + application/json: AccountingGetCodesResponse + /accounting-codes/search: + post: + '200': + application/json: AccountingSearchCodesResponse + application/xml: AccountingSearchCodes200Response + /accounting-journal/{type}: + get: + '200': + application/json: AccountingJournalListResponse + /accounting-journal/{type}/search: + post: + '200': + application/json: AccountingJournalSearchResponse + /activities/crm: + get: + '200': + application/json: CrmActivitiesGetActivityResponse + /activities/crm/search: + post: + '200': + application/json: CrmActivitiesSearchActivityResponse + '206': + application/json: CrmActivitiesSearchActivity206Response + /activities/search: + post: + '200': + application/json: ActivitiesPerformSearchResponse + /batch: + post: + '207': + application/json: BatchRequestCreateResponse + /calendar-events: + get: + '200': + application/json: CalendarGetEventsListResponse + /calendar-events/labels: + get: + '200': + application/json: CalendarGetLabelsResponse + /calendar-events/search: + post: + '200': + application/json: CalendarSearchEventResponse + /clients: + get: + '200': + application/json: ApiManagementListClientsResponse + /comments: + get: + '200': + application/json: CommentsGetListResponse + /comments/search: + post: + '200': + application/json: CommentsSearchCommentsResponse + /companies: + get: + '200': + application/json: CompaniesGetListResponse + post: + '201': + application/json: CompaniesCreateNewCompanyResponse + /companies/favourite-filters: + get: + '200': + application/json: CompaniesListFavouriteFiltersResponse + /companies/search: + post: + '200': + application/json: CompaniesSearchCompaniesResponse + /companies/{companyId}/addresses: + get: + '200': + application/json: CompaniesGetAddressesResponse + /companies/{companyId}/files: + get: + '200': + application/json: CompaniesListFilesResponse + /companies/{companyId}/smart-tags: + get: + '200': + application/json: CompaniesGetSmartTagsListResponse + post: + '200': + application/json: CompaniesLinkSmartTagsResponse + /companies/{id}/contacts: + get: + '200': + application/json: CompaniesGetContactsResponse + /companies/{id}/custom-fields: + get: + '200': + application/json: CompaniesGetCustomFieldsListResponse + /contacts: + get: + '200': + application/json: ContactsGetListResponse + /contacts/favourite-filters: + get: + '200': + application/json: ContactsListFavouriteFiltersResponse + /contacts/search: + post: + '200': + application/json: ContactsSearchContactsResponse + /contacts/{contactId}/addresses: + get: + '200': + application/json: ContactsGetAddressesResponse + /contacts/{contactId}/custom-fields: + get: + '200': + application/json: ContactsGetCustomFieldsResponse + /contacts/{contactId}/files: + get: + '200': + application/json: ContactsListDirectoriesAndFilesResponse + /contacts/{contactId}/smart-tags: + get: + '200': + application/json: ContactsGetSmartTagsResponse + post: + '200': + application/json: ContactsLinkSmartTagsResponse + /contacts/{id}/companies: + get: + '200': + application/json: ContactsGetCompaniesResponse + /countries: + get: + '200': + application/json: CountriesGetListResponse + /credit-notes: + get: + '200': + application/json: CreditNotesGetListResponse + /credit-notes/favourite-filters: + get: + '200': + application/json: CreditNotesListFavouriteFiltersResponse + /credit-notes/search: + post: + '200': + application/json: CreditNotesSearchCreditNotesResponse + /credit-notes/{documentId}/files: + get: + '200': + application/json: CreditNotesGetDirectoryFilesResponse + /credit-notes/{documentId}/payments/{paymentId}: + post: + '201': + application/json: CreditNotesLinkPaymentResponse + /credit-notes/{id}/custom-fields: + get: + '200': + application/json: CreditNotesListCustomFieldsResponse + /credit-notes/{id}/invoices: + get: + '200': + application/json: CreditNotesGetLinkedInvoicesResponse + /credit-notes/{id}/payments: + get: + '200': + application/json: CreditNotesGetPaymentsListResponse + /credit-notes/{id}/smart-tags: + get: + '200': + application/json: CreditNotesGetSmartTagsListResponse + post: + '200': + application/json: CreditNotesLinkSmartTagsResponse + /currencies: + get: + '200': + application/json: CurrenciesGetAllResponse + /custom-activities: + get: + '200': + application/json: CustomActivitiesGetListResponse + /custom-activities/search: + post: + '200': + application/json: CustomActivitiesPerformSearchResponse + /custom-activity-types: + get: + '200': + application/json: CustomActivitiesGetList200Response + /custom-fields: + get: + '200': + application/json: CustomFieldsGetListResponse + /custom-fields/search: + post: + '200': + application/json: CustomFieldsSearchResponse + /custom-fields/{id}: + get: + '200': + application/json: CustomFieldsGetInformationResponse + /directories: + post: + '201': + application/json: FilesCreateDirectoryResponse + /directories/{id}/files: + get: + '200': + application/json: FilesListDirectoryContentsResponse + /discount-incl-taxes: + get: + '200': + application/json: DiscountIncludingTaxesListResponse + /documents/models/search: + post: + '200': + application/json: DocumentModelsSearchModelsResponse + /documents/models/tags: + get: + '200': + application/json: DocumentModelsGetAvailableTagsResponse + /documents/models/{id}/convert: + post: + '200': + application/json: DocumentModelsConvertDocumentModelResponse + /emails/threads/{id}: + get: + '200': + application/json: EmailsGetThreadEmailsResponse + /estimates: + post: + '201': + application/json: EstimatesCreateNewEstimateResponse + /estimates/favourite-filters: + get: + '200': + application/json: EstimatesListFavouriteFiltersResponse + /estimates/search: + post: + '200': + application/json: EstimatesSearchEstimatesResponse + /estimates/{documentId}/files: + get: + '200': + application/json: EstimatesGetFilesForEstimateResponse + /estimates/{documentId}/payments/{paymentId}: + post: + '201': + application/json: EstimatesLinkPaymentToEstimateResponse + /estimates/{id}: + get: + '200': + application/json: EstimatesGetByIdResponse + put: + '200': + application/json: EstimatesUpdateEstimateResponse + /estimates/{id}/custom-fields: + get: + '200': + application/json: EstimatesListCustomFieldsResponse + /estimates/{id}/payments: + get: + '200': + application/json: EstimatesGetPaymentsListResponse + /estimates/{id}/smart-tags: + get: + '200': + application/json: EstimatesGetSmartTagsListResponse + post: + '200': + application/json: EstimatesLinkSmartTagsResponse + /estimates/{id}/status: + put: + '200': + application/json: EstimatesUpdateStatusResponse + /fiscal-years: + get: + '200': + application/json: FiscalYearGetListResponse + /individuals: + get: + '200': + application/json: IndividualsGetListResponse + /individuals/favourite-filters: + get: + '200': + application/json: IndividualsListFavouriteFiltersResponse + /individuals/search: + post: + '200': + application/json: IndividualsSearchResultsResponse + /individuals/{id}/contacts: + get: + '200': + application/json: IndividualsGetContactsResponse + /individuals/{id}/custom-fields: + get: + '200': + application/json: IndividualsGetCustomFieldsResponse + /individuals/{id}/smart-tags: + get: + '200': + application/json: IndividualsGetSmartTagsListResponse + post: + '200': + application/json: IndividualsLinkSmartTagsResponse + /individuals/{individualId}/addresses: + get: + '200': + application/json: IndividualsGetAddressesResponse + /individuals/{individualId}/files: + get: + '200': + application/json: IndividualsListFilesOfIndividualResponse + /invoices: + get: + '200': + application/json: InvoicesListResponse + /invoices/favourite-filters: + get: + '200': + application/json: InvoicesListFavouriteFiltersResponse + /invoices/search: + post: + '200': + application/json: InvoicesSearchInvoicesResponse + /invoices/{documentId}/files: + get: + '200': + application/json: InvoicesListFilesResponse + /invoices/{documentId}/payments/{paymentId}: + post: + '201': + application/json: InvoicesLinkPaymentToInvoiceResponse + /invoices/{id}/credit-notes: + get: + '200': + application/json: InvoicesGetCreditNotesResponse + /invoices/{id}/custom-fields: + get: + '200': + application/json: InvoicesGetCustomFieldsResponse + /invoices/{id}/payments: + get: + '200': + application/json: InvoicesGetPaymentsListResponse + /invoices/{id}/smart-tags: + get: + '200': + application/json: InvoicesGetSmartTagsListResponse + post: + '200': + application/json: InvoicesLinkSmartTagsResponse + /items: + get: + '200': + application/json: ItemsGetListResponse + /items/favourite-filters: + get: + '200': + application/json: ItemsListFavouriteFiltersResponse + /items/search: + post: + '200': + application/json: ItemsSearchItemsResponse + /items/{id}/prices: + get: + '200': + application/json: ItemsGetPricesListResponse + put: + '200': + application/json: ItemsUpdatePricesListResponse + /notifications: + get: + '200': + application/json: NotificationsGetUserNotificationsResponse + /notifications/search: + post: + '200': + application/json: NotificationsSearchUserNotificationsResponse + /ocr/pur-invoice: + get: + '200': + application/json: PurchaseOcrListPurchaseInvoicesResponse + /ocr/pur-invoice/search: + post: + '200': + application/json: PurchaseOcrSearchDocumentResponse + /opportunities: + get: + '200': + application/json: OpportunitiesGetListResponse + /opportunities/categories: + get: + '200': + application/json: OpportunitiesListCategoriesResponse + /opportunities/categories/{sourceCategoryId}/sources: + get: + '200': + application/json: OpportunitiesListCategorySourcesResponse + /opportunities/favourite-filters: + get: + '200': + application/json: OpportunitiesListFavouriteFiltersResponse + /opportunities/pipelines: + get: + '200': + application/json: OpportunitiesListPipelinesResponse + /opportunities/pipelines/search: + post: + '200': + application/json: OpportunitiesSearchPipelinesResponse + /opportunities/pipelines/{pipelineId}/steps: + get: + '200': + application/json: OpportunitiesGetPipelineStepsResponse + /opportunities/pipelines/{pipelineId}/steps/search: + post: + '200': + application/json: OpportunitiesSearchPipelineStepsResponse + /opportunities/search: + post: + '200': + application/json: OpportunitiesSearchOpportunitiesResponse + /opportunities/sources: + get: + '200': + application/json: OpportunitiesGetSourcesListResponse + /opportunities/sources/search: + post: + '200': + application/json: OpportunitiesSearchSourcesResponse + /opportunities/steps/search: + post: + '200': + application/json: OpportunitiesSearchPipelineSteps200Response + /opportunities/{id}/custom-fields: + get: + '200': + application/json: OpportunitiesGetCustomFieldsResponse + /opportunities/{id}/smart-tags: + get: + '200': + application/json: OpportunitiesGetSmartTagsResponse + post: + '200': + application/json: OpportunitiesLinkSmartTagsResponse + /opportunities/{opportunityId}/files: + get: + '200': + application/json: OpportunitiesListFilesResponse + /orders: + get: + '200': + application/json: OrdersGetAllResponse + /orders/favourite-filters: + get: + '200': + application/json: OrdersListFavouriteFiltersResponse + /orders/search: + post: + '200': + application/json: OrdersSearchOrdersResponse + /orders/{documentId}/files: + get: + '200': + application/json: OrdersListFilesResponse + /orders/{documentId}/payments/{paymentId}: + post: + '201': + application/json: OrdersLinkPaymentToOrderResponse + /orders/{id}/custom-fields: + get: + '200': + application/json: OrdersGetCustomFieldsListResponse + /orders/{id}/payments: + get: + '200': + application/json: OrdersGetPaymentsListResponse + /orders/{id}/smart-tags: + get: + '200': + application/json: OrdersListSmartTagsResponse + post: + '200': + application/json: OrdersLinkSmartTagsResponse + /payments: + get: + '200': + application/json: PaymentsGetListResponse + /payments/methods: + get: + '200': + application/json: PaymentsGetMethodsResponse + /payments/methods/search: + post: + '200': + application/json: PaymentsSearchMethodsResponse + /payments/search: + post: + '200': + application/json: PaymentsSearchPaymentsResponse + /personal-access-tokens: + get: + '200': + application/json: ApiManagementListPersonalAccessTokensResponse + post: + '201': + application/json: ApiManagementCreatePersonalAccessTokenResponse + /phone-calls: + get: + '200': + application/json: PhoneCallsGetListResponse + /phone-calls/search: + post: + '200': + application/json: PhoneCallsSearchListResponse + /primes: + get: + '200': + application/json: DiscountIncludingTaxesGetPrimesListResponse + /profiles: + get: + '200': + application/json: StaffsGetProfilesListResponse + /rate-categories: + get: + '200': + application/json: RateCategoriesGetListResponse + /scopes: + get: + '200': + application/json: ApiManagementListScopesResponse + /scopes/tree: + get: + '200': + application/json: ApiManagementGetScopesTreeResponse + /search: + get: + '200': + application/json: ListingsSearchObjectsResponse + /settings/email/tags: + get: + '200': + application/json: EmailsGetAvailableTagsForSettingsResponse + /smart-tags/{linkedtype}/autocomplete: + get: + '200': + application/json: SmartTagsAutocompleteGetResponse + /staffs: + get: + '200': + application/json: StaffsGetListResponse + post: + '201': + application/json: StaffsCreateStaffResponse + /staffs/search: + post: + '200': + application/json: StaffsSearchListResponse + /staffs/{id}: + get: + '200': + application/json: StaffsGetStaffResponse + put: + '200': + application/json: StaffsUpdateInformationResponse + /subscriptions: + get: + '200': + application/json: SubscriptionsGetListResponse + /subscriptions/payment-installments: + get: + '200': + application/json: SubscriptionsGetPaymentInstallmentsResponse + /subscriptions/payment-installments/search: + post: + '200': + application/json: SubscriptionsSearchPaymentInstallmentsResponse + /subscriptions/search: + post: + '200': + application/json: SubscriptionsSearchSubscriptionsResponse + /tasks: + get: + '200': + application/json: TasksGetListResponse + /tasks/labels: + get: + '200': + application/json: TasksGetLabelsResponse + /tasks/search: + post: + '200': + application/json: TasksSearchTasksResponse + /taxes: + get: + '200': + application/json: TaxesGetListResponse + /taxes/accounting-codes: + get: + '200': + application/json: TaxesGetAccountingCodesResponse + /taxes/search: + post: + '200': + application/json: TaxesSearchTaxesResponse + /teams: + get: + '200': + application/json: StaffsListTeamsResponse + /timeline/{type}/{id}/search: + post: + '200': + application/json: ActivitiesSearchTimelineActivityResponse + /units: + get: + '200': + application/json: UnitsGetAllResponse + /webhooks: + get: + '200': + application/json: WebhooksGetListResponse + /webhooks/search: + post: + '200': + application/json: WebhooksSearchWebhooksListResponse +securityParameters: + direction: + query: false + embed: + query: false + field: + query: false + include_ecotax: + query: false + language: + query: false + limit: + query: false + offset: + query: false + order: + query: false + q: + query: false + type: + query: false + verify: + query: false +validServerUrls: {} diff --git a/sdks/db/published/from-custom-request_30k.com_Milefy.json b/sdks/db/published/from-custom-request_30k.com_Milefy.json index 6489e071b..69e9360ed 100644 --- a/sdks/db/published/from-custom-request_30k.com_Milefy.json +++ b/sdks/db/published/from-custom-request_30k.com_Milefy.json @@ -23,7 +23,7 @@ }, "customRequestSpecFilename": "30k.com_Milefy.yaml", "difficultyScore": 39, - "difficulty": "Easy", + "difficulty": "Very Easy", "company": "30K", "serviceName": "Milefy", "sdkName": "30-k-milefy-{language}-sdk", @@ -664,7 +664,7 @@ "previewLinkImage": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/30-k/milefy/imagePreview.jpg", "faviconUrl": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/30-k/milefy/favicon.png", "clientNameCamelCase": "30KMilefy", - "lastUpdated": "2024-03-29T18:55:05.537Z", + "lastUpdated": "2024-03-29T23:09:10.236Z", "typescriptSdkUsageCode": "import { 30KMilefy } from '30-k-milefy-typescript-sdk';\n\nconst 30KMilefy = new 30KMilefy({\n /*\n * We use SSL to transmit data from client to our service. You must authenticate client with provided API key passed as parameter in query string. [Don't have API key?](mailto:support@30k.com)\n * \n * #### URL example\n * \n * ```https://milefy-api.30k.com/travelers?apiKey=eW91cmxvZ2luOnlvd```\n * \n */\n apiKey: \"API_KEY\"\n})", "typescriptSdkFirstRequestCode": "// Get program collection\nconst getFrequentFlyerProgramsResponse = 30KMilefy.staticData.getFrequentFlyerPrograms({\n authentication: \"simple,none\"\n})", "fixedSpecFileName": "30-k-milefy-fixed-spec.yaml" diff --git a/sdks/db/published/from-custom-request_relysia.com.json b/sdks/db/published/from-custom-request_relysia.com.json new file mode 100644 index 000000000..251555e02 --- /dev/null +++ b/sdks/db/published/from-custom-request_relysia.com.json @@ -0,0 +1,3280 @@ +{ + "securitySchemes": { + "authToken": { + "type": "apiKey", + "in": "header", + "name": "authToken" + }, + "serviceID": { + "type": "apiKey", + "in": "header", + "name": "serviceID" + } + }, + "apiBaseUrl": "https://api.relysia.com", + "apiVersion": "2.4.8", + "apiDescription": "Relysia makes blockchain adoption frictionless and easy.", + "apiTitle": "Relysia Blockchain API", + "endpoints": 78, + "sdkMethods": 85, + "schemas": 197, + "parameters": 252, + "originalCustomRequest": { + "type": "GET", + "url": "https://api.relysia.com/docs/json" + }, + "customRequestSpecFilename": "relysia.com.yaml", + "difficultyScore": 148, + "difficulty": "Medium", + "company": "Relysia", + "sdkName": "relysia-{language}-sdk", + "clientName": "Relysia", + "metaDescription": "Relysia is a blockchain as a service provider for any enterprise and commercial companies and start-ups who wish to build their own blockchain applications. \n\nYou can use our APIs as building blocks to pick and choose how advanced you want your Bitcoin platform to be.\n\nWith over 50 blockchain related APIs, you can build any application you wish. With Relysia API, wallet creation, transactions, data storage, tokens, NFTs and smart contracts are all easy to implement as they require less than 10 lines of code.\n\nWe are simplifying Bitcoin application development. By providing our scalable and robust infrastructure, we help businesses reduce their time to market by over 90% allowing them to quickly iterate through ideas and execution strategies to find their product market fit.\n\nYou can explore the Relysia API documentation at: https://docs.relysia.com/.\nWe also have a Swagger implementation for demonstration and testing purposes available at: https://api.relysia.com/docs/.\n\nOur services have empowered many entrepreneurs and companies to actualise their blockchain ideas. Get in touch with us to explore Relysia API in deeper detail. \n\nRelysia by Vaionex Corporation", + "apiStatusUrls": "inherit", + "homepage": "relysia.com", + "developerDocumentation": "api.relysia.com/docs/static/index.html", + "categories": [ + "blockchain" + ], + "category": "Developer Tools", + "methods": [ + { + "url": "/", + "method": "getData", + "httpMethod": "get", + "tag": "Utility", + "typeScriptTag": "utility", + "description": "", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "Default Response" + } + ] + }, + { + "url": "/v1/issue", + "method": "mintToken", + "httpMethod": "post", + "tag": "Smart Contracts", + "typeScriptTag": "smartContracts", + "description": "Mint a Token.", + "parameters": [ + { + "name": "protocol", + "schema": "string", + "required": false, + "description": "", + "default": "STAS" + }, + { + "name": "reminting", + "schema": "boolean", + "required": false, + "description": "", + "default": "false" + }, + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "description", + "schema": "string", + "required": true, + "description": "", + "example": "DESCRIPTION" + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "NAME" + }, + { + "name": "protocolId", + "schema": "string", + "required": true, + "description": "", + "example": "PROTOCOLID", + "default": "STAS" + }, + { + "name": "symbol", + "schema": "string", + "required": true, + "description": "", + "example": "SYMBOL" + }, + { + "name": "image", + "schema": "string", + "required": true, + "description": "", + "example": "IMAGE" + }, + { + "name": "tokenSupply", + "schema": "number", + "required": true, + "description": "", + "example": 0, + "default": 3 + }, + { + "name": "decimals", + "schema": "number", + "required": false, + "description": "", + "default": 0 + }, + { + "name": "satsPerToken", + "schema": "number", + "required": true, + "description": "", + "example": 0, + "default": 1 + }, + { + "name": "properties", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "splitable", + "schema": "boolean", + "required": false, + "description": "", + "default": "true" + }, + { + "name": "data", + "schema": "object", + "required": false, + "description": "", + "default": {} + }, + { + "name": "nftMetadataSerialNumberStart", + "schema": "number", + "required": false, + "description": "" + }, + { + "name": "nftMetadataTotalSupply", + "schema": "number", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/token/{id}", + "method": "getTokenDetails", + "httpMethod": "get", + "tag": "Smart Contracts", + "typeScriptTag": "smartContracts", + "description": "Get STAS token details.", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/URI", + "method": "resolveAddressInfo", + "httpMethod": "get", + "tag": "Utility", + "typeScriptTag": "utility", + "description": "Resolve address and paymail alias information.", + "parameters": [ + { + "name": "uri", + "schema": "string", + "required": true, + "description": "", + "example": "URI" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/signUp", + "method": "createUserToken", + "httpMethod": "post", + "tag": "Authentication", + "typeScriptTag": "authentication", + "description": "User Registration.", + "parameters": [ + { + "name": "email", + "schema": "string", + "required": true, + "description": "", + "example": "EMAIL" + }, + { + "name": "password", + "schema": "string", + "required": true, + "description": "", + "example": "PASSWORD" + }, + { + "name": "photo", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "displayName", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Successful response" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/auth", + "method": "userLogin", + "httpMethod": "post", + "tag": "Authentication", + "typeScriptTag": "authentication", + "description": "Login Endpoint.", + "parameters": [ + { + "name": "email", + "schema": "string", + "required": true, + "description": "", + "example": "EMAIL" + }, + { + "name": "password", + "schema": "string", + "required": true, + "description": "", + "example": "PASSWORD" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Successful response" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/password/change", + "method": "changeUserPassword", + "httpMethod": "post", + "tag": "Authentication", + "typeScriptTag": "authentication", + "description": "Change password Endpoint", + "parameters": [ + { + "name": "newPassword", + "schema": "string", + "required": true, + "description": "", + "example": "NEWPASSWORD" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Successful response" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/user", + "method": "userAccount", + "httpMethod": "delete", + "tag": "Delete", + "typeScriptTag": "delete", + "description": "delete user account", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/user", + "method": "getProfileDetails", + "httpMethod": "get", + "tag": "Identity", + "typeScriptTag": "identity", + "description": "Profile details.", + "parameters": [ + { + "name": "oauth", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Successful response" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/send", + "method": "createTransactionToAddress", + "httpMethod": "post", + "tag": "Transactions", + "typeScriptTag": "transactions", + "description": "Transfer coins to an address.", + "parameters": [ + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "bundle", + "schema": "boolean", + "required": false, + "description": "", + "default": true + }, + { + "name": "dataArray", + "schema": "array", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Successful response" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/rawtx", + "method": "createRawTx", + "httpMethod": "post", + "tag": "Transactions", + "typeScriptTag": "transactions", + "description": "Build and return a rawTx", + "parameters": [ + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "dataArray", + "schema": "array", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Successful response" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/migrateToken", + "method": "migrateTokenRequest", + "httpMethod": "post", + "tag": "admin", + "typeScriptTag": "admin", + "description": "Migrate token", + "parameters": [ + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/tokenMetrics", + "method": "syncTokenFromBlockchain", + "httpMethod": "get", + "tag": "Utility", + "typeScriptTag": "utility", + "description": "sync token from blockchain", + "parameters": [ + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "force", + "schema": "boolean", + "required": false, + "description": "", + "default": false + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/drop", + "method": "withdrawFromPrivateKey", + "httpMethod": "post", + "tag": "Transactions", + "typeScriptTag": "transactions", + "description": "Withdraws coins from PrivateKeys.", + "parameters": [ + { + "name": "secretKey", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "privateKey", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "dataArray", + "schema": "array", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Successful response" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/sweep", + "method": "transferAssetsFromPrivateKey", + "httpMethod": "post", + "tag": "Transactions", + "typeScriptTag": "transactions", + "description": "Transfers all assets from PrivateKey to the User.", + "parameters": [ + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "items", + "schema": "object", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Successful response" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/offer", + "method": "createAtomicSwap", + "httpMethod": "post", + "tag": "Transactions", + "typeScriptTag": "transactions", + "description": "Create an Atomic Swap", + "parameters": [ + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "dataArray", + "schema": "array", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/swap", + "method": "acceptSwapOffer", + "httpMethod": "post", + "tag": "Transactions", + "typeScriptTag": "transactions", + "description": "Accepting atomic swap offers.", + "parameters": [ + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "dataArray", + "schema": "array", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/exchangeOffer", + "method": "createSwapOffer", + "httpMethod": "post", + "tag": "Transactions", + "typeScriptTag": "transactions", + "description": "Creates swap offer for exchange - returns swap ID", + "parameters": [ + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "dataArray", + "schema": "array", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/exchangeSwap", + "method": "acceptSwapOffer", + "httpMethod": "post", + "tag": "Transactions", + "typeScriptTag": "transactions", + "description": "Atomic Swap", + "parameters": [ + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "dataArray", + "schema": "array", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/inspect", + "method": "inspectAtomicSwapOffer", + "httpMethod": "post", + "tag": "Transactions", + "typeScriptTag": "transactions", + "description": "Inspect an atomic swap offer.", + "parameters": [ + { + "name": "dataArray", + "schema": "array", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/redeem", + "method": "redeemTokens", + "httpMethod": "post", + "tag": "Smart Contracts", + "typeScriptTag": "smartContracts", + "description": "Smart contract Redemption.", + "parameters": [ + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "dataArray", + "schema": "array", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/createWallet", + "method": "createHdWalletOfChoice", + "httpMethod": "get", + "tag": "Wallets", + "typeScriptTag": "wallets", + "description": "Create a wallet.", + "parameters": [ + { + "name": "walletTitle", + "schema": "string", + "required": true, + "description": "", + "example": "WALLETTITLE" + }, + { + "name": "mnemonicPhrase", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "paymail", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "paymailActivate", + "schema": "boolean", + "required": false, + "description": "" + }, + { + "name": "type", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "walletLogo", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Successful response" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/metrics", + "method": "getLatestUtxoState", + "httpMethod": "get", + "tag": "Utility", + "typeScriptTag": "utility", + "description": "Get the latest wallet UTXO state.", + "parameters": [ + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/address", + "method": "getAddressAndPaymail", + "httpMethod": "get", + "tag": "Wallets", + "typeScriptTag": "wallets", + "description": "Get your wallet address and paymail.", + "parameters": [ + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Successful response" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/allAddresses", + "method": "getAllAddresses", + "httpMethod": "get", + "tag": "Wallets", + "typeScriptTag": "wallets", + "description": "Get all wallet addresses.", + "parameters": [ + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Successful response" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/balance", + "method": "getBalance", + "httpMethod": "get", + "tag": "Wallets", + "typeScriptTag": "wallets", + "description": "Get your wallet balance.", + "parameters": [ + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "type", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "currency", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "nextPageToken", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "compact", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Successful response" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/leaderboard", + "method": "getTokenOwnershipDetails", + "httpMethod": "get", + "tag": "Wallets", + "typeScriptTag": "wallets", + "description": "Get token ownership details", + "parameters": [ + { + "name": "nextPageToken", + "schema": "number", + "required": false, + "description": "" + }, + { + "name": "tokenId", + "schema": "string", + "required": true, + "description": "", + "example": "TOKENID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Successful response" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/history", + "method": "getTransactionHistory", + "httpMethod": "get", + "tag": "Wallets", + "typeScriptTag": "wallets", + "description": "Get your transaction history.", + "parameters": [ + { + "name": "nextPageToken", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "tokenId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "type", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "version", + "schema": "string", + "required": false, + "description": "", + "default": "1.0.0" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Successful response" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/wallets", + "method": "allWallets", + "httpMethod": "delete", + "tag": "Delete", + "typeScriptTag": "delete", + "description": "to delete all wallet, this api will delete all wallets at once", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/wallets", + "method": "listAvailableUserWallets", + "httpMethod": "get", + "tag": "Wallets", + "typeScriptTag": "wallets", + "description": "List of available user wallets.", + "parameters": [ + { + "name": "oauth", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Successful response" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/mnemonic", + "method": "getMnemonicPhrase", + "httpMethod": "get", + "tag": "Wallets", + "typeScriptTag": "wallets", + "description": "Get your mnemonic phrase.", + "parameters": [ + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Successful response" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/pay", + "method": "resolveInvoiceRequest", + "httpMethod": "post", + "tag": "Transactions", + "typeScriptTag": "transactions", + "description": "Pay an invoice request.", + "parameters": [ + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "uri", + "schema": "string", + "required": true, + "description": "", + "example": "URI" + }, + { + "name": "type", + "schema": "string", + "required": true, + "description": "", + "example": "TYPE" + }, + { + "name": "mainProtocol", + "schema": "string", + "required": true, + "description": "", + "example": "MAINPROTOCOL" + }, + { + "name": "outputs", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "inputs", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "modes", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "network", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "paymentUrl", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "creationTimeStamp", + "schema": "number", + "required": false, + "description": "" + }, + { + "name": "expirationTimeStamp", + "schema": "number", + "required": false, + "description": "" + }, + { + "name": "memo", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "isBSV", + "schema": "boolean", + "required": false, + "description": "" + }, + { + "name": "peer", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "peerData", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "peerProtocol", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "beneficiary", + "schema": "object", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/initBeta", + "method": "setupFeeManager", + "httpMethod": "get", + "tag": "admin", + "typeScriptTag": "admin", + "description": "Setup your Fee Manager.", + "parameters": [ + { + "name": "mnemonic", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/feeMetricsBeta", + "method": "getUtxoSet", + "httpMethod": "get", + "tag": "admin", + "typeScriptTag": "admin", + "description": "Get all feeManager UTXOs.", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/feeAddressBeta", + "method": "getFeeManagerAddresses", + "httpMethod": "get", + "tag": "admin", + "typeScriptTag": "admin", + "description": "Get all Fee Manager addresses.", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/feeUtxoState", + "method": "getFeeUtxoState", + "httpMethod": "get", + "tag": "admin", + "typeScriptTag": "admin", + "description": "Get current state of fee manager UTXOs", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/currencyConversion", + "method": "convertSatoshiToFiat", + "httpMethod": "get", + "tag": "Utility", + "typeScriptTag": "utility", + "description": "Converts BSV satoshis to fiat currency.", + "parameters": [ + { + "name": "satoshis", + "schema": "string", + "required": true, + "description": "", + "example": "SATOSHIS" + }, + { + "name": "currency", + "schema": "string", + "required": true, + "description": "", + "example": "CURRENCY" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/notificationToken/{userId}", + "method": "notificationToken", + "httpMethod": "delete", + "tag": "Delete", + "typeScriptTag": "delete", + "description": "Remove a notification token.", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "", + "example": "USERID" + }, + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/notificationToken/{userId}", + "method": "updateToken", + "httpMethod": "put", + "tag": "Notifications", + "typeScriptTag": "notifications", + "description": "Update notification token.", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "", + "example": "USERID" + }, + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "expoNotificationToken", + "schema": "string", + "required": true, + "description": "", + "example": "EXPONOTIFICATIONTOKEN" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/sendNotification", + "method": "sendNotification", + "httpMethod": "post", + "tag": "Notifications", + "typeScriptTag": "notifications", + "description": "Send a Notification", + "parameters": [ + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "type", + "schema": "string", + "required": false, + "description": "", + "default": "to" + }, + { + "name": "userAddress", + "schema": "string", + "required": true, + "description": "", + "example": "USERADDRESS" + }, + { + "name": "amount", + "schema": "number", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "transactionType", + "schema": "string", + "required": false, + "description": "", + "default": "BSV" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/invoice", + "method": "createInvoiceRequest", + "httpMethod": "post", + "tag": "Transactions", + "typeScriptTag": "transactions", + "description": "Create an invoice.", + "parameters": [ + { + "name": "description", + "schema": "string", + "description": "" + }, + { + "name": "type", + "schema": "string", + "description": "", + "default": "USD" + }, + { + "name": "amount", + "schema": "number", + "description": "" + }, + { + "name": "address", + "schema": "string", + "description": "" + }, + { + "name": "expirationTimeInMinuts", + "schema": "number", + "description": "", + "default": 1 + }, + { + "name": "memo", + "schema": "string", + "description": "" + }, + { + "name": "merchantData", + "schema": "string", + "description": "" + }, + { + "name": "paymentOptions", + "schema": "array", + "description": "" + }, + { + "name": "modeId", + "schema": "string", + "description": "" + }, + { + "name": "beneficiary", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/paymentRequest/{invoiceId}", + "method": "createInvoiceRequest", + "httpMethod": "get", + "tag": "Transactions", + "typeScriptTag": "transactions", + "description": "Create an Invoice", + "parameters": [ + { + "name": "invoiceId", + "schema": "string", + "required": true, + "description": "", + "example": "INVOICEID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/paymentRequest/pay/{invoiceId}", + "method": "settleInvoiceRequest", + "httpMethod": "post", + "tag": "Transactions", + "typeScriptTag": "transactions", + "description": "Settle an invoice request.", + "parameters": [ + { + "name": "invoiceId", + "schema": "string", + "required": true, + "description": "", + "example": "INVOICEID" + }, + { + "name": "merchantData", + "schema": "string", + "required": true, + "description": "", + "example": "MERCHANTDATA" + }, + { + "name": "transaction", + "schema": "string", + "required": true, + "description": "", + "example": "TRANSACTION" + }, + { + "name": "refundTo", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "memo", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/domain/generateToken", + "method": "verifyDomainOwnership", + "httpMethod": "post", + "tag": "admin", + "typeScriptTag": "admin", + "description": "Generates a domain verification token", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "domain", + "schema": "string", + "required": true, + "description": "", + "example": "DOMAIN" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/domain/{userId}/verifyToken", + "method": "verifyDomainOwnership", + "httpMethod": "post", + "tag": "admin", + "typeScriptTag": "admin", + "description": "verify domain ownership", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "", + "example": "USERID" + }, + { + "name": "domain", + "schema": "string", + "required": true, + "description": "", + "example": "DOMAIN" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/paymail/{paymailId}", + "method": "getAddressInfo", + "httpMethod": "get", + "tag": "paymail", + "typeScriptTag": "paymail", + "description": "", + "parameters": [ + { + "name": "paymailId", + "schema": "string", + "required": true, + "description": "", + "example": "PAYMAILID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/paymail", + "method": "updateAddressInfo", + "httpMethod": "put", + "tag": "paymail", + "typeScriptTag": "paymail", + "description": "", + "parameters": [ + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "newPaymailId", + "schema": "string", + "required": true, + "description": "", + "example": "NEWPAYMAILID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/wallet", + "method": "walletData", + "httpMethod": "delete", + "tag": "Delete", + "typeScriptTag": "delete", + "description": "to delete a wallet, this api will delete your wallet and related data of that walletId", + "parameters": [ + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/paymail/activate", + "method": "activateDeactivate", + "httpMethod": "post", + "tag": "paymail", + "typeScriptTag": "paymail", + "description": "to activate and deActivate paymail", + "parameters": [ + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "activate", + "schema": "boolean", + "required": true, + "description": "", + "example": true, + "default": true + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/reset/password", + "method": "resetUserPasswordConfirmation", + "httpMethod": "post", + "tag": "Authentication", + "typeScriptTag": "authentication", + "description": "Password Reset.", + "parameters": [ + { + "name": "email", + "schema": "string", + "required": true, + "description": "", + "example": "EMAIL" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Successful response" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/transpile", + "method": "transpileSolidityCodeToScrypt", + "httpMethod": "post", + "tag": "Utility", + "typeScriptTag": "utility", + "description": "transpile solidity code to sCrypt.", + "parameters": [ + { + "name": "force", + "schema": "boolean", + "required": false, + "description": "", + "default": "false" + }, + { + "name": "sourceCode", + "schema": "string", + "required": true, + "description": "", + "example": "SOURCECODE" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/compile", + "method": "compileScryptToBitcoinScript", + "httpMethod": "post", + "tag": "Utility", + "typeScriptTag": "utility", + "description": "compile sCrypt code to Bitcoin Script.", + "parameters": [ + { + "name": "sourceCode", + "schema": "string", + "required": true, + "description": "", + "example": "SOURCECODE" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/post", + "method": "postMessagesToBlockchain", + "httpMethod": "post", + "tag": "Utility", + "typeScriptTag": "utility", + "description": "Post Messages to the Blockchain.", + "parameters": [ + { + "name": "customToken", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "dataArray", + "schema": "array", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/lookup", + "method": "getAssetBalance", + "httpMethod": "post", + "tag": "Utility", + "typeScriptTag": "utility", + "description": "Returns balance of all assets of Private Key", + "parameters": [ + { + "name": "nextPageToken", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "tokenId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "type", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "currency", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "compact", + "schema": "boolean", + "required": false, + "description": "", + "default": true + }, + { + "name": "maxResults", + "schema": "number", + "required": false, + "description": "" + }, + { + "name": "privateKey", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Successful response" + } + ] + }, + { + "url": "/v1/asm", + "method": "uploadCustomAsmScripts", + "httpMethod": "post", + "tag": "Transactions", + "typeScriptTag": "transactions", + "description": "Upload custom ASM scripts in a transaction", + "parameters": [ + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "dataArray", + "schema": "array", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/sign", + "method": "signMessageToAddress", + "httpMethod": "post", + "tag": "Utility", + "typeScriptTag": "utility", + "description": "Sign a message to an address string", + "parameters": [ + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "dataArray", + "schema": "array", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v2/balance", + "method": "getBalances", + "httpMethod": "get", + "tag": "Wallets", + "typeScriptTag": "wallets", + "description": "Get your wallet balance.", + "parameters": [ + { + "name": "nextPageToken", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "tokenId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "symbol", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "type", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "currency", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "compact", + "schema": "boolean", + "required": false, + "description": "", + "default": true + }, + { + "name": "maxResults", + "schema": "number", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Successful response" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v2/history", + "method": "getTransactionHistory", + "httpMethod": "get", + "tag": "Wallets", + "typeScriptTag": "wallets", + "description": "Get your transaction history.", + "parameters": [ + { + "name": "nextPageToken", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "tokenId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "protocol", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "limit", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "type", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Successful response" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v2/token/{id}", + "method": "getTokenDetails", + "httpMethod": "get", + "tag": "Smart Contracts", + "typeScriptTag": "smartContracts", + "description": "Get STAS token details.", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v2/inspect", + "method": "inspectAtomicSwapOffer", + "httpMethod": "post", + "tag": "Transactions", + "typeScriptTag": "transactions", + "description": "Inspect an atomic swap offer.", + "parameters": [ + { + "name": "dataArray", + "schema": "array", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v2/issue", + "method": "mintToken", + "httpMethod": "post", + "tag": "Smart Contracts", + "typeScriptTag": "smartContracts", + "description": "Mint a Token.", + "parameters": [ + { + "name": "protocol", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "reminting", + "schema": "boolean", + "required": false, + "description": "", + "default": "false" + }, + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "type", + "schema": "string", + "required": true, + "description": "", + "example": "TYPE", + "default": "NFT" + }, + { + "name": "description", + "schema": "string", + "required": true, + "description": "", + "example": "DESCRIPTION" + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "NAME" + }, + { + "name": "protocolId", + "schema": "string", + "required": false, + "description": "", + "default": "STAS" + }, + { + "name": "symbol", + "schema": "string", + "required": true, + "description": "", + "example": "SYMBOL" + }, + { + "name": "image", + "schema": "string", + "required": true, + "description": "", + "example": "IMAGE" + }, + { + "name": "tokenSupply", + "schema": "number", + "required": true, + "description": "", + "example": 0, + "default": 3 + }, + { + "name": "decimals", + "schema": "number", + "required": false, + "description": "", + "default": 0 + }, + { + "name": "satsPerToken", + "schema": "number", + "required": true, + "description": "", + "example": 0, + "default": 1 + }, + { + "name": "properties", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "splitable", + "schema": "boolean", + "required": false, + "description": "", + "default": "true" + }, + { + "name": "data", + "schema": "object", + "required": false, + "description": "", + "default": {} + }, + { + "name": "nftMetadataSerialNumberStart", + "schema": "number", + "required": false, + "description": "" + }, + { + "name": "nftMetadataTotalSupply", + "schema": "number", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v2/send", + "method": "transferToAddress", + "httpMethod": "post", + "tag": "Transactions", + "typeScriptTag": "transactions", + "description": "Transfer coins to an address.", + "parameters": [ + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "bundle", + "schema": "boolean", + "required": false, + "description": "", + "default": true + }, + { + "name": "txPayloads", + "schema": "array", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Operation completed successfully" + }, + { + "statusCode": "207", + "description": "Operation completed with partial success" + }, + { + "statusCode": "500", + "description": "Operation failed" + } + ] + }, + { + "url": "/v1/plan/{serviceType}/activate", + "method": "activateServiceType", + "httpMethod": "post", + "tag": "quota", + "typeScriptTag": "quota", + "description": "", + "parameters": [ + { + "name": "serviceType", + "schema": "string", + "required": true, + "description": "", + "example": "SERVICETYPE" + }, + { + "name": "chargeFrom", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "serviceId", + "schema": "string", + "required": true, + "description": "", + "example": "SERVICEID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/plan/quota", + "method": "updatePlanQuota", + "httpMethod": "put", + "tag": "quota", + "typeScriptTag": "quota", + "description": "", + "parameters": [ + { + "name": "serviceType", + "schema": "string", + "required": true, + "description": "", + "example": "SERVICETYPE" + }, + { + "name": "serviceId", + "schema": "string", + "required": true, + "description": "", + "example": "SERVICEID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/plan/deactivate", + "method": "deactivatePlan", + "httpMethod": "put", + "tag": "quota", + "typeScriptTag": "quota", + "description": "", + "parameters": [ + { + "name": "serviceId", + "schema": "string", + "required": true, + "description": "", + "example": "SERVICEID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/admin/v1/setup", + "method": "setupPost", + "httpMethod": "post", + "tag": "admin", + "typeScriptTag": "admin", + "description": "", + "parameters": [ + { + "name": "projectName", + "schema": "string", + "description": "" + }, + { + "name": "db_store_mode", + "schema": "string", + "description": "" + }, + { + "name": "type", + "schema": "string", + "description": "" + }, + { + "name": "paymailDomain", + "schema": "string", + "description": "" + }, + { + "name": "firebaseConfig", + "schema": "object", + "description": "" + }, + { + "name": "legal", + "schema": "object", + "description": "" + }, + { + "name": "primaryDatabase", + "schema": "string", + "description": "" + }, + { + "name": "supabaseConfig", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/admin/v1/setup/{serviceId}", + "method": "deleteServiceSetup", + "httpMethod": "delete", + "tag": "admin", + "typeScriptTag": "admin", + "description": "", + "parameters": [ + { + "name": "serviceId", + "schema": "string", + "required": true, + "description": "", + "example": "SERVICEID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/admin/v1/setup/{serviceId}", + "method": "getServiceSetup", + "httpMethod": "get", + "tag": "admin", + "typeScriptTag": "admin", + "description": "", + "parameters": [ + { + "name": "serviceId", + "schema": "string", + "required": true, + "description": "", + "example": "SERVICEID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/admin/v1/setup/{serviceId}", + "method": "updateServiceSetup", + "httpMethod": "put", + "tag": "admin", + "typeScriptTag": "admin", + "description": "", + "parameters": [ + { + "name": "serviceId", + "schema": "string", + "required": true, + "description": "", + "example": "SERVICEID" + }, + { + "name": "projectName", + "schema": "string", + "description": "" + }, + { + "name": "db_store_mode", + "schema": "string", + "description": "" + }, + { + "name": "type", + "schema": "string", + "description": "" + }, + { + "name": "paymailDomain", + "schema": "string", + "description": "" + }, + { + "name": "firebaseConfig", + "schema": "object", + "description": "" + }, + { + "name": "legal", + "schema": "object", + "description": "" + }, + { + "name": "supabaseConfig", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/admin/v1/setup/serviceIds", + "method": "getServiceIds", + "httpMethod": "get", + "tag": "admin", + "typeScriptTag": "admin", + "description": "", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/admin/v1/metrics", + "method": "createMetricsRecord", + "httpMethod": "post", + "tag": "admin", + "typeScriptTag": "admin", + "description": "", + "parameters": [ + { + "name": "walletId", + "schema": "string", + "required": true, + "description": "", + "example": "WALLETID" + }, + { + "name": "userId", + "schema": "string", + "required": true, + "description": "", + "example": "USERID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/admin/v1/tokenMetrics", + "method": "calculateTokenMetrics", + "httpMethod": "post", + "tag": "admin", + "typeScriptTag": "admin", + "description": "", + "parameters": [ + { + "name": "userId", + "schema": "string", + "required": true, + "description": "", + "example": "USERID" + }, + { + "name": "walletId", + "schema": "string", + "required": true, + "description": "", + "example": "WALLETID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/admin/v1/plans", + "method": "createPlan", + "httpMethod": "post", + "tag": "admin", + "typeScriptTag": "admin", + "description": "", + "parameters": [ + { + "name": "serviceType", + "schema": "string", + "required": true, + "description": "", + "example": "SERVICETYPE" + }, + { + "name": "cost", + "schema": "number", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "apiCallLimit", + "schema": "number", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "feeManagerFundPerMonth", + "schema": "number", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "unavailableApiList", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "projectLimit", + "schema": "number", + "required": false, + "description": "" + }, + { + "name": "serviceFeeManagerFillingLimit", + "schema": "number", + "required": true, + "description": "", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/admin/v1/plans/{serviceType}", + "method": "deletePlanByServiceType", + "httpMethod": "delete", + "tag": "admin", + "typeScriptTag": "admin", + "description": "", + "parameters": [ + { + "name": "serviceType", + "schema": "string", + "required": true, + "description": "", + "example": "SERVICETYPE" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/admin/v1/plans/{serviceType}", + "method": "getServiceTypePlans", + "httpMethod": "get", + "tag": "admin", + "typeScriptTag": "admin", + "description": "", + "parameters": [ + { + "name": "serviceType", + "schema": "string", + "required": true, + "description": "", + "example": "SERVICETYPE" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/admin/v1/plans/{serviceType}", + "method": "updatePlanServiceType", + "httpMethod": "put", + "tag": "admin", + "typeScriptTag": "admin", + "description": "", + "parameters": [ + { + "name": "serviceType", + "schema": "string", + "required": true, + "description": "", + "example": "SERVICETYPE" + }, + { + "name": "cost", + "schema": "number", + "description": "" + }, + { + "name": "apiCallLimit", + "schema": "number", + "description": "" + }, + { + "name": "feeManagerFundPerMonth", + "schema": "number", + "description": "" + }, + { + "name": "unavailableApiList", + "schema": "object", + "description": "" + }, + { + "name": "projectLimit", + "schema": "number", + "description": "" + }, + { + "name": "serviceFeeManagerFillingLimit", + "schema": "number", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/admin/v1/plan/list", + "method": "listPlans", + "httpMethod": "get", + "tag": "admin", + "typeScriptTag": "admin", + "description": "Get list of available plans and their details also", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/upload", + "method": "broadcastFileToBlockchain", + "httpMethod": "post", + "tag": "Utility", + "typeScriptTag": "utility", + "description": "Blockchain File Upload.", + "parameters": [ + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "fileUrl", + "schema": "string", + "required": true, + "description": "", + "example": "FILEURL" + }, + { + "name": "fileName", + "schema": "string", + "required": true, + "description": "", + "example": "FILENAME" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/post", + "method": "broadcastNoteToBlockchain", + "httpMethod": "post", + "tag": "Utility", + "typeScriptTag": "utility", + "description": "Post Messages to the Blockchain.", + "parameters": [ + { + "name": "walletId", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "notes", + "schema": "array", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request" + } + ] + }, + { + "url": "/v1/bsvalias/id/{paymail}", + "method": "getProfileDetails", + "httpMethod": "get", + "tag": "paymail", + "typeScriptTag": "paymail", + "description": "", + "parameters": [ + { + "name": "paymail", + "schema": "string", + "required": true, + "description": "", + "example": "PAYMAIL" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Default Response" + } + ] + }, + { + "url": "/v1/bsvalias/address/{paymail}", + "method": "resolveAddressInfo", + "httpMethod": "post", + "tag": "paymail", + "typeScriptTag": "paymail", + "description": "", + "parameters": [ + { + "name": "paymail", + "schema": "string", + "required": true, + "description": "", + "example": "PAYMAIL" + }, + { + "name": "senderHandle", + "schema": "string", + "required": true, + "description": "", + "example": "SENDERHANDLE" + }, + { + "name": "dt", + "schema": "string", + "required": true, + "description": "", + "example": "DT" + }, + { + "name": "signature", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "amount", + "schema": "number", + "required": false, + "description": "" + }, + { + "name": "purpose", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "senderName", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Default Response" + } + ] + }, + { + "url": "/v1/bsvalias/verifypubkey/{paymail}/{pubkey}", + "method": "verifyPubkey", + "httpMethod": "post", + "tag": "paymail", + "typeScriptTag": "paymail", + "description": "", + "parameters": [ + { + "name": "paymail", + "schema": "string", + "required": true, + "description": "", + "example": "PAYMAIL" + }, + { + "name": "pubkey", + "schema": "string", + "required": true, + "description": "", + "example": "PUBKEY" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Default Response" + } + ] + }, + { + "url": "/v1/bsvalias/receive-transaction/{paymail}", + "method": "receiveTransaction", + "httpMethod": "post", + "tag": "paymail", + "typeScriptTag": "paymail", + "description": "", + "parameters": [ + { + "name": "paymail", + "schema": "string", + "required": true, + "description": "", + "example": "PAYMAIL" + }, + { + "name": "hex", + "schema": "string", + "required": true, + "description": "", + "example": "HEX" + }, + { + "name": "reference", + "schema": "string", + "required": true, + "description": "", + "example": "REFERENCE" + }, + { + "name": "metadata", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Default Response" + } + ] + }, + { + "url": "/v1/bsvalias/p2p-payment-destination/{paymail}", + "method": "createP2PPaymentDestination", + "httpMethod": "post", + "tag": "paymail", + "typeScriptTag": "paymail", + "description": "", + "parameters": [ + { + "name": "paymail", + "schema": "string", + "required": true, + "description": "", + "example": "PAYMAIL" + }, + { + "name": "satoshis", + "schema": "number", + "required": true, + "description": "", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Default Response" + } + ] + }, + { + "url": "/.well-known/bsvalias", + "method": "getBsvAlias", + "httpMethod": "get", + "tag": "paymail", + "typeScriptTag": "paymail", + "description": "", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "Default Response" + } + ] + } + ], + "repositoryDescription": "Relysia offers blockchain as a service with over 50 APIs for easy development of Bitcoin applications. Simplifying creation of wallets, tokens, NFTs, and smart contracts in less than 10 lines of code. Empowering businesses to quickly iterate ideas and reduce time to market by over 90%.", + "logo": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/relysia/logo.png", + "openApiRaw": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/relysia/openapi.yaml", + "openApiGitHubUi": "https://github.com/konfig-sdks/openapi-examples/tree/HEAD/relysia/openapi.yaml", + "previewLinkImage": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/relysia/imagePreview.png", + "faviconUrl": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/relysia/favicon.png", + "clientNameCamelCase": "relysia", + "lastUpdated": "2024-03-29T23:16:30.109Z", + "typescriptSdkUsageCode": "import { Relysia } from 'relysia-typescript-sdk';\n\nconst relysia = new Relysia({\n authToken: \"AUTH_TOKEN\",\n serviceId: \"SERVICE_ID\"\n})", + "typescriptSdkFirstRequestCode": "// \nconst getDataResponse = relysia.utility.getData()", + "fixedSpecFileName": "relysia-fixed-spec.yaml" +} \ No newline at end of file diff --git a/sdks/db/published/from-custom-request_rivery.io.json b/sdks/db/published/from-custom-request_rivery.io.json new file mode 100644 index 000000000..2a6549357 --- /dev/null +++ b/sdks/db/published/from-custom-request_rivery.io.json @@ -0,0 +1,3171 @@ +{ + "securitySchemes": { + "HTTPBearer": { + "type": "http", + "scheme": "bearer" + } + }, + "apiBaseUrl": "https://api.rivery.io", + "apiVersion": "1.0.0", + "apiDescription": "\n# Rivery API documentation\n\nWelcome to the Rivery API Documentation. \n\nUsing the Rivery API, you can automate any single or group operations you perform in the Rivery console. \nYou can create, execute, and delete Rivers, create DataFrames, automate processes, and more.\nThe Rivery API is structured around REST. It accepts JSON request bodies, returns JSON responses,\nand employs conventional HTTP response codes, authentication, and verbs to access and use data through HTTP requests. \n\nConsult our [Legacy API](https://api-docs.rivery.io/) documentation. \n\nPlease [contact our Support team](mailto:) if you have any questions or concerns.\n\n# Authorization\n## Rivery API Token\nTo generate a Bearer token, please check out [Rivery's docs](https://docs.rivery.io/docs/rivery-api).\n\nEvery bearer token is a combination of account, environment, and scopes attached. Every time the token is provided,\nthe API compares its scopes with the request required scope.\nIf the scope is not valid, an insufficient permissions (403) response code returned.\n\n## Scopes\nA scope is defined as a combination of the entity in Rivery, and the operation allowed to perform on the entity.\n\nThe entity can be any entity available via the API, for example - connection.\nAn operation can be one of specific operations allowed for each scope. For example: list or edit.\nTherefore, listing connections scope will be set as `connection:list`.\nPlease make sure the Bearer token is has the right scopes attached for all of the needed requests.\n", + "apiTitle": "Rivery API", + "endpoints": 42, + "sdkMethods": 57, + "schemas": 209, + "parameters": 289, + "contactUrl": "https://docs.rivery.io/", + "contactEmail": "contact@rivery.io", + "originalCustomRequest": { + "type": "GET", + "url": "https://api.rivery.io/openapi.json" + }, + "customRequestSpecFilename": "rivery.io.yaml", + "difficultyScore": 230.75, + "difficulty": "Hard", + "company": "Rivery", + "sdkName": "rivery-{language}-sdk", + "clientName": "Rivery", + "metaDescription": "Whether you're building out your data stack or transitioning to the cloud, managing your data workflows to analyze your business can be a real challenge. \n\nDeveloping an in-house solution requires valuable resources and upkeep, while integrating several tools adds new layers of complexity. \n\nRivery's SaaS platform provides a fully-managed solution for data ingestion, data transformation, data orchestration, reverse ETL and more, with built-in support for your data operations development and deployment lifecycles. \n\nDesigned to be nimble for non-technical users and with advanced capabilities for experts, Rivery enables you to manage data workflows as the foundation of a modern data stack. \n\nIf you're looking to accelerate your time to value, get in touch today.", + "apiStatusUrls": "inherit", + "homepage": "rivery.io", + "developerDocumentation": "api.rivery.io/documentation", + "categories": [ + "data_transformation", + "data_sync" + ], + "category": "ELT (Extract, Load, and Transform)", + "methods": [ + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/dataframes", + "method": "dataframes", + "httpMethod": "get", + "tag": "Dataframes", + "typeScriptTag": "dataframes", + "description": "Get Dataframes", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "itemsPerPage", + "schema": "integer", + "required": false, + "description": "The number of items per page in the paginated list.", + "default": 20 + }, + { + "name": "page", + "schema": "integer", + "required": false, + "description": "The current page number in the paginated list.", + "default": 1 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Dataframe response properties to return as a paginated list\n " + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/dataframes", + "method": "dataframe", + "httpMethod": "post", + "tag": "Dataframes", + "typeScriptTag": "dataframes", + "description": "Add Dataframe", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "connection_settings", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "unique_name" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "Dataframe response properties to return\n " + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/dataframes/{dataframe_name}", + "method": "dataframe", + "httpMethod": "delete", + "tag": "Dataframes", + "typeScriptTag": "dataframes", + "description": "Delete Dataframe", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "dataframeName", + "schema": "string", + "required": true, + "description": "", + "example": "DATAFRAME_NAME" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/dataframes/{dataframe_name}", + "method": "dataframe", + "httpMethod": "get", + "tag": "Dataframes", + "typeScriptTag": "dataframes", + "description": "Get Dataframe", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "dataframeName", + "schema": "string", + "required": true, + "description": "", + "example": "DATAFRAME_NAME" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Dataframe response properties to return\n " + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/dataframes/{dataframe_name}", + "method": "dataframe", + "httpMethod": "put", + "tag": "Dataframes", + "typeScriptTag": "dataframes", + "description": "Update Dataframe", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "dataframeName", + "schema": "string", + "required": true, + "description": "", + "example": "DATAFRAME_NAME" + }, + { + "name": "connection_settings", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Dataframe response properties to return\n " + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/dataframes/{dataframe_name}/download", + "method": "dataframe", + "httpMethod": "get", + "tag": "Dataframes", + "typeScriptTag": "dataframes", + "description": "Download Dataframe", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "dataframeName", + "schema": "string", + "required": true, + "description": "", + "example": "DATAFRAME_NAME" + } + ], + "responses": [ + { + "statusCode": "202", + "description": "Operation properties to return.\n " + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/dataframes/{dataframe_name}/clear", + "method": "clearValues", + "httpMethod": "post", + "tag": "Dataframes", + "typeScriptTag": "dataframes", + "description": "Clear Dataframe Values", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "dataframeName", + "schema": "string", + "required": true, + "description": "", + "example": "DATAFRAME_NAME" + } + ], + "responses": [ + { + "statusCode": "202", + "description": "Operation properties to return.\n " + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/activities_statistics", + "method": "getStatistics", + "httpMethod": "get", + "tag": "Activities", + "typeScriptTag": "activities", + "description": "Get Activities Statistic", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "startTime", + "schema": "string", + "required": true, + "description": "The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or YYYY-MM-DDTHH:MM:SS.mmmmmm", + "example": "2020-01-01T12:00:00" + }, + { + "name": "endTime", + "schema": "string", + "required": true, + "description": "The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or YYYY-MM-DDTHH:MM:SS.mmmmmm", + "example": "2020-01-01T12:00:00" + }, + { + "name": "status", + "schema": "array", + "required": false, + "description": "A list of statuses to filter" + }, + { + "name": "groupId", + "schema": "array", + "required": false, + "description": "The ID of the group to filter" + }, + { + "name": "isScheduled", + "schema": "string", + "required": false, + "description": "A flag that indicates whether the river is scheduled. If not set then activities of all rivers will be returned" + }, + { + "name": "search", + "schema": "string", + "required": false, + "description": "Get statistics for rivers that has the search query in their name" + }, + { + "name": "riverType", + "schema": "array", + "required": false, + "description": "The river type" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Activity statistics response" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_statistics", + "method": "getRiverActivitiesStatistic", + "httpMethod": "get", + "tag": "Activities", + "typeScriptTag": "activities", + "description": "Get River Activities Statistic", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "riverCrossId", + "schema": "string", + "required": true, + "description": "", + "example": "RIVER_CROSS_ID" + }, + { + "name": "startTime", + "schema": "string", + "required": true, + "description": "The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or YYYY-MM-DDTHH:MM:SS.mmmmmm", + "example": "2020-01-01T12:00:00" + }, + { + "name": "endTime", + "schema": "string", + "required": true, + "description": "The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or YYYY-MM-DDTHH:MM:SS.mmmmmm", + "example": "2020-01-01T12:00:00" + }, + { + "name": "status", + "schema": "array", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Statistics response" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_targets", + "method": "getRiverActivityTargets", + "httpMethod": "get", + "tag": "Activities", + "typeScriptTag": "activities", + "description": "Get River Activities Targets", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "riverCrossId", + "schema": "string", + "required": true, + "description": "", + "example": "RIVER_CROSS_ID" + }, + { + "name": "startTime", + "schema": "string", + "required": true, + "description": "The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or YYYY-MM-DDTHH:MM:SS.mmmmmm", + "example": "2020-01-01T12:00:00" + }, + { + "name": "endTime", + "schema": "string", + "required": true, + "description": "The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or YYYY-MM-DDTHH:MM:SS.mmmmmm", + "example": "2020-01-01T12:00:00" + }, + { + "name": "runGroupId", + "schema": "string", + "required": false, + "description": "Filter by the run group ID" + }, + { + "name": "subRiverId", + "schema": "string", + "required": false, + "description": "Filter by the sub river ID" + }, + { + "name": "status", + "schema": "array", + "required": false, + "description": "A list of statuses. Only targets with those statuses will be returned" + }, + { + "name": "sortBy", + "schema": "string", + "required": false, + "description": "Indicates by which parameter to sort the targets" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Target response" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_run_groups", + "method": "listRunGroups", + "httpMethod": "get", + "tag": "Activities", + "typeScriptTag": "activities", + "description": "List River Activities Run Groups", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "riverCrossId", + "schema": "string", + "required": true, + "description": "", + "example": "RIVER_CROSS_ID" + }, + { + "name": "startTime", + "schema": "string", + "required": true, + "description": "The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or YYYY-MM-DDTHH:MM:SS.mmmmmm", + "example": "2020-01-01T12:00:00" + }, + { + "name": "endTime", + "schema": "string", + "required": true, + "description": "The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or YYYY-MM-DDTHH:MM:SS.mmmmmm", + "example": "2020-01-01T12:00:00" + }, + { + "name": "targetName", + "schema": "string", + "required": false, + "description": "Filter by the target table name" + }, + { + "name": "subRiverId", + "schema": "string", + "required": false, + "description": "Filter by the sub river ID" + }, + { + "name": "status", + "schema": "array", + "required": false, + "description": "A list of statuses. Only run groups with this statuses will be returned." + }, + { + "name": "cacheContextId", + "schema": "string", + "required": false, + "description": "Cache context id is an internal query parameter for cache purposes" + }, + { + "name": "page", + "schema": "integer", + "required": false, + "description": "", + "default": 1 + }, + { + "name": "sortBy", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "itemsPerPage", + "schema": "integer", + "required": false, + "description": "", + "default": 50 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "The response for the activity run groups" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_run_groups/{run_group_id}", + "method": "getRunGroup", + "httpMethod": "get", + "tag": "Activities", + "typeScriptTag": "activities", + "description": "Get River Activities Run Groups", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "riverCrossId", + "schema": "string", + "required": true, + "description": "", + "example": "RIVER_CROSS_ID" + }, + { + "name": "runGroupId", + "schema": "string", + "required": true, + "description": "", + "example": "RUN_GROUP_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "The run group details with statistics" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/activities_sub_rivers", + "method": "getSubRiverActivities", + "httpMethod": "get", + "tag": "Activities", + "typeScriptTag": "activities", + "description": "Get River Activities Sub Rivers", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "riverCrossId", + "schema": "string", + "required": true, + "description": "", + "example": "RIVER_CROSS_ID" + }, + { + "name": "startTime", + "schema": "string", + "required": true, + "description": "The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or YYYY-MM-DDTHH:MM:SS.mmmmmm", + "example": "2020-01-01T12:00:00" + }, + { + "name": "endTime", + "schema": "string", + "required": true, + "description": "The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or YYYY-MM-DDTHH:MM:SS.mmmmmm", + "example": "2020-01-01T12:00:00" + }, + { + "name": "targetName", + "schema": "string", + "required": false, + "description": "Filter by the target table name" + }, + { + "name": "runGroupId", + "schema": "string", + "required": false, + "description": "Filter by the run group ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "The response of the sub river" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs", + "method": "getRiverRuns", + "httpMethod": "get", + "tag": "Activities", + "typeScriptTag": "activities", + "description": "Get River Activities Runs", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "riverCrossId", + "schema": "string", + "required": true, + "description": "", + "example": "RIVER_CROSS_ID" + }, + { + "name": "startTime", + "schema": "string", + "required": true, + "description": "The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or YYYY-MM-DDTHH:MM:SS.mmmmmm", + "example": "2020-01-01T12:00:00" + }, + { + "name": "endTime", + "schema": "string", + "required": true, + "description": "The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or YYYY-MM-DDTHH:MM:SS.mmmmmm", + "example": "2020-01-01T12:00:00" + }, + { + "name": "targetName", + "schema": "string", + "required": false, + "description": "Filter by the target table name" + }, + { + "name": "runGroupId", + "schema": "string", + "required": false, + "description": "Filter by the run group ID" + }, + { + "name": "subRiverId", + "schema": "string", + "required": false, + "description": "Filter by the sub river ID" + }, + { + "name": "page", + "schema": "integer", + "required": false, + "description": "", + "default": 1 + }, + { + "name": "itemsPerPage", + "schema": "integer", + "required": false, + "description": "", + "default": 20 + }, + { + "name": "sortBy", + "schema": "string", + "required": false, + "description": "Indicates by which parameter to sort the runs" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "cacheContextId", + "schema": "string", + "required": false, + "description": "Cache context id is an internal query parameter for cache purposes" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "The activity run response" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}", + "method": "getRiverActivitiesRun", + "httpMethod": "get", + "tag": "Activities", + "typeScriptTag": "activities", + "description": "Get River Activities Run", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "riverCrossId", + "schema": "string", + "required": true, + "description": "", + "example": "RIVER_CROSS_ID" + }, + { + "name": "runId", + "schema": "string", + "required": true, + "description": "", + "example": "RUN_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "A run" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}/logic_steps", + "method": "getLogicStepsStatus", + "httpMethod": "get", + "tag": "Activities", + "typeScriptTag": "activities", + "description": "Get River Activities Run Logic Steps", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "riverCrossId", + "schema": "string", + "required": true, + "description": "", + "example": "RIVER_CROSS_ID" + }, + { + "name": "runId", + "schema": "string", + "required": true, + "description": "", + "example": "RUN_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "run's logic step" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}/variables", + "method": "getRunVariables", + "httpMethod": "get", + "tag": "Activities", + "typeScriptTag": "activities", + "description": "Get Activities Logic Variables", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "riverCrossId", + "schema": "string", + "required": true, + "description": "", + "example": "RIVER_CROSS_ID" + }, + { + "name": "runId", + "schema": "string", + "required": true, + "description": "", + "example": "RUN_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "The activities logic variables response" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}/logic_steps/{step_id}/logs", + "method": "getLogicStepLogs", + "httpMethod": "get", + "tag": "Activities", + "typeScriptTag": "activities", + "description": "Get Activities Logic Step Log", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "riverCrossId", + "schema": "string", + "required": true, + "description": "", + "example": "RIVER_CROSS_ID" + }, + { + "name": "runId", + "schema": "string", + "required": true, + "description": "", + "example": "RUN_ID" + }, + { + "name": "stepId", + "schema": "string", + "required": true, + "description": "", + "example": "STEP_ID" + }, + { + "name": "iterationNumber", + "schema": "integer", + "required": false, + "description": "The step iteration number", + "default": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "run's logic step logs" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/activities", + "method": "activities", + "httpMethod": "get", + "tag": "Activities", + "typeScriptTag": "activities", + "description": "Get Activities", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "startTime", + "schema": "string", + "required": true, + "description": "The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or YYYY-MM-DDTHH:MM:SS.mmmmmm", + "example": "2020-01-01T12:00:00" + }, + { + "name": "endTime", + "schema": "string", + "required": true, + "description": "The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or YYYY-MM-DDTHH:MM:SS.mmmmmm", + "example": "2020-01-01T12:00:00" + }, + { + "name": "status", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "groupId", + "schema": "array", + "required": false, + "description": "The ID of the group to filter" + }, + { + "name": "isScheduled", + "schema": "string", + "required": false, + "description": "A flag that indicates whether the river is scheduled. If not set then activities of all rivers will be returned" + }, + { + "name": "page", + "schema": "integer", + "required": false, + "description": "", + "default": 1 + }, + { + "name": "itemsPerPage", + "schema": "integer", + "required": false, + "description": "", + "default": 20 + }, + { + "name": "cacheContextId", + "schema": "string", + "required": false, + "description": "Cache context id is an internal query parameter for cache purposes" + }, + { + "name": "search", + "schema": "string", + "required": false, + "description": "Search for a specific river by river name" + }, + { + "name": "sortBy", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "riverType", + "schema": "array", + "required": false, + "description": "The river type" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "General activities response" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/runs/{run_id}/logs", + "method": "getRunLogs", + "httpMethod": "get", + "tag": "Activities", + "typeScriptTag": "activities", + "description": "Get Run Logs", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "riverCrossId", + "schema": "string", + "required": true, + "description": "", + "example": "RIVER_CROSS_ID" + }, + { + "name": "runId", + "schema": "string", + "required": true, + "description": "", + "example": "RUN_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/versions", + "method": "listVersions", + "httpMethod": "get", + "tag": "Rivers", + "typeScriptTag": "rivers", + "description": "List River Versions", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "riverCrossId", + "schema": "string", + "required": true, + "description": "", + "example": "RIVER_CROSS_ID" + }, + { + "name": "itemsPerPage", + "schema": "integer", + "required": false, + "description": "The number of items per page in the paginated list.", + "default": 20 + }, + { + "name": "page", + "schema": "integer", + "required": false, + "description": "The current page number in the paginated list.", + "default": 1 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "River Versions response.\n " + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/versions/{version_id}", + "method": "getVersion", + "httpMethod": "get", + "tag": "Rivers", + "typeScriptTag": "rivers", + "description": "Get River Version", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "riverCrossId", + "schema": "string", + "required": true, + "description": "", + "example": "RIVER_CROSS_ID" + }, + { + "name": "versionId", + "schema": "string", + "required": true, + "description": "", + "example": "VERSION_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "River Versions properties to return.\n " + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}", + "method": "river", + "httpMethod": "delete", + "tag": "Rivers", + "typeScriptTag": "rivers", + "description": "Delete River", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "riverCrossId", + "schema": "string", + "required": true, + "description": "", + "example": "RIVER_CROSS_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}", + "method": "river", + "httpMethod": "get", + "tag": "Rivers", + "typeScriptTag": "rivers", + "description": "Get River", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "riverCrossId", + "schema": "string", + "required": true, + "description": "", + "example": "RIVER_CROSS_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "River properties to return" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}", + "method": "river", + "httpMethod": "put", + "tag": "Beta Endpoints", + "typeScriptTag": "betaEndpoints", + "description": "Edit River", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "riverCrossId", + "schema": "string", + "required": true, + "description": "", + "example": "RIVER_CROSS_ID" + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "river_name" + }, + { + "name": "kind", + "schema": "undefined", + "required": false, + "description": "", + "example": "main_river", + "default": "main_river" + }, + { + "name": "type", + "schema": "string", + "required": true, + "description": "", + "example": "TYPE" + }, + { + "name": "group_id", + "schema": "string", + "required": false, + "description": "", + "example": "55fr7d4270fdca16cac18261" + }, + { + "name": "group_name", + "schema": "string", + "required": false, + "description": "", + "example": "river_group_1" + }, + { + "name": "metadata", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "settings", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "properties", + "schema": "undefined", + "required": true, + "description": "" + }, + { + "name": "schedulers", + "schema": "array", + "required": false, + "description": "", + "default": [] + }, + { + "name": "cross_id", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "deployment_definition", + "schema": "object", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "River properties to return" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/rivers", + "method": "rivers", + "httpMethod": "get", + "tag": "Rivers", + "typeScriptTag": "rivers", + "description": "List Rivers", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "page", + "schema": "integer", + "required": false, + "description": "The current page number in the paginated list.", + "default": 1 + }, + { + "name": "itemsPerPage", + "schema": "integer", + "required": false, + "description": "The number of items per page in the paginated list.", + "default": 20 + }, + { + "name": "groupName", + "schema": "string", + "required": false, + "description": "The river group name" + }, + { + "name": "groupId", + "schema": "array", + "required": false, + "description": "The river group id" + }, + { + "name": "name", + "schema": "string", + "required": false, + "description": "The river name" + }, + { + "name": "schedule", + "schema": "string", + "required": false, + "description": "The river schedule status" + }, + { + "name": "riverStatus", + "schema": "array", + "required": false, + "description": "The river status" + }, + { + "name": "sortBy", + "schema": "string", + "required": false, + "description": "The river sort by filter" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "The river sort order filter" + }, + { + "name": "riverType", + "schema": "array", + "required": false, + "description": "The river type" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "List rivers response object." + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/rivers", + "method": "river", + "httpMethod": "post", + "tag": "Beta Endpoints", + "typeScriptTag": "betaEndpoints", + "description": "Add River", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "river_name" + }, + { + "name": "kind", + "schema": "undefined", + "required": false, + "description": "", + "example": "main_river", + "default": "main_river" + }, + { + "name": "type", + "schema": "string", + "required": true, + "description": "", + "example": "TYPE" + }, + { + "name": "group_id", + "schema": "string", + "required": false, + "description": "", + "example": "55fr7d4270fdca16cac18261" + }, + { + "name": "group_name", + "schema": "string", + "required": false, + "description": "", + "example": "river_group_1" + }, + { + "name": "metadata", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "settings", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "properties", + "schema": "undefined", + "required": true, + "description": "" + }, + { + "name": "schedulers", + "schema": "array", + "required": false, + "description": "", + "default": [] + }, + { + "name": "cross_id", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "deployment_definition", + "schema": "object", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "River properties to return" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/cdc_config", + "method": "deleteCdcConfig", + "httpMethod": "delete", + "tag": "Rivers", + "typeScriptTag": "rivers", + "description": "Delete Cdc Config", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "riverCrossId", + "schema": "string", + "required": true, + "description": "", + "example": "RIVER_CROSS_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/cdc_config", + "method": "getCdcConfig", + "httpMethod": "get", + "tag": "Rivers", + "typeScriptTag": "rivers", + "description": "Get Cdc Config", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "riverCrossId", + "schema": "string", + "required": true, + "description": "", + "example": "RIVER_CROSS_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "The cdc config request class." + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/cdc_config", + "method": "setCdcConfig", + "httpMethod": "post", + "tag": "Rivers", + "typeScriptTag": "rivers", + "description": "Set Cdc Config", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "riverCrossId", + "schema": "string", + "required": true, + "description": "", + "example": "RIVER_CROSS_ID" + }, + { + "name": "config", + "schema": "undefined", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/cancel_run", + "method": "cancelRun", + "httpMethod": "post", + "tag": "Rivers", + "typeScriptTag": "rivers", + "description": "Cancel River Run", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "riverCrossId", + "schema": "string", + "required": true, + "description": "", + "example": "RIVER_CROSS_ID" + }, + { + "name": "run_id", + "schema": "string", + "description": "" + }, + { + "name": "run_group_id", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "202", + "description": "General response schema contains only details" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/run", + "method": "river", + "httpMethod": "post", + "tag": "Rivers", + "typeScriptTag": "rivers", + "description": "Run River", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "riverCrossId", + "schema": "string", + "required": true, + "description": "", + "example": "RIVER_CROSS_ID" + }, + { + "name": "runSubRivers", + "schema": "boolean", + "required": false, + "description": "A flag that indicates whether to run all active sub rivers of the master river", + "default": false + } + ], + "responses": [ + { + "statusCode": "202", + "description": "Run response properties to return\nThe response is a list since in the case of sub rivers that are multiple runs,\nand we want to be able to return them all" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/sub_rivers/{sub_river_id}/run", + "method": "triggerSubRiverRun", + "httpMethod": "post", + "tag": "Rivers", + "typeScriptTag": "rivers", + "description": "Run Sub River", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "riverCrossId", + "schema": "string", + "required": true, + "description": "", + "example": "RIVER_CROSS_ID" + }, + { + "name": "subRiverId", + "schema": "string", + "required": true, + "description": "", + "example": "SUB_RIVER_ID" + } + ], + "responses": [ + { + "statusCode": "202", + "description": "Run response properties to return\nThe response is a list since in the case of sub rivers that are multiple runs,\nand we want to be able to return them all" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/variables", + "method": "getVariables", + "httpMethod": "get", + "tag": "Rivers", + "typeScriptTag": "rivers", + "description": "Get River Variables", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "riverCrossId", + "schema": "string", + "required": true, + "description": "", + "example": "RIVER_CROSS_ID" + }, + { + "name": "itemsPerPage", + "schema": "integer", + "required": false, + "description": "The number of items per page in the paginated list.", + "default": 20 + }, + { + "name": "page", + "schema": "integer", + "required": false, + "description": "The current page number in the paginated list.", + "default": 1 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Final river variables paginated response for all variables in a single river.\n " + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/variables", + "method": "updateRiverVariable", + "httpMethod": "put", + "tag": "Rivers", + "typeScriptTag": "rivers", + "description": "Update River Variable", + "parameters": [ + { + "name": "riverCrossId", + "schema": "string", + "required": true, + "description": "", + "example": "RIVER_CROSS_ID" + }, + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "itemsPerPage", + "schema": "integer", + "required": false, + "description": "The number of items per page in the paginated list.", + "default": 20 + }, + { + "name": "page", + "schema": "integer", + "required": false, + "description": "The current page number in the paginated list.", + "default": 1 + }, + { + "name": "items", + "schema": "array", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Final river variables paginated response for all variables in a single river.\n " + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments", + "method": "environments", + "httpMethod": "get", + "tag": "Environments", + "typeScriptTag": "environments", + "description": "List Environments", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "includeDeleted", + "schema": "boolean", + "required": false, + "description": "", + "default": false + }, + { + "name": "isDeployableEnvironments", + "schema": "boolean", + "required": false, + "description": "", + "default": false + }, + { + "name": "itemsPerPage", + "schema": "integer", + "required": false, + "description": "The number of items per page in the paginated list.", + "default": 20 + }, + { + "name": "page", + "schema": "integer", + "required": false, + "description": "The current page number in the paginated list.", + "default": 1 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "The list environments response to return as a paginated list" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}", + "method": "environment", + "httpMethod": "get", + "tag": "Environments", + "typeScriptTag": "environments", + "description": "Get Environment", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Environments properties to return.\n " + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/scim_provisioning", + "method": "deleteScimProvisioning", + "httpMethod": "delete", + "tag": "Accounts", + "typeScriptTag": "accounts", + "description": "Delete Scim Provisioning", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "Successful Response" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/scim_provisioning", + "method": "getScimProvisioningStatus", + "httpMethod": "get", + "tag": "Accounts", + "typeScriptTag": "accounts", + "description": "Get Scim Provisioning Status", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "SCIM token get status" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/scim_provisioning", + "method": "addOrUpdateScimProvisioning", + "httpMethod": "put", + "tag": "Accounts", + "typeScriptTag": "accounts", + "description": "Add Or Update Scim Provisioning", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "SCIM Token create or update response." + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/audit_events", + "method": "list", + "httpMethod": "get", + "tag": "Audit Events", + "typeScriptTag": "auditEvents", + "description": "List Audit Events", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "startTime", + "schema": "string", + "required": false, + "description": "The start UTC date time. Time format YYYY-MM-DDTHH:MM:SS or YYYY-MM-DDTHH:MM:SS.mmmmmm", + "example": "2020-01-01T12:00:00" + }, + { + "name": "endTime", + "schema": "string", + "required": false, + "description": "The end UTC date time. Time format YYYY-MM-DDTHH:MM:SS or YYYY-MM-DDTHH:MM:SS.mmmmmm If end_time is supplied without start_time the start_time will be the previous day of the end_time", + "example": "2020-01-01T12:00:00" + }, + { + "name": "userId", + "schema": "array", + "required": false, + "description": "A list of users id's who initiated the event", + "example": "5eda28ee6b028e1ce7a2b5ed" + }, + { + "name": "eventType", + "schema": "array", + "required": false, + "description": "A list of entity types", + "example": "connections" + }, + { + "name": "entityType", + "schema": "array", + "required": false, + "description": "A list of event types", + "example": "delete" + }, + { + "name": "entityLogicalKey", + "schema": "string", + "required": false, + "description": "A unique logical identifier of an entity, usually the cross_id", + "example": "5eda28ee6b028e1ce7a2b5ec" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Audit events pagination response" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/audit_events/{event_id}", + "method": "getById", + "httpMethod": "get", + "tag": "Audit Events", + "typeScriptTag": "auditEvents", + "description": "Get Audit Event", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "eventId", + "schema": "string", + "required": true, + "description": "The id of the audit event", + "example": "eac285a5a9ae4ada9ccd49889a651e16" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Audit events response" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/connections/{connection_cross_id}", + "method": "connection", + "httpMethod": "delete", + "tag": "Connections", + "typeScriptTag": "connections", + "description": "Delete Connection", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "connectionCrossId", + "schema": "string", + "required": true, + "description": "", + "example": "CONNECTION_CROSS_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/teams", + "method": "teams", + "httpMethod": "get", + "tag": "Groups", + "typeScriptTag": "groups", + "description": "List Teams", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "page", + "schema": "integer", + "required": false, + "description": "", + "default": 1 + }, + { + "name": "itemsPerPage", + "schema": "integer", + "required": false, + "description": "", + "default": 20 + }, + { + "name": "displayName", + "schema": "string", + "required": false, + "description": "The internal display name of the team", + "example": "Marketing team" + }, + { + "name": "source", + "schema": "string", + "required": false, + "description": "The team source local (https://api.rivery.io/documentation or external (Active Directory)", + "example": "rivery" + }, + { + "name": "remoteDisplayName", + "schema": "string", + "required": false, + "description": "The remote display name of the team", + "example": "Core team" + }, + { + "name": "sortBy", + "schema": "string", + "required": false, + "description": "Sorted the results by attributes" + }, + { + "name": "sortOrder", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "teamId", + "schema": "array", + "required": false, + "description": "List of team ids", + "example": [ + "65ce173412f5e196b2b9b163" + ] + } + ], + "responses": [ + { + "statusCode": "200", + "description": "List user teams response" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/teams", + "method": "team", + "httpMethod": "post", + "tag": "Groups", + "typeScriptTag": "groups", + "description": "Create Team", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "description", + "schema": "string", + "required": false, + "description": "", + "example": "Some description" + }, + { + "name": "display_name", + "schema": "string", + "required": true, + "description": "", + "example": "Rivery Core Team" + }, + { + "name": "environments", + "schema": "object", + "required": false, + "description": "", + "example": { + "633ede20f1fc5500111fd7b3": { + "role": "viewer" + }, + "5f887c764c40e5598f717676": { + "role": "viewer" + } + }, + "default": {} + }, + { + "name": "is_all_environment_admin", + "schema": "boolean", + "required": false, + "description": "", + "example": true, + "default": false + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Base user team model properties to return." + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/teams/{team_id}", + "method": "team", + "httpMethod": "delete", + "tag": "Groups", + "typeScriptTag": "groups", + "description": "Delete Team", + "parameters": [ + { + "name": "teamId", + "schema": "string", + "required": true, + "description": "", + "example": "TEAM_ID" + }, + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "Successful Response" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/teams/{team_id}", + "method": "team", + "httpMethod": "get", + "tag": "Groups", + "typeScriptTag": "groups", + "description": "Get Team", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "teamId", + "schema": "string", + "required": true, + "description": "", + "example": "TEAM_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Base user team model properties to return." + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/teams/{team_id}", + "method": "team", + "httpMethod": "patch", + "tag": "Groups", + "typeScriptTag": "groups", + "description": "Patch Team", + "parameters": [ + { + "name": "teamId", + "schema": "string", + "required": true, + "description": "", + "example": "TEAM_ID" + }, + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "Some description" + }, + { + "name": "display_name", + "schema": "string", + "description": "", + "example": "Rivery Core Team" + }, + { + "name": "environments", + "schema": "object", + "description": "", + "example": { + "633ede20f1fc5500111fd7b3": { + "role": "viewer" + }, + "5f887c764c40e5598f717676": { + "role": "viewer" + } + } + }, + { + "name": "is_all_environment_admin", + "schema": "boolean", + "description": "", + "example": true + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Base user team model properties to return." + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/teams/{team_id}", + "method": "team", + "httpMethod": "put", + "tag": "Groups", + "typeScriptTag": "groups", + "description": "Update Team", + "parameters": [ + { + "name": "teamId", + "schema": "string", + "required": true, + "description": "", + "example": "TEAM_ID" + }, + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "Some description" + }, + { + "name": "display_name", + "schema": "string", + "description": "", + "example": "Rivery Core Team" + }, + { + "name": "environments", + "schema": "object", + "description": "", + "example": { + "633ede20f1fc5500111fd7b3": { + "role": "viewer" + }, + "5f887c764c40e5598f717676": { + "role": "viewer" + } + } + }, + { + "name": "is_all_environment_admin", + "schema": "boolean", + "description": "", + "example": true, + "default": false + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Base user team model properties to return." + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/copy", + "method": "river", + "httpMethod": "post", + "tag": "Beta Endpoints", + "typeScriptTag": "betaEndpoints", + "description": "Copy River", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "riverCrossId", + "schema": "string", + "required": true, + "description": "", + "example": "RIVER_CROSS_ID" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "Copy river response" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/restore", + "method": "river", + "httpMethod": "put", + "tag": "Beta Endpoints", + "typeScriptTag": "betaEndpoints", + "description": "Restore River Version", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "riverCrossId", + "schema": "string", + "required": true, + "description": "", + "example": "RIVER_CROSS_ID" + }, + { + "name": "version_id", + "schema": "string", + "required": true, + "description": "", + "example": "5f7d4270fdca16cac18261" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "River properties to return" + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/enable_cdc", + "method": "cdc", + "httpMethod": "post", + "tag": "Beta Endpoints", + "typeScriptTag": "betaEndpoints", + "description": "Enable Cdc", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "riverCrossId", + "schema": "string", + "required": true, + "description": "", + "example": "RIVER_CROSS_ID" + } + ], + "responses": [ + { + "statusCode": "202", + "description": "Operation properties to return.\n " + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/accounts/{account_id}/environments/{environment_id}/rivers/{river_cross_id}/disable_cdc", + "method": "cdc", + "httpMethod": "post", + "tag": "Beta Endpoints", + "typeScriptTag": "betaEndpoints", + "description": "Disable Cdc", + "parameters": [ + { + "name": "accountId", + "schema": "string", + "required": true, + "description": "", + "example": "ACCOUNT_ID" + }, + { + "name": "environmentId", + "schema": "string", + "required": true, + "description": "", + "example": "ENVIRONMENT_ID" + }, + { + "name": "riverCrossId", + "schema": "string", + "required": true, + "description": "", + "example": "RIVER_CROSS_ID" + } + ], + "responses": [ + { + "statusCode": "202", + "description": "Operation properties to return.\n " + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/predefined_metadata/columns", + "method": "getPredefinedColumns", + "httpMethod": "get", + "tag": "Beta Endpoints", + "typeScriptTag": "betaEndpoints", + "description": "Get Predefined Columns", + "parameters": [ + { + "name": "datasourceId", + "schema": "string", + "required": true, + "description": "The datasource of the columns.", + "example": "shopify" + }, + { + "name": "report", + "schema": "string", + "required": true, + "description": "The report id", + "example": "orders" + }, + { + "name": "columnName", + "schema": "string", + "required": false, + "description": "Name of the column to filter", + "example": "id" + }, + { + "name": "itemsPerPage", + "schema": "integer", + "required": false, + "description": "The number of items per page in the paginated list.", + "default": 20 + }, + { + "name": "page", + "schema": "integer", + "required": false, + "description": "The current page number in the paginated list.", + "default": 1 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "The response for the get predefined columns." + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/predefined_metadata/tables", + "method": "listPredefinedTables", + "httpMethod": "get", + "tag": "Beta Endpoints", + "typeScriptTag": "betaEndpoints", + "description": "Get Predefined Tables", + "parameters": [ + { + "name": "datasourceId", + "schema": "string", + "required": true, + "description": "The datasource of the columns.", + "example": "shopify" + }, + { + "name": "reportName", + "schema": "string", + "required": false, + "description": "Name of the report to filter", + "example": "orders" + }, + { + "name": "itemsPerPage", + "schema": "integer", + "required": false, + "description": "The number of items per page in the paginated list.", + "default": 20 + }, + { + "name": "page", + "schema": "integer", + "required": false, + "description": "The current page number in the paginated list.", + "default": 1 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "The response for the get predefined tables." + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/predefined_metadata/metadata", + "method": "getPredefinedMetadata", + "httpMethod": "get", + "tag": "Beta Endpoints", + "typeScriptTag": "betaEndpoints", + "description": "Get Predefined Metadata", + "parameters": [ + { + "name": "datasourceId", + "schema": "string", + "required": true, + "description": "The datasource of the columns.", + "example": "shopify" + }, + { + "name": "reportId", + "schema": "string", + "required": true, + "description": "The report id", + "example": "predefined_orders" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "The response for the get predefined metadata." + }, + { + "statusCode": "422", + "description": "" + } + ] + }, + { + "url": "/v1/river_source/metadata", + "method": "getSourceMetadata", + "httpMethod": "get", + "tag": "Beta Endpoints", + "typeScriptTag": "betaEndpoints", + "description": "Get Source Metadata", + "parameters": [ + { + "name": "sourceName", + "schema": "string", + "required": true, + "description": "The source name", + "example": "shopify" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "The response for the get source metadata." + }, + { + "statusCode": "422", + "description": "" + } + ] + } + ], + "repositoryDescription": "Rivery offers a fully-managed SaaS platform for data workflows, making data analysis and management easier. Designed for both non-technical users and experts, Rivery accelerates time-to-value for modern data stacks. Rivery's {language} SDK generated by Konfig (https://konfigthis.com/).", + "logo": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/rivery/logo.png", + "openApiRaw": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/rivery/openapi.yaml", + "openApiGitHubUi": "https://github.com/konfig-sdks/openapi-examples/tree/HEAD/rivery/openapi.yaml", + "previewLinkImage": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/rivery/imagePreview.jpg", + "faviconUrl": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/rivery/favicon.png", + "clientNameCamelCase": "rivery", + "lastUpdated": "2024-03-29T23:16:30.109Z", + "typescriptSdkUsageCode": "import { Rivery } from 'rivery-typescript-sdk';\n\nconst rivery = new Rivery({\n httpBearer: \"HTTP_BEARER\"\n})", + "typescriptSdkFirstRequestCode": "// Get Dataframes\nconst dataframesResponse = rivery.dataframes.dataframes({\n accountId: \"ACCOUNT_ID\"\n environmentId: \"ENVIRONMENT_ID\"\n itemsPerPage: 20\n page: 1\n})", + "fixedSpecFileName": "rivery-fixed-spec.yaml" +} \ No newline at end of file diff --git a/sdks/db/published/from-custom-request_secoda.co.json b/sdks/db/published/from-custom-request_secoda.co.json new file mode 100644 index 000000000..94dc7a786 --- /dev/null +++ b/sdks/db/published/from-custom-request_secoda.co.json @@ -0,0 +1,5523 @@ +{ + "securitySchemes": { + "ApiKeyAuth": { + "type": "http", + "scheme": "bearer", + "bearerFormat": "string" + } + }, + "apiBaseUrl": "https://api.secoda.co", + "apiVersion": "1.0.0", + "apiDescription": "Use this API to programmatically use Secoda's data enablement features. With these APIs, you can bring in resource metadata, build documentation pipelines, and manage workspace settings programmatically.\n\nTo learn more about Secoda, visit the [Secoda documentation](https://docs.secoda.co/).\n\nTo get in touch with Secoda, contact customer support at support@secoda.co.\n\n## Getting Started\n\n### Authentication\n\nSecoda API's require an Authorization header with a Bearer token. You can generate an API key in your workspace, as outlined [here](https://docs.secoda.co/secoda-api/authentication).\n\n### Base URL\n\nTo determine the base URL of your API requests, please refer to the chart below.\n\n| Workspace URL | Base URL |\n| ---------------------- | ---------------------- |\n| app.secoda.co | api.secoda.co |\n| eu.secoda.co | eapi.secoda.co |\n| apac.secoda.co | aapi.secoda.co |\n\nFor teams with an On Premise or Managed instance with a custom domain, the Base URL is the custom domain followed by `/api/v1`.\n\n## Helpful Information\n\nSecoda’s APIs generally follow the CRUD pattern (Create, Read, Update, Delete). The data elements that are managed with these APIs are called Resources. Generally, each resource maps to an integration, with many set and customizable properties called Metadata.\n\n### Important Terminology\n\n**Workspace:**\nIn Secoda, a workspace is the environment within the application where teams can integrate resources and metadata and add documentation, either through the UI or programatically through the API.\n\n**Resource:**\nIn Secoda, a resource is any entity that metadata can be added to. This includes, but is not limited to, tables, dashboards, charts, columns, queries, documents, dictionary terms, and more.\n\n**Metadata:**\nIn Secoda, metadata is the additional information you can provide to add context to your resources. This includes descriptions, definitions, owners, custom properties, and more. Metadata is the lifeblood of Secoda; the more you put in, the more you'll get out of the tool!\n\n### Resource Heirarchy\n\nNearly all resources in Secoda can be nested under a parent. A resource has a one to many relationship with its child. This means thats a parent resource can have several children, but a child resource can only have one parent.\n\nFor Collections, Dictionary Terms, and Documents, the parent must be the same resource type. However, there are two unique heirarchy structures that the application expects when adding net new resources.\n\n**Table Heirarchy:** Integration > Databases > Schemas > Tables > Columns > Columns (if nested)\n\n**Dashboard Heirarchy:** Integration > Groups > Dashboards > Charts\n", + "apiTitle": "Secoda API", + "endpoints": 51, + "sdkMethods": 105, + "schemas": 66, + "parameters": 289, + "originalCustomRequest": { + "type": "GET", + "url": "https://api.secoda.co/api/schema/" + }, + "customRequestSpecFilename": "secoda.co.yaml", + "difficultyScore": 190.25, + "difficulty": "Medium", + "company": "Secoda", + "sdkName": "secoda-{language}-sdk", + "clientName": "Secoda", + "metaDescription": "The all-in-one data management platform. Secoda is the first AI powered data search, catalog, lineage, and monitoring platform to double your data team's efficiency.\n\nData teams at companies like Panasonic, Mode, and Vanta use Secoda to automate data discovery, documentation, and take the grunt-work out of their day. \n\nBy automatically ingesting the metadata across all of your data sources, Secoda makes it easy to make decisions from a single source of truth. \n\nBuilt for users of the modern data stack, Secoda helps data teams take control of their data sprawl and reliably scale their tech stacks.\n\nWith Secoda, data teams save time and enable revenue teams with better data, faster.", + "apiStatusUrls": "inherit", + "homepage": "secoda.co", + "developerDocumentation": "docs.secoda.co/", + "categories": [ + "data_management" + ], + "category": "Developer Tools", + "methods": [ + { + "url": "/integration/integrations", + "method": "listActive", + "httpMethod": "get", + "tag": "Integrations", + "typeScriptTag": "integrations", + "description": "List Integrations", + "parameters": [ + { + "name": "type", + "schema": "string", + "description": "The type of integrations to filter.", + "example": "bigquery" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request." + }, + { + "statusCode": "500", + "description": "Internal server error." + } + ] + }, + { + "url": "/integration/integrations", + "method": "createNewIntegration", + "httpMethod": "post", + "tag": "Integrations", + "typeScriptTag": "integrations", + "description": "Create a New Integration", + "parameters": [ + { + "name": "name", + "schema": "string", + "description": "", + "example": "Sample Integration" + }, + { + "name": "type", + "schema": "string", + "description": "", + "example": "custom" + }, + { + "name": "teams", + "schema": "array", + "description": "", + "example": [ + "4c0e07c0-306a-4f4e-8b2b-6a8d7a33d251", + "a5423e2e-93b8-4b2c-af3c-7b7f0eefea14" + ] + }, + { + "name": "credentials", + "schema": "object", + "description": "", + "example": {} + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request." + }, + { + "statusCode": "500", + "description": "Internal server error." + } + ] + }, + { + "url": "/integration/integrations/{integration_id}", + "method": "getById", + "httpMethod": "get", + "tag": "Integrations", + "typeScriptTag": "integrations", + "description": "Get Integration by ID", + "parameters": [ + { + "name": "integrationId", + "schema": "string", + "required": true, + "description": "The ID of the integration to retrieve.", + "example": "d31e59c7-cd52-4398-9d6e-da313a7b7775" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Integration not found." + }, + { + "statusCode": "500", + "description": "Internal server error." + } + ] + }, + { + "url": "/integration/integrations/{integration_id}/import_metadata", + "method": "uploadMetadataCsv", + "httpMethod": "post", + "tag": "Integrations", + "typeScriptTag": "integrations", + "description": "Upload Integration Metadata (via CSV)", + "parameters": [ + { + "name": "integrationId", + "schema": "string", + "required": true, + "description": "The ID of the integration to upload metadata for.", + "example": "d31e59c7-cd52-4398-9d6e-da313a7b7775" + }, + { + "name": "file", + "schema": "string", + "description": "", + "example": "path/to/your/file.csv" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Integration metadata uploaded successfully." + }, + { + "statusCode": "404", + "description": "Integration not found." + }, + { + "statusCode": "500", + "description": "Internal server error." + } + ] + }, + { + "url": "/integration/integrations/{integration_id}/import_jsonl_metadata", + "method": "uploadJsonlMetadata", + "httpMethod": "post", + "tag": "Integrations", + "typeScriptTag": "integrations", + "description": "Upload Integration Metadata (via JSONL)", + "parameters": [ + { + "name": "integrationId", + "schema": "string", + "required": true, + "description": "The ID of the integration to upload metadata and/or lineage for.", + "example": "d31e59c7-cd52-4398-9d6e-da313a7b7775" + }, + { + "name": "resources_file", + "schema": "string", + "required": true, + "description": "", + "example": "path/to/your/resources_file.jsonl" + }, + { + "name": "lineages_file", + "schema": "string", + "required": false, + "description": "", + "example": "path/to/your/lineages_file.jsonl" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Integration JSONL file uploaded successfully." + }, + { + "statusCode": "404", + "description": "Integration not found." + }, + { + "statusCode": "500", + "description": "Internal server error." + } + ] + }, + { + "url": "/table/databases", + "method": "listAllActive", + "httpMethod": "get", + "tag": "Databases", + "typeScriptTag": "databases", + "description": "List Databases", + "parameters": [ + { + "name": "title", + "schema": "string", + "description": "The title of the database to search for.", + "example": "customers" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request." + }, + { + "statusCode": "500", + "description": "Internal server error." + } + ] + }, + { + "url": "/table/databases", + "method": "createNewDatabase", + "httpMethod": "post", + "tag": "Databases", + "typeScriptTag": "databases", + "description": "Create a New Database", + "parameters": [ + { + "name": "tags", + "schema": "array", + "description": "", + "example": [ + "04654d61-4f64-4f08-b697-3915b5137c49", + "429693a2-a5e7-4525-b413-ece5e96bc5b3" + ] + }, + { + "name": "title", + "schema": "string", + "description": "", + "example": "Sample Title" + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "This is a description for a sample table." + }, + { + "name": "integration", + "schema": "string", + "description": "", + "example": "ca529385-fbc9-4934-afae-e372affe795b" + }, + { + "name": "definition", + "schema": "string", + "description": "", + "example": "\\n# Castae illa\\n\\n## Finemque aequore\\n\\nLorem markdownum motus" + }, + { + "name": "parent", + "schema": "string", + "description": "", + "example": "df2c0597-13d9-4159-bb6d-00b3f54235dc" + }, + { + "name": "pii", + "schema": "boolean", + "description": "", + "example": false + }, + { + "name": "verified", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "published", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "teams", + "schema": "array", + "description": "", + "example": [ + "e8ac09ed-e51e-4e61-8eaf-59942c98c260", + "cca810f1-11c1-4117-bc23-20ae8020897f" + ] + }, + { + "name": "owners", + "schema": "array", + "description": "", + "example": [ + "33733f42-8ff7-460b-9e20-50a2133d3bb0", + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "collections", + "schema": "array", + "description": "", + "example": [ + "3b2c7185-fb5d-4d94-89d4-3dae08e093a9" + ] + }, + { + "name": "subscribers", + "schema": "array", + "description": "", + "example": [ + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "properties", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request." + }, + { + "statusCode": "500", + "description": "Internal server error." + } + ] + }, + { + "url": "/table/databases/{database_id}", + "method": "getById", + "httpMethod": "get", + "tag": "Databases", + "typeScriptTag": "databases", + "description": "Get Database by ID", + "parameters": [ + { + "name": "databaseId", + "schema": "string", + "required": true, + "description": "The unique identifier of the database to retrieve.", + "example": "27498d73-db31-4a4e-8cf0-faccff1bed0f" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Database not found." + }, + { + "statusCode": "500", + "description": "Internal server error." + } + ] + }, + { + "url": "/table/schemas", + "method": "listWithFilter", + "httpMethod": "get", + "tag": "Schemas", + "typeScriptTag": "schemas", + "description": "List Schemas", + "parameters": [ + { + "name": "parent", + "schema": "string", + "description": "The ID of the parent database to filter by." + }, + { + "name": "title", + "schema": "string", + "description": "The title of the schema to filter by." + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request." + }, + { + "statusCode": "500", + "description": "Internal server error." + } + ] + }, + { + "url": "/table/schemas", + "method": "createNewSchema", + "httpMethod": "post", + "tag": "Schemas", + "typeScriptTag": "schemas", + "description": "Create a New Schema", + "parameters": [ + { + "name": "tags", + "schema": "array", + "description": "", + "example": [ + "04654d61-4f64-4f08-b697-3915b5137c49", + "429693a2-a5e7-4525-b413-ece5e96bc5b3" + ] + }, + { + "name": "title", + "schema": "string", + "description": "", + "example": "Sample Title" + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "This is a description for a sample table." + }, + { + "name": "integration", + "schema": "string", + "description": "", + "example": "ca529385-fbc9-4934-afae-e372affe795b" + }, + { + "name": "definition", + "schema": "string", + "description": "", + "example": "\\n# Castae illa\\n\\n## Finemque aequore\\n\\nLorem markdownum motus" + }, + { + "name": "parent", + "schema": "string", + "description": "", + "example": "df2c0597-13d9-4159-bb6d-00b3f54235dc" + }, + { + "name": "pii", + "schema": "boolean", + "description": "", + "example": false + }, + { + "name": "verified", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "published", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "teams", + "schema": "array", + "description": "", + "example": [ + "e8ac09ed-e51e-4e61-8eaf-59942c98c260", + "cca810f1-11c1-4117-bc23-20ae8020897f" + ] + }, + { + "name": "owners", + "schema": "array", + "description": "", + "example": [ + "33733f42-8ff7-460b-9e20-50a2133d3bb0", + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "collections", + "schema": "array", + "description": "", + "example": [ + "3b2c7185-fb5d-4d94-89d4-3dae08e093a9" + ] + }, + { + "name": "subscribers", + "schema": "array", + "description": "", + "example": [ + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "properties", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request." + }, + { + "statusCode": "500", + "description": "Internal server error." + } + ] + }, + { + "url": "/table/schemas/{schema_id}", + "method": "getById", + "httpMethod": "get", + "tag": "Schemas", + "typeScriptTag": "schemas", + "description": "Get Schema by ID", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Schema not found." + }, + { + "statusCode": "500", + "description": "Internal server error." + } + ] + }, + { + "url": "/table/schemas/{schema_id}", + "method": "updateById", + "httpMethod": "patch", + "tag": "Schemas", + "typeScriptTag": "schemas", + "description": "Update Schema by ID", + "parameters": [ + { + "name": "tags", + "schema": "array", + "description": "", + "example": [ + "04654d61-4f64-4f08-b697-3915b5137c49", + "429693a2-a5e7-4525-b413-ece5e96bc5b3" + ] + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "This is a description for a sample table." + }, + { + "name": "definition", + "schema": "string", + "description": "", + "example": "\\n# Castae illa\\n\\n## Finemque aequore\\n\\nLorem markdownum motus" + }, + { + "name": "pii", + "schema": "boolean", + "description": "", + "example": false + }, + { + "name": "verified", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "published", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "teams", + "schema": "array", + "description": "", + "example": [ + "e8ac09ed-e51e-4e61-8eaf-59942c98c260", + "cca810f1-11c1-4117-bc23-20ae8020897f" + ] + }, + { + "name": "owners", + "schema": "array", + "description": "", + "example": [ + "33733f42-8ff7-460b-9e20-50a2133d3bb0", + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "collections", + "schema": "array", + "description": "", + "example": [ + "3b2c7185-fb5d-4d94-89d4-3dae08e093a9" + ] + }, + { + "name": "subscribers", + "schema": "array", + "description": "", + "example": [ + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "properties", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request." + }, + { + "statusCode": "404", + "description": "Schema not found." + }, + { + "statusCode": "500", + "description": "Internal server error." + } + ] + }, + { + "url": "/table/tables", + "method": "listTablesByFilter", + "httpMethod": "get", + "tag": "Tables", + "typeScriptTag": "tables", + "description": "List Tables", + "parameters": [ + { + "name": "integrationId", + "schema": "string", + "description": "Integration ID", + "example": "df2c0597-13d9-4159-bb6d-00b3f54235dc" + }, + { + "name": "parentId", + "schema": "string", + "description": "ID of the schema", + "example": "df2c0597-13d9-4159-bb6d-00b3f54235dc" + }, + { + "name": "title", + "schema": "string", + "description": "Title of the table", + "example": "Sample Table" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request." + }, + { + "statusCode": "500", + "description": "Internal server error." + } + ] + }, + { + "url": "/table/tables", + "method": "createNewTable", + "httpMethod": "post", + "tag": "Tables", + "typeScriptTag": "tables", + "description": "Create a New Table", + "parameters": [ + { + "name": "tags", + "schema": "array", + "description": "", + "example": [ + "04654d61-4f64-4f08-b697-3915b5137c49", + "429693a2-a5e7-4525-b413-ece5e96bc5b3" + ] + }, + { + "name": "title", + "schema": "string", + "description": "", + "example": "Sample Title" + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "This is a description for a sample table." + }, + { + "name": "integration", + "schema": "string", + "description": "", + "example": "ca529385-fbc9-4934-afae-e372affe795b" + }, + { + "name": "definition", + "schema": "string", + "description": "", + "example": "\\n# Castae illa\\n\\n## Finemque aequore\\n\\nLorem markdownum motus" + }, + { + "name": "parent", + "schema": "string", + "description": "", + "example": "df2c0597-13d9-4159-bb6d-00b3f54235dc" + }, + { + "name": "pii", + "schema": "boolean", + "description": "", + "example": false + }, + { + "name": "verified", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "published", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "teams", + "schema": "array", + "description": "", + "example": [ + "e8ac09ed-e51e-4e61-8eaf-59942c98c260", + "cca810f1-11c1-4117-bc23-20ae8020897f" + ] + }, + { + "name": "owners", + "schema": "array", + "description": "", + "example": [ + "33733f42-8ff7-460b-9e20-50a2133d3bb0", + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "collections", + "schema": "array", + "description": "", + "example": [ + "3b2c7185-fb5d-4d94-89d4-3dae08e093a9" + ] + }, + { + "name": "subscribers", + "schema": "array", + "description": "", + "example": [ + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "properties", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request." + }, + { + "statusCode": "500", + "description": "Internal server error." + } + ] + }, + { + "url": "/table/tables/{table_id}", + "method": "deleteById", + "httpMethod": "delete", + "tag": "Tables", + "typeScriptTag": "tables", + "description": "Delete Table by ID", + "parameters": [ + { + "name": "tableId", + "schema": "string", + "required": true, + "description": "ID of the table to delete", + "example": "e7691426-2c2a-46b4-98e7-d09d0b82b2b1" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "Table deleted successfully" + }, + { + "statusCode": "404", + "description": "Table not found." + }, + { + "statusCode": "500", + "description": "Internal server error." + } + ] + }, + { + "url": "/table/tables/{table_id}", + "method": "getTableById", + "httpMethod": "get", + "tag": "Tables", + "typeScriptTag": "tables", + "description": "Get Table by ID", + "parameters": [ + { + "name": "tableId", + "schema": "string", + "required": true, + "description": "ID of the table to retrieve", + "example": "d935a76c-2125-4c30-9389-ef42fa7e23bb" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Table not found." + }, + { + "statusCode": "500", + "description": "Internal server error." + } + ] + }, + { + "url": "/table/tables/{table_id}", + "method": "updateById", + "httpMethod": "patch", + "tag": "Tables", + "typeScriptTag": "tables", + "description": "Update Table by ID", + "parameters": [ + { + "name": "tableId", + "schema": "string", + "required": true, + "description": "ID of the table to update", + "example": "d935a76c-2125-4c30-9389-ef42fa7e23bb" + }, + { + "name": "tags", + "schema": "array", + "description": "", + "example": [ + "04654d61-4f64-4f08-b697-3915b5137c49", + "429693a2-a5e7-4525-b413-ece5e96bc5b3" + ] + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "This is a description for a sample table." + }, + { + "name": "definition", + "schema": "string", + "description": "", + "example": "\\n# Castae illa\\n\\n## Finemque aequore\\n\\nLorem markdownum motus" + }, + { + "name": "pii", + "schema": "boolean", + "description": "", + "example": false + }, + { + "name": "verified", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "published", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "teams", + "schema": "array", + "description": "", + "example": [ + "e8ac09ed-e51e-4e61-8eaf-59942c98c260", + "cca810f1-11c1-4117-bc23-20ae8020897f" + ] + }, + { + "name": "owners", + "schema": "array", + "description": "", + "example": [ + "33733f42-8ff7-460b-9e20-50a2133d3bb0", + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "collections", + "schema": "array", + "description": "", + "example": [ + "3b2c7185-fb5d-4d94-89d4-3dae08e093a9" + ] + }, + { + "name": "subscribers", + "schema": "array", + "description": "", + "example": [ + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "properties", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request." + }, + { + "statusCode": "404", + "description": "Table not found." + }, + { + "statusCode": "500", + "description": "Internal server error." + } + ] + }, + { + "url": "/table/columns", + "method": "getList", + "httpMethod": "get", + "tag": "Columns", + "typeScriptTag": "columns", + "description": "List Columns", + "parameters": [ + { + "name": "integrationId", + "schema": "string", + "description": "Optional. Filter columns by integration identifier.", + "example": "6c69de0f-b269-4380-bcf5-0686de276b9e" + }, + { + "name": "parentId", + "schema": "string", + "description": "Optional. Filter columns by parent identifier. This could be the ID of the table or of the parent column in the case of nested columns.", + "example": "c444bc26-433e-4cd2-b3ee-f5a1fbb2caf8" + }, + { + "name": "title", + "schema": "string", + "description": "Optional. Filter columns by title of the column.", + "example": "Sample Column" + }, + { + "name": "tableTitle", + "schema": "string", + "description": "Optional. Filter columns by title of the table that the columns belong to. If several integrations have the same naming of tables, it is recommended to combine this with the `integration_id`.", + "example": "Sample Table" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request." + }, + { + "statusCode": "500", + "description": "Internal server error." + } + ] + }, + { + "url": "/table/columns", + "method": "createNewColumn", + "httpMethod": "post", + "tag": "Columns", + "typeScriptTag": "columns", + "description": "Create a New Column", + "parameters": [ + { + "name": "tags", + "schema": "array", + "description": "", + "example": [ + "04654d61-4f64-4f08-b697-3915b5137c49", + "429693a2-a5e7-4525-b413-ece5e96bc5b3" + ] + }, + { + "name": "title", + "schema": "string", + "description": "", + "example": "Sample Title" + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "This is a description for a sample table." + }, + { + "name": "integration", + "schema": "string", + "description": "", + "example": "ca529385-fbc9-4934-afae-e372affe795b" + }, + { + "name": "definition", + "schema": "string", + "description": "", + "example": "\\n# Castae illa\\n\\n## Finemque aequore\\n\\nLorem markdownum motus" + }, + { + "name": "parent", + "schema": "string", + "description": "", + "example": "df2c0597-13d9-4159-bb6d-00b3f54235dc" + }, + { + "name": "pii", + "schema": "boolean", + "description": "", + "example": false + }, + { + "name": "verified", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "published", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "teams", + "schema": "array", + "description": "", + "example": [ + "e8ac09ed-e51e-4e61-8eaf-59942c98c260", + "cca810f1-11c1-4117-bc23-20ae8020897f" + ] + }, + { + "name": "owners", + "schema": "array", + "description": "", + "example": [ + "33733f42-8ff7-460b-9e20-50a2133d3bb0", + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "collections", + "schema": "array", + "description": "", + "example": [ + "3b2c7185-fb5d-4d94-89d4-3dae08e093a9" + ] + }, + { + "name": "subscribers", + "schema": "array", + "description": "", + "example": [ + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "properties", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad request." + }, + { + "statusCode": "500", + "description": "Internal server error." + } + ] + }, + { + "url": "/table/columns/{column_id}", + "method": "deleteById", + "httpMethod": "delete", + "tag": "Columns", + "typeScriptTag": "columns", + "description": "Delete Column by ID", + "parameters": [ + { + "name": "columnId", + "schema": "string", + "required": true, + "description": "Identifier of the column to delete.", + "example": "8b2e01e0-603b-4559-8eac-4e16ecc61fc7" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "Column deleted successfully." + }, + { + "statusCode": "404", + "description": "Column not found." + }, + { + "statusCode": "500", + "description": "Internal server error." + } + ] + }, + { + "url": "/table/columns/{column_id}", + "method": "getColumnById", + "httpMethod": "get", + "tag": "Columns", + "typeScriptTag": "columns", + "description": "Get Column by ID", + "parameters": [ + { + "name": "columnId", + "schema": "string", + "required": true, + "description": "Identifier of the column to retrieve.", + "example": "8b2e01e0-603b-4559-8eac-4e16ecc61fc7" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Column not found." + }, + { + "statusCode": "500", + "description": "Internal server error." + } + ] + }, + { + "url": "/table/columns/{column_id}", + "method": "editById", + "httpMethod": "patch", + "tag": "Columns", + "typeScriptTag": "columns", + "description": "Edit Column by ID", + "parameters": [ + { + "name": "columnId", + "schema": "string", + "required": true, + "description": "Identifier of the column to retrieve.", + "example": "8b2e01e0-603b-4559-8eac-4e16ecc61fc7" + }, + { + "name": "tags", + "schema": "array", + "description": "", + "example": [ + "04654d61-4f64-4f08-b697-3915b5137c49", + "429693a2-a5e7-4525-b413-ece5e96bc5b3" + ] + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "This is a description for a sample table." + }, + { + "name": "definition", + "schema": "string", + "description": "", + "example": "\\n# Castae illa\\n\\n## Finemque aequore\\n\\nLorem markdownum motus" + }, + { + "name": "pii", + "schema": "boolean", + "description": "", + "example": false + }, + { + "name": "verified", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "published", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "teams", + "schema": "array", + "description": "", + "example": [ + "e8ac09ed-e51e-4e61-8eaf-59942c98c260", + "cca810f1-11c1-4117-bc23-20ae8020897f" + ] + }, + { + "name": "owners", + "schema": "array", + "description": "", + "example": [ + "33733f42-8ff7-460b-9e20-50a2133d3bb0", + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "collections", + "schema": "array", + "description": "", + "example": [ + "3b2c7185-fb5d-4d94-89d4-3dae08e093a9" + ] + }, + { + "name": "subscribers", + "schema": "array", + "description": "", + "example": [ + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "properties", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Column not found." + }, + { + "statusCode": "500", + "description": "Internal server error." + } + ] + }, + { + "url": "/dashboard/groups", + "method": "list", + "httpMethod": "get", + "tag": "Dashboard Groups", + "typeScriptTag": "dashboardGroups", + "description": "List Dashboard Groups", + "parameters": [ + { + "name": "title", + "schema": "string", + "description": "Filter groups by title", + "example": "Sample Group" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/dashboard/groups", + "method": "createNewGroup", + "httpMethod": "post", + "tag": "Dashboard Groups", + "typeScriptTag": "dashboardGroups", + "description": "Create a New Dashboard Group", + "parameters": [ + { + "name": "tags", + "schema": "array", + "description": "", + "example": [ + "04654d61-4f64-4f08-b697-3915b5137c49", + "429693a2-a5e7-4525-b413-ece5e96bc5b3" + ] + }, + { + "name": "title", + "schema": "string", + "description": "", + "example": "Sample Title" + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "This is a description for a sample table." + }, + { + "name": "integration", + "schema": "string", + "description": "", + "example": "ca529385-fbc9-4934-afae-e372affe795b" + }, + { + "name": "definition", + "schema": "string", + "description": "", + "example": "\\n# Castae illa\\n\\n## Finemque aequore\\n\\nLorem markdownum motus" + }, + { + "name": "parent", + "schema": "string", + "description": "", + "example": "df2c0597-13d9-4159-bb6d-00b3f54235dc" + }, + { + "name": "pii", + "schema": "boolean", + "description": "", + "example": false + }, + { + "name": "verified", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "published", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "teams", + "schema": "array", + "description": "", + "example": [ + "e8ac09ed-e51e-4e61-8eaf-59942c98c260", + "cca810f1-11c1-4117-bc23-20ae8020897f" + ] + }, + { + "name": "owners", + "schema": "array", + "description": "", + "example": [ + "33733f42-8ff7-460b-9e20-50a2133d3bb0", + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "collections", + "schema": "array", + "description": "", + "example": [ + "3b2c7185-fb5d-4d94-89d4-3dae08e093a9" + ] + }, + { + "name": "subscribers", + "schema": "array", + "description": "", + "example": [ + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "properties", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/dashboard/groups/{group_id}", + "method": "getById", + "httpMethod": "get", + "tag": "Dashboard Groups", + "typeScriptTag": "dashboardGroups", + "description": "Get Dashboard Group by ID", + "parameters": [ + { + "name": "groupId", + "schema": "string", + "required": true, + "description": "ID of the dashboard group to retrieve", + "example": "43d7c33d-ad74-4dfb-bfad-c172f6701afb" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Not Found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/dashboard/dashboards", + "method": "listWithFilter", + "httpMethod": "get", + "tag": "Dashboards", + "typeScriptTag": "dashboards", + "description": "List Dashboards", + "parameters": [ + { + "name": "integrationId", + "schema": "string", + "description": "Filter by integration ID", + "example": "cf103b47-8576-4467-ad34-384cd523abd9" + }, + { + "name": "parentId", + "schema": "string", + "description": "Filter by parent ID", + "example": "43d7c33d-ad74-4dfb-bfad-c172f6701afb" + }, + { + "name": "title", + "schema": "string", + "description": "Filter by title", + "example": "Sample Dashboard" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/dashboard/dashboards", + "method": "createNewDashboard", + "httpMethod": "post", + "tag": "Dashboards", + "typeScriptTag": "dashboards", + "description": "Create a new Dashboard", + "parameters": [ + { + "name": "tags", + "schema": "array", + "description": "", + "example": [ + "04654d61-4f64-4f08-b697-3915b5137c49", + "429693a2-a5e7-4525-b413-ece5e96bc5b3" + ] + }, + { + "name": "title", + "schema": "string", + "description": "", + "example": "Sample Title" + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "This is a description for a sample table." + }, + { + "name": "integration", + "schema": "string", + "description": "", + "example": "ca529385-fbc9-4934-afae-e372affe795b" + }, + { + "name": "definition", + "schema": "string", + "description": "", + "example": "\\n# Castae illa\\n\\n## Finemque aequore\\n\\nLorem markdownum motus" + }, + { + "name": "parent", + "schema": "string", + "description": "", + "example": "df2c0597-13d9-4159-bb6d-00b3f54235dc" + }, + { + "name": "pii", + "schema": "boolean", + "description": "", + "example": false + }, + { + "name": "verified", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "published", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "teams", + "schema": "array", + "description": "", + "example": [ + "e8ac09ed-e51e-4e61-8eaf-59942c98c260", + "cca810f1-11c1-4117-bc23-20ae8020897f" + ] + }, + { + "name": "owners", + "schema": "array", + "description": "", + "example": [ + "33733f42-8ff7-460b-9e20-50a2133d3bb0", + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "collections", + "schema": "array", + "description": "", + "example": [ + "3b2c7185-fb5d-4d94-89d4-3dae08e093a9" + ] + }, + { + "name": "subscribers", + "schema": "array", + "description": "", + "example": [ + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "properties", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/dashboard/dashboards/{dashboard_id}", + "method": "deleteById", + "httpMethod": "delete", + "tag": "Dashboards", + "typeScriptTag": "dashboards", + "description": "Delete Dashboard by ID", + "parameters": [ + { + "name": "dashboardId", + "schema": "string", + "required": true, + "description": "The ID of the dashboard to delete.", + "example": "0b3938f4-692c-4d78-b40c-247c75dc6930" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Not Found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/dashboard/dashboards/{dashboard_id}", + "method": "getById", + "httpMethod": "get", + "tag": "Dashboards", + "typeScriptTag": "dashboards", + "description": "Get Dashboard by ID", + "parameters": [ + { + "name": "dashboardId", + "schema": "string", + "required": true, + "description": "The ID of the dashboard to retrieve.", + "example": "226dc8aa-fa8d-4646-8b11-6652cdc64065" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Not Found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/dashboard/dashboards/{dashboard_id}", + "method": "updateById", + "httpMethod": "patch", + "tag": "Dashboards", + "typeScriptTag": "dashboards", + "description": "Update Dashboard by ID", + "parameters": [ + { + "name": "dashboardId", + "schema": "string", + "required": true, + "description": "The ID of the dashboard to update.", + "example": "226dc8aa-fa8d-4646-8b11-6652cdc64065" + }, + { + "name": "tags", + "schema": "array", + "description": "", + "example": [ + "04654d61-4f64-4f08-b697-3915b5137c49", + "429693a2-a5e7-4525-b413-ece5e96bc5b3" + ] + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "This is a description for a sample table." + }, + { + "name": "definition", + "schema": "string", + "description": "", + "example": "\\n# Castae illa\\n\\n## Finemque aequore\\n\\nLorem markdownum motus" + }, + { + "name": "pii", + "schema": "boolean", + "description": "", + "example": false + }, + { + "name": "verified", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "published", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "teams", + "schema": "array", + "description": "", + "example": [ + "e8ac09ed-e51e-4e61-8eaf-59942c98c260", + "cca810f1-11c1-4117-bc23-20ae8020897f" + ] + }, + { + "name": "owners", + "schema": "array", + "description": "", + "example": [ + "33733f42-8ff7-460b-9e20-50a2133d3bb0", + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "collections", + "schema": "array", + "description": "", + "example": [ + "3b2c7185-fb5d-4d94-89d4-3dae08e093a9" + ] + }, + { + "name": "subscribers", + "schema": "array", + "description": "", + "example": [ + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "properties", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Not Found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/dashboard/charts", + "method": "list", + "httpMethod": "get", + "tag": "Charts", + "typeScriptTag": "charts", + "description": "List Charts", + "parameters": [ + { + "name": "integrationId", + "schema": "string", + "description": "Filter by integration ID", + "example": "cf103b47-8576-4467-ad34-384cd523abd9" + }, + { + "name": "parentId", + "schema": "string", + "description": "Filter by parent ID", + "example": "226dc8aa-fa8d-4646-8b11-6652cdc64065" + }, + { + "name": "title", + "schema": "string", + "description": "Filter by title", + "example": "Sample Chart" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/dashboard/charts", + "method": "createNewChart", + "httpMethod": "post", + "tag": "Charts", + "typeScriptTag": "charts", + "description": "Create a new Chart", + "parameters": [ + { + "name": "tags", + "schema": "array", + "description": "", + "example": [ + "04654d61-4f64-4f08-b697-3915b5137c49", + "429693a2-a5e7-4525-b413-ece5e96bc5b3" + ] + }, + { + "name": "title", + "schema": "string", + "description": "", + "example": "Sample Title" + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "This is a description for a sample table." + }, + { + "name": "integration", + "schema": "string", + "description": "", + "example": "ca529385-fbc9-4934-afae-e372affe795b" + }, + { + "name": "definition", + "schema": "string", + "description": "", + "example": "\\n# Castae illa\\n\\n## Finemque aequore\\n\\nLorem markdownum motus" + }, + { + "name": "parent", + "schema": "string", + "description": "", + "example": "df2c0597-13d9-4159-bb6d-00b3f54235dc" + }, + { + "name": "pii", + "schema": "boolean", + "description": "", + "example": false + }, + { + "name": "verified", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "published", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "teams", + "schema": "array", + "description": "", + "example": [ + "e8ac09ed-e51e-4e61-8eaf-59942c98c260", + "cca810f1-11c1-4117-bc23-20ae8020897f" + ] + }, + { + "name": "owners", + "schema": "array", + "description": "", + "example": [ + "33733f42-8ff7-460b-9e20-50a2133d3bb0", + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "collections", + "schema": "array", + "description": "", + "example": [ + "3b2c7185-fb5d-4d94-89d4-3dae08e093a9" + ] + }, + { + "name": "subscribers", + "schema": "array", + "description": "", + "example": [ + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "properties", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/dashboard/charts/{chart_id}", + "method": "deleteById", + "httpMethod": "delete", + "tag": "Charts", + "typeScriptTag": "charts", + "description": "Delete Chart by ID", + "parameters": [ + { + "name": "chartId", + "schema": "string", + "required": true, + "description": "", + "example": "45813776-8934-442d-adf7-74ec921c53bf" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Not Found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/dashboard/charts/{chart_id}", + "method": "getById", + "httpMethod": "get", + "tag": "Charts", + "typeScriptTag": "charts", + "description": "Get Chart by ID", + "parameters": [ + { + "name": "chartId", + "schema": "string", + "required": true, + "description": "The ID of the chart to retrieve.", + "example": "45813776-8934-442d-adf7-74ec921c53bf" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Not Found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/dashboard/charts/{chart_id}", + "method": "updateById", + "httpMethod": "patch", + "tag": "Charts", + "typeScriptTag": "charts", + "description": "Update Chart by ID", + "parameters": [ + { + "name": "chartId", + "schema": "string", + "required": true, + "description": "The ID of the chart to update.", + "example": "45813776-8934-442d-adf7-74ec921c53bf" + }, + { + "name": "tags", + "schema": "array", + "description": "", + "example": [ + "04654d61-4f64-4f08-b697-3915b5137c49", + "429693a2-a5e7-4525-b413-ece5e96bc5b3" + ] + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "This is a description for a sample table." + }, + { + "name": "definition", + "schema": "string", + "description": "", + "example": "\\n# Castae illa\\n\\n## Finemque aequore\\n\\nLorem markdownum motus" + }, + { + "name": "pii", + "schema": "boolean", + "description": "", + "example": false + }, + { + "name": "verified", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "published", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "teams", + "schema": "array", + "description": "", + "example": [ + "e8ac09ed-e51e-4e61-8eaf-59942c98c260", + "cca810f1-11c1-4117-bc23-20ae8020897f" + ] + }, + { + "name": "owners", + "schema": "array", + "description": "", + "example": [ + "33733f42-8ff7-460b-9e20-50a2133d3bb0", + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "collections", + "schema": "array", + "description": "", + "example": [ + "3b2c7185-fb5d-4d94-89d4-3dae08e093a9" + ] + }, + { + "name": "subscribers", + "schema": "array", + "description": "", + "example": [ + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "properties", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Not Found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/lineage/manual", + "method": "listObjectsWithFiltering", + "httpMethod": "get", + "tag": "Lineage", + "typeScriptTag": "lineage", + "description": "List Lineage", + "parameters": [ + { + "name": "fromEntityIn", + "schema": "string", + "description": "", + "example": "7879886b-9e0e-4d02-8b37-c7d3c496a587" + }, + { + "name": "toEntityIn", + "schema": "string", + "description": "", + "example": "b500ef23-c9b4-4259-a87d-d77b8b588f06" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/lineage/manual", + "method": "createNewLineageManually", + "httpMethod": "post", + "tag": "Lineage", + "typeScriptTag": "lineage", + "description": "Create new Lineage", + "parameters": [ + { + "name": "from_entity", + "schema": "string", + "description": "", + "example": "7879886b-9e0e-4d02-8b37-c7d3c496a587" + }, + { + "name": "to_entity", + "schema": "string", + "description": "", + "example": "b500ef23-c9b4-4259-a87d-d77b8b588f06" + }, + { + "name": "direction", + "schema": "string", + "description": "", + "example": "DOWNSTREAM" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/lineage/manual/{lineage_id}", + "method": "deleteById", + "httpMethod": "delete", + "tag": "Lineage", + "typeScriptTag": "lineage", + "description": "Delete Lineage by ID", + "parameters": [ + { + "name": "lineageId", + "schema": "string", + "required": true, + "description": "The ID of the lineage entry to delete.", + "example": "34d983b3-bfe0-4b49-abea-0692c8be6693" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "No Content" + }, + { + "statusCode": "404", + "description": "Not Found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/lineage/manual/{lineage_id}", + "method": "getById", + "httpMethod": "get", + "tag": "Lineage", + "typeScriptTag": "lineage", + "description": "Get Lineage by ID", + "parameters": [ + { + "name": "lineageId", + "schema": "string", + "required": true, + "description": "The ID of the lineage entry to retrieve.", + "example": "34d983b3-bfe0-4b49-abea-0692c8be6693" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Not Found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/tag", + "method": "list", + "httpMethod": "get", + "tag": "Tags", + "typeScriptTag": "tags", + "description": "List Tags", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/tag", + "method": "createNewTag", + "httpMethod": "post", + "tag": "Tags", + "typeScriptTag": "tags", + "description": "Create a new Tag", + "parameters": [ + { + "name": "description", + "schema": "string", + "description": "", + "example": "This is a sample tag." + }, + { + "name": "name", + "schema": "string", + "description": "", + "example": "Sample Tag" + }, + { + "name": "color", + "schema": "string", + "description": "", + "example": "#4299E1" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/tag/{tag_id}", + "method": "deleteById", + "httpMethod": "delete", + "tag": "Tags", + "typeScriptTag": "tags", + "description": "Delete Tag by ID", + "parameters": [ + { + "name": "tagId", + "schema": "string", + "required": true, + "description": "The ID of the tag to delete.", + "example": "69e0b863-8bb8-47e1-b566-8b8d57441c70" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "No Content" + }, + { + "statusCode": "404", + "description": "Not Found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/tag/{tag_id}", + "method": "getById", + "httpMethod": "get", + "tag": "Tags", + "typeScriptTag": "tags", + "description": "Get Tag by ID", + "parameters": [ + { + "name": "tagId", + "schema": "string", + "required": true, + "description": "The ID of the tag to retrieve.", + "example": "69e0b863-8bb8-47e1-b566-8b8d57441c70" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Not Found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/tag/{tag_id}", + "method": "updateById", + "httpMethod": "patch", + "tag": "Tags", + "typeScriptTag": "tags", + "description": "Update Tag by ID", + "parameters": [ + { + "name": "tagId", + "schema": "string", + "required": true, + "description": "The ID of the tag to update.", + "example": "38040671-8f1d-4322-b895-4fd7b73317bf" + }, + { + "name": "color", + "schema": "string", + "required": true, + "description": "", + "example": "#316650" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "No Content" + }, + { + "statusCode": "404", + "description": "Not Found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/user", + "method": "list", + "httpMethod": "get", + "tag": "Users", + "typeScriptTag": "users", + "description": "List Users", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/user", + "method": "createNewUser", + "httpMethod": "post", + "tag": "Users", + "typeScriptTag": "users", + "description": "Create a New User", + "parameters": [ + { + "name": "first_name", + "schema": "string", + "description": "", + "example": "Sample" + }, + { + "name": "last_name", + "schema": "string", + "description": "", + "example": "User" + }, + { + "name": "email", + "schema": "string", + "description": "", + "example": "sample@sample.com" + }, + { + "name": "role", + "schema": "string", + "description": "", + "example": "editor" + }, + { + "name": "_role", + "schema": "string", + "description": "", + "example": "editor" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/user/{id}", + "method": "deleteById", + "httpMethod": "delete", + "tag": "Users", + "typeScriptTag": "users", + "description": "Delete User by ID", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The ID of the user to delete.", + "example": "3131f219-16bb-4c95-853a-894ae12db42a" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "No Content" + }, + { + "statusCode": "404", + "description": "Not Found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/user/{id}", + "method": "getUserById", + "httpMethod": "get", + "tag": "Users", + "typeScriptTag": "users", + "description": "Get User by ID", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The ID of the user to retrieve.", + "example": "3131f219-16bb-4c95-853a-894ae12db42a" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Not Found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/user/{id}", + "method": "updateById", + "httpMethod": "patch", + "tag": "Users", + "typeScriptTag": "users", + "description": "Update User by ID", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The ID of the user to update.", + "example": "3131f219-16bb-4c95-853a-894ae12db42a" + }, + { + "name": "first_name", + "schema": "string", + "description": "", + "example": "Sample" + }, + { + "name": "last_name", + "schema": "string", + "description": "", + "example": "User" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "404", + "description": "User not found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/auth/teams", + "method": "getList", + "httpMethod": "get", + "tag": "Teams", + "typeScriptTag": "teams", + "description": "List Teams", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/auth/teams", + "method": "createNewTeam", + "httpMethod": "post", + "tag": "Teams", + "typeScriptTag": "teams", + "description": "Create a New Team", + "parameters": [ + { + "name": "description", + "schema": "string", + "description": "", + "example": "This is the best team in this workspace." + }, + { + "name": "name", + "schema": "string", + "description": "", + "example": "Test Team" + }, + { + "name": "icon", + "schema": "string", + "description": "", + "example": "😀" + }, + { + "name": "type", + "schema": "string", + "description": "", + "example": "OPEN" + }, + { + "name": "sidebar_settings", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/auth/teams/{id}", + "method": "deleteById", + "httpMethod": "delete", + "tag": "Teams", + "typeScriptTag": "teams", + "description": "Delete Team by ID", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The ID of the team to delete.", + "example": "3131f219-16bb-4c95-853a-894ae12db42a" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "No Content" + }, + { + "statusCode": "404", + "description": "Not Found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/auth/teams/{id}", + "method": "getById", + "httpMethod": "get", + "tag": "Teams", + "typeScriptTag": "teams", + "description": "Get Team by ID", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The ID of the team to retrieve.", + "example": "3131f219-16bb-4c95-853a-894ae12db42a" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Not Found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/auth/teams/{id}", + "method": "updateById", + "httpMethod": "patch", + "tag": "Teams", + "typeScriptTag": "teams", + "description": "Update Team by ID", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The ID of the team to update.", + "example": "3131f219-16bb-4c95-853a-894ae12db42a" + }, + { + "name": "name", + "schema": "string", + "description": "", + "example": "New Team" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "404", + "description": "User not found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/auth/group", + "method": "list", + "httpMethod": "get", + "tag": "User Groups", + "typeScriptTag": "userGroups", + "description": "List User Groups", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/auth/group", + "method": "createNewGroup", + "httpMethod": "post", + "tag": "User Groups", + "typeScriptTag": "userGroups", + "description": "Create a New User Group", + "parameters": [ + { + "name": "description", + "schema": "string", + "description": "", + "example": "Users responsible for keeping documentation up to date." + }, + { + "name": "name", + "schema": "string", + "description": "", + "example": "Data Stewards" + }, + { + "name": "icon", + "schema": "string", + "description": "", + "example": "😀" + }, + { + "name": "users", + "schema": "array", + "description": "", + "example": [ + "33733f42-8ff7-460b-9e20-50a2133d3bb0", + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/auth/group/{id}", + "method": "deleteById", + "httpMethod": "delete", + "tag": "User Groups", + "typeScriptTag": "userGroups", + "description": "Delete User Group by ID", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The ID of the group to delete.", + "example": "3131f219-16bb-4c95-853a-894ae12db42a" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "No Content" + }, + { + "statusCode": "404", + "description": "Not Found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/auth/group/{id}", + "method": "getUserGroupById", + "httpMethod": "get", + "tag": "User Groups", + "typeScriptTag": "userGroups", + "description": "Get User Group by ID", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The ID of the group to retrieve.", + "example": "3131f219-16bb-4c95-853a-894ae12db42a" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Not Found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/auth/group/{id}", + "method": "updateById", + "httpMethod": "patch", + "tag": "User Groups", + "typeScriptTag": "userGroups", + "description": "Update User Group by ID", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "The ID of the group to update.", + "example": "3131f219-16bb-4c95-853a-894ae12db42a" + }, + { + "name": "name", + "schema": "string", + "description": "", + "example": "New Group" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "404", + "description": "User not found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/dictionary/terms", + "method": "getListByTitle", + "httpMethod": "get", + "tag": "Terms", + "typeScriptTag": "terms", + "description": "List Dictionary Terms", + "parameters": [ + { + "name": "title", + "schema": "string", + "description": "Filter terms by title (https://docs.secoda.co/", + "example": "Sample Dictionary Term" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/dictionary/terms", + "method": "createNewTerm", + "httpMethod": "post", + "tag": "Terms", + "typeScriptTag": "terms", + "description": "Create a New Dictionary Term", + "parameters": [ + { + "name": "tags", + "schema": "array", + "description": "", + "example": [ + "04654d61-4f64-4f08-b697-3915b5137c49", + "429693a2-a5e7-4525-b413-ece5e96bc5b3" + ] + }, + { + "name": "title", + "schema": "string", + "description": "", + "example": "Sample Title" + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "This is a description for a sample table." + }, + { + "name": "integration", + "schema": "string", + "description": "", + "example": "ca529385-fbc9-4934-afae-e372affe795b" + }, + { + "name": "definition", + "schema": "string", + "description": "", + "example": "\\n# Castae illa\\n\\n## Finemque aequore\\n\\nLorem markdownum motus" + }, + { + "name": "parent", + "schema": "string", + "description": "", + "example": "df2c0597-13d9-4159-bb6d-00b3f54235dc" + }, + { + "name": "pii", + "schema": "boolean", + "description": "", + "example": false + }, + { + "name": "verified", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "published", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "teams", + "schema": "array", + "description": "", + "example": [ + "e8ac09ed-e51e-4e61-8eaf-59942c98c260", + "cca810f1-11c1-4117-bc23-20ae8020897f" + ] + }, + { + "name": "owners", + "schema": "array", + "description": "", + "example": [ + "33733f42-8ff7-460b-9e20-50a2133d3bb0", + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "collections", + "schema": "array", + "description": "", + "example": [ + "3b2c7185-fb5d-4d94-89d4-3dae08e093a9" + ] + }, + { + "name": "subscribers", + "schema": "array", + "description": "", + "example": [ + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "properties", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/dictionary/terms/{term_id}", + "method": "deleteById", + "httpMethod": "delete", + "tag": "Terms", + "typeScriptTag": "terms", + "description": "Delete Dictionary Term by ID", + "parameters": [ + { + "name": "termId", + "schema": "string", + "required": true, + "description": "The unique identifier of the dictionary term to delete", + "example": "61ce0a34-ce90-4f1a-a135-f122dcbed242" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "Term deleted successfully" + }, + { + "statusCode": "404", + "description": "Term not found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/dictionary/terms/{term_id}", + "method": "getById", + "httpMethod": "get", + "tag": "Terms", + "typeScriptTag": "terms", + "description": "Get Dictionary Term by ID", + "parameters": [ + { + "name": "termId", + "schema": "string", + "required": true, + "description": "The unique identifier of the dictionary term", + "example": "61ce0a34-ce90-4f1a-a135-f122dcbed242" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Term not found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/dictionary/terms/{term_id}", + "method": "updateById", + "httpMethod": "patch", + "tag": "Terms", + "typeScriptTag": "terms", + "description": "Edit Dictionary Term by ID", + "parameters": [ + { + "name": "termId", + "schema": "string", + "required": true, + "description": "The unique identifier of the dictionary term to edit", + "example": "61ce0a34-ce90-4f1a-a135-f122dcbed24" + }, + { + "name": "tags", + "schema": "array", + "description": "", + "example": [ + "04654d61-4f64-4f08-b697-3915b5137c49", + "429693a2-a5e7-4525-b413-ece5e96bc5b3" + ] + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "This is a description for a sample table." + }, + { + "name": "definition", + "schema": "string", + "description": "", + "example": "\\n# Castae illa\\n\\n## Finemque aequore\\n\\nLorem markdownum motus" + }, + { + "name": "pii", + "schema": "boolean", + "description": "", + "example": false + }, + { + "name": "verified", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "published", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "teams", + "schema": "array", + "description": "", + "example": [ + "e8ac09ed-e51e-4e61-8eaf-59942c98c260", + "cca810f1-11c1-4117-bc23-20ae8020897f" + ] + }, + { + "name": "owners", + "schema": "array", + "description": "", + "example": [ + "33733f42-8ff7-460b-9e20-50a2133d3bb0", + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "collections", + "schema": "array", + "description": "", + "example": [ + "3b2c7185-fb5d-4d94-89d4-3dae08e093a9" + ] + }, + { + "name": "subscribers", + "schema": "array", + "description": "", + "example": [ + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "properties", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "404", + "description": "Term not found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/collection/collections", + "method": "listCollectionsByTitle", + "httpMethod": "get", + "tag": "Collections", + "typeScriptTag": "collections", + "description": "List Collections", + "parameters": [ + { + "name": "title", + "schema": "string", + "description": "Filter collections by title (https://docs.secoda.co/", + "example": "Sample Collection" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/collection/collections", + "method": "createNewCollection", + "httpMethod": "post", + "tag": "Collections", + "typeScriptTag": "collections", + "description": "Create a New Collection", + "parameters": [ + { + "name": "tags", + "schema": "array", + "description": "", + "example": [ + "04654d61-4f64-4f08-b697-3915b5137c49", + "429693a2-a5e7-4525-b413-ece5e96bc5b3" + ] + }, + { + "name": "title", + "schema": "string", + "description": "", + "example": "Sample Title" + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "This is a description for a sample table." + }, + { + "name": "integration", + "schema": "string", + "description": "", + "example": "ca529385-fbc9-4934-afae-e372affe795b" + }, + { + "name": "definition", + "schema": "string", + "description": "", + "example": "\\n# Castae illa\\n\\n## Finemque aequore\\n\\nLorem markdownum motus" + }, + { + "name": "parent", + "schema": "string", + "description": "", + "example": "df2c0597-13d9-4159-bb6d-00b3f54235dc" + }, + { + "name": "pii", + "schema": "boolean", + "description": "", + "example": false + }, + { + "name": "verified", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "published", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "teams", + "schema": "array", + "description": "", + "example": [ + "e8ac09ed-e51e-4e61-8eaf-59942c98c260", + "cca810f1-11c1-4117-bc23-20ae8020897f" + ] + }, + { + "name": "owners", + "schema": "array", + "description": "", + "example": [ + "33733f42-8ff7-460b-9e20-50a2133d3bb0", + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "collections", + "schema": "array", + "description": "", + "example": [ + "3b2c7185-fb5d-4d94-89d4-3dae08e093a9" + ] + }, + { + "name": "subscribers", + "schema": "array", + "description": "", + "example": [ + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "properties", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/collection/collections/{collection_id}", + "method": "deleteById", + "httpMethod": "delete", + "tag": "Collections", + "typeScriptTag": "collections", + "description": "Delete Collection by ID", + "parameters": [ + { + "name": "collectionId", + "schema": "string", + "required": true, + "description": "The unique identifier of the collection to delete", + "example": "3ea9a7c2-9538-46a0-899d-b2018c80113c" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "Collection deleted successfully" + }, + { + "statusCode": "404", + "description": "Collection not found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/collection/collections/{collection_id}", + "method": "getById", + "httpMethod": "get", + "tag": "Collections", + "typeScriptTag": "collections", + "description": "Get Collection by ID", + "parameters": [ + { + "name": "collectionId", + "schema": "string", + "required": true, + "description": "The unique identifier of the collection", + "example": "3ea9a7c2-9538-46a0-899d-b2018c80113c" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Collection not found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/collection/collections/{collection_id}", + "method": "updateById", + "httpMethod": "patch", + "tag": "Collections", + "typeScriptTag": "collections", + "description": "Edit Collection by ID", + "parameters": [ + { + "name": "collectionId", + "schema": "string", + "required": true, + "description": "The unique identifier of the collection to edit", + "example": "3ea9a7c2-9538-46a0-899d-b2018c80113c" + }, + { + "name": "tags", + "schema": "array", + "description": "", + "example": [ + "04654d61-4f64-4f08-b697-3915b5137c49", + "429693a2-a5e7-4525-b413-ece5e96bc5b3" + ] + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "This is a description for a sample table." + }, + { + "name": "definition", + "schema": "string", + "description": "", + "example": "\\n# Castae illa\\n\\n## Finemque aequore\\n\\nLorem markdownum motus" + }, + { + "name": "pii", + "schema": "boolean", + "description": "", + "example": false + }, + { + "name": "verified", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "published", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "teams", + "schema": "array", + "description": "", + "example": [ + "e8ac09ed-e51e-4e61-8eaf-59942c98c260", + "cca810f1-11c1-4117-bc23-20ae8020897f" + ] + }, + { + "name": "owners", + "schema": "array", + "description": "", + "example": [ + "33733f42-8ff7-460b-9e20-50a2133d3bb0", + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "collections", + "schema": "array", + "description": "", + "example": [ + "3b2c7185-fb5d-4d94-89d4-3dae08e093a9" + ] + }, + { + "name": "subscribers", + "schema": "array", + "description": "", + "example": [ + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "properties", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "404", + "description": "Collection not found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/question/questions", + "method": "getList", + "httpMethod": "get", + "tag": "Questions", + "typeScriptTag": "questions", + "description": "List Questions", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/question/questions", + "method": "createNewQuestion", + "httpMethod": "post", + "tag": "Questions", + "typeScriptTag": "questions", + "description": "Create a New Question", + "parameters": [ + { + "name": "tags", + "schema": "array", + "description": "", + "example": [ + "04654d61-4f64-4f08-b697-3915b5137c49", + "429693a2-a5e7-4525-b413-ece5e96bc5b3" + ] + }, + { + "name": "title", + "schema": "string", + "description": "", + "example": "Sample Title" + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "This is a description for a sample table." + }, + { + "name": "integration", + "schema": "string", + "description": "", + "example": "ca529385-fbc9-4934-afae-e372affe795b" + }, + { + "name": "definition", + "schema": "string", + "description": "", + "example": "\\n# Castae illa\\n\\n## Finemque aequore\\n\\nLorem markdownum motus" + }, + { + "name": "parent", + "schema": "string", + "description": "", + "example": "df2c0597-13d9-4159-bb6d-00b3f54235dc" + }, + { + "name": "pii", + "schema": "boolean", + "description": "", + "example": false + }, + { + "name": "verified", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "published", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "teams", + "schema": "array", + "description": "", + "example": [ + "e8ac09ed-e51e-4e61-8eaf-59942c98c260", + "cca810f1-11c1-4117-bc23-20ae8020897f" + ] + }, + { + "name": "owners", + "schema": "array", + "description": "", + "example": [ + "33733f42-8ff7-460b-9e20-50a2133d3bb0", + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "collections", + "schema": "array", + "description": "", + "example": [ + "3b2c7185-fb5d-4d94-89d4-3dae08e093a9" + ] + }, + { + "name": "subscribers", + "schema": "array", + "description": "", + "example": [ + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "properties", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/question/questions/{question_id}", + "method": "deleteById", + "httpMethod": "delete", + "tag": "Questions", + "typeScriptTag": "questions", + "description": "Delete Question by ID", + "parameters": [ + { + "name": "questionId", + "schema": "string", + "required": true, + "description": "The unique identifier of the question to delete", + "example": "4272310f-0129-4982-8849-4b20edd3f2d5" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "Question deleted successfully" + }, + { + "statusCode": "404", + "description": "Question not found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/question/questions/{question_id}", + "method": "getById", + "httpMethod": "get", + "tag": "Questions", + "typeScriptTag": "questions", + "description": "Get Question by ID", + "parameters": [ + { + "name": "questionId", + "schema": "string", + "required": true, + "description": "The unique identifier of the question", + "example": "7795133a-6e36-4ef2-b95a-664babb99b71" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Question not found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/question/questions/{question_id}", + "method": "updateById", + "httpMethod": "patch", + "tag": "Questions", + "typeScriptTag": "questions", + "description": "Edit Question by ID", + "parameters": [ + { + "name": "questionId", + "schema": "string", + "required": true, + "description": "The unique identifier of the question to edit", + "example": "7795133a-6e36-4ef2-b95a-664babb99b71" + }, + { + "name": "tags", + "schema": "array", + "description": "", + "example": [ + "04654d61-4f64-4f08-b697-3915b5137c49", + "429693a2-a5e7-4525-b413-ece5e96bc5b3" + ] + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "This is a description for a sample table." + }, + { + "name": "definition", + "schema": "string", + "description": "", + "example": "\\n# Castae illa\\n\\n## Finemque aequore\\n\\nLorem markdownum motus" + }, + { + "name": "pii", + "schema": "boolean", + "description": "", + "example": false + }, + { + "name": "verified", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "published", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "teams", + "schema": "array", + "description": "", + "example": [ + "e8ac09ed-e51e-4e61-8eaf-59942c98c260", + "cca810f1-11c1-4117-bc23-20ae8020897f" + ] + }, + { + "name": "owners", + "schema": "array", + "description": "", + "example": [ + "33733f42-8ff7-460b-9e20-50a2133d3bb0", + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "collections", + "schema": "array", + "description": "", + "example": [ + "3b2c7185-fb5d-4d94-89d4-3dae08e093a9" + ] + }, + { + "name": "subscribers", + "schema": "array", + "description": "", + "example": [ + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "properties", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "404", + "description": "Question not found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/question/replies", + "method": "listReplies", + "httpMethod": "get", + "tag": "Questions", + "typeScriptTag": "questions", + "description": "List Question Replies", + "parameters": [ + { + "name": "questionId", + "schema": "string", + "description": "Filter replies by question_id (https://docs.secoda.co/", + "example": "7795133a-6e36-4ef2-b95a-664babb99b71" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/question/replies", + "method": "createNewReply", + "httpMethod": "post", + "tag": "Questions", + "typeScriptTag": "questions", + "description": "Create a New Question Reply", + "parameters": [ + { + "name": "definition", + "schema": "string", + "description": "", + "example": "Replying to the question" + }, + { + "name": "accepted_answer", + "schema": "boolean", + "description": "", + "example": false + }, + { + "name": "parent", + "schema": "string", + "description": "", + "example": "7795133a-6e36-4ef2-b95a-664babb99b71" + }, + { + "name": "owners", + "schema": "array", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/question/replies/{reply_id}", + "method": "deleteReplyById", + "httpMethod": "delete", + "tag": "Questions", + "typeScriptTag": "questions", + "description": "Delete Question Reply by ID", + "parameters": [ + { + "name": "replyId", + "schema": "string", + "required": true, + "description": "The unique identifier of the reply to delete", + "example": "47f9d5ab-4ae1-4eea-a8b8-6d3847829b3f" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "Reply deleted successfully" + }, + { + "statusCode": "404", + "description": "Reply not found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/question/replies/{reply_id}", + "method": "getReplyById", + "httpMethod": "get", + "tag": "Questions", + "typeScriptTag": "questions", + "description": "Get Question Reply by ID", + "parameters": [ + { + "name": "replyId", + "schema": "string", + "required": true, + "description": "The unique identifier of the reply", + "example": "47f9d5ab-4ae1-4eea-a8b8-6d3847829b3f" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Reply not found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/question/replies/{reply_id}", + "method": "editReplyById", + "httpMethod": "patch", + "tag": "Questions", + "typeScriptTag": "questions", + "description": "Edit Question Reply by ID", + "parameters": [ + { + "name": "replyId", + "schema": "string", + "required": true, + "description": "The unique identifier of the reply to edit", + "example": "47f9d5ab-4ae1-4eea-a8b8-6d3847829b3f" + }, + { + "name": "definition", + "schema": "string", + "description": "", + "example": "Changing the answer." + }, + { + "name": "accepted_answer", + "schema": "boolean", + "description": "", + "example": false + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "404", + "description": "Reply not found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/document", + "method": "listDocumentsByTitle", + "httpMethod": "get", + "tag": "Documents", + "typeScriptTag": "documents", + "description": "List Documents", + "parameters": [ + { + "name": "title", + "schema": "string", + "description": "Filter documents by title (https://docs.secoda.co/", + "example": "Sample Document" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/document", + "method": "createNewDocument", + "httpMethod": "post", + "tag": "Documents", + "typeScriptTag": "documents", + "description": "Create a New Document", + "parameters": [ + { + "name": "tags", + "schema": "array", + "description": "", + "example": [ + "04654d61-4f64-4f08-b697-3915b5137c49", + "429693a2-a5e7-4525-b413-ece5e96bc5b3" + ] + }, + { + "name": "title", + "schema": "string", + "description": "", + "example": "Sample Title" + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "This is a description for a sample table." + }, + { + "name": "integration", + "schema": "string", + "description": "", + "example": "ca529385-fbc9-4934-afae-e372affe795b" + }, + { + "name": "definition", + "schema": "string", + "description": "", + "example": "\\n# Castae illa\\n\\n## Finemque aequore\\n\\nLorem markdownum motus" + }, + { + "name": "parent", + "schema": "string", + "description": "", + "example": "df2c0597-13d9-4159-bb6d-00b3f54235dc" + }, + { + "name": "pii", + "schema": "boolean", + "description": "", + "example": false + }, + { + "name": "verified", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "published", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "teams", + "schema": "array", + "description": "", + "example": [ + "e8ac09ed-e51e-4e61-8eaf-59942c98c260", + "cca810f1-11c1-4117-bc23-20ae8020897f" + ] + }, + { + "name": "owners", + "schema": "array", + "description": "", + "example": [ + "33733f42-8ff7-460b-9e20-50a2133d3bb0", + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "collections", + "schema": "array", + "description": "", + "example": [ + "3b2c7185-fb5d-4d94-89d4-3dae08e093a9" + ] + }, + { + "name": "subscribers", + "schema": "array", + "description": "", + "example": [ + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "properties", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/document/{document_id}", + "method": "deleteById", + "httpMethod": "delete", + "tag": "Documents", + "typeScriptTag": "documents", + "description": "Delete Document by ID", + "parameters": [ + { + "name": "documentId", + "schema": "string", + "required": true, + "description": "The unique identifier of the document to delete", + "example": "1f5c76c3-e7a3-406f-b51e-7ba220244f1b" + } + ], + "responses": [ + { + "statusCode": "204", + "description": "Document deleted successfully" + }, + { + "statusCode": "404", + "description": "Document not found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/document/{document_id}", + "method": "getById", + "httpMethod": "get", + "tag": "Documents", + "typeScriptTag": "documents", + "description": "Get Document by ID", + "parameters": [ + { + "name": "documentId", + "schema": "string", + "required": true, + "description": "The unique identifier of the document", + "example": "1f5c76c3-e7a3-406f-b51e-7ba220244f1b" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Document not found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/document/{document_id}", + "method": "updateById", + "httpMethod": "patch", + "tag": "Documents", + "typeScriptTag": "documents", + "description": "Edit Document by ID", + "parameters": [ + { + "name": "documentId", + "schema": "string", + "required": true, + "description": "The unique identifier of the document to edit", + "example": "1f5c76c3-e7a3-406f-b51e-7ba220244f1b" + }, + { + "name": "tags", + "schema": "array", + "description": "", + "example": [ + "04654d61-4f64-4f08-b697-3915b5137c49", + "429693a2-a5e7-4525-b413-ece5e96bc5b3" + ] + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "This is a description for a sample table." + }, + { + "name": "definition", + "schema": "string", + "description": "", + "example": "\\n# Castae illa\\n\\n## Finemque aequore\\n\\nLorem markdownum motus" + }, + { + "name": "pii", + "schema": "boolean", + "description": "", + "example": false + }, + { + "name": "verified", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "published", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "teams", + "schema": "array", + "description": "", + "example": [ + "e8ac09ed-e51e-4e61-8eaf-59942c98c260", + "cca810f1-11c1-4117-bc23-20ae8020897f" + ] + }, + { + "name": "owners", + "schema": "array", + "description": "", + "example": [ + "33733f42-8ff7-460b-9e20-50a2133d3bb0", + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "collections", + "schema": "array", + "description": "", + "example": [ + "3b2c7185-fb5d-4d94-89d4-3dae08e093a9" + ] + }, + { + "name": "subscribers", + "schema": "array", + "description": "", + "example": [ + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "properties", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "404", + "description": "Document not found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/query/queries", + "method": "getList", + "httpMethod": "get", + "tag": "Queries", + "typeScriptTag": "queries", + "description": "List Queries", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/query/queries/{query_id}", + "method": "getById", + "httpMethod": "get", + "tag": "Queries", + "typeScriptTag": "queries", + "description": "Get Query by ID", + "parameters": [ + { + "name": "queryId", + "schema": "string", + "required": true, + "description": "The unique identifier of the query", + "example": "871fc00d-828b-4348-9353-c635313ee459" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Query not found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/monitors/monitors", + "method": "listMonitors", + "httpMethod": "get", + "tag": "Monitors", + "typeScriptTag": "monitors", + "description": "List Monitors", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/monitors/monitors/{monitor_id}", + "method": "getById", + "httpMethod": "get", + "tag": "Monitors", + "typeScriptTag": "monitors", + "description": "Get Monitor by ID", + "parameters": [ + { + "name": "monitorId", + "schema": "string", + "required": true, + "description": "The unique identifier of the monitor", + "example": "871fc00d-828b-4348-9353-c635313ee459" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Monitor not found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/monitors/incidents", + "method": "listIncidents", + "httpMethod": "get", + "tag": "Monitors", + "typeScriptTag": "monitors", + "description": "List Incidents", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/monitors/incident/{incident_id}", + "method": "getIncidentById", + "httpMethod": "get", + "tag": "Monitors", + "typeScriptTag": "monitors", + "description": "Get Incident by ID", + "parameters": [ + { + "name": "incidentId", + "schema": "string", + "required": true, + "description": "The unique identifier of the incident", + "example": "871fc00d-828b-4348-9353-c635313ee459" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Incident not found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/monitors/measurements", + "method": "listMeasurements", + "httpMethod": "get", + "tag": "Monitors", + "typeScriptTag": "monitors", + "description": "List Measurements", + "parameters": [ + { + "name": "monitor", + "schema": "string", + "description": "The unique identifier of the monitor", + "example": "871fc00d-828b-4348-9353-c635313ee459" + }, + { + "name": "incidentId", + "schema": "string", + "description": "The unique identifier of the incident", + "example": "40b3e4d3-3bf8-4ec4-ae87-56d1e738ca76" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/event/category", + "method": "list", + "httpMethod": "get", + "tag": "Event Categories", + "typeScriptTag": "eventCategories", + "description": "List Event Categories", + "parameters": [ + { + "name": "title", + "schema": "string", + "description": "Filter event categories by title", + "example": "Landing Page" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/event/category", + "method": "createNewCategory", + "httpMethod": "post", + "tag": "Event Categories", + "typeScriptTag": "eventCategories", + "description": "Create a New Event Category", + "parameters": [ + { + "name": "title", + "schema": "string", + "description": "", + "example": "Landing Page" + }, + { + "name": "integration", + "schema": "string", + "description": "" + }, + { + "name": "teams", + "schema": "array", + "description": "", + "example": [ + "e8ac09ede51e4e618eaf59942c98c260" + ] + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/event/category/{event_category_id}", + "method": "getById", + "httpMethod": "get", + "tag": "Event Categories", + "typeScriptTag": "eventCategories", + "description": "Get Event Category by Id", + "parameters": [ + { + "name": "eventCategoryId", + "schema": "string", + "required": true, + "description": "ID of the event category to retrieve", + "example": "43d7c33dad744dfbbfadc172f6701afb" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Not Found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/event/events", + "method": "listEventsByFiltering", + "httpMethod": "get", + "tag": "Events", + "typeScriptTag": "events", + "description": "List Events", + "parameters": [ + { + "name": "integrationId", + "schema": "string", + "description": "Filter by integration ID", + "example": "cf103b4785764467ad34384cd523abd9" + }, + { + "name": "parentId", + "schema": "string", + "description": "Filter by parent ID", + "example": "43d7c33dad744dfbbfadc172f6701afb" + }, + { + "name": "title", + "schema": "string", + "description": "Filter by title", + "example": "Clicked" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/event/events", + "method": "createNewEvent", + "httpMethod": "post", + "tag": "Events", + "typeScriptTag": "events", + "description": "Create a new Event", + "parameters": [ + { + "name": "tags", + "schema": "array", + "description": "", + "example": [ + "04654d61-4f64-4f08-b697-3915b5137c49", + "429693a2-a5e7-4525-b413-ece5e96bc5b3" + ] + }, + { + "name": "title", + "schema": "string", + "description": "", + "example": "Sample Title" + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "This is a description for a sample table." + }, + { + "name": "integration", + "schema": "string", + "description": "", + "example": "ca529385-fbc9-4934-afae-e372affe795b" + }, + { + "name": "definition", + "schema": "string", + "description": "", + "example": "\\n# Castae illa\\n\\n## Finemque aequore\\n\\nLorem markdownum motus" + }, + { + "name": "parent", + "schema": "string", + "description": "", + "example": "df2c0597-13d9-4159-bb6d-00b3f54235dc" + }, + { + "name": "pii", + "schema": "boolean", + "description": "", + "example": false + }, + { + "name": "verified", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "published", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "teams", + "schema": "array", + "description": "", + "example": [ + "e8ac09ed-e51e-4e61-8eaf-59942c98c260", + "cca810f1-11c1-4117-bc23-20ae8020897f" + ] + }, + { + "name": "owners", + "schema": "array", + "description": "", + "example": [ + "33733f42-8ff7-460b-9e20-50a2133d3bb0", + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "collections", + "schema": "array", + "description": "", + "example": [ + "3b2c7185-fb5d-4d94-89d4-3dae08e093a9" + ] + }, + { + "name": "subscribers", + "schema": "array", + "description": "", + "example": [ + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "properties", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/event/events/{event_id}", + "method": "deleteById", + "httpMethod": "delete", + "tag": "Events", + "typeScriptTag": "events", + "description": "Delete Event by ID", + "parameters": [ + { + "name": "eventId", + "schema": "string", + "required": true, + "description": "The ID of the event to delete.", + "example": "EVENT_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Not Found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/event/events/{event_id}", + "method": "getById", + "httpMethod": "get", + "tag": "Events", + "typeScriptTag": "events", + "description": "Get Event by ID", + "parameters": [ + { + "name": "eventId", + "schema": "string", + "required": true, + "description": "The ID of the event to retrieve.", + "example": "226dc8aafa8d46468b116652cdc64065" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Not Found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/event/events/{event_id}", + "method": "updateById", + "httpMethod": "patch", + "tag": "Events", + "typeScriptTag": "events", + "description": "Update an Event by ID", + "parameters": [ + { + "name": "eventId", + "schema": "string", + "required": true, + "description": "The ID of the event to update.", + "example": "226dc8aafa8d46468b116652cdc64065" + }, + { + "name": "tags", + "schema": "array", + "description": "", + "example": [ + "04654d61-4f64-4f08-b697-3915b5137c49", + "429693a2-a5e7-4525-b413-ece5e96bc5b3" + ] + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "This is a description for a sample table." + }, + { + "name": "definition", + "schema": "string", + "description": "", + "example": "\\n# Castae illa\\n\\n## Finemque aequore\\n\\nLorem markdownum motus" + }, + { + "name": "pii", + "schema": "boolean", + "description": "", + "example": false + }, + { + "name": "verified", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "published", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "teams", + "schema": "array", + "description": "", + "example": [ + "e8ac09ed-e51e-4e61-8eaf-59942c98c260", + "cca810f1-11c1-4117-bc23-20ae8020897f" + ] + }, + { + "name": "owners", + "schema": "array", + "description": "", + "example": [ + "33733f42-8ff7-460b-9e20-50a2133d3bb0", + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "collections", + "schema": "array", + "description": "", + "example": [ + "3b2c7185-fb5d-4d94-89d4-3dae08e093a9" + ] + }, + { + "name": "subscribers", + "schema": "array", + "description": "", + "example": [ + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "properties", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Not Found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/event/event_properties", + "method": "listEventProperties", + "httpMethod": "get", + "tag": "Event Properties", + "typeScriptTag": "eventProperties", + "description": "List Event Properties", + "parameters": [ + { + "name": "integrationId", + "schema": "string", + "description": "Filter by integration ID", + "example": "cf103b4785764467ad34384cd523abd9" + }, + { + "name": "parentId", + "schema": "string", + "description": "Filter by parent ID", + "example": "43d7c33dad744dfbbfadc172f6701afb" + }, + { + "name": "title", + "schema": "string", + "description": "Filter by title", + "example": "true" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/event/event_properties", + "method": "createNewProperty", + "httpMethod": "post", + "tag": "Event Properties", + "typeScriptTag": "eventProperties", + "description": "Create a new Event Property", + "parameters": [ + { + "name": "tags", + "schema": "array", + "description": "", + "example": [ + "04654d61-4f64-4f08-b697-3915b5137c49", + "429693a2-a5e7-4525-b413-ece5e96bc5b3" + ] + }, + { + "name": "title", + "schema": "string", + "description": "", + "example": "Sample Title" + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "This is a description for a sample table." + }, + { + "name": "integration", + "schema": "string", + "description": "", + "example": "ca529385-fbc9-4934-afae-e372affe795b" + }, + { + "name": "definition", + "schema": "string", + "description": "", + "example": "\\n# Castae illa\\n\\n## Finemque aequore\\n\\nLorem markdownum motus" + }, + { + "name": "parent", + "schema": "string", + "description": "", + "example": "df2c0597-13d9-4159-bb6d-00b3f54235dc" + }, + { + "name": "pii", + "schema": "boolean", + "description": "", + "example": false + }, + { + "name": "verified", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "published", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "teams", + "schema": "array", + "description": "", + "example": [ + "e8ac09ed-e51e-4e61-8eaf-59942c98c260", + "cca810f1-11c1-4117-bc23-20ae8020897f" + ] + }, + { + "name": "owners", + "schema": "array", + "description": "", + "example": [ + "33733f42-8ff7-460b-9e20-50a2133d3bb0", + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "collections", + "schema": "array", + "description": "", + "example": [ + "3b2c7185-fb5d-4d94-89d4-3dae08e093a9" + ] + }, + { + "name": "subscribers", + "schema": "array", + "description": "", + "example": [ + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "properties", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Not Found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/event/event_properties/{event_property_id}", + "method": "deleteById", + "httpMethod": "delete", + "tag": "Event Properties", + "typeScriptTag": "eventProperties", + "description": "Delete Event Property by ID", + "parameters": [ + { + "name": "eventPropertyId", + "schema": "string", + "required": true, + "description": "The ID of the event property to delete.", + "example": "EVENT_PROPERTY_ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Not Found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/event/event_properties/{event_property_id}", + "method": "getById", + "httpMethod": "get", + "tag": "Event Properties", + "typeScriptTag": "eventProperties", + "description": "Get Event Property by ID", + "parameters": [ + { + "name": "eventPropertyId", + "schema": "string", + "required": true, + "description": "The ID of the event property to retrieve.", + "example": "226dc8aafa8d46468b116652cdc64065" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Not Found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + }, + { + "url": "/event/event_properties/{event_property_id}", + "method": "updateByIdentifier", + "httpMethod": "patch", + "tag": "Event Properties", + "typeScriptTag": "eventProperties", + "description": "Update an Event Property by ID", + "parameters": [ + { + "name": "eventPropertyId", + "schema": "string", + "required": true, + "description": "The ID of the event property to update.", + "example": "226dc8aafa8d46468b116652cdc64065" + }, + { + "name": "tags", + "schema": "array", + "description": "", + "example": [ + "04654d61-4f64-4f08-b697-3915b5137c49", + "429693a2-a5e7-4525-b413-ece5e96bc5b3" + ] + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "This is a description for a sample table." + }, + { + "name": "definition", + "schema": "string", + "description": "", + "example": "\\n# Castae illa\\n\\n## Finemque aequore\\n\\nLorem markdownum motus" + }, + { + "name": "pii", + "schema": "boolean", + "description": "", + "example": false + }, + { + "name": "verified", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "published", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "teams", + "schema": "array", + "description": "", + "example": [ + "e8ac09ed-e51e-4e61-8eaf-59942c98c260", + "cca810f1-11c1-4117-bc23-20ae8020897f" + ] + }, + { + "name": "owners", + "schema": "array", + "description": "", + "example": [ + "33733f42-8ff7-460b-9e20-50a2133d3bb0", + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "collections", + "schema": "array", + "description": "", + "example": [ + "3b2c7185-fb5d-4d94-89d4-3dae08e093a9" + ] + }, + { + "name": "subscribers", + "schema": "array", + "description": "", + "example": [ + "c90dedee-40ee-47ec-9c27-96dc3b2ec363" + ] + }, + { + "name": "properties", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Not Found" + }, + { + "statusCode": "500", + "description": "Internal Server Error" + } + ] + } + ], + "repositoryDescription": "AI-powered data management platform that automates data discovery, documentation, and metadata ingestion for increased efficiency and better decision-making. Trusted by companies like Panasonic, Mode, and Vanta to streamline data processes and scale tech stacks. Secoda's {language} SDK generated by Konfig (https://konfigthis.com/).", + "logo": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/secoda/logo.png", + "openApiRaw": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/secoda/openapi.yaml", + "openApiGitHubUi": "https://github.com/konfig-sdks/openapi-examples/tree/HEAD/secoda/openapi.yaml", + "previewLinkImage": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/secoda/imagePreview.jpg", + "faviconUrl": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/secoda/favicon.png", + "clientNameCamelCase": "secoda", + "lastUpdated": "2024-03-29T23:16:30.109Z", + "typescriptSdkUsageCode": "import { Secoda } from 'secoda-typescript-sdk';\n\nconst secoda = new Secoda({\n apiKeyAuth: \"API_KEY_AUTH\"\n})", + "typescriptSdkFirstRequestCode": "// List Integrations\nconst listActiveResponse = secoda.integrations.listActive({\n type: \"bigquery\"\n})", + "fixedSpecFileName": "secoda-fixed-spec.yaml" +} \ No newline at end of file diff --git a/sdks/db/published/from-custom-request_sellsy.com.json b/sdks/db/published/from-custom-request_sellsy.com.json new file mode 100644 index 000000000..e7e3121f0 --- /dev/null +++ b/sdks/db/published/from-custom-request_sellsy.com.json @@ -0,0 +1,12229 @@ +{ + "securitySchemes": { + "oauth2": { + "type": "oauth2", + "flows": { + "authorizationCode": { + "authorizationUrl": "https://login.sellsy.com/oauth2/authorization", + "tokenUrl": "https://login.sellsy.com/oauth2/access-tokens", + "refreshUrl": "https://login.sellsy.com/oauth2/access-tokens", + "scopes": { + "comments.read": "Grand read access to comments", + "comments.write": "Grand write access to comments", + "contacts.read": "Grants read access to contacts", + "contacts.write": "Grants read access to contacts", + "individuals.read": "Grants read access to individuals", + "companies.read": "Grants read access to companies", + "companies.write": "Grants write access to companies", + "estimates.read": "Grants read access to estimates", + "estimates.write": "Grants write access to estimates", + "activities.write": "Grants write access to activities", + "activities.read": "Grants read access to activities", + "listings.read": "Grants read access to listings", + "listings.write": "Grants write access to listings", + "custom-fields.read": "Grand read access to custom fields", + "custom-fields.write": "Grand write access to custom fields", + "smart-tags.read": "Grand read access to smart tags", + "smart-tags.write": "Grand write access to smart tags", + "custom-activities.read": "Grand read access to custom activities", + "custom-activities.write": "Grand write access to custom activities", + "scopes.read": "Grants read access to scopes", + "access-tokens.read": "Grants read access to access tokens", + "access-tokens.write": "Grants write access to access tokens", + "clients.read": "Grants read access to OAuth clients", + "clients.write": "Grants write access to OAuth clients", + "accounting-codes.read": "Grant read access to accounting codes", + "accounting-codes.write": "Grant write access to accounting codes", + "taxes.read": "Grant read access to taxes", + "taxes.write": "Grant write access to taxes", + "ocr.read": "Grant read access to ocr", + "individuals.write": "Grants write access to individuals", + "accounts.read": "Grant read access to accounts", + "accounts.write": "Grant write access to accounts", + "opportunities.read": "Grand read access to opportunities", + "opportunities.write": "Grant write access to opportunities", + "orders.read": "Grand read access to orders", + "orders.write": "Grand write access to orders", + "tasks.read": "Grant read access to tasks", + "tasks.write": "Grant write access to tasks", + "staffs.read": "Grand read access to staffs", + "staffs.write": "Grant write access to staffs", + "search.read": "Grant access to search", + "phonecalls.read": "Grand read access to phonecall", + "phonecalls.write": "Grand write access to phonecall", + "calendars.read": "Grant read access to calendar", + "calendars.write": "Grant write access to calendar", + "emails.read": "Grant read access to email", + "emails.write": "Grant write access to email", + "emails.settings": "Grant access to email settings", + "webhooks.read": "Grants read access to webhooks", + "webhooks.write": "Grants write access to webhooks", + "payments.read": "Grand read access to payments", + "payments.write": "Grand write access to payments", + "items.read": "Grand read acces to items", + "items.write": "Grand write acces to items", + "invoicing.read": "Grant read access to invoicing", + "notifications.read": "Grant read access to notifications", + "notifications.write": "Grant write access to notifications", + "accounting-entry.read": "Grant read access to accounting entries", + "accounting-entry.write": "Grant write access to accounting entries", + "invoices.read": "Grant read access to invoices", + "invoices.write": "Grant write access to invoices", + "api-v1": "Grant full access to API v1 with API v2 access tokens. Caution, this scope gives access to all sellsy functionality", + "credit-notes.read": "Grant read access to credit-notes", + "credit-notes.write": "Grant write access to credit-notes", + "document-layouts.read": "Grant read access to document layouts", + "rate-categories.read": "Grant read access to rate categories", + "rate-categories.write": "Grant write access to rate categories", + "files.write": "Grants write access to files", + "files.read": "Grants read access to files", + "adyen.read": "Grant read access to adyen", + "adyen.write": "Grant write access to adyen", + "subscriptions.write": "Grant write access to subscription", + "subscriptions.read": "Grant read access to subscription", + "models.write": "Grant write access to models", + "models.read": "Grant read access to models", + "objectives.read": "Grant read access to objectives", + "objectives.write": "Grant write access to objectives", + "primes.read": "Grant read access to primes", + "discount-incl-taxes.read": "Grant read access to discount including taxes", + "discount-incl-taxes.write": "Grant write access to discount including taxes" + } + }, + "clientCredentials": { + "tokenUrl": "https://login.sellsy.com/oauth2/access-tokens", + "scopes": {} + } + }, + "description": "### Client OAuth\nYou can generate a new OAuth 2 client for the V2 API, from the developer page of your Sellsy account (https://www.sellsy.fr/developer/api-v2).\n\nSeveral types of clients are available:\n\n- **Private:** API access limited to staffs of your SELLSY account.\n A flow by authorization code will be required\n- **Personal**: API access linked to an staff.\n The use of client credentials flow is possible.\n- **Public**: API access to connect to all SELLSY accounts.\n A validation of SELLSY and a flow by authorization code will be required.\n\n### Authorization Code Flow\nSee https://www.oauth.com/oauth2-servers/server-side-apps/authorization-code/\n\n**PKCE** is required when using the authorization code flow. https://www.oauth.com/oauth2-servers/pkce/\n\n- **Authorization URL:** https://login.sellsy.com/oauth2/authorization\n- **Token URL:** https://login.sellsy.com/oauth2/access-tokens\n- **Refresh URL:** https://login.sellsy.com/oauth2/access-tokens\n\n\n#### Example:\nCall `https://login.sellsy.com/oauth2/authorization?response_type=code&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&code_challenge=YOUR_PKCE_CODE_CHALENGE&code_challenge_method=S256`\n\nAfter authentication, a redirection will be performed on the redirection uri. The authaurization code will be retrieved in the query parameter `code` .\n\nThis code can now be exchanged for an access token:\n```bash\ncurl -X POST \\\n https://login.sellsy.com/oauth2/access-tokens \\\n -d '{\n\t\"grant_type\": \"authorization_code\",\n\t\"client_id\": \"YOUR_CLIENT_ID\",\n\t\"redirect_uri\": \"YOUR_REDIRECT_URI\",\n\t\"code_verifier\": \"YOUR_PKCE_CODE_VERIFIER\",\n\t\"code\": \"THE_CODE\"\n}'\n# Response\n{\n \"token_type\": \"Bearer\",\n \"expires_in\": 3600,\n \"access_token\": \"YOUR_ACCESS_TOKEN\",\n \"refresh_token\": \"YOUR_REFRESH_TOKEN\"\n}\n# Use API\ncurl -X GET \\\n 'https://api.sellsy.com/v2/teams' \\\n --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'\n```\n\nYou can request a new access token, from the refresh token previously retrieved:\n```bash\ncurl -X POST \\\n https://login.sellsy.com/oauth2/access-tokens \\\n -d '{\n\t\"grant_type\": \"refresh_token\",\n\t\"client_id\": \"YOUR_CLIENT_ID\",\n\t\"client_secret\": \"YOUR_CLIENT_SECRET\"\n\t\"refresh_token\": \"YOUR_REFRESH_TOKEN\"\n}'\n# Response\n{\n \"token_type\": \"Bearer\",\n \"expires_in\": 3600,\n \"access_token\": \"YOUR_NEW_ACCESS_TOKEN\",\n \"refresh_token\": \"YOUR_NEW_REFRESH_TOKEN\"\n}\n```\n\n### Client Credential Flow\nSee https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/\n\nOnly personal clients can use this authentication flow.\n\n**Token URL:** https://login.sellsy.com/oauth2/access-tokens\n\n#### Example:\n```bash\ncurl -X POST \\\n https://login.sellsy.com/oauth2/access-tokens \\\n -d '{\n\t\"grant_type\": \"client_credentials\",\n\t\"client_id\": \"YOUR_CLIENT_ID\",\n\t\"client_secret\": \"YOUR_CLIENT_SECRET\"\n}'\n# Response\n{\n \"token_type\": \"Bearer\",\n \"expires_in\": 3600,\n \"access_token\": \"YOUR_ACCESS_TOKEN\"\n}\n# Use API\ncurl -X GET \\\n 'https://api.sellsy.com/v2/teams' \\\n --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'\n```\n### Tokens expiration\n- **Authorization Code:** 10 min\n- **Access Token:** 24 hours\n- **Refresh Token:** 60 days" + } + }, + "apiBaseUrl": "https://api.sellsy.com/v2", + "apiVersion": "2.126.0", + "apiDescription": "Find out the [Postman collections](dist/postman/CollectionsApiV2.json) with the required [environment variables](dist/postman/Environment.json)\n\nFind out the [Changelog](changelog.html)\n# Errors\n\nThe errors are returned in JSON with the following format:\n```\n{\n \"error\": {\n \"code\": HTTP_CODE,\n \"message\": \"Error message\",\n \"context\": \"Error context code\"\n \"details\": {\n \"FIELD\": \"Error message\"\n }\n}\n```\n\nThe `details` field can contain an object that details the error. It is used in particular during validation to return the invalid fields\n\n\n| HTTP Code | Description |\n| ------------- | ------------- |\n| 400 | Validation and logic errors |\n| 401 | Authentification errors |\n| 402 | Quotas limit reached or limit of feature reached on your current plan |\n| 403 | Insufficient privileges |\n| 404 | Page not found |\n| 409 | A request conflicts with the current state of the server |\n| 413 | Payload is too large |\n| 429 | Quotas of requests reached (See quotas section) |\n| 5xx | Server errors |\n\n\n# Versioning\n\nThis API is versioned, the modifications carried out on this one should not generate regression if you respect the following recommendations:\n\n- A new field can be added, your code must authorize this\n- A new error code can be added, your code must deal with unknown errors\n- On lists, values can be added\n- A missing field is not equal to `null`\n\nTo target a specific **major** version of the API, just precise the number in the url: `{url}/v2/{endpoint}`\n\n# Quotas\n\nA limit on the number of requests per second, minute, day and/or month is applied to each user account.\n\nA 429 error will be sent if at least one of the quotas has reached zero.\n\nYou can know your remaining quota through the headers of the response:\n- `X-Quota-Remaining-By-Second`\n- `X-Quota-Remaining-By-Minute`\n- `X-Quota-Remaining-By-Day`\n- `X-Quota-Remaining-By-Month`\n\nThe quotas are counted on each request, even in the event of an error. On the scripts generating a lot of requests, it is therefore necessary to check these values before returning requests.\n\nA new 402 error code has created. This error appears when you try to create ressources like a pipeline or custom fields and the quota limit has been reached.\n\n# Pagination on list and search requests\nOn list and search requests, the pagination offset can be typed as either an int or a string, depending on the pagination method used.\n\nWe provide 2 ways to interact with the pagination.\n### 1. \"Seek\" method\nThe offset value represents the LAST object in the response list, it's the default one used.\n\n**We recommend to use the \"seek\" method, it has better performance and includes optimizations.**\n```\nGET {{url}}/comments?limit=1 {\n \"data\": [\n {\n \"id\": 1\n }\n ],\n \"pagination\": {\n \"limit\": 1,\n \"count\": 1,\n \"total\": 13,\n \"offset\": \"WyIxMSJd\"\n }\n}\n---\nGET {{url}}/comments?limit=1&offset=WyIxMSJd {\n \"data\": [\n {\n \"id\": 2\n }\n ],\n \"pagination\": {\n \"limit\": 1,\n \"count\": 1,\n \"total\": 13,\n \"offset\": \"SoIxNyJd\"\n }\n}\n```\n### 2. Numeric offset method\nThe second method, more classical, where the offset corresponds to the number of the result page, it must be explicitly specified in the first request.\n\n**We have applied a limit to the first 100 000 results on this method, for performance purposes.**\n```\nGET {{url}}/comments?limit=1&offset=0 {\n \"data\": [\n {\n \"id\": 1\n }\n ],\n \"pagination\": {\n \"limit\": 1,\n \"count\": 1,\n \"total\": 13,\n \"offset\": 0\n }\n}\n---\nGET {{url}}/comments?limit=1&offset=1 {\n \"data\": [\n {\n \"id\": 2\n }\n ],\n \"pagination\": {\n \"limit\": 1,\n \"count\": 1,\n \"total\": 13,\n \"offset\": 1\n }\n}\n```\n# Embed objects\nAdditional objects can be included in the result, and are specified on each endpoint under the `embed` parameter. Those objects may require different OAuth2 scopes than the main endpoint, and will automatically be `null` if the scopes are not respected. Usually, the scopes are listed in the description of the parameter.", + "apiTitle": "Sellsy API", + "endpoints": 225, + "sdkMethods": 463, + "schemas": 424, + "parameters": 1038, + "contactEmail": "api@sellsy.com", + "originalCustomRequest": { + "type": "GET", + "url": "https://api.sellsy.com/doc/v2/dist/sellsy.v2.latest.yaml" + }, + "customRequestSpecFilename": "sellsy.com.yaml", + "difficultyScore": 837, + "difficulty": "Very Hard", + "company": "Sellsy", + "sdkName": "sellsy-{language}-sdk", + "clientName": "Sellsy", + "metaDescription": "Sellsy is a CRM, invoicing and pre-accounting suite for optimized business management and customer experience. A collaborative tool to give marketing, sales and administrative teams the means to be effective! 🚀\n\nWith 6,300 clients, Sellsy surrounds itself with almost 130 employees to carry out its projects. Sellsy remains, above all, a French company created by two entrepreneurs, Frédéric Coulais and Alain Mevellec, for entrepreneurs. Since its creation in 2009, Sellsy has placed innovation at the heart of its strategy, in order to offer companies simple, efficient and secure digital solutions.\n\n👉 To learn more about Sellsy and its CRM suite, visit go.sellsy.com", + "apiStatusUrls": "inherit", + "homepage": "sellsy.com", + "developerDocumentation": "api.sellsy.com/doc/v2/", + "categories": [ + "crm", + "invoicing" + ], + "category": "CRM (Customer Relationship Management)", + "methods": [ + { + "url": "/comments", + "method": "getList", + "httpMethod": "get", + "tag": "Comments", + "typeScriptTag": "comments", + "description": "Comments List", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: `individuals.read`
- owner: `staffs.read`
- contact: `contacts.read`
- related: by object type. Check the entire documentation to verify the usual scopes requested for the types returned\n" + }, + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/comments", + "method": "createComment", + "httpMethod": "post", + "tag": "Comments", + "typeScriptTag": "comments", + "description": "Create a comment", + "parameters": [ + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: `individuals.read`
- owner: `staffs.read`
- contact: `contacts.read`
- related: by object type. Check the entire documentation to verify the usual scopes requested for the types returned\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "verify", + "schema": "boolean", + "description": "Flag to trigger validation only (set to true to validate payload without persisting data)" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "Contains all properties + _embed for an Item endpoint" + }, + { + "statusCode": "204", + "description": "" + } + ] + }, + { + "url": "/comments/{id}", + "method": "removeComment", + "httpMethod": "delete", + "tag": "Comments", + "typeScriptTag": "comments", + "description": "Delete a comment", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Comment deleted" + } + ] + }, + { + "url": "/comments/{id}", + "method": "getDetails", + "httpMethod": "get", + "tag": "Comments", + "typeScriptTag": "comments", + "description": "Get comment details", + "parameters": [ + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: `individuals.read`
- owner: `staffs.read`
- contact: `contacts.read`
- related: by object type. Check the entire documentation to verify the usual scopes requested for the types returned\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Contains all properties + _embed for an Item endpoint" + } + ] + }, + { + "url": "/comments/{id}", + "method": "updateComment", + "httpMethod": "put", + "tag": "Comments", + "typeScriptTag": "comments", + "description": "Update a comment", + "parameters": [ + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: `individuals.read`
- owner: `staffs.read`
- contact: `contacts.read`
- related: by object type. Check the entire documentation to verify the usual scopes requested for the types returned\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "verify", + "schema": "boolean", + "description": "Flag to trigger validation only (set to true to validate payload without persisting data)" + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "Lorem ipsum dolor sit amet, consectetur adipiscing elit." + }, + { + "name": "timetracking", + "schema": "undefined", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Contains all properties + _embed for an Item endpoint" + }, + { + "statusCode": "204", + "description": "" + } + ] + }, + { + "url": "/comments/search", + "method": "searchComments", + "httpMethod": "post", + "tag": "Comments", + "typeScriptTag": "comments", + "description": "Search comments", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: `individuals.read`
- owner: `staffs.read`
- contact: `contacts.read`
- related: by object type. Check the entire documentation to verify the usual scopes requested for the types returned\n" + }, + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "filters", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/companies", + "method": "getList", + "httpMethod": "get", + "tag": "Companies", + "typeScriptTag": "companies", + "description": "Companies List", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "embed", + "schema": "array", + "description": "Example : `embed[]=invoicing_contact&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- main_contact, dunning_contact, invoicing_contact: `contacts.read`
- estimates,invoices,orders,deliveries: `invoicing.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags embed is limited to the 20 first results sorted in alphabetical order.
\n" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/companies", + "method": "createNewCompany", + "httpMethod": "post", + "tag": "Companies", + "typeScriptTag": "companies", + "description": "Create a company", + "parameters": [ + { + "name": "embed", + "schema": "array", + "description": "Example : `embed[]=invoicing_contact&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- main_contact, dunning_contact, invoicing_contact: `contacts.read`
- estimates,invoices,orders,deliveries: `invoicing.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags embed is limited to the 20 first results sorted in alphabetical order.
\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "verify", + "schema": "boolean", + "description": "Flag to trigger validation only (set to true to validate payload without persisting data)" + }, + { + "name": "type", + "schema": "string", + "required": true, + "description": "", + "example": "TYPE" + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "Example company" + }, + { + "name": "email", + "schema": "string", + "required": false, + "description": "", + "example": "contact@example-company.com" + }, + { + "name": "website", + "schema": "string", + "required": false, + "description": "", + "example": "http://example-company.com" + }, + { + "name": "phone_number", + "schema": "string", + "required": false, + "description": "", + "example": "+33100000000" + }, + { + "name": "mobile_number", + "schema": "string", + "required": false, + "description": "", + "example": "+33600000000" + }, + { + "name": "fax_number", + "schema": "string", + "required": false, + "description": "", + "example": "+33100000000" + }, + { + "name": "legal_france", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "capital", + "schema": "string", + "required": false, + "description": "", + "example": "4000" + }, + { + "name": "reference", + "schema": "string", + "required": false, + "description": "", + "example": "CLI-1654" + }, + { + "name": "note", + "schema": "string", + "required": false, + "description": "", + "example": "An handed-written note describing this company" + }, + { + "name": "auxiliary_code", + "schema": "string", + "required": false, + "description": "", + "example": "0EX11C" + }, + { + "name": "social", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "rate_category_id", + "schema": "integer", + "required": false, + "description": "", + "example": 9956 + }, + { + "name": "accounting_code_id", + "schema": "integer", + "required": false, + "description": "", + "example": 12345 + }, + { + "name": "accounting_purchase_code_id", + "schema": "integer", + "required": false, + "description": "", + "example": 98556 + }, + { + "name": "owner_id", + "schema": "integer", + "required": false, + "description": "", + "example": 112 + }, + { + "name": "is_archived", + "schema": "boolean", + "required": false, + "description": "", + "example": false + }, + { + "name": "business_segment", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "number_of_employees", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "marketing_campaigns_subscriptions", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "created", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "204", + "description": "" + } + ] + }, + { + "url": "/companies/search", + "method": "searchCompanies", + "httpMethod": "post", + "tag": "Companies", + "typeScriptTag": "companies", + "description": "Search companies", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "embed", + "schema": "array", + "description": "Example : `embed[]=invoicing_contact&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- main_contact, dunning_contact, invoicing_contact: `contacts.read`
- estimates,invoices,orders,deliveries: `invoicing.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags embed is limited to the 20 first results sorted in alphabetical order.
\n" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "filters", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/companies/favourite-filters", + "method": "listFavouriteFilters", + "httpMethod": "get", + "tag": "Companies", + "typeScriptTag": "companies", + "description": "List companies favourite filters", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/companies/{id}", + "method": "removeCompany", + "httpMethod": "delete", + "tag": "Companies", + "typeScriptTag": "companies", + "description": "Delete company", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Company deleted" + } + ] + }, + { + "url": "/companies/{id}", + "method": "getInformations", + "httpMethod": "get", + "tag": "Companies", + "typeScriptTag": "companies", + "description": "Get Company", + "parameters": [ + { + "name": "embed", + "schema": "array", + "description": "Example : `embed[]=invoicing_contact&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- main_contact, dunning_contact, invoicing_contact: `contacts.read`
- estimates,invoices,orders,deliveries: `invoicing.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags embed is limited to the 20 first results sorted in alphabetical order.
\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/companies/{id}", + "method": "updateInformation", + "httpMethod": "put", + "tag": "Companies", + "typeScriptTag": "companies", + "description": "Update Company", + "parameters": [ + { + "name": "embed", + "schema": "array", + "description": "Example : `embed[]=invoicing_contact&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- main_contact, dunning_contact, invoicing_contact: `contacts.read`
- estimates,invoices,orders,deliveries: `invoicing.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags embed is limited to the 20 first results sorted in alphabetical order.
\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "verify", + "schema": "boolean", + "description": "Flag to trigger validation only (set to true to validate payload without persisting data)" + }, + { + "name": "name", + "schema": "string", + "description": "", + "example": "Example company" + }, + { + "name": "email", + "schema": "string", + "description": "", + "example": "contact@example-company.com" + }, + { + "name": "website", + "schema": "string", + "description": "", + "example": "http://example-company.com" + }, + { + "name": "phone_number", + "schema": "string", + "description": "", + "example": "+33100000000" + }, + { + "name": "mobile_number", + "schema": "string", + "description": "", + "example": "+33600000000" + }, + { + "name": "fax_number", + "schema": "string", + "description": "", + "example": "+33100000000" + }, + { + "name": "legal_france", + "schema": "object", + "description": "" + }, + { + "name": "capital", + "schema": "string", + "description": "", + "example": "4000" + }, + { + "name": "reference", + "schema": "string", + "description": "", + "example": "CLI-1654" + }, + { + "name": "note", + "schema": "string", + "description": "", + "example": "An handed-written note describing this company" + }, + { + "name": "auxiliary_code", + "schema": "string", + "description": "", + "example": "0EX11C" + }, + { + "name": "social", + "schema": "object", + "description": "" + }, + { + "name": "rate_category_id", + "schema": "integer", + "description": "", + "example": 9956 + }, + { + "name": "accounting_code_id", + "schema": "integer", + "description": "", + "example": 12345 + }, + { + "name": "accounting_purchase_code_id", + "schema": "integer", + "description": "", + "example": 98556 + }, + { + "name": "owner_id", + "schema": "integer", + "description": "", + "example": 112 + }, + { + "name": "is_archived", + "schema": "boolean", + "description": "", + "example": false + }, + { + "name": "business_segment", + "schema": "integer", + "description": "" + }, + { + "name": "number_of_employees", + "schema": "integer", + "description": "" + }, + { + "name": "marketing_campaigns_subscriptions", + "schema": "array", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "204", + "description": "" + } + ] + }, + { + "url": "/companies/{companyId}/addresses", + "method": "getAddresses", + "httpMethod": "get", + "tag": "Companies", + "typeScriptTag": "companies", + "description": "Get company addresses", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/companies/{companyId}/addresses", + "method": "addAddress", + "httpMethod": "post", + "tag": "Companies", + "typeScriptTag": "companies", + "description": "Create a company address", + "parameters": [ + { + "name": "verify", + "schema": "boolean", + "description": "Flag to trigger validation only (set to true to validate payload without persisting data)" + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "Main office" + }, + { + "name": "address_line_1", + "schema": "string", + "required": true, + "description": "", + "example": "30 Commercial Road" + }, + { + "name": "address_line_2", + "schema": "string", + "required": false, + "description": "", + "example": "Finance and Accounting" + }, + { + "name": "address_line_3", + "schema": "string", + "required": false, + "description": "", + "example": "Lighthouse Promotions" + }, + { + "name": "address_line_4", + "schema": "string", + "required": false, + "description": "", + "example": "PO Box 215" + }, + { + "name": "postal_code", + "schema": "string", + "required": true, + "description": "", + "example": "75012" + }, + { + "name": "city", + "schema": "string", + "required": true, + "description": "", + "example": "Paris" + }, + { + "name": "country_code", + "schema": "string", + "required": true, + "description": "", + "example": "FR" + }, + { + "name": "is_invoicing_address", + "schema": "boolean", + "required": false, + "description": "" + }, + { + "name": "is_delivery_address", + "schema": "boolean", + "required": false, + "description": "" + }, + { + "name": "geocode", + "schema": "object", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "204", + "description": "" + } + ] + }, + { + "url": "/companies/{companyId}/addresses/{id}", + "method": "deleteAddress", + "httpMethod": "delete", + "tag": "Companies", + "typeScriptTag": "companies", + "description": "Delete a company address", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Address deleted" + } + ] + }, + { + "url": "/companies/{companyId}/addresses/{id}", + "method": "getAddress", + "httpMethod": "get", + "tag": "Companies", + "typeScriptTag": "companies", + "description": "Get a company address", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/companies/{companyId}/addresses/{id}", + "method": "updateAddress", + "httpMethod": "put", + "tag": "Companies", + "typeScriptTag": "companies", + "description": "Update a company address", + "parameters": [ + { + "name": "verify", + "schema": "boolean", + "description": "Flag to trigger validation only (set to true to validate payload without persisting data)" + }, + { + "name": "name", + "schema": "string", + "description": "", + "example": "Main office" + }, + { + "name": "address_line_1", + "schema": "string", + "description": "", + "example": "30 Commercial Road" + }, + { + "name": "address_line_2", + "schema": "string", + "description": "", + "example": "Finance and Accounting" + }, + { + "name": "address_line_3", + "schema": "string", + "description": "", + "example": "Lighthouse Promotions" + }, + { + "name": "address_line_4", + "schema": "string", + "description": "", + "example": "PO Box 215" + }, + { + "name": "postal_code", + "schema": "string", + "description": "", + "example": "75012" + }, + { + "name": "city", + "schema": "string", + "description": "", + "example": "Paris" + }, + { + "name": "country_code", + "schema": "string", + "description": "", + "example": "FR" + }, + { + "name": "is_invoicing_address", + "schema": "boolean", + "description": "" + }, + { + "name": "is_delivery_address", + "schema": "boolean", + "description": "" + }, + { + "name": "geocode", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "204", + "description": "" + } + ] + }, + { + "url": "/companies/{id}/payments", + "method": "recordPayment", + "httpMethod": "post", + "tag": "Companies", + "typeScriptTag": "companies", + "description": "Record payment on a company", + "parameters": [ + { + "name": "number", + "schema": "string", + "required": false, + "description": "", + "example": "reference" + }, + { + "name": "paid_at", + "schema": "string", + "required": true, + "description": "", + "example": "1970-01-01T00:00:00+00:00" + }, + { + "name": "payment_method_id", + "schema": "integer", + "required": true, + "description": "", + "example": 7 + }, + { + "name": "type", + "schema": "string", + "required": true, + "description": "", + "example": "credit" + }, + { + "name": "amount", + "schema": "object", + "required": true, + "description": "" + }, + { + "name": "note", + "schema": "string", + "required": false, + "description": "", + "example": "Invoice XXX paid" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/companies/{id}/contacts", + "method": "getContacts", + "httpMethod": "get", + "tag": "Companies", + "typeScriptTag": "companies", + "description": "Get a company contacts", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "embed", + "schema": "array", + "description": "Example : `embed[]=delivery_address&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- estimates,invoices,orders,deliveries: `invoicing.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags embed is limited to the 20 first results sorted in alphabetical order.
\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/companies/{companyId}/contacts/{contactId}", + "method": "unlinkContact", + "httpMethod": "delete", + "tag": "Companies", + "typeScriptTag": "companies", + "description": "Unlink a contact of company", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Contact unlinked" + } + ] + }, + { + "url": "/companies/{companyId}/contacts/{contactId}", + "method": "linkContact", + "httpMethod": "post", + "tag": "Companies", + "typeScriptTag": "companies", + "description": "Link a contact at one company", + "parameters": [ + { + "name": "roles", + "schema": "array", + "description": "", + "example": [ + "main", + "dunning" + ] + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Contact already linked" + }, + { + "statusCode": "201", + "description": "Contact linked" + } + ] + }, + { + "url": "/companies/{companyId}/contacts/{contactId}", + "method": "updateContactOfCompanyLink", + "httpMethod": "put", + "tag": "Companies", + "typeScriptTag": "companies", + "description": "Update a contact of company link", + "parameters": [ + { + "name": "roles", + "schema": "array", + "description": "", + "example": [ + "main", + "dunning" + ] + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Contact updated" + } + ] + }, + { + "url": "/companies/{id}/custom-fields", + "method": "getCustomFieldsList", + "httpMethod": "get", + "tag": "Companies", + "typeScriptTag": "companies", + "description": "Company custom fields List", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/companies/{id}/custom-fields", + "method": "updateCustomFields", + "httpMethod": "put", + "tag": "Companies", + "typeScriptTag": "companies", + "description": "Update Company custom fields", + "parameters": [ + { + "name": "verify", + "schema": "boolean", + "description": "Flag to trigger validation only (set to true to validate payload without persisting data)" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Company's custom fields updated" + }, + { + "statusCode": "204", + "description": "" + } + ] + }, + { + "url": "/companies/{companyId}/smart-tags", + "method": "getSmartTagsList", + "httpMethod": "get", + "tag": "Companies", + "typeScriptTag": "companies", + "description": "Company smart tags List", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/companies/{companyId}/smart-tags", + "method": "linkSmartTags", + "httpMethod": "post", + "tag": "Companies", + "typeScriptTag": "companies", + "description": "Link smart tags to company", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/companies/{companyId}/files", + "method": "listFiles", + "httpMethod": "get", + "tag": "Companies", + "typeScriptTag": "companies", + "description": "List directories and files of a company", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/companies/{companyId}/files", + "method": "attachFileToCompany", + "httpMethod": "post", + "tag": "Companies", + "typeScriptTag": "companies", + "description": "Attach file to a company", + "parameters": [ + { + "name": "file", + "schema": "string", + "required": true, + "description": "", + "example": "FILE" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "File schema" + } + ] + }, + { + "url": "/contacts/{id}/companies", + "method": "getCompanies", + "httpMethod": "get", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Companies contact", + "parameters": [ + { + "name": "id", + "schema": "integer", + "required": true, + "description": "Contact id", + "example": 0 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/smart-tags/{linkedtype}/autocomplete", + "method": "autocompleteGet", + "httpMethod": "get", + "tag": "Smart Tags", + "typeScriptTag": "smartTags", + "description": "Smart tags autocomplete", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/smart-tags/{id}", + "method": "deleteSmartTag", + "httpMethod": "delete", + "tag": "Smart Tags", + "typeScriptTag": "smartTags", + "description": "Delete a smart tags", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "Smart tags deleted" + } + ] + }, + { + "url": "/custom-fields", + "method": "getList", + "httpMethod": "get", + "tag": "Custom Fields", + "typeScriptTag": "customFields", + "description": "Custom Fields List", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/custom-fields/{id}", + "method": "getInformation", + "httpMethod": "get", + "tag": "Custom Fields", + "typeScriptTag": "customFields", + "description": "Get custom field", + "parameters": [ + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/custom-fields/search", + "method": "search", + "httpMethod": "post", + "tag": "Custom Fields", + "typeScriptTag": "customFields", + "description": "Custom Fields Search", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "filters", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/estimates", + "method": "getAll", + "httpMethod": "get", + "tag": "Estimates", + "typeScriptTag": "estimates", + "description": "Get all estimates", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "embed", + "schema": "array", + "description": "Example : `embed[]=payment_method_ids&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- payment_method_ids: `payments.read`
- company: `companies.read`
- individual: `individuals.read`
- contact: `contacts.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags embed is limited to the 20 first results sorted in alphabetical order.
- related: by object type. Check the entire documentation to verify the usual scopes requested for the types returned

Aggregations on amounts only works in addition with the currency filter\n" + }, + { + "name": "order", + "schema": "string", + "description": "The order field\n> Value `numero` is deprecated and will be deleted on the July 1st 2022. Use `number` instead.", + "example": "id" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/estimates", + "method": "createNewEstimate", + "httpMethod": "post", + "tag": "Estimates", + "typeScriptTag": "estimates", + "description": "Create estimate", + "parameters": [ + { + "name": "embed", + "schema": "array", + "description": "Example : `embed[]=payment_method_ids&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- payment_method_ids: `payments.read`
- company: `companies.read`
- individual: `individuals.read`
- contact: `contacts.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags embed is limited to the 20 first results sorted in alphabetical order.
- related: by object type. Check the entire documentation to verify the usual scopes requested for the types returned

Aggregations on amounts only works in addition with the currency filter\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/estimates/search", + "method": "searchEstimates", + "httpMethod": "post", + "tag": "Estimates", + "typeScriptTag": "estimates", + "description": "Search estimates", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "embed", + "schema": "array", + "description": "Example : `embed[]=payment_method_ids&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- payment_method_ids: `payments.read`
- company: `companies.read`
- individual: `individuals.read`
- contact: `contacts.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags embed is limited to the 20 first results sorted in alphabetical order.
- related: by object type. Check the entire documentation to verify the usual scopes requested for the types returned

Aggregations on amounts only works in addition with the currency filter\n" + }, + { + "name": "order", + "schema": "string", + "description": "The order field\n> Value `numero` is deprecated and will be deleted on the July 1st 2022. Use `number` instead.", + "example": "id" + }, + { + "name": "filters", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Validation and logic errors" + } + ] + }, + { + "url": "/estimates/{id}/custom-fields", + "method": "listCustomFields", + "httpMethod": "get", + "tag": "Estimates", + "typeScriptTag": "estimates", + "description": "Estimate custom fields List", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/estimates/{id}/custom-fields", + "method": "updateCustomFields", + "httpMethod": "put", + "tag": "Estimates", + "typeScriptTag": "estimates", + "description": "Update Estimate custom fields", + "parameters": [ + { + "name": "verify", + "schema": "boolean", + "description": "Flag to trigger validation only (set to true to validate payload without persisting data)" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Estimate's custom fields updated" + }, + { + "statusCode": "204", + "description": "" + } + ] + }, + { + "url": "/estimates/favourite-filters", + "method": "listFavouriteFilters", + "httpMethod": "get", + "tag": "Estimates", + "typeScriptTag": "estimates", + "description": "List estimates favourite filters", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/estimates/{id}", + "method": "getById", + "httpMethod": "get", + "tag": "Estimates", + "typeScriptTag": "estimates", + "description": "Get an estimate", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Estimate no found" + } + ] + }, + { + "url": "/estimates/{id}", + "method": "updateEstimate", + "httpMethod": "put", + "tag": "Estimates", + "typeScriptTag": "estimates", + "description": "Update estimate", + "parameters": [ + { + "name": "embed", + "schema": "array", + "description": "Example : `embed[]=payment_method_ids&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- payment_method_ids: `payments.read`
- company: `companies.read`
- individual: `individuals.read`
- contact: `contacts.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags embed is limited to the 20 first results sorted in alphabetical order.
- related: by object type. Check the entire documentation to verify the usual scopes requested for the types returned

Aggregations on amounts only works in addition with the currency filter\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/estimates/{id}/status", + "method": "updateStatus", + "httpMethod": "put", + "tag": "Estimates", + "typeScriptTag": "estimates", + "description": "Update estimate status", + "parameters": [ + { + "name": "embed", + "schema": "array", + "description": "Example : `embed[]=payment_method_ids&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- payment_method_ids: `payments.read`
- company: `companies.read`
- individual: `individuals.read`
- contact: `contacts.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags embed is limited to the 20 first results sorted in alphabetical order.
- related: by object type. Check the entire documentation to verify the usual scopes requested for the types returned

Aggregations on amounts only works in addition with the currency filter\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "status", + "schema": "string", + "description": "", + "example": "sent" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/estimates/compute", + "method": "computeEstimate", + "httpMethod": "post", + "tag": "Estimates", + "typeScriptTag": "estimates", + "description": "Compute an estimate", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/estimates/{documentId}/files", + "method": "getFilesForEstimate", + "httpMethod": "get", + "tag": "Estimates", + "typeScriptTag": "estimates", + "description": "List directories and files of an estimate", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/estimates/{documentId}/files", + "method": "attachFile", + "httpMethod": "post", + "tag": "Estimates", + "typeScriptTag": "estimates", + "description": "Attach file to an estimate", + "parameters": [ + { + "name": "file", + "schema": "string", + "required": true, + "description": "", + "example": "FILE" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "File schema" + } + ] + }, + { + "url": "/estimates/{id}/payments", + "method": "getPaymentsList", + "httpMethod": "get", + "tag": "Estimates", + "typeScriptTag": "estimates", + "description": "Estimate payments list", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/estimates/{documentId}/payments/{paymentId}", + "method": "unlinkPayment", + "httpMethod": "delete", + "tag": "Estimates", + "typeScriptTag": "estimates", + "description": "Unlink payment from estimate", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Payment unlinked" + } + ] + }, + { + "url": "/estimates/{documentId}/payments/{paymentId}", + "method": "linkPaymentToEstimate", + "httpMethod": "post", + "tag": "Estimates", + "typeScriptTag": "estimates", + "description": "Link payment to estimate", + "parameters": [ + { + "name": "amount", + "schema": "number", + "required": true, + "description": "", + "example": 123.45 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/estimates/{id}/smart-tags", + "method": "getSmartTagsList", + "httpMethod": "get", + "tag": "Estimates", + "typeScriptTag": "estimates", + "description": "Estimate smart-tags list", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/estimates/{id}/smart-tags", + "method": "linkSmartTags", + "httpMethod": "post", + "tag": "Estimates", + "typeScriptTag": "estimates", + "description": "Link smart tags to estimate", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/estimates/{estimateId}/primes/{primeId}", + "method": "unlinkPrime", + "httpMethod": "delete", + "tag": "Estimates", + "typeScriptTag": "estimates", + "description": "Unlink a prime from an estimate", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Prime unlinked" + }, + { + "statusCode": "403", + "description": "Either primes on documents are not activated on your account or you don't have the required privileges" + }, + { + "statusCode": "404", + "description": "Requested prime was not applied on the document" + } + ] + }, + { + "url": "/estimates/{estimateId}/primes/{primeId}", + "method": "linkPrimeToEstimate", + "httpMethod": "post", + "tag": "Estimates", + "typeScriptTag": "estimates", + "description": "Link prime to estimate", + "parameters": [ + { + "name": "quantity", + "schema": "integer", + "required": true, + "description": "", + "example": 12 + }, + { + "name": "amount", + "schema": "string", + "required": false, + "description": "", + "example": "12.34" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "Prime linked" + }, + { + "statusCode": "403", + "description": "Either primes on documents are not activated on your account or you don't have the required privileges" + } + ] + }, + { + "url": "/estimates/{estimateId}/discount-incl-taxes/{discountId}", + "method": "unlinkDiscountInclTaxes", + "httpMethod": "delete", + "tag": "Estimates", + "typeScriptTag": "estimates", + "description": "Unlink a discount including taxes from an estimate", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Discount unlinked" + }, + { + "statusCode": "403", + "description": "Either Discounts on documents are not activated on your account or you don't have the required privileges" + }, + { + "statusCode": "404", + "description": "Requested discount was not applied on the document" + } + ] + }, + { + "url": "/estimates/{estimateId}/discount-incl-taxes/{discountId}", + "method": "linkDiscountIncludingTaxes", + "httpMethod": "post", + "tag": "Estimates", + "typeScriptTag": "estimates", + "description": "Link discount including taxes to estimate", + "parameters": [ + { + "name": "quantity", + "schema": "integer", + "required": true, + "description": "", + "example": 12 + }, + { + "name": "amount", + "schema": "string", + "required": false, + "description": "", + "example": "12.34" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "Discount linked" + }, + { + "statusCode": "403", + "description": "Either discounts on documents are not activated on your account or you don't have the required privileges" + } + ] + }, + { + "url": "/orders", + "method": "getAll", + "httpMethod": "get", + "tag": "Orders", + "typeScriptTag": "orders", + "description": "Get all orders", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result" + }, + { + "name": "order", + "schema": "string", + "description": "Order field", + "example": "id" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/orders", + "method": "createOrder", + "httpMethod": "post", + "tag": "Orders", + "typeScriptTag": "orders", + "description": "Create an order", + "parameters": [ + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/orders/compute", + "method": "calculateOrder", + "httpMethod": "post", + "tag": "Orders", + "typeScriptTag": "orders", + "description": "Compute an order", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/orders/{id}", + "method": "getById", + "httpMethod": "get", + "tag": "Orders", + "typeScriptTag": "orders", + "description": "Get order", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/orders/{id}", + "method": "updateById", + "httpMethod": "put", + "tag": "Orders", + "typeScriptTag": "orders", + "description": "Update an order", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/orders/search", + "method": "searchOrders", + "httpMethod": "post", + "tag": "Orders", + "typeScriptTag": "orders", + "description": "Search orders", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result" + }, + { + "name": "order", + "schema": "string", + "description": "Order field", + "example": "id" + }, + { + "name": "filters", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/orders/{id}/payments", + "method": "getPaymentsList", + "httpMethod": "get", + "tag": "Orders", + "typeScriptTag": "orders", + "description": "Order payments list", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/orders/{id}/smart-tags", + "method": "listSmartTags", + "httpMethod": "get", + "tag": "Orders", + "typeScriptTag": "orders", + "description": "Order smart tags List", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/orders/{id}/smart-tags", + "method": "linkSmartTags", + "httpMethod": "post", + "tag": "Orders", + "typeScriptTag": "orders", + "description": "Link smart tags to an order", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/orders/{id}/custom-fields", + "method": "getCustomFieldsList", + "httpMethod": "get", + "tag": "Orders", + "typeScriptTag": "orders", + "description": "Order custom fields List", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/orders/{id}/custom-fields", + "method": "updateCustomFields", + "httpMethod": "put", + "tag": "Orders", + "typeScriptTag": "orders", + "description": "Update Order custom fields", + "parameters": [ + { + "name": "verify", + "schema": "boolean", + "description": "Flag to trigger validation only (set to true to validate payload without persisting data)" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Order's custom fields updated" + }, + { + "statusCode": "204", + "description": "" + } + ] + }, + { + "url": "/orders/favourite-filters", + "method": "listFavouriteFilters", + "httpMethod": "get", + "tag": "Orders", + "typeScriptTag": "orders", + "description": "List orders favourite filters", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/orders/{documentId}/payments/{paymentId}", + "method": "unlinkPayment", + "httpMethod": "delete", + "tag": "Orders", + "typeScriptTag": "orders", + "description": "Unlink payment from order", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Payment unlinked" + } + ] + }, + { + "url": "/orders/{documentId}/payments/{paymentId}", + "method": "linkPaymentToOrder", + "httpMethod": "post", + "tag": "Orders", + "typeScriptTag": "orders", + "description": "Link payment to order", + "parameters": [ + { + "name": "amount", + "schema": "number", + "required": true, + "description": "", + "example": 123.45 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/orders/{documentId}/files", + "method": "listFiles", + "httpMethod": "get", + "tag": "Orders", + "typeScriptTag": "orders", + "description": "List directories and files of an orders", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/orders/{documentId}/files", + "method": "attachFileToOrder", + "httpMethod": "post", + "tag": "Orders", + "typeScriptTag": "orders", + "description": "Attach file to an order", + "parameters": [ + { + "name": "file", + "schema": "string", + "required": true, + "description": "", + "example": "FILE" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "File schema" + } + ] + }, + { + "url": "/orders/{orderId}/primes/{primeId}", + "method": "unlinkPrime", + "httpMethod": "delete", + "tag": "Orders", + "typeScriptTag": "orders", + "description": "Unlink a prime from an order", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Prime unlinked" + }, + { + "statusCode": "403", + "description": "Either primes on documents are not activated on your account or you don't have the required privileges" + }, + { + "statusCode": "404", + "description": "Requested prime was not applied on the document" + } + ] + }, + { + "url": "/orders/{orderId}/primes/{primeId}", + "method": "linkPrimeToOrder", + "httpMethod": "post", + "tag": "Orders", + "typeScriptTag": "orders", + "description": "Link prime to order", + "parameters": [ + { + "name": "quantity", + "schema": "integer", + "required": true, + "description": "", + "example": 12 + }, + { + "name": "amount", + "schema": "string", + "required": false, + "description": "", + "example": "12.34" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "Prime linked" + }, + { + "statusCode": "403", + "description": "Either primes on documents are not activated on your account or you don't have the required privileges" + } + ] + }, + { + "url": "/orders/{orderId}/discount-incl-taxes/{discountId}", + "method": "unlinkDiscountInclTaxes", + "httpMethod": "delete", + "tag": "Orders", + "typeScriptTag": "orders", + "description": "Unlink a discount including taxes from an order", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Discount unlinked" + }, + { + "statusCode": "403", + "description": "Either discounts on documents are not activated on your account or you don't have the required privileges" + }, + { + "statusCode": "404", + "description": "Requested discount was not applied on the document" + } + ] + }, + { + "url": "/orders/{orderId}/discount-incl-taxes/{discountId}", + "method": "linkDiscountInclTaxes", + "httpMethod": "post", + "tag": "Orders", + "typeScriptTag": "orders", + "description": "Link discount including taxes to order", + "parameters": [ + { + "name": "quantity", + "schema": "integer", + "required": true, + "description": "", + "example": 12 + }, + { + "name": "amount", + "schema": "string", + "required": false, + "description": "", + "example": "12.34" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "Discount linked" + }, + { + "statusCode": "403", + "description": "Either discounts on documents are not activated on your account or you don't have the required privileges" + } + ] + }, + { + "url": "/individuals", + "method": "getList", + "httpMethod": "get", + "tag": "Individuals", + "typeScriptTag": "individuals", + "description": "Individuals List", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "embed", + "schema": "array", + "description": "Example : `embed[]=invoicing_address&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- main_contact, dunning_contact, invoicing_contact: `contacts.read`
- estimates,invoices,orders,deliveries: `invoicing.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags embed is limited to the 20 first results sorted in alphabetical order.
\n" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/individuals", + "method": "createNewIndividual", + "httpMethod": "post", + "tag": "Individuals", + "typeScriptTag": "individuals", + "description": "Create an individual", + "parameters": [ + { + "name": "embed", + "schema": "array", + "description": "Example : `embed[]=invoicing_address&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- main_contact, dunning_contact, invoicing_contact: `contacts.read`
- estimates,invoices,orders,deliveries: `invoicing.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags embed is limited to the 20 first results sorted in alphabetical order.
\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "verify", + "schema": "boolean", + "description": "Flag to trigger validation only (set to true to validate payload without persisting data)" + }, + { + "name": "type", + "schema": "string", + "required": true, + "description": "", + "example": "TYPE" + }, + { + "name": "last_name", + "schema": "string", + "required": true, + "description": "", + "example": "Martin" + }, + { + "name": "first_name", + "schema": "string", + "required": false, + "description": "", + "example": "Jean" + }, + { + "name": "civility", + "schema": "string", + "required": false, + "description": "", + "example": "mr" + }, + { + "name": "email", + "schema": "string", + "required": false, + "description": "", + "example": "jean.martin@personal-example.com" + }, + { + "name": "website", + "schema": "string", + "required": false, + "description": "", + "example": "http://personal-example.com" + }, + { + "name": "phone_number", + "schema": "string", + "required": false, + "description": "", + "example": "+33100000000" + }, + { + "name": "mobile_number", + "schema": "string", + "required": false, + "description": "", + "example": "+33600000000" + }, + { + "name": "fax_number", + "schema": "string", + "required": false, + "description": "", + "example": "+33100000000" + }, + { + "name": "reference", + "schema": "string", + "required": false, + "description": "", + "example": "IND-1654" + }, + { + "name": "note", + "schema": "string", + "required": false, + "description": "", + "example": "An handed-written note describing this company" + }, + { + "name": "auxiliary_code", + "schema": "string", + "required": false, + "description": "", + "example": "0EX11C" + }, + { + "name": "social", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "rate_category_id", + "schema": "integer", + "required": false, + "description": "", + "example": 9956 + }, + { + "name": "accounting_code_id", + "schema": "integer", + "required": false, + "description": "", + "example": 12345 + }, + { + "name": "accounting_purchase_code_id", + "schema": "integer", + "required": false, + "description": "", + "example": 98556 + }, + { + "name": "owner_id", + "schema": "integer", + "required": false, + "description": "", + "example": 112 + }, + { + "name": "is_archived", + "schema": "boolean", + "required": false, + "description": "", + "example": false + }, + { + "name": "marketing_campaigns_subscriptions", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "sync", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "created", + "schema": "string", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "204", + "description": "" + } + ] + }, + { + "url": "/individuals/search", + "method": "searchResults", + "httpMethod": "post", + "tag": "Individuals", + "typeScriptTag": "individuals", + "description": "Search individuals", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "embed", + "schema": "array", + "description": "Example : `embed[]=invoicing_address&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- main_contact, dunning_contact, invoicing_contact: `contacts.read`
- estimates,invoices,orders,deliveries: `invoicing.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags embed is limited to the 20 first results sorted in alphabetical order.
\n" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "filters", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/individuals/favourite-filters", + "method": "listFavouriteFilters", + "httpMethod": "get", + "tag": "Individuals", + "typeScriptTag": "individuals", + "description": "List individuals favourite filters", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/individuals/{individualId}/files", + "method": "listFilesOfIndividual", + "httpMethod": "get", + "tag": "Individuals", + "typeScriptTag": "individuals", + "description": "List directories and files of an individual", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/individuals/{individualId}/files", + "method": "attachFile", + "httpMethod": "post", + "tag": "Individuals", + "typeScriptTag": "individuals", + "description": "Attach file to an individual", + "parameters": [ + { + "name": "file", + "schema": "string", + "required": true, + "description": "", + "example": "FILE" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "File schema" + } + ] + }, + { + "url": "/individuals/{id}/smart-tags", + "method": "getSmartTagsList", + "httpMethod": "get", + "tag": "Individuals", + "typeScriptTag": "individuals", + "description": "Individual smart tags List", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/individuals/{id}/smart-tags", + "method": "linkSmartTags", + "httpMethod": "post", + "tag": "Individuals", + "typeScriptTag": "individuals", + "description": "Link smart tags to individual", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/individuals/{id}", + "method": "removeIndividual", + "httpMethod": "delete", + "tag": "Individuals", + "typeScriptTag": "individuals", + "description": "Delete Individual", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Individual deleted" + } + ] + }, + { + "url": "/individuals/{id}", + "method": "getInfo", + "httpMethod": "get", + "tag": "Individuals", + "typeScriptTag": "individuals", + "description": "Get Individual", + "parameters": [ + { + "name": "embed", + "schema": "array", + "description": "Example : `embed[]=invoicing_address&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- main_contact, dunning_contact, invoicing_contact: `contacts.read`
- estimates,invoices,orders,deliveries: `invoicing.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags embed is limited to the 20 first results sorted in alphabetical order.
\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/individuals/{id}", + "method": "updateInfo", + "httpMethod": "put", + "tag": "Individuals", + "typeScriptTag": "individuals", + "description": "Update Individual", + "parameters": [ + { + "name": "embed", + "schema": "array", + "description": "Example : `embed[]=invoicing_address&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- main_contact, dunning_contact, invoicing_contact: `contacts.read`
- estimates,invoices,orders,deliveries: `invoicing.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags embed is limited to the 20 first results sorted in alphabetical order.
\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "verify", + "schema": "boolean", + "description": "Flag to trigger validation only (set to true to validate payload without persisting data)" + }, + { + "name": "last_name", + "schema": "string", + "description": "", + "example": "Martin" + }, + { + "name": "first_name", + "schema": "string", + "description": "", + "example": "Jean" + }, + { + "name": "civility", + "schema": "string", + "description": "", + "example": "mr" + }, + { + "name": "email", + "schema": "string", + "description": "", + "example": "jean.martin@personal-example.com" + }, + { + "name": "website", + "schema": "string", + "description": "", + "example": "http://personal-example.com" + }, + { + "name": "phone_number", + "schema": "string", + "description": "", + "example": "+33100000000" + }, + { + "name": "mobile_number", + "schema": "string", + "description": "", + "example": "+33600000000" + }, + { + "name": "fax_number", + "schema": "string", + "description": "", + "example": "+33100000000" + }, + { + "name": "reference", + "schema": "string", + "description": "", + "example": "IND-1654" + }, + { + "name": "note", + "schema": "string", + "description": "", + "example": "An handed-written note describing this company" + }, + { + "name": "auxiliary_code", + "schema": "string", + "description": "", + "example": "0EX11C" + }, + { + "name": "social", + "schema": "object", + "description": "" + }, + { + "name": "rate_category_id", + "schema": "integer", + "description": "", + "example": 9956 + }, + { + "name": "accounting_code_id", + "schema": "integer", + "description": "", + "example": 12345 + }, + { + "name": "accounting_purchase_code_id", + "schema": "integer", + "description": "", + "example": 98556 + }, + { + "name": "owner_id", + "schema": "integer", + "description": "", + "example": 112 + }, + { + "name": "is_archived", + "schema": "boolean", + "description": "", + "example": false + }, + { + "name": "marketing_campaigns_subscriptions", + "schema": "array", + "description": "" + }, + { + "name": "sync", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "204", + "description": "" + } + ] + }, + { + "url": "/individuals/{individualId}/addresses", + "method": "getAddresses", + "httpMethod": "get", + "tag": "Individuals", + "typeScriptTag": "individuals", + "description": "Get individual addresses", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/individuals/{individualId}/addresses", + "method": "createAddress", + "httpMethod": "post", + "tag": "Individuals", + "typeScriptTag": "individuals", + "description": "Create an individual address", + "parameters": [ + { + "name": "verify", + "schema": "boolean", + "description": "Flag to trigger validation only (set to true to validate payload without persisting data)" + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "Main office" + }, + { + "name": "address_line_1", + "schema": "string", + "required": true, + "description": "", + "example": "30 Commercial Road" + }, + { + "name": "address_line_2", + "schema": "string", + "required": false, + "description": "", + "example": "Finance and Accounting" + }, + { + "name": "address_line_3", + "schema": "string", + "required": false, + "description": "", + "example": "Lighthouse Promotions" + }, + { + "name": "address_line_4", + "schema": "string", + "required": false, + "description": "", + "example": "PO Box 215" + }, + { + "name": "postal_code", + "schema": "string", + "required": true, + "description": "", + "example": "75012" + }, + { + "name": "city", + "schema": "string", + "required": true, + "description": "", + "example": "Paris" + }, + { + "name": "country_code", + "schema": "string", + "required": true, + "description": "", + "example": "FR" + }, + { + "name": "is_invoicing_address", + "schema": "boolean", + "required": false, + "description": "" + }, + { + "name": "is_delivery_address", + "schema": "boolean", + "required": false, + "description": "" + }, + { + "name": "geocode", + "schema": "object", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "204", + "description": "" + } + ] + }, + { + "url": "/individuals/{individualId}/addresses/{id}", + "method": "deleteAddress", + "httpMethod": "delete", + "tag": "Individuals", + "typeScriptTag": "individuals", + "description": "Delete an individual address", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Address deleted" + } + ] + }, + { + "url": "/individuals/{individualId}/addresses/{id}", + "method": "getAddress", + "httpMethod": "get", + "tag": "Individuals", + "typeScriptTag": "individuals", + "description": "Get an individual address", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/individuals/{individualId}/addresses/{id}", + "method": "updateAddress", + "httpMethod": "put", + "tag": "Individuals", + "typeScriptTag": "individuals", + "description": "Update an individual address", + "parameters": [ + { + "name": "verify", + "schema": "boolean", + "description": "Flag to trigger validation only (set to true to validate payload without persisting data)" + }, + { + "name": "name", + "schema": "string", + "description": "", + "example": "Main office" + }, + { + "name": "address_line_1", + "schema": "string", + "description": "", + "example": "30 Commercial Road" + }, + { + "name": "address_line_2", + "schema": "string", + "description": "", + "example": "Finance and Accounting" + }, + { + "name": "address_line_3", + "schema": "string", + "description": "", + "example": "Lighthouse Promotions" + }, + { + "name": "address_line_4", + "schema": "string", + "description": "", + "example": "PO Box 215" + }, + { + "name": "postal_code", + "schema": "string", + "description": "", + "example": "75012" + }, + { + "name": "city", + "schema": "string", + "description": "", + "example": "Paris" + }, + { + "name": "country_code", + "schema": "string", + "description": "", + "example": "FR" + }, + { + "name": "is_invoicing_address", + "schema": "boolean", + "description": "" + }, + { + "name": "is_delivery_address", + "schema": "boolean", + "description": "" + }, + { + "name": "geocode", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "204", + "description": "" + } + ] + }, + { + "url": "/individuals/{id}/payments", + "method": "recordPayment", + "httpMethod": "post", + "tag": "Individuals", + "typeScriptTag": "individuals", + "description": "Record payment on an individual", + "parameters": [ + { + "name": "number", + "schema": "string", + "required": false, + "description": "", + "example": "reference" + }, + { + "name": "paid_at", + "schema": "string", + "required": true, + "description": "", + "example": "1970-01-01T00:00:00+00:00" + }, + { + "name": "payment_method_id", + "schema": "integer", + "required": true, + "description": "", + "example": 7 + }, + { + "name": "type", + "schema": "string", + "required": true, + "description": "", + "example": "credit" + }, + { + "name": "amount", + "schema": "object", + "required": true, + "description": "" + }, + { + "name": "note", + "schema": "string", + "required": false, + "description": "", + "example": "Invoice XXX paid" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/individuals/{id}/contacts", + "method": "getContacts", + "httpMethod": "get", + "tag": "Individuals", + "typeScriptTag": "individuals", + "description": "Get an individual contacts", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "embed", + "schema": "array", + "description": "Example : `embed[]=delivery_address&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- estimates,invoices,orders,deliveries: `invoicing.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags embed is limited to the 20 first results sorted in alphabetical order.
\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/individuals/{individualId}/contacts/{contactId}", + "method": "deleteLinkBetweenContactAndIndividual", + "httpMethod": "delete", + "tag": "Individuals", + "typeScriptTag": "individuals", + "description": "Delete link between contact and individual", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Delete link between contact and individual" + } + ] + }, + { + "url": "/individuals/{individualId}/contacts/{contactId}", + "method": "linkContactToIndividual", + "httpMethod": "post", + "tag": "Individuals", + "typeScriptTag": "individuals", + "description": "Link contact to individual", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "Contact already link" + }, + { + "statusCode": "201", + "description": "Contact was link to individual" + } + ] + }, + { + "url": "/individuals/{id}/custom-fields", + "method": "getCustomFields", + "httpMethod": "get", + "tag": "Individuals", + "typeScriptTag": "individuals", + "description": "Individual custom fields List", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/individuals/{id}/custom-fields", + "method": "updateCustomFields", + "httpMethod": "put", + "tag": "Individuals", + "typeScriptTag": "individuals", + "description": "Update Individual custom fields", + "parameters": [ + { + "name": "verify", + "schema": "boolean", + "description": "Flag to trigger validation only (set to true to validate payload without persisting data)" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Individual's custom fields updated" + }, + { + "statusCode": "204", + "description": "" + } + ] + }, + { + "url": "/activities/crm", + "method": "getActivity", + "httpMethod": "get", + "tag": "CRM Activities", + "typeScriptTag": "crmActivities", + "description": "Get the CRM activity", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "date" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.
Aggregations by date only works with due_date filter :
- For aggregations.by_day_and_event, maximum interval of due_date is 90 days
- For aggregations.by_month_and_event, maximum interval of due_date is 365 days" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/activities/crm/search", + "method": "searchActivity", + "httpMethod": "post", + "tag": "CRM Activities", + "typeScriptTag": "crmActivities", + "description": "Search in CRM activity", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "date" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.
Aggregations by date only works with due_date filter :
- For aggregations.by_day_and_event, maximum interval of due_date is 90 days
- For aggregations.by_month_and_event, maximum interval of due_date is 365 days" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "filters", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "206", + "description": "" + } + ] + }, + { + "url": "/activities/crm/export", + "method": "exportActivitySearch", + "httpMethod": "post", + "tag": "CRM Activities", + "typeScriptTag": "crmActivities", + "description": "Export the CRM activity", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "date" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + } + ], + "responses": [ + { + "statusCode": "202", + "description": "Accepted" + } + ] + }, + { + "url": "/activities/crm/metas", + "method": "getMetaInfo", + "httpMethod": "get", + "tag": "CRM Activities", + "typeScriptTag": "crmActivities", + "description": "Get meta informations for activity", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "The listing meta" + } + ] + }, + { + "url": "/custom-activities/{id}", + "method": "deleteCustomActivity", + "httpMethod": "delete", + "tag": "Custom Activities", + "typeScriptTag": "customActivities", + "description": "Delete Custom Activity", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "No Content" + } + ] + }, + { + "url": "/custom-activities/{id}", + "method": "getInformation", + "httpMethod": "get", + "tag": "Custom Activities", + "typeScriptTag": "customActivities", + "description": "Get Custom Activity", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "Custom Activity Object" + } + ] + }, + { + "url": "/custom-activities/{id}", + "method": "editCustomActivity", + "httpMethod": "put", + "tag": "Custom Activities", + "typeScriptTag": "customActivities", + "description": "Update Custom Activity", + "parameters": [ + { + "name": "id", + "schema": "string", + "description": "", + "example": "xZk348lb2" + }, + { + "name": "type_id", + "schema": "string", + "description": "", + "example": "vJ340fF1" + }, + { + "name": "action", + "schema": "string", + "description": "", + "example": "Jean-pierre has opened a new ticket on Xeno." + }, + { + "name": "relation", + "schema": "object", + "description": "" + }, + { + "name": "date", + "schema": "string", + "description": "", + "example": "1970-01-01T00:00:00+00:00", + "default": "Current datetime" + }, + { + "name": "author", + "schema": "object", + "description": "" + }, + { + "name": "created", + "schema": "string", + "description": "", + "example": "1970-01-01T00:00:00+00:00" + }, + { + "name": "updated", + "schema": "string", + "description": "", + "example": "1970-01-01T00:00:00+00:00" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Custom Activity Object" + } + ] + }, + { + "url": "/custom-activities", + "method": "getList", + "httpMethod": "get", + "tag": "Custom Activities", + "typeScriptTag": "customActivities", + "description": "Customs Activities List", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "date" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/custom-activities", + "method": "createActivity", + "httpMethod": "post", + "tag": "Custom Activities", + "typeScriptTag": "customActivities", + "description": "Create Custom Activity", + "parameters": [ + { + "name": "id", + "schema": "string", + "description": "", + "example": "xZk348lb2" + }, + { + "name": "type_id", + "schema": "string", + "description": "", + "example": "vJ340fF1" + }, + { + "name": "action", + "schema": "string", + "description": "", + "example": "Jean-pierre has opened a new ticket on Xeno." + }, + { + "name": "relation", + "schema": "object", + "description": "" + }, + { + "name": "date", + "schema": "string", + "description": "", + "example": "1970-01-01T00:00:00+00:00", + "default": "Current datetime" + }, + { + "name": "author", + "schema": "object", + "description": "" + }, + { + "name": "created", + "schema": "string", + "description": "", + "example": "1970-01-01T00:00:00+00:00" + }, + { + "name": "updated", + "schema": "string", + "description": "", + "example": "1970-01-01T00:00:00+00:00" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "Custom Activity Object" + } + ] + }, + { + "url": "/custom-activities/search", + "method": "performSearch", + "httpMethod": "post", + "tag": "Custom Activities", + "typeScriptTag": "customActivities", + "description": "Search Custom Activities", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "filters", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/custom-activity-types/{id}", + "method": "getType", + "httpMethod": "get", + "tag": "Custom Activities", + "typeScriptTag": "customActivities", + "description": "Get Custom Activity Type", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "Represents a type of custom activity" + } + ] + }, + { + "url": "/custom-activity-types/{id}", + "method": "updateType", + "httpMethod": "put", + "tag": "Custom Activities", + "typeScriptTag": "customActivities", + "description": "Update Custom Activity Type", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": false, + "description": "", + "example": "xZk348lb2" + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "Xeni" + }, + { + "name": "created", + "schema": "string", + "required": false, + "description": "", + "example": "1970-01-01T00:00:00+00:00" + }, + { + "name": "updated", + "schema": "string", + "required": false, + "description": "", + "example": "1970-01-01T00:00:00+00:00" + }, + { + "name": "author", + "schema": "object", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Represents a type of custom activity" + } + ] + }, + { + "url": "/custom-activity-types", + "method": "getList", + "httpMethod": "get", + "tag": "Custom Activities", + "typeScriptTag": "customActivities", + "description": "Custom Activity Types List", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/custom-activity-types", + "method": "createType", + "httpMethod": "post", + "tag": "Custom Activities", + "typeScriptTag": "customActivities", + "description": "Create Custom Activity Type", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": false, + "description": "", + "example": "xZk348lb2" + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "Xeni" + }, + { + "name": "created", + "schema": "string", + "required": false, + "description": "", + "example": "1970-01-01T00:00:00+00:00" + }, + { + "name": "updated", + "schema": "string", + "required": false, + "description": "", + "example": "1970-01-01T00:00:00+00:00" + }, + { + "name": "author", + "schema": "object", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "Represents a type of custom activity" + } + ] + }, + { + "url": "/scopes", + "method": "listScopes", + "httpMethod": "get", + "tag": "API Management", + "typeScriptTag": "apiManagement", + "description": "Scopes List", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/scopes/tree", + "method": "getScopesTree", + "httpMethod": "get", + "tag": "API Management", + "typeScriptTag": "apiManagement", + "description": "Get Scopes Tree", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/clients", + "method": "listClients", + "httpMethod": "get", + "tag": "API Management", + "typeScriptTag": "apiManagement", + "description": "List OAuth clients", + "parameters": [ + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/clients", + "method": "createOAuthClient", + "httpMethod": "post", + "tag": "API Management", + "typeScriptTag": "apiManagement", + "description": "Create OAuth client", + "parameters": [], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/clients/{id}", + "method": "deleteOAuthClient", + "httpMethod": "delete", + "tag": "API Management", + "typeScriptTag": "apiManagement", + "description": "Delete OAuth client", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Client deleted" + } + ] + }, + { + "url": "/clients/{id}", + "method": "getOAuthClient", + "httpMethod": "get", + "tag": "API Management", + "typeScriptTag": "apiManagement", + "description": "Get OAuth client", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "The OAuth client for Sellsy API" + } + ] + }, + { + "url": "/clients/{id}", + "method": "updateOAuthClient", + "httpMethod": "put", + "tag": "API Management", + "typeScriptTag": "apiManagement", + "description": "Update OAuth client", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "The OAuth client for Sellsy API" + } + ] + }, + { + "url": "/personal-access-tokens", + "method": "listPersonalAccessTokens", + "httpMethod": "get", + "tag": "API Management", + "typeScriptTag": "apiManagement", + "description": "List personal access tokens", + "parameters": [ + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/personal-access-tokens", + "method": "createPersonalAccessToken", + "httpMethod": "post", + "tag": "API Management", + "typeScriptTag": "apiManagement", + "description": "Create personal access token", + "parameters": [ + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "MyToken" + }, + { + "name": "user_id", + "schema": "undefined", + "required": true, + "description": "", + "example": 1257 + }, + { + "name": "scopes", + "schema": "array", + "required": true, + "description": "", + "example": [ + "companies.read", + "companies.write" + ] + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/personal-access-tokens/metas", + "method": "getPersonalAccessTokensMeta", + "httpMethod": "get", + "tag": "API Management", + "typeScriptTag": "apiManagement", + "description": "Get meta informations for personal access tokens", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "The personal access tokens metas" + } + ] + }, + { + "url": "/personal-access-tokens/{id}", + "method": "deletePersonalAccessToken", + "httpMethod": "delete", + "tag": "API Management", + "typeScriptTag": "apiManagement", + "description": "Delete personal access token", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Personal access token deleted" + } + ] + }, + { + "url": "/personal-access-tokens/{id}", + "method": "getOAuthToken", + "httpMethod": "get", + "tag": "API Management", + "typeScriptTag": "apiManagement", + "description": "Get personal access token", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/accounting-codes", + "method": "getCodes", + "httpMethod": "get", + "tag": "Accounting", + "typeScriptTag": "accounting", + "description": "Get accounting codes", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "code" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/accounting-codes", + "method": "createCode", + "httpMethod": "post", + "tag": "Accounting", + "typeScriptTag": "accounting", + "description": "Create an accounting code", + "parameters": [ + { + "name": "code", + "schema": "string", + "required": true, + "description": "", + "example": "411000" + }, + { + "name": "label", + "schema": "string", + "required": false, + "description": "", + "example": "Provision of services" + }, + { + "name": "views", + "schema": "array", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "400", + "description": "Code already exists" + }, + { + "statusCode": "403", + "description": "Module is not accessible" + } + ] + }, + { + "url": "/accounting-codes/{id}", + "method": "deleteCode", + "httpMethod": "delete", + "tag": "Accounting", + "typeScriptTag": "accounting", + "description": "Delete an accounting code", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Accounting code deleted" + }, + { + "statusCode": "403", + "description": "Module is not accessible" + } + ] + }, + { + "url": "/accounting-codes/search", + "method": "searchCodes", + "httpMethod": "post", + "tag": "Accounting", + "typeScriptTag": "accounting", + "description": "Search accounting codes", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "code" + }, + { + "name": "filters", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/accounting-journal/{type}", + "method": "journalList", + "httpMethod": "get", + "tag": "Accounting", + "typeScriptTag": "accounting", + "description": "Get accounting journal", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.
Aggregations by date only works with due_date filter :
- For aggregations.by_day_and_event, maximum interval of due_date is 90 days
- For aggregations.by_month_and_event, maximum interval of due_date is 365 days" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/accounting-journal/{type}/search", + "method": "journalSearch", + "httpMethod": "post", + "tag": "Accounting", + "typeScriptTag": "accounting", + "description": "Search accounting journal", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.
Aggregations by date only works with due_date filter :
- For aggregations.by_day_and_event, maximum interval of due_date is 90 days
- For aggregations.by_month_and_event, maximum interval of due_date is 365 days" + }, + { + "name": "filters", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/accounting-journal/{type}/metas", + "method": "journalMetaGet", + "httpMethod": "get", + "tag": "Accounting", + "typeScriptTag": "accounting", + "description": "Get meta informations for accounting journal", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "The listing meta" + } + ] + }, + { + "url": "/accounting-journal/{type}/export", + "method": "journalExport", + "httpMethod": "post", + "tag": "Accounting", + "typeScriptTag": "accounting", + "description": "Export accounting journal", + "parameters": [], + "responses": [ + { + "statusCode": "202", + "description": "Accepted" + } + ] + }, + { + "url": "/taxes", + "method": "getList", + "httpMethod": "get", + "tag": "Taxes", + "typeScriptTag": "taxes", + "description": "Taxes list", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.\n" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "includeEcotax", + "schema": "boolean", + "description": "Include ecotaxes in the response" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/taxes", + "method": "createTax", + "httpMethod": "post", + "tag": "Taxes", + "typeScriptTag": "taxes", + "description": "Create tax", + "parameters": [ + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "rate", + "schema": "number", + "required": true, + "description": "", + "example": 20 + }, + { + "name": "label", + "schema": "string", + "required": true, + "description": "", + "example": "TVA" + }, + { + "name": "before_sibling", + "schema": "integer", + "required": false, + "description": "", + "example": 57 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/taxes/search", + "method": "searchTaxes", + "httpMethod": "post", + "tag": "Taxes", + "typeScriptTag": "taxes", + "description": "Search taxes", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.\n" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "filters", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/taxes/{id}", + "method": "removeTax", + "httpMethod": "delete", + "tag": "Taxes", + "typeScriptTag": "taxes", + "description": "Delete tax", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Tax deleted" + } + ] + }, + { + "url": "/taxes/{id}", + "method": "getTaxInfo", + "httpMethod": "get", + "tag": "Taxes", + "typeScriptTag": "taxes", + "description": "Get Tax", + "parameters": [ + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "includeEcotax", + "schema": "boolean", + "description": "Include ecotaxes in the response" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/taxes/{id}", + "method": "updateTaxInfo", + "httpMethod": "put", + "tag": "Taxes", + "typeScriptTag": "taxes", + "description": "Update tax", + "parameters": [ + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "includeEcotax", + "schema": "boolean", + "description": "Include ecotaxes in the response" + }, + { + "name": "rate", + "schema": "number", + "description": "", + "example": 20 + }, + { + "name": "label", + "schema": "string", + "description": "", + "example": "TVA" + }, + { + "name": "before_sibling", + "schema": "integer", + "description": "", + "example": 57 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/taxes/accounting-codes", + "method": "getAccountingCodes", + "httpMethod": "get", + "tag": "Taxes", + "typeScriptTag": "taxes", + "description": "Taxes accounting codes list", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.\n" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/taxes/{id}/accounting-codes", + "method": "getAccountingCodesList", + "httpMethod": "get", + "tag": "Taxes", + "typeScriptTag": "taxes", + "description": "Tax accounting codes list", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.\n" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/taxes/{id}/accounting-codes", + "method": "updateAccountingCodes", + "httpMethod": "put", + "tag": "Taxes", + "typeScriptTag": "taxes", + "description": "Update tax accounting codes", + "parameters": [ + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "debit_vat", + "schema": "object", + "description": "" + }, + { + "name": "collection_vat", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/rate-categories", + "method": "getList", + "httpMethod": "get", + "tag": "Rate Categories", + "typeScriptTag": "rateCategories", + "description": "Rate categories list", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.\n" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/rate-categories", + "method": "createCategory", + "httpMethod": "post", + "tag": "Rate Categories", + "typeScriptTag": "rateCategories", + "description": "Create rate category", + "parameters": [ + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "label", + "schema": "string", + "required": true, + "description": "", + "example": "Tarif HT" + }, + { + "name": "includes_taxes", + "schema": "boolean", + "required": false, + "description": "", + "example": true, + "default": false + }, + { + "name": "currency", + "schema": "string", + "required": false, + "description": "", + "example": "EUR" + }, + { + "name": "tax_id", + "schema": "integer", + "required": false, + "description": "", + "example": 3822666 + }, + { + "name": "accounting_code_id", + "schema": "integer", + "required": false, + "description": "", + "example": 1160745 + }, + { + "name": "discount_accounting_code_id", + "schema": "integer", + "required": false, + "description": "", + "example": 1160745 + }, + { + "name": "default_layouts", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "price", + "schema": "undefined", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "402", + "description": "Quotas limit reached on your current plan" + } + ] + }, + { + "url": "/rate-categories/{id}", + "method": "removeCategory", + "httpMethod": "delete", + "tag": "Rate Categories", + "typeScriptTag": "rateCategories", + "description": "Delete Rate category", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Rate category deleted" + } + ] + }, + { + "url": "/rate-categories/{id}", + "method": "getCategory", + "httpMethod": "get", + "tag": "Rate Categories", + "typeScriptTag": "rateCategories", + "description": "Get rate category", + "parameters": [ + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/rate-categories/{id}", + "method": "updateRateCategory", + "httpMethod": "put", + "tag": "Rate Categories", + "typeScriptTag": "rateCategories", + "description": "Update a rate category", + "parameters": [ + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "label", + "schema": "string", + "description": "", + "example": "Tarif HT" + }, + { + "name": "includes_taxes", + "schema": "boolean", + "description": "", + "example": true, + "default": false + }, + { + "name": "currency", + "schema": "string", + "description": "", + "example": "EUR" + }, + { + "name": "tax_id", + "schema": "integer", + "description": "", + "example": 3822666 + }, + { + "name": "accounting_code_id", + "schema": "integer", + "description": "", + "example": 1160745 + }, + { + "name": "discount_accounting_code_id", + "schema": "integer", + "description": "", + "example": 1160745 + }, + { + "name": "default_layouts", + "schema": "object", + "description": "" + }, + { + "name": "price", + "schema": "undefined", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/payments/methods/{id}", + "method": "getMethod", + "httpMethod": "get", + "tag": "Payments", + "typeScriptTag": "payments", + "description": "Get the payment method", + "parameters": [ + { + "name": "id", + "schema": "string", + "required": true, + "description": "Payment method id", + "example": "ID" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/payments/methods", + "method": "getMethods", + "httpMethod": "get", + "tag": "Payments", + "typeScriptTag": "payments", + "description": "List of all payment methods", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "rank" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/payments/methods/search", + "method": "searchMethods", + "httpMethod": "post", + "tag": "Payments", + "typeScriptTag": "payments", + "description": "Search methods of payment", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "rank" + }, + { + "name": "filters", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/ocr/pur-invoice", + "method": "listPurchaseInvoices", + "httpMethod": "get", + "tag": "Purchase (https://api.sellsy.com/doc/v2/", + "typeScriptTag": "purchaseHttps:ApiSellsyComDocV2", + "description": "Ocr List - Purchase invoices", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "completed_at" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/ocr/pur-invoice/search", + "method": "searchDocument", + "httpMethod": "post", + "tag": "Purchase (https://api.sellsy.com/doc/v2/", + "typeScriptTag": "purchaseHttps:ApiSellsyComDocV2", + "description": "Search OCR - Purchase invoices", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "completed_at" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "filters", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/ocr/pur-invoice/metas", + "method": "getMetadata", + "httpMethod": "get", + "tag": "Purchase (https://api.sellsy.com/doc/v2/", + "typeScriptTag": "purchaseHttps:ApiSellsyComDocV2", + "description": "Get Metadata for purchase invoice OCR", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/contacts", + "method": "getList", + "httpMethod": "get", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Contacts List", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "embed", + "schema": "array", + "description": "Example : `embed[]=delivery_address&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- estimates,invoices,orders,deliveries: `invoicing.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags embed is limited to the 20 first results sorted in alphabetical order.
\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/contacts", + "method": "createContact", + "httpMethod": "post", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Create a contact", + "parameters": [ + { + "name": "embed", + "schema": "array", + "description": "Example : `embed[]=delivery_address&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- estimates,invoices,orders,deliveries: `invoicing.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags embed is limited to the 20 first results sorted in alphabetical order.
\n" + }, + { + "name": "verify", + "schema": "boolean", + "description": "Flag to trigger validation only (set to true to validate payload without persisting data)" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + }, + { + "statusCode": "204", + "description": "" + } + ] + }, + { + "url": "/contacts/search", + "method": "searchContacts", + "httpMethod": "post", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Search contacts", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "embed", + "schema": "array", + "description": "Example : `embed[]=delivery_address&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- estimates,invoices,orders,deliveries: `invoicing.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags embed is limited to the 20 first results sorted in alphabetical order.
\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "filters", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/contacts/favourite-filters", + "method": "listFavouriteFilters", + "httpMethod": "get", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "List contacts favourite filters", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/contacts/{id}", + "method": "removeContact", + "httpMethod": "delete", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Delete contact", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Contact deleted" + } + ] + }, + { + "url": "/contacts/{id}", + "method": "getInformations", + "httpMethod": "get", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Get contact", + "parameters": [ + { + "name": "embed", + "schema": "array", + "description": "Example : `embed[]=delivery_address&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- estimates,invoices,orders,deliveries: `invoicing.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags embed is limited to the 20 first results sorted in alphabetical order.
\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/contacts/{id}", + "method": "updateContactInfo", + "httpMethod": "put", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Update contact", + "parameters": [ + { + "name": "embed", + "schema": "array", + "description": "Example : `embed[]=delivery_address&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- opportunities: `opportunities.read`
- estimates,invoices,orders,deliveries: `invoicing.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags embed is limited to the 20 first results sorted in alphabetical order.
\n" + }, + { + "name": "verify", + "schema": "boolean", + "description": "Flag to trigger validation only (set to true to validate payload without persisting data)" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "204", + "description": "" + } + ] + }, + { + "url": "/contacts/{contactId}/addresses", + "method": "getAddresses", + "httpMethod": "get", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Get contact addresses", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/contacts/{contactId}/addresses", + "method": "createAddress", + "httpMethod": "post", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Create a contact address", + "parameters": [ + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "Main office" + }, + { + "name": "address_line_1", + "schema": "string", + "required": true, + "description": "", + "example": "30 Commercial Road" + }, + { + "name": "address_line_2", + "schema": "string", + "required": false, + "description": "", + "example": "Finance and Accounting" + }, + { + "name": "address_line_3", + "schema": "string", + "required": false, + "description": "", + "example": "Lighthouse Promotions" + }, + { + "name": "address_line_4", + "schema": "string", + "required": false, + "description": "", + "example": "PO Box 215" + }, + { + "name": "postal_code", + "schema": "string", + "required": true, + "description": "", + "example": "75012" + }, + { + "name": "city", + "schema": "string", + "required": true, + "description": "", + "example": "Paris" + }, + { + "name": "country_code", + "schema": "string", + "required": true, + "description": "", + "example": "FR" + }, + { + "name": "is_invoicing_address", + "schema": "boolean", + "required": false, + "description": "" + }, + { + "name": "is_delivery_address", + "schema": "boolean", + "required": false, + "description": "" + }, + { + "name": "geocode", + "schema": "object", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/contacts/{contactId}/addresses/{id}", + "method": "deleteAddress", + "httpMethod": "delete", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Delete a contact address", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Address deleted" + } + ] + }, + { + "url": "/contacts/{contactId}/addresses/{id}", + "method": "getAddressById", + "httpMethod": "get", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Get a contact address", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/contacts/{contactId}/addresses/{id}", + "method": "updateAddress", + "httpMethod": "put", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Update a contact address", + "parameters": [ + { + "name": "name", + "schema": "string", + "description": "", + "example": "Main office" + }, + { + "name": "address_line_1", + "schema": "string", + "description": "", + "example": "30 Commercial Road" + }, + { + "name": "address_line_2", + "schema": "string", + "description": "", + "example": "Finance and Accounting" + }, + { + "name": "address_line_3", + "schema": "string", + "description": "", + "example": "Lighthouse Promotions" + }, + { + "name": "address_line_4", + "schema": "string", + "description": "", + "example": "PO Box 215" + }, + { + "name": "postal_code", + "schema": "string", + "description": "", + "example": "75012" + }, + { + "name": "city", + "schema": "string", + "description": "", + "example": "Paris" + }, + { + "name": "country_code", + "schema": "string", + "description": "", + "example": "FR" + }, + { + "name": "is_invoicing_address", + "schema": "boolean", + "description": "" + }, + { + "name": "is_delivery_address", + "schema": "boolean", + "description": "" + }, + { + "name": "geocode", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/contacts/{contactId}/custom-fields", + "method": "getCustomFields", + "httpMethod": "get", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Contact custom fields List", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/contacts/{contactId}/custom-fields", + "method": "updateCustomFields", + "httpMethod": "put", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Update contact custom fields", + "parameters": [ + { + "name": "verify", + "schema": "boolean", + "description": "Flag to trigger validation only (set to true to validate payload without persisting data)" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Contact's custom fields updated" + }, + { + "statusCode": "204", + "description": "" + } + ] + }, + { + "url": "/contacts/{contactId}/files", + "method": "listDirectoriesAndFiles", + "httpMethod": "get", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "List directories and files of a contact", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/contacts/{contactId}/files", + "method": "attachFileToContact", + "httpMethod": "post", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Attach file to a contact", + "parameters": [ + { + "name": "file", + "schema": "string", + "required": true, + "description": "", + "example": "FILE" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "File uploaded" + } + ] + }, + { + "url": "/contacts/{contactId}/smart-tags", + "method": "getSmartTags", + "httpMethod": "get", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Contact smart tags List", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/contacts/{contactId}/smart-tags", + "method": "linkSmartTags", + "httpMethod": "post", + "tag": "Contacts", + "typeScriptTag": "contacts", + "description": "Link smart tags to contact", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/accounts/conformities", + "method": "getInvoicingState", + "httpMethod": "get", + "tag": "Conformities", + "typeScriptTag": "conformities", + "description": "Retrieve invoicing conformity state", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "Invoice conformity state informations" + } + ] + }, + { + "url": "/accounts/conformities", + "method": "activateInvoiceConformity", + "httpMethod": "post", + "tag": "Conformities", + "typeScriptTag": "conformities", + "description": "Activate invoice conformity (https://api.sellsy.com/doc/v2/", + "parameters": [ + { + "name": "confirm_final_change", + "schema": "boolean", + "required": true, + "description": "", + "example": true + } + ], + "responses": [ + { + "statusCode": "201", + "description": "Invoice conformity state informations" + }, + { + "statusCode": "403", + "description": "Conformity has already been activated" + } + ] + }, + { + "url": "/document-layouts", + "method": "getAllLayouts", + "httpMethod": "get", + "tag": "Document Layouts", + "typeScriptTag": "documentLayouts", + "description": "Get all document layouts", + "parameters": [ + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/accounts/documents", + "method": "getInvoicesAndCreditNotes", + "httpMethod": "get", + "tag": "Documents", + "typeScriptTag": "documents", + "description": "Get your invoices and credit notes", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "date" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/opportunities/{id}", + "method": "removeOpportunity", + "httpMethod": "delete", + "tag": "Opportunities", + "typeScriptTag": "opportunities", + "description": "Delete an Opportunity", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Opportunity deleted" + } + ] + }, + { + "url": "/opportunities/{id}", + "method": "getOpportunity", + "httpMethod": "get", + "tag": "Opportunities", + "typeScriptTag": "opportunities", + "description": "Get Opportunity", + "parameters": [ + { + "name": "embed", + "schema": "array", + "description": "Example : `embed[]=assigned_staffs&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: `individuals.read`
- assigned_staffs: `staffs.read`
- contacts: `contacts.read`
- estimates, invoices, orders, deliveries, proformas, creditnotes: `invoicing.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags embed is limited to the 20 first results sorted in alphabetical order.
\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Describe opportunity object" + } + ] + }, + { + "url": "/opportunities/{id}", + "method": "updateInformation", + "httpMethod": "put", + "tag": "Opportunities", + "typeScriptTag": "opportunities", + "description": "Update Opportunity", + "parameters": [ + { + "name": "embed", + "schema": "array", + "description": "Example : `embed[]=assigned_staffs&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: `individuals.read`
- assigned_staffs: `staffs.read`
- contacts: `contacts.read`
- estimates, invoices, orders, deliveries, proformas, creditnotes: `invoicing.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags embed is limited to the 20 first results sorted in alphabetical order.
\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "verify", + "schema": "boolean", + "description": "Flag to trigger validation only (set to true to validate payload without persisting data)" + }, + { + "name": "name", + "schema": "string", + "description": "", + "example": "New website" + }, + { + "name": "owner_id", + "schema": "integer", + "description": "" + }, + { + "name": "status", + "schema": "string", + "description": "", + "example": "won", + "default": "open" + }, + { + "name": "pipeline", + "schema": "integer", + "description": "", + "example": 9763 + }, + { + "name": "step", + "schema": "integer", + "description": "", + "example": 299 + }, + { + "name": "amount", + "schema": "string", + "description": "", + "example": "72000.99" + }, + { + "name": "probability", + "schema": "integer", + "description": "", + "example": 75 + }, + { + "name": "source", + "schema": "integer", + "description": "", + "example": 1 + }, + { + "name": "due_date", + "schema": "string", + "description": "", + "example": "2020-02-01" + }, + { + "name": "note", + "schema": "string", + "description": "" + }, + { + "name": "main_doc_id", + "schema": "integer", + "description": "", + "example": 22 + }, + { + "name": "assigned_staff_ids", + "schema": "array", + "description": "", + "example": [ + 133, + 299 + ] + }, + { + "name": "contact_ids", + "schema": "array", + "description": "", + "example": [ + 222, + 876 + ] + }, + { + "name": "related", + "schema": "array", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Describe opportunity object" + }, + { + "statusCode": "204", + "description": "" + } + ] + }, + { + "url": "/opportunities/{id}/step-rank", + "method": "updateRankStep", + "httpMethod": "patch", + "tag": "Opportunities", + "typeScriptTag": "opportunities", + "description": "Update opportunity's rank and/or step", + "parameters": [ + { + "name": "before_sibling", + "schema": "integer", + "required": false, + "description": "", + "example": 57 + }, + { + "name": "step", + "schema": "integer", + "required": true, + "description": "", + "example": 299 + } + ], + "responses": [ + { + "statusCode": "204", + "description": "Opportunity's rank updated" + } + ] + }, + { + "url": "/opportunities", + "method": "getList", + "httpMethod": "get", + "tag": "Opportunities", + "typeScriptTag": "opportunities", + "description": "Get Opportunities", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: `individuals.read`
- assigned_staffs: `staffs.read`
- contacts: `contacts.read`
- estimates, invoices, orders, deliveries, proformas, creditnotes: `invoicing.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags embed is limited to the 20 first results sorted in alphabetical order.
\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/opportunities", + "method": "createNewOpportunity", + "httpMethod": "post", + "tag": "Opportunities", + "typeScriptTag": "opportunities", + "description": "Create an opportunity", + "parameters": [ + { + "name": "embed", + "schema": "array", + "description": "Example : `embed[]=assigned_staffs&embed[]=cf.1542&embed[]=acl`
Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: `individuals.read`
- assigned_staffs: `staffs.read`
- contacts: `contacts.read`
- estimates, invoices, orders, deliveries, proformas, creditnotes: `invoicing.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags embed is limited to the 20 first results sorted in alphabetical order.
\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "verify", + "schema": "boolean", + "description": "Flag to trigger validation only (set to true to validate payload without persisting data)" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "Describe opportunity object" + }, + { + "statusCode": "204", + "description": "" + } + ] + }, + { + "url": "/opportunities/{opportunityId}/files", + "method": "listFiles", + "httpMethod": "get", + "tag": "Opportunities", + "typeScriptTag": "opportunities", + "description": "List directories and files of an opportunity", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/opportunities/{opportunityId}/files", + "method": "attachFileToOpportunity", + "httpMethod": "post", + "tag": "Opportunities", + "typeScriptTag": "opportunities", + "description": "Attach file to an opportunity", + "parameters": [ + { + "name": "file", + "schema": "string", + "required": true, + "description": "", + "example": "FILE" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "File schema" + } + ] + }, + { + "url": "/opportunities/search", + "method": "searchOpportunities", + "httpMethod": "post", + "tag": "Opportunities", + "typeScriptTag": "opportunities", + "description": "Search Opportunities", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: `individuals.read`
- assigned_staffs: `staffs.read`
- contacts: `contacts.read`
- estimates, invoices, orders, deliveries, proformas, creditnotes: `invoicing.read`
- cf.{custom_field_id} : `custom-fields.read`
- smart_tags: `smart-tags.read`
Additionnally, the smart_tags embed is limited to the 20 first results sorted in alphabetical order.
\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "filters", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/opportunities/favourite-filters", + "method": "listFavouriteFilters", + "httpMethod": "get", + "tag": "Opportunities", + "typeScriptTag": "opportunities", + "description": "List opportunities favourite filters", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/opportunities/sources", + "method": "getSourcesList", + "httpMethod": "get", + "tag": "Opportunities", + "typeScriptTag": "opportunities", + "description": "Get Opportunity Sources", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id", + "default": "rank" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/opportunities/sources/search", + "method": "searchSources", + "httpMethod": "post", + "tag": "Opportunities", + "typeScriptTag": "opportunities", + "description": "Search Opportunity Sources", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id", + "default": "rank" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "filters", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/opportunities/categories/{sourceCategoryId}/sources", + "method": "listCategorySources", + "httpMethod": "get", + "tag": "Opportunities", + "typeScriptTag": "opportunities", + "description": "Get Opportunity Category Sources", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id", + "default": "rank" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/opportunities/pipelines", + "method": "listPipelines", + "httpMethod": "get", + "tag": "Opportunities", + "typeScriptTag": "opportunities", + "description": "Get Opportunity Pipelines", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id", + "default": "rank" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/opportunities/pipelines/search", + "method": "searchPipelines", + "httpMethod": "post", + "tag": "Opportunities", + "typeScriptTag": "opportunities", + "description": "Search Opportunity Pipelines", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id", + "default": "rank" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "filters", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/opportunities/pipelines/{pipelineId}/steps", + "method": "getPipelineSteps", + "httpMethod": "get", + "tag": "Opportunities", + "typeScriptTag": "opportunities", + "description": "Get Opportunity Pipeline Steps", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id", + "default": "rank" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- opportunities_number: `opportunities.read`\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/opportunities/pipelines/{pipelineId}/steps/search", + "method": "searchPipelineSteps", + "httpMethod": "post", + "tag": "Opportunities", + "typeScriptTag": "opportunities", + "description": "Search Opportunity Pipeline Steps", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id", + "default": "rank" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- opportunities_number: `opportunities.read`\n" + }, + { + "name": "filters", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/opportunities/steps/search", + "method": "searchPipelineSteps", + "httpMethod": "post", + "tag": "Opportunities", + "typeScriptTag": "opportunities", + "description": "Search All Opportunity Pipeline Steps", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id", + "default": "rank" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- opportunities_number: `opportunities.read`\n" + }, + { + "name": "filters", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/opportunities/categories", + "method": "listCategories", + "httpMethod": "get", + "tag": "Opportunities", + "typeScriptTag": "opportunities", + "description": "Get Opportunities Categories List", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/opportunities/categories/{id}", + "method": "getCategory", + "httpMethod": "get", + "tag": "Opportunities", + "typeScriptTag": "opportunities", + "description": "Get Opportunities Category", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "Opportunities Category" + } + ] + }, + { + "url": "/opportunities/{id}/custom-fields", + "method": "getCustomFields", + "httpMethod": "get", + "tag": "Opportunities", + "typeScriptTag": "opportunities", + "description": "Opportunity custom fields List", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/opportunities/{id}/custom-fields", + "method": "updateCustomFields", + "httpMethod": "put", + "tag": "Opportunities", + "typeScriptTag": "opportunities", + "description": "Update opportunity custom fields", + "parameters": [ + { + "name": "verify", + "schema": "boolean", + "description": "Flag to trigger validation only (set to true to validate payload without persisting data)" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Opportunity's custom fields updated" + }, + { + "statusCode": "204", + "description": "" + } + ] + }, + { + "url": "/opportunities/{id}/smart-tags", + "method": "getSmartTags", + "httpMethod": "get", + "tag": "Opportunities", + "typeScriptTag": "opportunities", + "description": "Opportunity smart-tags list", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/opportunities/{id}/smart-tags", + "method": "linkSmartTags", + "httpMethod": "post", + "tag": "Opportunities", + "typeScriptTag": "opportunities", + "description": "Link smart tags to opportunity", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/tasks/{id}", + "method": "removeTask", + "httpMethod": "delete", + "tag": "Tasks", + "typeScriptTag": "tasks", + "description": "Delete a task", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Task deleted" + } + ] + }, + { + "url": "/tasks/{id}", + "method": "getById", + "httpMethod": "get", + "tag": "Tasks", + "typeScriptTag": "tasks", + "description": "Get a task", + "parameters": [ + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: `individuals.read`
- owner, assigned_staffs: `staffs.read`
- contact: `contacts.read`
- related: by object type. Check the entire documentation to verify the usual scopes requested for the types returned\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/tasks/{id}", + "method": "updateTaskById", + "httpMethod": "put", + "tag": "Tasks", + "typeScriptTag": "tasks", + "description": "Update a task", + "parameters": [ + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: `individuals.read`
- owner, assigned_staffs: `staffs.read`
- contact: `contacts.read`
- related: by object type. Check the entire documentation to verify the usual scopes requested for the types returned\n" + }, + { + "name": "title", + "schema": "string", + "description": "", + "example": "Meeting" + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "Monthly meeting with consulting team" + }, + { + "name": "is_private", + "schema": "boolean", + "description": "", + "default": false + }, + { + "name": "due_date", + "schema": "string", + "description": "", + "example": "2020-01-01T00:00:00+01:00" + }, + { + "name": "status", + "schema": "string", + "description": "", + "example": "todo" + }, + { + "name": "assigned_staff_ids", + "schema": "array", + "description": "" + }, + { + "name": "label_id", + "schema": "integer", + "description": "" + }, + { + "name": "related", + "schema": "array", + "description": "" + }, + { + "name": "owner_id", + "schema": "integer", + "description": "" + }, + { + "name": "priority", + "schema": "integer", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/tasks", + "method": "getList", + "httpMethod": "get", + "tag": "Tasks", + "typeScriptTag": "tasks", + "description": "Tasks List", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: `individuals.read`
- owner, assigned_staffs: `staffs.read`
- contact: `contacts.read`
- related: by object type. Check the entire documentation to verify the usual scopes requested for the types returned\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/tasks", + "method": "createTask", + "httpMethod": "post", + "tag": "Tasks", + "typeScriptTag": "tasks", + "description": "Create a task", + "parameters": [ + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: `individuals.read`
- owner, assigned_staffs: `staffs.read`
- contact: `contacts.read`
- related: by object type. Check the entire documentation to verify the usual scopes requested for the types returned\n" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/tasks/search", + "method": "searchTasks", + "httpMethod": "post", + "tag": "Tasks", + "typeScriptTag": "tasks", + "description": "Search Tasks", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: `individuals.read`
- owner, assigned_staffs: `staffs.read`
- contact: `contacts.read`
- related: by object type. Check the entire documentation to verify the usual scopes requested for the types returned\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "filters", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/tasks/labels", + "method": "getLabels", + "httpMethod": "get", + "tag": "Tasks", + "typeScriptTag": "tasks", + "description": "Get tasks labels", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "rank" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/calendar-events/labels", + "method": "getLabels", + "httpMethod": "get", + "tag": "Calendar", + "typeScriptTag": "calendar", + "description": "Get calendar events labels", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "rank" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/staffs/{id}", + "method": "getStaff", + "httpMethod": "get", + "tag": "Staffs", + "typeScriptTag": "staffs", + "description": "Get Staff", + "parameters": [ + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.

If current user visibility on staffs is restricted, embed will not be available.

Each embed object may require different oauth2 scopes than the main endpoint:
- licenses: `accounts.read`
- profile: `staffs.read`
- account: `staffs.read`
- user: `staffs.read`
- subscriptions: `accounts.read`
- features: `accounts.read`\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "404", + "description": "Staff not found. Depending on your subscription plan" + } + ] + }, + { + "url": "/staffs/{id}", + "method": "updateInformation", + "httpMethod": "put", + "tag": "Staffs", + "typeScriptTag": "staffs", + "description": "Update Staff", + "parameters": [ + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.

If current user visibility on staffs is restricted, embed will not be available.

Each embed object may require different oauth2 scopes than the main endpoint:
- licenses: `accounts.read`\n" + }, + { + "name": "lastname", + "schema": "string", + "description": "", + "example": "Smith" + }, + { + "name": "firstname", + "schema": "string", + "description": "", + "example": "John" + }, + { + "name": "email", + "schema": "string", + "description": "", + "example": "john@example-company.com" + }, + { + "name": "phone_number", + "schema": "string", + "description": "", + "example": "+33100000000" + }, + { + "name": "mobile_number", + "schema": "string", + "description": "", + "example": "+33600000000" + }, + { + "name": "fax_number", + "schema": "string", + "description": "", + "example": "+33500000000" + }, + { + "name": "civility", + "schema": "string", + "description": "", + "example": "mrs" + }, + { + "name": "position", + "schema": "string", + "description": "", + "example": "Sales manager" + }, + { + "name": "profile", + "schema": "integer", + "description": "", + "example": 3443 + }, + { + "name": "team", + "schema": "integer", + "description": "", + "example": -1 + }, + { + "name": "job", + "schema": "integer", + "description": "", + "example": -1 + }, + { + "name": "timezone", + "schema": "string", + "description": "", + "example": "Europe/Paris" + }, + { + "name": "language", + "schema": "string", + "description": "", + "example": "fr" + }, + { + "name": "licenses", + "schema": "array", + "description": "" + }, + { + "name": "is_active", + "schema": "boolean", + "description": "", + "example": true + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/staffs", + "method": "getList", + "httpMethod": "get", + "tag": "Staffs", + "typeScriptTag": "staffs", + "description": "Get Staffs", + "parameters": [ + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.

If current user visibility on staffs is restricted, embed will not be available.

Each embed object may require different oauth2 scopes than the main endpoint:
- licenses: `accounts.read`\n" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "order", + "schema": "string", + "description": "Field on which to sort the data", + "example": "id" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/staffs", + "method": "createStaff", + "httpMethod": "post", + "tag": "Staffs", + "typeScriptTag": "staffs", + "description": "Create a staff", + "parameters": [ + { + "name": "lastname", + "schema": "string", + "required": true, + "description": "", + "example": "Smith" + }, + { + "name": "firstname", + "schema": "string", + "required": true, + "description": "", + "example": "John" + }, + { + "name": "email", + "schema": "string", + "required": true, + "description": "", + "example": "john@example-company.com" + }, + { + "name": "phone_number", + "schema": "string", + "required": false, + "description": "", + "example": "+33100000000" + }, + { + "name": "mobile_number", + "schema": "string", + "required": false, + "description": "", + "example": "+33600000000" + }, + { + "name": "fax_number", + "schema": "string", + "required": false, + "description": "", + "example": "+33500000000" + }, + { + "name": "civility", + "schema": "string", + "required": true, + "description": "", + "example": "mrs" + }, + { + "name": "position", + "schema": "string", + "required": false, + "description": "", + "example": "Sales manager" + }, + { + "name": "profile", + "schema": "integer", + "required": true, + "description": "", + "example": 3443 + }, + { + "name": "team", + "schema": "integer", + "required": true, + "description": "", + "example": -1 + }, + { + "name": "job", + "schema": "integer", + "required": true, + "description": "", + "example": -1 + }, + { + "name": "timezone", + "schema": "string", + "required": true, + "description": "", + "example": "Europe/Paris" + }, + { + "name": "language", + "schema": "string", + "required": true, + "description": "", + "example": "fr" + }, + { + "name": "first_connection_onboarding", + "schema": "boolean", + "required": true, + "description": "", + "example": true + }, + { + "name": "licenses", + "schema": "array", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/staffs/search", + "method": "searchList", + "httpMethod": "post", + "tag": "Staffs", + "typeScriptTag": "staffs", + "description": "Search Staffs", + "parameters": [ + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.

If current user visibility on staffs is restricted, embed will not be available.

Each embed object may require different oauth2 scopes than the main endpoint:
- licenses: `accounts.read`\n" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "order", + "schema": "string", + "description": "Field on which to sort the data", + "example": "id" + }, + { + "name": "filters", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/teams", + "method": "listTeams", + "httpMethod": "get", + "tag": "Staffs", + "typeScriptTag": "staffs", + "description": "Team List", + "parameters": [ + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/profiles", + "method": "getProfilesList", + "httpMethod": "get", + "tag": "Staffs", + "typeScriptTag": "staffs", + "description": "Profiles list", + "parameters": [ + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/files/{id}", + "method": "removeFile", + "httpMethod": "delete", + "tag": "Files", + "typeScriptTag": "files", + "description": "Delete file", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "File deleted" + } + ] + }, + { + "url": "/files/{id}", + "method": "getById", + "httpMethod": "get", + "tag": "Files", + "typeScriptTag": "files", + "description": "Get file", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "File schema" + } + ] + }, + { + "url": "/files/{id}", + "method": "moveFileToDirectory", + "httpMethod": "patch", + "tag": "Files", + "typeScriptTag": "files", + "description": "Move a file to a new directory", + "parameters": [ + { + "name": "type", + "schema": "string", + "required": true, + "description": "", + "example": "opportunity" + }, + { + "name": "id", + "schema": "integer", + "required": true, + "description": "", + "example": 1 + } + ], + "responses": [ + { + "statusCode": "204", + "description": "File moved" + }, + { + "statusCode": "409", + "description": "Conflict" + } + ] + }, + { + "url": "/search", + "method": "searchObjects", + "httpMethod": "get", + "tag": "Listings", + "typeScriptTag": "listings", + "description": "Search", + "parameters": [ + { + "name": "q", + "schema": "string", + "required": true, + "description": "The search field", + "example": "John" + }, + { + "name": "type", + "schema": "array", + "description": "Filter search by object type or subtype.\n- `ex with types: type[]=contact&type[]=company`\n- `ex with subtypes: type[]=company.client&type[]=item.product`\n- `ex with both: type[]=company&type[]=item.product`\n" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit. On a default search (without the `type` parameter), the limit parameter is not used because the limit is automatically calculated in relation to the relevance of the search results.", + "default": 25 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/calendar-events", + "method": "getEventsList", + "httpMethod": "get", + "tag": "Calendar", + "typeScriptTag": "calendar", + "description": "Calendar events List", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: `individuals.read`
- owner: `staffs.read`
- contact: `contacts.read`
- related, participants: by object type. Check the entire documentation to verify the usual scopes requested for the types returned\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/calendar-events", + "method": "createEvent", + "httpMethod": "post", + "tag": "Calendar", + "typeScriptTag": "calendar", + "description": "Create a calendar event", + "parameters": [ + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: `individuals.read`
- owner: `staffs.read`
- contact: `contacts.read`
- related, participants: by object type. Check the entire documentation to verify the usual scopes requested for the types returned\n" + }, + { + "name": "title", + "schema": "string", + "required": true, + "description": "", + "example": "Meeting" + }, + { + "name": "description", + "schema": "string", + "required": false, + "description": "", + "example": "Monthly meeting with consulting team" + }, + { + "name": "datetime_start", + "schema": "string", + "required": true, + "description": "", + "example": "2020-01-01T00:00:00+01:00" + }, + { + "name": "datetime_end", + "schema": "string", + "required": true, + "description": "", + "example": "2020-01-01T00:00:00+01:00" + }, + { + "name": "is_private", + "schema": "boolean", + "required": false, + "description": "", + "default": false + }, + { + "name": "all_day", + "schema": "boolean", + "required": false, + "description": "", + "default": false + }, + { + "name": "label_id", + "schema": "integer", + "required": true, + "description": "", + "example": 0 + }, + { + "name": "provider_calendar", + "schema": "string", + "required": false, + "description": "", + "example": "myemail@gmail.com" + }, + { + "name": "participants", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "related", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "created", + "schema": "string", + "required": false, + "description": "" + }, + { + "name": "priority", + "schema": "integer", + "required": false, + "description": "", + "default": 0 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/calendar-events/{id}", + "method": "deleteEvent", + "httpMethod": "delete", + "tag": "Calendar", + "typeScriptTag": "calendar", + "description": "Delete calendar event", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Calendar event deleted" + } + ] + }, + { + "url": "/calendar-events/{id}", + "method": "getEvent", + "httpMethod": "get", + "tag": "Calendar", + "typeScriptTag": "calendar", + "description": "Get calendar event", + "parameters": [ + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: `individuals.read`
- owner: `staffs.read`
- contact: `contacts.read`
- related, participants: by object type. Check the entire documentation to verify the usual scopes requested for the types returned\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/calendar-events/{id}", + "method": "updateEvent", + "httpMethod": "put", + "tag": "Calendar", + "typeScriptTag": "calendar", + "description": "Update calendar event", + "parameters": [ + { + "name": "title", + "schema": "string", + "description": "", + "example": "Meeting" + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "Monthly meeting with consulting team" + }, + { + "name": "datetime_start", + "schema": "string", + "description": "", + "example": "2020-01-01T00:00:00+01:00" + }, + { + "name": "datetime_end", + "schema": "string", + "description": "", + "example": "2020-01-01T00:00:00+01:00" + }, + { + "name": "is_private", + "schema": "boolean", + "description": "", + "default": false + }, + { + "name": "all_day", + "schema": "boolean", + "description": "", + "default": false + }, + { + "name": "label_id", + "schema": "integer", + "description": "" + }, + { + "name": "provider_calendar", + "schema": "string", + "description": "", + "example": "myemail@gmail.com" + }, + { + "name": "participants", + "schema": "array", + "description": "" + }, + { + "name": "related", + "schema": "array", + "description": "" + }, + { + "name": "priority", + "schema": "integer", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/calendar-events/search", + "method": "searchEvent", + "httpMethod": "post", + "tag": "Calendar", + "typeScriptTag": "calendar", + "description": "Search calendar event", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: `individuals.read`
- owner: `staffs.read`
- contact: `contacts.read`
- related, participants: by object type. Check the entire documentation to verify the usual scopes requested for the types returned\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "filters", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/activities/search", + "method": "performSearch", + "httpMethod": "post", + "tag": "Activities", + "typeScriptTag": "activities", + "description": "Search in activity", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "due_date" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: `individuals.read`
- author: `staffs.read`
- object_related: by object type. Check the entire documentation to verify the usual scopes requested for the types returned\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/timeline/{type}/{id}/search", + "method": "searchTimelineActivity", + "httpMethod": "post", + "tag": "Activities", + "typeScriptTag": "activities", + "description": "Timeline search", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "due_date" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: `individuals.read`
- author: `staffs.read`
- object_related: by object type. Check the entire documentation to verify the usual scopes requested for the types returned\n" + }, + { + "name": "filters", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/phone-calls/{id}", + "method": "deletePhoneCall", + "httpMethod": "delete", + "tag": "PhoneCalls", + "typeScriptTag": "phoneCalls", + "description": "Delete a phoneCall", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "PhoneCall deleted" + } + ] + }, + { + "url": "/phone-calls/{id}", + "method": "getPhoneCall", + "httpMethod": "get", + "tag": "PhoneCalls", + "typeScriptTag": "phoneCalls", + "description": "Get a phoneCall", + "parameters": [ + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: `individuals.read`
- owner: `staffs.read`
- contact: `contacts.read`
- related: by object type. Check the entire documentation to verify the usual scopes requested for the types returned\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/phone-calls/{id}", + "method": "updatePhoneCall", + "httpMethod": "put", + "tag": "PhoneCalls", + "typeScriptTag": "phoneCalls", + "description": "Update a phoneCall", + "parameters": [ + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: `individuals.read`
- owner: `staffs.read`
- contact: `contacts.read`
- related: by object type. Check the entire documentation to verify the usual scopes requested for the types returned\n" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "description", + "schema": "string", + "description": "", + "example": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor" + }, + { + "name": "owner_id", + "schema": "integer", + "description": "" + }, + { + "name": "topic", + "schema": "integer", + "description": "" + }, + { + "name": "result", + "schema": "string", + "description": "" + }, + { + "name": "source", + "schema": "string", + "description": "" + }, + { + "name": "duration", + "schema": "integer", + "description": "", + "example": 12345 + }, + { + "name": "date", + "schema": "string", + "description": "", + "example": "2020-01-01T00:00:00+01:00" + }, + { + "name": "related", + "schema": "array", + "description": "" + }, + { + "name": "priority", + "schema": "integer", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/phone-calls", + "method": "getList", + "httpMethod": "get", + "tag": "PhoneCalls", + "typeScriptTag": "phoneCalls", + "description": "PhoneCalls List", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: `individuals.read`
- owner: `staffs.read`
- contact: `contacts.read`
- related: by object type. Check the entire documentation to verify the usual scopes requested for the types returned\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/phone-calls", + "method": "createPhoneCall", + "httpMethod": "post", + "tag": "PhoneCalls", + "typeScriptTag": "phoneCalls", + "description": "Create a phone call", + "parameters": [ + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: `individuals.read`
- owner: `staffs.read`
- contact: `contacts.read`
- related: by object type. Check the entire documentation to verify the usual scopes requested for the types returned\n" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/phone-calls/search", + "method": "searchList", + "httpMethod": "post", + "tag": "PhoneCalls", + "typeScriptTag": "phoneCalls", + "description": "Search phoneCalls", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result.

Each embed object may require different oauth2 scopes than the main endpoint:
- company: `companies.read`
- individual: `individuals.read`
- owner: `staffs.read`
- contact: `contacts.read`
- related: by object type. Check the entire documentation to verify the usual scopes requested for the types returned\n" + }, + { + "name": "filters", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/emails/{id}", + "method": "getDetails", + "httpMethod": "get", + "tag": "Emails", + "typeScriptTag": "emails", + "description": "Get Email", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "206", + "description": "" + } + ] + }, + { + "url": "/emails/threads/{id}", + "method": "getThreadEmails", + "httpMethod": "get", + "tag": "Emails", + "typeScriptTag": "emails", + "description": "Get Emails Thread", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/email/authenticate", + "method": "getDnsData", + "httpMethod": "get", + "tag": "Emails", + "typeScriptTag": "emails", + "description": "Get email's domain DNS data", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/email/domain/validate", + "method": "validateDns", + "httpMethod": "post", + "tag": "Emails", + "typeScriptTag": "emails", + "description": "Validate email's DNS", + "parameters": [ + { + "name": "domain", + "schema": "string", + "description": "", + "example": "domain.com" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "400", + "description": "Bad Request" + } + ] + }, + { + "url": "/webhooks", + "method": "getList", + "httpMethod": "get", + "tag": "Webhooks", + "typeScriptTag": "webhooks", + "description": "Get Webhooks", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/webhooks", + "method": "createWebhook", + "httpMethod": "post", + "tag": "Webhooks", + "typeScriptTag": "webhooks", + "description": "Create Webhook", + "parameters": [ + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/webhooks/search", + "method": "searchWebhooksList", + "httpMethod": "post", + "tag": "Webhooks", + "typeScriptTag": "webhooks", + "description": "Search Webhooks", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "filters", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/webhooks/{id}", + "method": "deleteWebhook", + "httpMethod": "delete", + "tag": "Webhooks", + "typeScriptTag": "webhooks", + "description": "Delete Webhook", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Webhook deleted" + } + ] + }, + { + "url": "/webhooks/{id}", + "method": "getWebhook", + "httpMethod": "get", + "tag": "Webhooks", + "typeScriptTag": "webhooks", + "description": "Get Webhook", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/webhooks/{id}", + "method": "updateInformation", + "httpMethod": "put", + "tag": "Webhooks", + "typeScriptTag": "webhooks", + "description": "Update Webhook", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/webhooks/events", + "method": "listEvents", + "httpMethod": "get", + "tag": "Webhooks", + "typeScriptTag": "webhooks", + "description": "List Webhook Events", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "List available webhook events" + } + ] + }, + { + "url": "/units", + "method": "getAll", + "httpMethod": "get", + "tag": "Units", + "typeScriptTag": "units", + "description": "Get Units", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/currencies", + "method": "getAll", + "httpMethod": "get", + "tag": "Currencies", + "typeScriptTag": "currencies", + "description": "Get currencies", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/countries", + "method": "getList", + "httpMethod": "get", + "tag": "Countries", + "typeScriptTag": "countries", + "description": "Get countries list", + "parameters": [ + { + "name": "language", + "schema": "string", + "description": "translation of the country name", + "default": "fr" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/settings/subscription", + "method": "getDetails", + "httpMethod": "get", + "tag": "Subscription", + "typeScriptTag": "subscription", + "description": "Get my Sellsy subscription informations", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/items", + "method": "getList", + "httpMethod": "get", + "tag": "Items", + "typeScriptTag": "items", + "description": "Items List", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "order", + "schema": "string", + "description": "Order field", + "example": "id" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/items", + "method": "createItem", + "httpMethod": "post", + "tag": "Items", + "typeScriptTag": "items", + "description": "Create an item", + "parameters": [ + { + "name": "description", + "schema": "string", + "required": false, + "description": "", + "example": "T-shirt 90% coton" + }, + { + "name": "type", + "schema": "string", + "required": true, + "description": "", + "example": "TYPE" + }, + { + "name": "name", + "schema": "string", + "required": false, + "description": "", + "example": "lorem ipsum" + }, + { + "name": "reference", + "schema": "string", + "required": true, + "description": "", + "example": "ref0123" + }, + { + "name": "reference_price", + "schema": "string", + "required": false, + "description": "", + "example": "19.99" + }, + { + "name": "purchase_amount", + "schema": "string", + "required": false, + "description": "", + "example": "8.25" + }, + { + "name": "is_reference_price_taxes_free", + "schema": "boolean", + "required": false, + "description": "", + "example": true + }, + { + "name": "tax_id", + "schema": "integer", + "required": false, + "description": "", + "example": 354 + }, + { + "name": "unit_id", + "schema": "integer", + "required": false, + "description": "", + "example": 952 + }, + { + "name": "category_id", + "schema": "integer", + "required": false, + "description": "", + "example": 123 + }, + { + "name": "standard_quantity", + "schema": "string", + "required": false, + "description": "", + "example": "3" + }, + { + "name": "is_name_included_in_description", + "schema": "boolean", + "required": false, + "description": "", + "example": true + }, + { + "name": "accounting_code_id", + "schema": "integer", + "required": false, + "description": "", + "example": 321 + }, + { + "name": "accounting_purchase_code_id", + "schema": "integer", + "required": false, + "description": "", + "example": 123 + }, + { + "name": "accounting_analytic_code", + "schema": "string", + "required": false, + "description": "", + "example": "divers" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/items/search", + "method": "searchItems", + "httpMethod": "post", + "tag": "Items", + "typeScriptTag": "items", + "description": "Search items", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "order", + "schema": "string", + "description": "Order field", + "example": "id" + }, + { + "name": "filters", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/items/favourite-filters", + "method": "listFavouriteFilters", + "httpMethod": "get", + "tag": "Items", + "typeScriptTag": "items", + "description": "List items favourite filters", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/items/{id}", + "method": "removeItem", + "httpMethod": "delete", + "tag": "Items", + "typeScriptTag": "items", + "description": "Delete item", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Item deleted" + } + ] + }, + { + "url": "/items/{id}", + "method": "getById", + "httpMethod": "get", + "tag": "Items", + "typeScriptTag": "items", + "description": "Get an item", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/items/{id}", + "method": "updateItem", + "httpMethod": "put", + "tag": "Items", + "typeScriptTag": "items", + "description": "Update an item", + "parameters": [ + { + "name": "description", + "schema": "string", + "description": "", + "example": "T-shirt 90% coton" + }, + { + "name": "name", + "schema": "string", + "description": "", + "example": "lorem ipsum" + }, + { + "name": "reference", + "schema": "string", + "description": "", + "example": "ref0123" + }, + { + "name": "reference_price", + "schema": "string", + "description": "", + "example": "19.99" + }, + { + "name": "purchase_amount", + "schema": "string", + "description": "", + "example": "8.25" + }, + { + "name": "is_reference_price_taxes_free", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "tax_id", + "schema": "integer", + "description": "", + "example": 354 + }, + { + "name": "unit_id", + "schema": "integer", + "description": "", + "example": 952 + }, + { + "name": "category_id", + "schema": "integer", + "description": "", + "example": 123 + }, + { + "name": "standard_quantity", + "schema": "string", + "description": "", + "example": 3 + }, + { + "name": "is_name_included_in_description", + "schema": "boolean", + "description": "", + "example": true + }, + { + "name": "accounting_code_id", + "schema": "integer", + "description": "", + "example": 321 + }, + { + "name": "accounting_purchase_code_id", + "schema": "integer", + "description": "", + "example": 123 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/items/{id}/prices", + "method": "getPricesList", + "httpMethod": "get", + "tag": "Items", + "typeScriptTag": "items", + "description": "Get item prices", + "parameters": [ + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/items/{id}/prices", + "method": "updatePricesList", + "httpMethod": "put", + "tag": "Items", + "typeScriptTag": "items", + "description": "Update item prices", + "parameters": [ + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/items/{id}/declinations", + "method": "getDeclinationsList", + "httpMethod": "get", + "tag": "Items", + "typeScriptTag": "items", + "description": "Declinations List", + "parameters": [ + { + "name": "filters", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/staffs/{id}/licenses", + "method": "removeLicenses", + "httpMethod": "delete", + "tag": "Staffs", + "typeScriptTag": "staffs", + "description": "Delete licenses", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "licenses deleted" + } + ] + }, + { + "url": "/staffs/{id}/licenses", + "method": "updateLicenses", + "httpMethod": "put", + "tag": "Staffs", + "typeScriptTag": "staffs", + "description": "Put staff licenses", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/quotas", + "method": "getCorpQuotas", + "httpMethod": "get", + "tag": "Quotas", + "typeScriptTag": "quotas", + "description": "Get Quotas", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/batch", + "method": "requestCreate", + "httpMethod": "post", + "tag": "Batch", + "typeScriptTag": "batch", + "description": "Batch request", + "parameters": [], + "responses": [ + { + "statusCode": "207", + "description": "" + } + ] + }, + { + "url": "/notifications", + "method": "getUserNotifications", + "httpMethod": "get", + "tag": "Notifications", + "typeScriptTag": "notifications", + "description": "Get User Notifications", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/notifications/search", + "method": "searchUserNotifications", + "httpMethod": "post", + "tag": "Notifications", + "typeScriptTag": "notifications", + "description": "Search User Notifications", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "filters", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/notifications/{id}", + "method": "deleteNotification", + "httpMethod": "delete", + "tag": "Notifications", + "typeScriptTag": "notifications", + "description": "Delete notification", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "notification deleted" + } + ] + }, + { + "url": "/notifications/{id}/mark-as-read", + "method": "markAsRead", + "httpMethod": "patch", + "tag": "Notifications", + "typeScriptTag": "notifications", + "description": "Mark notification as read", + "parameters": [ + { + "name": "read", + "schema": "boolean", + "required": true, + "description": "", + "example": true + } + ], + "responses": [ + { + "statusCode": "204", + "description": "notification read status updated" + } + ] + }, + { + "url": "/notifications/mark-all-as-read", + "method": "markAllAsRead", + "httpMethod": "patch", + "tag": "Notifications", + "typeScriptTag": "notifications", + "description": "Mark all unread notifications as read", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "notifications read status updated" + } + ] + }, + { + "url": "/notifications/settings", + "method": "getSettings", + "httpMethod": "get", + "tag": "Notifications", + "typeScriptTag": "notifications", + "description": "Get Notifications settings", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/notifications/settings", + "method": "updateSettings", + "httpMethod": "put", + "tag": "Notifications", + "typeScriptTag": "notifications", + "description": "Update Notifications settings", + "parameters": [ + { + "name": "subscriptions", + "schema": "array", + "description": "" + }, + { + "name": "do_not_disturb", + "schema": "object", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/invoices/{id}", + "method": "getById", + "httpMethod": "get", + "tag": "Invoices", + "typeScriptTag": "invoices", + "description": "Get invoice", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/invoices/{id}", + "method": "updateInvoiceById", + "httpMethod": "put", + "tag": "Invoices", + "typeScriptTag": "invoices", + "description": "Update invoice", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/invoices", + "method": "list", + "httpMethod": "get", + "tag": "Invoices", + "typeScriptTag": "invoices", + "description": "Invoices List", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result" + }, + { + "name": "order", + "schema": "string", + "description": "Order field", + "example": "id" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/invoices", + "method": "createNewInvoice", + "httpMethod": "post", + "tag": "Invoices", + "typeScriptTag": "invoices", + "description": "Create invoice", + "parameters": [ + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/invoices/search", + "method": "searchInvoices", + "httpMethod": "post", + "tag": "Invoices", + "typeScriptTag": "invoices", + "description": "Search invoices", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result" + }, + { + "name": "order", + "schema": "string", + "description": "Order field", + "example": "id" + }, + { + "name": "filters", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/invoices/favourite-filters", + "method": "listFavouriteFilters", + "httpMethod": "get", + "tag": "Invoices", + "typeScriptTag": "invoices", + "description": "List invoices favourite filters", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/invoices/compute", + "method": "computeInvoice", + "httpMethod": "post", + "tag": "Invoices", + "typeScriptTag": "invoices", + "description": "Compute an invoice", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/invoices/{id}/smart-tags", + "method": "getSmartTagsList", + "httpMethod": "get", + "tag": "Invoices", + "typeScriptTag": "invoices", + "description": "Invoice smart-tags list", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/invoices/{id}/smart-tags", + "method": "linkSmartTags", + "httpMethod": "post", + "tag": "Invoices", + "typeScriptTag": "invoices", + "description": "Link smart tags to invoice", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/invoices/{id}/validate", + "method": "validateInvoice", + "httpMethod": "post", + "tag": "Invoices", + "typeScriptTag": "invoices", + "description": "Validate Invoice", + "parameters": [ + { + "name": "date", + "schema": "string", + "description": "", + "example": "2022-01-01" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/invoices/{id}/credit-notes", + "method": "getCreditNotes", + "httpMethod": "get", + "tag": "Invoices", + "typeScriptTag": "invoices", + "description": "Get credit notes linked to invoice", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/invoices/{invoiceId}/credit-notes/{creditNoteId}", + "method": "unlinkCreditNote", + "httpMethod": "delete", + "tag": "Invoices", + "typeScriptTag": "invoices", + "description": "Unlink a credit note from an invoice", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Document unlinked" + } + ] + }, + { + "url": "/invoices/{invoiceId}/credit-notes/{creditNoteId}", + "method": "linkCreditNote", + "httpMethod": "post", + "tag": "Invoices", + "typeScriptTag": "invoices", + "description": "Link a credit note to an invoice", + "parameters": [ + { + "name": "amount", + "schema": "string", + "required": true, + "description": "", + "example": "12.66" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/invoices/{id}/payments", + "method": "getPaymentsList", + "httpMethod": "get", + "tag": "Invoices", + "typeScriptTag": "invoices", + "description": "Invoice payments list", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/invoices/{documentId}/payments/{paymentId}", + "method": "unlinkPayment", + "httpMethod": "delete", + "tag": "Invoices", + "typeScriptTag": "invoices", + "description": "Unlink payment from invoice", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Payment unlinked" + } + ] + }, + { + "url": "/invoices/{documentId}/payments/{paymentId}", + "method": "linkPaymentToInvoice", + "httpMethod": "post", + "tag": "Invoices", + "typeScriptTag": "invoices", + "description": "Link payment to invoice", + "parameters": [ + { + "name": "amount", + "schema": "number", + "required": true, + "description": "", + "example": 123.45 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/invoices/{documentId}/files", + "method": "listFiles", + "httpMethod": "get", + "tag": "Invoices", + "typeScriptTag": "invoices", + "description": "List directories and files of an invoice", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/invoices/{documentId}/files", + "method": "attachFile", + "httpMethod": "post", + "tag": "Invoices", + "typeScriptTag": "invoices", + "description": "Attach file to an invoice", + "parameters": [ + { + "name": "file", + "schema": "string", + "required": true, + "description": "", + "example": "FILE" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "File schema" + } + ] + }, + { + "url": "/invoices/{id}/custom-fields", + "method": "getCustomFields", + "httpMethod": "get", + "tag": "Invoices", + "typeScriptTag": "invoices", + "description": "Invoice custom fields List", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/invoices/{id}/custom-fields", + "method": "updateCustomFields", + "httpMethod": "put", + "tag": "Invoices", + "typeScriptTag": "invoices", + "description": "Update Invoice custom fields", + "parameters": [ + { + "name": "verify", + "schema": "boolean", + "description": "Flag to trigger validation only (set to true to validate payload without persisting data)" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Invoice's custom fields updated" + }, + { + "statusCode": "204", + "description": "" + } + ] + }, + { + "url": "/invoices/{invoiceId}/primes/{primeId}", + "method": "unlinkPrime", + "httpMethod": "delete", + "tag": "Invoices", + "typeScriptTag": "invoices", + "description": "Unlink a prime from an invoice", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Prime unlinked" + }, + { + "statusCode": "403", + "description": "Either primes on documents are not activated on your account or you don't have the required privileges" + }, + { + "statusCode": "404", + "description": "Requested prime was not applied on the document" + } + ] + }, + { + "url": "/invoices/{invoiceId}/primes/{primeId}", + "method": "linkPrimeToInvoice", + "httpMethod": "post", + "tag": "Invoices", + "typeScriptTag": "invoices", + "description": "Link prime to invoice", + "parameters": [ + { + "name": "quantity", + "schema": "integer", + "required": true, + "description": "", + "example": 12 + }, + { + "name": "amount", + "schema": "string", + "required": false, + "description": "", + "example": "12.34" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "Prime linked" + }, + { + "statusCode": "403", + "description": "Either primes on documents are not activated on your account or you don't have the required privileges" + } + ] + }, + { + "url": "/invoices/{invoiceId}/discount-incl-taxes/{discountId}", + "method": "unlinkDiscountIncludingTaxes", + "httpMethod": "delete", + "tag": "Invoices", + "typeScriptTag": "invoices", + "description": "Unlink a discount including taxes from an invoice", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Discount unlinked" + }, + { + "statusCode": "403", + "description": "Either discounts on documents are not activated on your account or you don't have the required privileges" + }, + { + "statusCode": "404", + "description": "Requested discount was not applied on the document" + } + ] + }, + { + "url": "/invoices/{invoiceId}/discount-incl-taxes/{discountId}", + "method": "linkDiscountIncludingTaxes", + "httpMethod": "post", + "tag": "Invoices", + "typeScriptTag": "invoices", + "description": "Link discount including taxes to invoice", + "parameters": [ + { + "name": "quantity", + "schema": "integer", + "required": true, + "description": "", + "example": 12 + }, + { + "name": "amount", + "schema": "string", + "required": false, + "description": "", + "example": "12.34" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "Discount linked" + }, + { + "statusCode": "403", + "description": "Either discounts on documents are not activated on your account or you don't have the required privileges" + } + ] + }, + { + "url": "/credit-notes/{id}", + "method": "getById", + "httpMethod": "get", + "tag": "Credit Notes", + "typeScriptTag": "creditNotes", + "description": "Get credit note", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/credit-notes/{id}", + "method": "updateNote", + "httpMethod": "put", + "tag": "Credit Notes", + "typeScriptTag": "creditNotes", + "description": "Update credit note", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/credit-notes", + "method": "getList", + "httpMethod": "get", + "tag": "Credit Notes", + "typeScriptTag": "creditNotes", + "description": "Credit notes List", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result" + }, + { + "name": "order", + "schema": "string", + "description": "Order field", + "example": "id" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/credit-notes", + "method": "createCreditNote", + "httpMethod": "post", + "tag": "Credit Notes", + "typeScriptTag": "creditNotes", + "description": "Create credit note", + "parameters": [ + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/credit-notes/search", + "method": "searchCreditNotes", + "httpMethod": "post", + "tag": "Credit Notes", + "typeScriptTag": "creditNotes", + "description": "Search credit notes", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "embed", + "schema": "array", + "description": "Additional object included in the result" + }, + { + "name": "order", + "schema": "string", + "description": "Order field", + "example": "id" + }, + { + "name": "filters", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/credit-notes/favourite-filters", + "method": "listFavouriteFilters", + "httpMethod": "get", + "tag": "Credit Notes", + "typeScriptTag": "creditNotes", + "description": "List credit-notes favourite filters", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/credit-notes/compute", + "method": "computeCreditNote", + "httpMethod": "post", + "tag": "Credit Notes", + "typeScriptTag": "creditNotes", + "description": "Compute a credit note", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/credit-notes/{id}/smart-tags", + "method": "getSmartTagsList", + "httpMethod": "get", + "tag": "Credit Notes", + "typeScriptTag": "creditNotes", + "description": "Credit note smart-tags list", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/credit-notes/{id}/smart-tags", + "method": "linkSmartTags", + "httpMethod": "post", + "tag": "Credit Notes", + "typeScriptTag": "creditNotes", + "description": "Link smart tags to credit note", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/credit-notes/{id}/validate", + "method": "validateCreditNote", + "httpMethod": "post", + "tag": "Credit Notes", + "typeScriptTag": "creditNotes", + "description": "Validate credit note", + "parameters": [ + { + "name": "date", + "schema": "string", + "description": "", + "example": "2022-01-01" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/credit-notes/{id}/custom-fields", + "method": "listCustomFields", + "httpMethod": "get", + "tag": "Credit Notes", + "typeScriptTag": "creditNotes", + "description": "Credit note custom fields List", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/credit-notes/{id}/custom-fields", + "method": "updateCustomFields", + "httpMethod": "put", + "tag": "Credit Notes", + "typeScriptTag": "creditNotes", + "description": "Update credit note custom fields", + "parameters": [ + { + "name": "verify", + "schema": "boolean", + "description": "Flag to trigger validation only (set to true to validate payload without persisting data)" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Credit note's custom fields updated" + }, + { + "statusCode": "204", + "description": "" + } + ] + }, + { + "url": "/credit-notes/{id}/invoices", + "method": "getLinkedInvoices", + "httpMethod": "get", + "tag": "Credit Notes", + "typeScriptTag": "creditNotes", + "description": "Get invoices linked to credit note", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/credit-notes/{creditNoteId}/invoices/{invoiceId}", + "method": "unlinkInvoice", + "httpMethod": "delete", + "tag": "Credit Notes", + "typeScriptTag": "creditNotes", + "description": "Unlink an invoice from a credit note", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Document unlinked" + } + ] + }, + { + "url": "/credit-notes/{creditNoteId}/invoices/{invoiceId}", + "method": "linkInvoice", + "httpMethod": "post", + "tag": "Credit Notes", + "typeScriptTag": "creditNotes", + "description": "Link an invoice to a credit note", + "parameters": [ + { + "name": "amount", + "schema": "string", + "required": true, + "description": "", + "example": "12.66" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/credit-notes/{id}/payments", + "method": "getPaymentsList", + "httpMethod": "get", + "tag": "Credit Notes", + "typeScriptTag": "creditNotes", + "description": "Credit note payments list", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/credit-notes/{documentId}/payments/{paymentId}", + "method": "unlinkPayment", + "httpMethod": "delete", + "tag": "Credit Notes", + "typeScriptTag": "creditNotes", + "description": "Unlink payment from credit note", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Payment unlinked" + } + ] + }, + { + "url": "/credit-notes/{documentId}/payments/{paymentId}", + "method": "linkPayment", + "httpMethod": "post", + "tag": "Credit Notes", + "typeScriptTag": "creditNotes", + "description": "Link payment to credit note", + "parameters": [ + { + "name": "amount", + "schema": "number", + "required": true, + "description": "", + "example": 123.45 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/credit-notes/{documentId}/files", + "method": "getDirectoryFiles", + "httpMethod": "get", + "tag": "Credit Notes", + "typeScriptTag": "creditNotes", + "description": "List directories and files of a credit note", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/credit-notes/{documentId}/files", + "method": "attachFileToCreditNote", + "httpMethod": "post", + "tag": "Credit Notes", + "typeScriptTag": "creditNotes", + "description": "Attach file to an credit note", + "parameters": [ + { + "name": "file", + "schema": "string", + "required": true, + "description": "", + "example": "FILE" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "File schema" + } + ] + }, + { + "url": "/credit-notes/{creditNoteId}/primes/{primeId}", + "method": "unlinkPrimeFromNote", + "httpMethod": "delete", + "tag": "Credit Notes", + "typeScriptTag": "creditNotes", + "description": "Unlink a prime from a credit note", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Prime unlinked" + }, + { + "statusCode": "403", + "description": "Either primes on documents are not activated on your account or you don't have the required privileges" + }, + { + "statusCode": "404", + "description": "Requested prime was not applied on the document" + } + ] + }, + { + "url": "/credit-notes/{creditNoteId}/primes/{primeId}", + "method": "linkPrimeToCreditNote", + "httpMethod": "post", + "tag": "Credit Notes", + "typeScriptTag": "creditNotes", + "description": "Link prime to credit note", + "parameters": [ + { + "name": "quantity", + "schema": "integer", + "required": true, + "description": "", + "example": 12 + }, + { + "name": "amount", + "schema": "string", + "required": false, + "description": "", + "example": "12.34" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "Prime linked" + }, + { + "statusCode": "403", + "description": "Either primes on documents are not activated on your account or you don't have the required privileges" + } + ] + }, + { + "url": "/credit-notes/{creditNoteId}/discount-incl-taxes/{discountId}", + "method": "unlinkDiscountInclTaxes", + "httpMethod": "delete", + "tag": "Credit Notes", + "typeScriptTag": "creditNotes", + "description": "Unlink a discount including taxes from a credit note", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Discount unlinked" + }, + { + "statusCode": "403", + "description": "Either discounts on documents are not activated on your account or you don't have the required privileges" + }, + { + "statusCode": "404", + "description": "Requested discount was not applied on the document" + } + ] + }, + { + "url": "/credit-notes/{creditNoteId}/discount-incl-taxes/{discountId}", + "method": "linkDiscountToCreditNote", + "httpMethod": "post", + "tag": "Credit Notes", + "typeScriptTag": "creditNotes", + "description": "Link discount including taxes to credit note", + "parameters": [ + { + "name": "quantity", + "schema": "integer", + "required": true, + "description": "", + "example": 12 + }, + { + "name": "amount", + "schema": "string", + "required": false, + "description": "", + "example": "12.34" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "Discount linked" + }, + { + "statusCode": "403", + "description": "Either discounts on documents are not activated on your account or you don't have the required privileges" + } + ] + }, + { + "url": "/payments/{id}", + "method": "deletePayment", + "httpMethod": "delete", + "tag": "Payments", + "typeScriptTag": "payments", + "description": "Delete payment", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Payment deleted" + } + ] + }, + { + "url": "/payments/{id}", + "method": "getPaymentById", + "httpMethod": "get", + "tag": "Payments", + "typeScriptTag": "payments", + "description": "Get a payment", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/payments", + "method": "getList", + "httpMethod": "get", + "tag": "Payments", + "typeScriptTag": "payments", + "description": "Get payments", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "embed", + "schema": "array", + "description": "Optional objects added through the embed parameter" + }, + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "paid_date" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/payments/search", + "method": "searchPayments", + "httpMethod": "post", + "tag": "Payments", + "typeScriptTag": "payments", + "description": "Search payments", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "embed", + "schema": "array", + "description": "Optional objects added through the embed parameter" + }, + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "paid_date" + }, + { + "name": "filters", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/settings/email", + "method": "getSettings", + "httpMethod": "get", + "tag": "Emails", + "typeScriptTag": "emails", + "description": "Get email settings", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/settings/email", + "method": "updateSettings", + "httpMethod": "put", + "tag": "Emails", + "typeScriptTag": "emails", + "description": "Update email settings", + "parameters": [ + { + "name": "signature", + "schema": "undefined", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/settings/email/tags", + "method": "getAvailableTagsForSettings", + "httpMethod": "get", + "tag": "Emails", + "typeScriptTag": "emails", + "description": "Get available tags for email signature settings", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "List of available email tags to insert in email signature content" + } + ] + }, + { + "url": "/fiscal-years", + "method": "getList", + "httpMethod": "get", + "tag": "Fiscal Year", + "typeScriptTag": "fiscalYear", + "description": "Get fiscal years", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/languages", + "method": "getAccountLanguages", + "httpMethod": "get", + "tag": "Language", + "typeScriptTag": "language", + "description": "Get the account languages", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/directories", + "method": "createDirectory", + "httpMethod": "post", + "tag": "Files", + "typeScriptTag": "files", + "description": "Create directory", + "parameters": [], + "responses": [ + { + "statusCode": "201", + "description": "Directory schema" + }, + { + "statusCode": "404", + "description": "Parent not found" + }, + { + "statusCode": "409", + "description": "Directory already exists" + } + ] + }, + { + "url": "/directories/{id}", + "method": "deleteDirectoryAndItems", + "httpMethod": "delete", + "tag": "Files", + "typeScriptTag": "files", + "description": "Delete the directory and all items attached", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Directory deleted" + }, + { + "statusCode": "403", + "description": "Cannot delete this directory" + } + ] + }, + { + "url": "/directories/{id}", + "method": "getDirectory", + "httpMethod": "get", + "tag": "Files", + "typeScriptTag": "files", + "description": "Get directory", + "parameters": [ + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Directory schema" + } + ] + }, + { + "url": "/directories/{id}", + "method": "updateDirectory", + "httpMethod": "put", + "tag": "Files", + "typeScriptTag": "files", + "description": "Update directory", + "parameters": [ + { + "name": "description", + "schema": "string", + "description": "" + }, + { + "name": "name", + "schema": "string", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Directory schema" + }, + { + "statusCode": "403", + "description": "Cannot modify this directory" + }, + { + "statusCode": "409", + "description": "Directory already exists" + } + ] + }, + { + "url": "/directories/{id}/files", + "method": "listDirectoryContents", + "httpMethod": "get", + "tag": "Files", + "typeScriptTag": "files", + "description": "List directories and files in a directory", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/directories/{id}/files", + "method": "attachToDirectory", + "httpMethod": "post", + "tag": "Files", + "typeScriptTag": "files", + "description": "Attach file to a directory", + "parameters": [ + { + "name": "file", + "schema": "string", + "required": true, + "description": "", + "example": "FILE" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "File uploaded" + } + ] + }, + { + "url": "/subscriptions", + "method": "getList", + "httpMethod": "get", + "tag": "Subscriptions", + "typeScriptTag": "subscriptions", + "description": "Fetch list of subscriptions", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/subscriptions", + "method": "createNewSubscription", + "httpMethod": "post", + "tag": "Subscriptions", + "typeScriptTag": "subscriptions", + "description": "Create a subscription", + "parameters": [ + { + "name": "model", + "schema": "object", + "required": true, + "description": "" + }, + { + "name": "related", + "schema": "array", + "required": true, + "description": "" + }, + { + "name": "sending", + "schema": "object", + "required": true, + "description": "" + }, + { + "name": "preferences_source", + "schema": "string", + "required": true, + "description": "", + "example": "PREFERENCES_SOURCE" + }, + { + "name": "conditions", + "schema": "object", + "required": true, + "description": "" + }, + { + "name": "payment_installments", + "schema": "array", + "required": true, + "description": "" + }, + { + "name": "billing_address", + "schema": "integer", + "required": false, + "description": "", + "example": 69 + }, + { + "name": "shipping_address", + "schema": "integer", + "required": false, + "description": "", + "example": 67 + }, + { + "name": "order_reference", + "schema": "string", + "required": false, + "description": "", + "example": "reference" + }, + { + "name": "has_updated_catalog_prices", + "schema": "boolean", + "required": false, + "description": "", + "default": false + }, + { + "name": "has_catalog_promotions", + "schema": "boolean", + "required": false, + "description": "", + "default": false + }, + { + "name": "has_display_of_next_deadline", + "schema": "boolean", + "required": false, + "description": "", + "default": false + }, + { + "name": "has_service_dates", + "schema": "boolean", + "required": false, + "description": "", + "default": false + }, + { + "name": "service_dates", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "has_impact_on_stock", + "schema": "boolean", + "required": false, + "description": "", + "example": true, + "default": false + }, + { + "name": "warehouse_id", + "schema": "integer", + "required": false, + "description": "" + }, + { + "name": "payment_settings", + "schema": "object", + "required": false, + "description": "" + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/subscriptions/search", + "method": "searchSubscriptions", + "httpMethod": "post", + "tag": "Subscriptions", + "typeScriptTag": "subscriptions", + "description": "Search subscriptions", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "filters", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/subscriptions/{id}", + "method": "deleteSubscription", + "httpMethod": "delete", + "tag": "Subscriptions", + "typeScriptTag": "subscriptions", + "description": "Delete a subscription", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Subscription deleted" + } + ] + }, + { + "url": "/subscriptions/{id}", + "method": "getSubscriptionById", + "httpMethod": "get", + "tag": "Subscriptions", + "typeScriptTag": "subscriptions", + "description": "Get subscription", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/subscriptions/{id}/payment-installments", + "method": "addPaymentInstallment", + "httpMethod": "patch", + "tag": "Subscriptions", + "typeScriptTag": "subscriptions", + "description": "Add payment installment for a subscription", + "parameters": [ + { + "name": "count", + "schema": "integer", + "required": true, + "description": "", + "example": 2 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "Payment installment added for subscription" + }, + { + "statusCode": "422", + "description": "It is not allowed to add payment installment if the next calculated date for the 1st payment installment is not in the future. The subscription is considered completed." + } + ] + }, + { + "url": "/subscriptions/payment-installments", + "method": "getPaymentInstallments", + "httpMethod": "get", + "tag": "Subscriptions", + "typeScriptTag": "subscriptions", + "description": "Get all payment installments of subscriptions", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/subscriptions/payment-installments/search", + "method": "searchPaymentInstallments", + "httpMethod": "post", + "tag": "Subscriptions", + "typeScriptTag": "subscriptions", + "description": "Search payment installments of subscriptions", + "parameters": [ + { + "name": "order", + "schema": "string", + "description": "The order field", + "example": "id" + }, + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "filters", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/documents/models", + "method": "list", + "httpMethod": "get", + "tag": "Document Models", + "typeScriptTag": "documentModels", + "description": "List document models", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/documents/models", + "method": "createModel", + "httpMethod": "post", + "tag": "Document Models", + "typeScriptTag": "documentModels", + "description": "Create a document model", + "parameters": [ + { + "name": "number", + "schema": "string", + "required": true, + "description": "", + "example": "model#1" + }, + { + "name": "created", + "schema": "string", + "required": false, + "description": "", + "example": "2018-02-21T12:00:00Z" + }, + { + "name": "subject", + "schema": "string", + "required": false, + "description": "", + "example": "Subject" + }, + { + "name": "currency", + "schema": "string", + "required": false, + "description": "", + "example": "EUR" + }, + { + "name": "discount", + "schema": "object", + "required": false, + "description": "" + }, + { + "name": "owner_id", + "schema": "integer", + "required": false, + "description": "", + "example": 145 + }, + { + "name": "rows", + "schema": "array", + "required": false, + "description": "" + }, + { + "name": "rate_category_id", + "schema": "integer", + "required": true, + "description": "", + "example": 777 + } + ], + "responses": [ + { + "statusCode": "201", + "description": "" + } + ] + }, + { + "url": "/documents/models/{id}", + "method": "getById", + "httpMethod": "get", + "tag": "Document Models", + "typeScriptTag": "documentModels", + "description": "Get document model", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/documents/models/{id}", + "method": "updateModel", + "httpMethod": "put", + "tag": "Document Models", + "typeScriptTag": "documentModels", + "description": "Update document model", + "parameters": [ + { + "name": "number", + "schema": "string", + "description": "", + "example": "model#1" + }, + { + "name": "subject", + "schema": "string", + "description": "", + "example": "Subject" + }, + { + "name": "currency", + "schema": "string", + "description": "", + "example": "EUR" + }, + { + "name": "discount", + "schema": "object", + "description": "" + }, + { + "name": "owner_id", + "schema": "integer", + "description": "", + "example": 145 + }, + { + "name": "rows", + "schema": "array", + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/documents/models/search", + "method": "searchModels", + "httpMethod": "post", + "tag": "Document Models", + "typeScriptTag": "documentModels", + "description": "Search document models", + "parameters": [ + { + "name": "direction", + "schema": "string", + "description": "The order direction", + "default": "asc" + }, + { + "name": "limit", + "schema": "integer", + "description": "The pagination limit", + "default": 25 + }, + { + "name": "offset", + "schema": "undefined", + "description": "The pagination offset" + }, + { + "name": "field", + "schema": "array", + "description": "Filters the fields returned in the response

Example:
- `field[]=id`: Return the `id` field
- `field[]=address.id`: Return the `id` field of the `address` object
- `field[]=addresses[].id`: Return the `id` field of the `address` objects

On endpoints that implement the `embed` query parameter, if you specified embeds in your call, you will need to request the `_embed` field as well.
Example:
- `field[]=_embed`: Return all fields from all requested embeds
- `field[]=_embed.address`: Return all fields from the `address` embed
- `field[]=_embed.company.name`: Return the `name` field from the `company` embed
\n" + }, + { + "name": "order", + "schema": "string", + "description": "Order field", + "example": "id" + }, + { + "name": "filters", + "schema": "object", + "required": true, + "description": "" + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/documents/models/{id}/convert", + "method": "convertDocumentModel", + "httpMethod": "post", + "tag": "Document Models", + "typeScriptTag": "documentModels", + "description": "Convert a document model into a document", + "parameters": [ + { + "name": "doctype", + "schema": "string", + "required": true, + "description": "", + "example": "invoice" + }, + { + "name": "related", + "schema": "array", + "required": true, + "description": "" + }, + { + "name": "refresh_rows_content", + "schema": "boolean", + "required": true, + "description": "", + "example": true + } + ], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/documents/models/tags", + "method": "getAvailableTags", + "httpMethod": "get", + "tag": "Document Models", + "typeScriptTag": "documentModels", + "description": "Get available tags for document models", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "List of available tags to insert in document models content" + } + ] + }, + { + "url": "/primes", + "method": "getPrimesList", + "httpMethod": "get", + "tag": "Discount Including Taxes", + "typeScriptTag": "discountIncludingTaxes", + "description": "Get list of primes", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + } + ] + }, + { + "url": "/discount-incl-taxes", + "method": "list", + "httpMethod": "get", + "tag": "Discount Including Taxes", + "typeScriptTag": "discountIncludingTaxes", + "description": "Get list of discounts including taxes", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "" + }, + { + "statusCode": "403", + "description": "Either discounts on documents are not activated on your account or you don't have the required privileges" + } + ] + }, + { + "url": "/discount-incl-taxes", + "method": "createDiscount", + "httpMethod": "post", + "tag": "Discount Including Taxes", + "typeScriptTag": "discountIncludingTaxes", + "description": "Create a discount including taxes", + "parameters": [ + { + "name": "description", + "schema": "string", + "required": true, + "description": "", + "example": "For purchases made during the last five days of October" + }, + { + "name": "reference", + "schema": "string", + "required": true, + "description": "", + "example": "Halloween five last day" + }, + { + "name": "name", + "schema": "string", + "required": true, + "description": "", + "example": "Halloween promotion" + }, + { + "name": "unit_id", + "schema": "integer", + "required": true, + "description": "", + "example": 31 + }, + { + "name": "amount", + "schema": "string", + "required": true, + "description": "", + "example": 31 + }, + { + "name": "accounting_code_id", + "schema": "integer", + "required": false, + "description": "", + "example": 31 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Discount including taxes" + }, + { + "statusCode": "403", + "description": "Either discounts on documents are not activated on your account or you don't have the required privileges" + } + ] + }, + { + "url": "/discount-incl-taxes/{id}", + "method": "delete", + "httpMethod": "delete", + "tag": "Discount Including Taxes", + "typeScriptTag": "discountIncludingTaxes", + "description": "Delete a discount including taxes", + "parameters": [], + "responses": [ + { + "statusCode": "204", + "description": "Discount deleted" + }, + { + "statusCode": "403", + "description": "Either discounts on documents are not activated on your account or you don't have the required privileges" + } + ] + }, + { + "url": "/discount-incl-taxes/{id}", + "method": "getById", + "httpMethod": "get", + "tag": "Discount Including Taxes", + "typeScriptTag": "discountIncludingTaxes", + "description": "Get a discount including taxes", + "parameters": [], + "responses": [ + { + "statusCode": "200", + "description": "Discount including taxes" + }, + { + "statusCode": "403", + "description": "Either discounts on documents are not activated on your account or you don't have the required privileges" + } + ] + }, + { + "url": "/discount-incl-taxes/{id}", + "method": "updateWithId", + "httpMethod": "put", + "tag": "Discount Including Taxes", + "typeScriptTag": "discountIncludingTaxes", + "description": "Update a discount including taxes", + "parameters": [ + { + "name": "description", + "schema": "string", + "description": "", + "example": "For purchases made during the last five days of October" + }, + { + "name": "reference", + "schema": "string", + "description": "", + "example": "Halloween five last day" + }, + { + "name": "name", + "schema": "string", + "description": "", + "example": "Halloween promotion" + }, + { + "name": "unit_id", + "schema": "integer", + "description": "", + "example": 31 + }, + { + "name": "amount", + "schema": "string", + "description": "", + "example": 31 + }, + { + "name": "accounting_code_id", + "schema": "integer", + "description": "", + "example": 31 + } + ], + "responses": [ + { + "statusCode": "200", + "description": "Discount including taxes" + }, + { + "statusCode": "403", + "description": "Either discounts on documents are not activated on your account or you don't have the required privileges" + } + ] + } + ], + "repositoryDescription": "Sellsy is a French CRM, invoicing, and pre-accounting suite for business management. With 6,300 clients, Sellsy offers innovative digital solutions for marketing, sales, and administrative teams to enhance customer experience. Sellsy's {language} SDK generated by Konfig (https://konfigthis.com/).", + "logo": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/sellsy/logo.png", + "openApiRaw": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/sellsy/openapi.yaml", + "openApiGitHubUi": "https://github.com/konfig-sdks/openapi-examples/tree/HEAD/sellsy/openapi.yaml", + "previewLinkImage": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/sellsy/imagePreview.jpg", + "faviconUrl": "https://raw.githubusercontent.com/konfig-sdks/openapi-examples/HEAD/sellsy/favicon.png", + "clientNameCamelCase": "sellsy", + "lastUpdated": "2024-03-29T23:14:01.231Z", + "typescriptSdkUsageCode": "import { Sellsy } from 'sellsy-typescript-sdk';\n\nconst sellsy = new Sellsy({\n /*\n * ### Client OAuth\n * You can generate a new OAuth 2 client for the V2 API, from the developer page of your Sellsy account (https://www.sellsy.fr/developer/api-v2).\n * \n * Several types of clients are available:\n * \n * - **Private:** API access limited to staffs of your SELLSY account.\n * A flow by authorization code will be required\n * - **Personal**: API access linked to an staff.\n * The use of client credentials flow is possible.\n * - **Public**: API access to connect to all SELLSY accounts.\n * A validation of SELLSY and a flow by authorization code will be required.\n * \n * ### Authorization Code Flow\n * See https://www.oauth.com/oauth2-servers/server-side-apps/authorization-code/\n * \n * **PKCE** is required when using the authorization code flow. https://www.oauth.com/oauth2-servers/pkce/\n * \n * - **Authorization URL:** https://login.sellsy.com/oauth2/authorization\n * - **Token URL:** https://login.sellsy.com/oauth2/access-tokens\n * - **Refresh URL:** https://login.sellsy.com/oauth2/access-tokens\n * \n * \n * #### Example:\n * Call `https://login.sellsy.com/oauth2/authorization?response_type=code&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&code_challenge=YOUR_PKCE_CODE_CHALENGE&code_challenge_method=S256`\n * \n * After authentication, a redirection will be performed on the redirection uri. The authaurization code will be retrieved in the query parameter `code` .\n * \n * This code can now be exchanged for an access token:\n * ```bash\n * curl -X POST \\\n * https://login.sellsy.com/oauth2/access-tokens \\\n * -d '{\n * \t\"grant_type\": \"authorization_code\",\n * \t\"client_id\": \"YOUR_CLIENT_ID\",\n * \t\"redirect_uri\": \"YOUR_REDIRECT_URI\",\n * \t\"code_verifier\": \"YOUR_PKCE_CODE_VERIFIER\",\n * \t\"code\": \"THE_CODE\"\n * }'\n * # Response\n * {\n * \"token_type\": \"Bearer\",\n * \"expires_in\": 3600,\n * \"access_token\": \"YOUR_ACCESS_TOKEN\",\n * \"refresh_token\": \"YOUR_REFRESH_TOKEN\"\n * }\n * # Use API\n * curl -X GET \\\n * 'https://api.sellsy.com/v2/teams' \\\n * --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'\n * ```\n * \n * You can request a new access token, from the refresh token previously retrieved:\n * ```bash\n * curl -X POST \\\n * https://login.sellsy.com/oauth2/access-tokens \\\n * -d '{\n * \t\"grant_type\": \"refresh_token\",\n * \t\"client_id\": \"YOUR_CLIENT_ID\",\n * \t\"client_secret\": \"YOUR_CLIENT_SECRET\"\n * \t\"refresh_token\": \"YOUR_REFRESH_TOKEN\"\n * }'\n * # Response\n * {\n * \"token_type\": \"Bearer\",\n * \"expires_in\": 3600,\n * \"access_token\": \"YOUR_NEW_ACCESS_TOKEN\",\n * \"refresh_token\": \"YOUR_NEW_REFRESH_TOKEN\"\n * }\n * ```\n * \n * ### Client Credential Flow\n * See https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/\n * \n * Only personal clients can use this authentication flow.\n * \n * **Token URL:** https://login.sellsy.com/oauth2/access-tokens\n * \n * #### Example:\n * ```bash\n * curl -X POST \\\n * https://login.sellsy.com/oauth2/access-tokens \\\n * -d '{\n * \t\"grant_type\": \"client_credentials\",\n * \t\"client_id\": \"YOUR_CLIENT_ID\",\n * \t\"client_secret\": \"YOUR_CLIENT_SECRET\"\n * }'\n * # Response\n * {\n * \"token_type\": \"Bearer\",\n * \"expires_in\": 3600,\n * \"access_token\": \"YOUR_ACCESS_TOKEN\"\n * }\n * # Use API\n * curl -X GET \\\n * 'https://api.sellsy.com/v2/teams' \\\n * --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'\n * ```\n * ### Tokens expiration\n * - **Authorization Code:** 10 min\n * - **Access Token:** 24 hours\n * - **Refresh Token:** 60 days\n */\n clientId: \"CLIENT_ID\",\n clientSecret: \"CLIENT_SECRET\"\n})", + "typescriptSdkFirstRequestCode": "// Comments List\nconst getListResponse = sellsy.comments.getList({\n direction: \"asc\"\n limit: 25\n order: \"id\"\n})", + "fixedSpecFileName": "sellsy-fixed-spec.yaml" +} \ No newline at end of file diff --git a/sdks/db/spec-data/fisheye.local_1.0.0.json b/sdks/db/spec-data/fisheye.local_1.0.0.json index 93c18f8ef..3b73a8ef7 100644 --- a/sdks/db/spec-data/fisheye.local_1.0.0.json +++ b/sdks/db/spec-data/fisheye.local_1.0.0.json @@ -15,5 +15,5 @@ "schemas": 0, "parameters": 28, "difficultyScore": 39, - "difficulty": "Easy" + "difficulty": "Very Easy" } \ No newline at end of file diff --git a/sdks/db/spec-data/from-custom-request_30k.com_Milefy.json b/sdks/db/spec-data/from-custom-request_30k.com_Milefy.json index 6df3180d2..2df7b2043 100644 --- a/sdks/db/spec-data/from-custom-request_30k.com_Milefy.json +++ b/sdks/db/spec-data/from-custom-request_30k.com_Milefy.json @@ -23,5 +23,5 @@ }, "customRequestSpecFilename": "30k.com_Milefy.yaml", "difficultyScore": 39, - "difficulty": "Easy" + "difficulty": "Very Easy" } \ No newline at end of file diff --git a/sdks/db/spec-data/from-custom-request_relysia.com.json b/sdks/db/spec-data/from-custom-request_relysia.com.json new file mode 100644 index 000000000..7a7ff8926 --- /dev/null +++ b/sdks/db/spec-data/from-custom-request_relysia.com.json @@ -0,0 +1,29 @@ +{ + "securitySchemes": { + "authToken": { + "type": "apiKey", + "in": "header", + "name": "authToken" + }, + "serviceID": { + "type": "apiKey", + "in": "header", + "name": "serviceID" + } + }, + "apiBaseUrl": "https://api.relysia.com", + "apiVersion": "2.4.8", + "apiDescription": "Relysia makes blockchain adoption frictionless and easy.", + "apiTitle": "Relysia Blockchain API", + "endpoints": 78, + "sdkMethods": 85, + "schemas": 0, + "parameters": 252, + "originalCustomRequest": { + "type": "GET", + "url": "https://api.relysia.com/docs/json" + }, + "customRequestSpecFilename": "relysia.com.yaml", + "difficultyScore": 148, + "difficulty": "Medium" +} \ No newline at end of file diff --git a/sdks/db/spec-data/from-custom-request_rivery.io.json b/sdks/db/spec-data/from-custom-request_rivery.io.json new file mode 100644 index 000000000..109b9a21e --- /dev/null +++ b/sdks/db/spec-data/from-custom-request_rivery.io.json @@ -0,0 +1,25 @@ +{ + "securitySchemes": { + "HTTPBearer": { + "type": "http", + "scheme": "bearer" + } + }, + "apiBaseUrl": "https://api.rivery.io", + "apiVersion": "1.0.0", + "apiDescription": "\n# Rivery API documentation\n\nWelcome to the Rivery API Documentation. \n\nUsing the Rivery API, you can automate any single or group operations you perform in the Rivery console. \nYou can create, execute, and delete Rivers, create DataFrames, automate processes, and more.\nThe Rivery API is structured around REST. It accepts JSON request bodies, returns JSON responses,\nand employs conventional HTTP response codes, authentication, and verbs to access and use data through HTTP requests. \n\nConsult our [Legacy API](https://api-docs.rivery.io/) documentation. \n\nPlease [contact our Support team]( mailto:) if you have any questions or concerns.\n\n# Authorization\n## Rivery API Token\nTo generate a Bearer token, please check out [Rivery's docs](https://docs.rivery.io/docs/rivery-api).\n\nEvery bearer token is a combination of account, environment, and scopes attached. Every time the token is provided,\nthe API compares its scopes with the request required scope.\nIf the scope is not valid, an insufficient permissions (403) response code returned.\n\n## Scopes\nA scope is defined as a combination of the entity in Rivery, and the operation allowed to perform on the entity.\n\nThe entity can be any entity available via the API, for example - connection.\nAn operation can be one of specific operations allowed for each scope. For example: list or edit.\nTherefore, listing connections scope will be set as `connection:list`.\nPlease make sure the Bearer token is has the right scopes attached for all of the needed requests.\n", + "apiTitle": "Rivery API", + "endpoints": 42, + "sdkMethods": 57, + "schemas": 203, + "parameters": 289, + "contactUrl": "https://docs.rivery.io/", + "contactEmail": "contact@rivery.io", + "originalCustomRequest": { + "type": "GET", + "url": "https://api.rivery.io/openapi.json" + }, + "customRequestSpecFilename": "rivery.io.yaml", + "difficultyScore": 230.75, + "difficulty": "Hard" +} \ No newline at end of file diff --git a/sdks/db/spec-data/from-custom-request_secoda.co.json b/sdks/db/spec-data/from-custom-request_secoda.co.json new file mode 100644 index 000000000..ed1a91371 --- /dev/null +++ b/sdks/db/spec-data/from-custom-request_secoda.co.json @@ -0,0 +1,24 @@ +{ + "securitySchemes": { + "ApiKeyAuth": { + "type": "http", + "scheme": "bearer", + "bearerFormat": "string" + } + }, + "apiBaseUrl": "https://api.secoda.co", + "apiVersion": "1.0.0", + "apiDescription": "Use this API to programmatically use Secoda's data enablement features. With these APIs, you can bring in resource metadata, build documentation pipelines, and manage workspace settings programmatically.\n\nTo learn more about Secoda, visit the [Secoda documentation](https://docs.secoda.co/).\n\nTo get in touch with Secoda, contact customer support at support@secoda.co.\n\n## Getting Started\n\n### Authentication\n\nSecoda API's require an Authorization header with a Bearer token. You can generate an API key in your workspace, as outlined [here](https://docs.secoda.co/secoda-api/authentication).\n\n### Base URL\n\nTo determine the base URL of your API requests, please refer to the chart below.\n\n| Workspace URL | Base URL |\n| ---------------------- | ---------------------- |\n| app.secoda.co | api.secoda.co |\n| eu.secoda.co | eapi.secoda.co |\n| apac.secoda.co | aapi.secoda.co |\n\nFor teams with an On Premise or Managed instance with a custom domain, the Base URL is the custom domain followed by `/api/v1`.\n\n## Helpful Information\n\nSecoda’s APIs generally follow the CRUD pattern (Create, Read, Update, Delete). The data elements that are managed with these APIs are called Resources. Generally, each resource maps to an integration, with many set and customizable properties called Metadata.\n\n### Important Terminology\n\n**Workspace:**\nIn Secoda, a workspace is the environment within the application where teams can integrate resources and metadata and add documentation, either through the UI or programatically through the API.\n\n**Resource:**\nIn Secoda, a resource is any entity that metadata can be added to. This includes, but is not limited to, tables, dashboards, charts, columns, queries, documents, dictionary terms, and more.\n\n**Metadata:**\nIn Secoda, metadata is the additional information you can provide to add context to your resources. This includes descriptions, definitions, owners, custom properties, and more. Metadata is the lifeblood of Secoda; the more you put in, the more you'll get out of the tool!\n\n### Resource Heirarchy\n\nNearly all resources in Secoda can be nested under a parent. A resource has a one to many relationship with its child. This means thats a parent resource can have several children, but a child resource can only have one parent.\n\nFor Collections, Dictionary Terms, and Documents, the parent must be the same resource type. However, there are two unique heirarchy structures that the application expects when adding net new resources.\n\n**Table Heirarchy:** Integration > Databases > Schemas > Tables > Columns > Columns (if nested)\n\n**Dashboard Heirarchy:** Integration > Groups > Dashboards > Charts\n", + "apiTitle": "Secoda API", + "endpoints": 51, + "sdkMethods": 105, + "schemas": 26, + "parameters": 289, + "originalCustomRequest": { + "type": "GET", + "url": "https://api.secoda.co/api/schema/" + }, + "customRequestSpecFilename": "secoda.co.yaml", + "difficultyScore": 190.25, + "difficulty": "Medium" +} \ No newline at end of file diff --git a/sdks/db/spec-data/from-custom-request_sellsy.com.json b/sdks/db/spec-data/from-custom-request_sellsy.com.json new file mode 100644 index 000000000..8c80ffa5d --- /dev/null +++ b/sdks/db/spec-data/from-custom-request_sellsy.com.json @@ -0,0 +1,117 @@ +{ + "securitySchemes": { + "oauth2": { + "type": "oauth2", + "flows": { + "authorizationCode": { + "authorizationUrl": "https://login.sellsy.com/oauth2/authorization", + "tokenUrl": "https://login.sellsy.com/oauth2/access-tokens", + "refreshUrl": "https://login.sellsy.com/oauth2/access-tokens", + "scopes": { + "comments.read": "Grand read access to comments", + "comments.write": "Grand write access to comments", + "contacts.read": "Grants read access to contacts", + "contacts.write": "Grants read access to contacts", + "individuals.read": "Grants read access to individuals", + "companies.read": "Grants read access to companies", + "companies.write": "Grants write access to companies", + "estimates.read": "Grants read access to estimates", + "estimates.write": "Grants write access to estimates", + "activities.write": "Grants write access to activities", + "activities.read": "Grants read access to activities", + "listings.read": "Grants read access to listings", + "listings.write": "Grants write access to listings", + "custom-fields.read": "Grand read access to custom fields", + "custom-fields.write": "Grand write access to custom fields", + "smart-tags.read": "Grand read access to smart tags", + "smart-tags.write": "Grand write access to smart tags", + "custom-activities.read": "Grand read access to custom activities", + "custom-activities.write": "Grand write access to custom activities", + "scopes.read": "Grants read access to scopes", + "access-tokens.read": "Grants read access to access tokens", + "access-tokens.write": "Grants write access to access tokens", + "clients.read": "Grants read access to OAuth clients", + "clients.write": "Grants write access to OAuth clients", + "accounting-codes.read": "Grant read access to accounting codes", + "accounting-codes.write": "Grant write access to accounting codes", + "taxes.read": "Grant read access to taxes", + "taxes.write": "Grant write access to taxes", + "ocr.read": "Grant read access to ocr", + "individuals.write": "Grants write access to individuals", + "accounts.read": "Grant read access to accounts", + "accounts.write": "Grant write access to accounts", + "opportunities.read": "Grand read access to opportunities", + "opportunities.write": "Grant write access to opportunities", + "orders.read": "Grand read access to orders", + "orders.write": "Grand write access to orders", + "tasks.read": "Grant read access to tasks", + "tasks.write": "Grant write access to tasks", + "staffs.read": "Grand read access to staffs", + "staffs.write": "Grant write access to staffs", + "search.read": "Grant access to search", + "phonecalls.read": "Grand read access to phonecall", + "phonecalls.write": "Grand write access to phonecall", + "calendars.read": "Grant read access to calendar", + "calendars.write": "Grant write access to calendar", + "emails.read": "Grant read access to email", + "emails.write": "Grant write access to email", + "emails.settings": "Grant access to email settings", + "webhooks.read": "Grants read access to webhooks", + "webhooks.write": "Grants write access to webhooks", + "payments.read": "Grand read access to payments", + "payments.write": "Grand write access to payments", + "items.read": "Grand read acces to items", + "items.write": "Grand write acces to items", + "invoicing.read": "Grant read access to invoicing", + "notifications.read": "Grant read access to notifications", + "notifications.write": "Grant write access to notifications", + "accounting-entry.read": "Grant read access to accounting entries", + "accounting-entry.write": "Grant write access to accounting entries", + "invoices.read": "Grant read access to invoices", + "invoices.write": "Grant write access to invoices", + "api-v1": "Grant full access to API v1 with API v2 access tokens. Caution, this scope gives access to all sellsy functionality", + "credit-notes.read": "Grant read access to credit-notes", + "credit-notes.write": "Grant write access to credit-notes", + "document-layouts.read": "Grant read access to document layouts", + "rate-categories.read": "Grant read access to rate categories", + "rate-categories.write": "Grant write access to rate categories", + "files.write": "Grants write access to files", + "files.read": "Grants read access to files", + "adyen.read": "Grant read access to adyen", + "adyen.write": "Grant write access to adyen", + "subscriptions.write": "Grant write access to subscription", + "subscriptions.read": "Grant read access to subscription", + "models.write": "Grant write access to models", + "models.read": "Grant read access to models", + "objectives.read": "Grant read access to objectives", + "objectives.write": "Grant write access to objectives", + "primes.read": "Grant read access to primes", + "discount-incl-taxes.read": "Grant read access to discount including taxes", + "discount-incl-taxes.write": "Grant write access to discount including taxes" + } + }, + "clientCredentials": { + "tokenUrl": "https://login.sellsy.com/oauth2/access-tokens", + "scopes": {} + } + }, + "description": "### Client OAuth\nYou can generate a new OAuth 2 client for the V2 API, from the developer page of your Sellsy account (https://www.sellsy.fr/developer/api-v2).\n\nSeveral types of clients are available:\n\n- **Private:** API access limited to staffs of your SELLSY account.\n A flow by authorization code will be required\n- **Personal**: API access linked to an staff.\n The use of client credentials flow is possible.\n- **Public**: API access to connect to all SELLSY accounts.\n A validation of SELLSY and a flow by authorization code will be required.\n\n### Authorization Code Flow\nSee https://www.oauth.com/oauth2-servers/server-side-apps/authorization-code/\n\n**PKCE** is required when using the authorization code flow. https://www.oauth.com/oauth2-servers/pkce/\n\n- **Authorization URL:** https://login.sellsy.com/oauth2/authorization\n- **Token URL:** https://login.sellsy.com/oauth2/access-tokens\n- **Refresh URL:** https://login.sellsy.com/oauth2/access-tokens\n\n\n#### Example:\nCall `https://login.sellsy.com/oauth2/authorization?response_type=code&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&code_challenge=YOUR_PKCE_CODE_CHALENGE&code_challenge_method=S256`\n\nAfter authentication, a redirection will be performed on the redirection uri. The authaurization code will be retrieved in the query parameter `code` .\n\nThis code can now be exchanged for an access token:\n```bash\ncurl -X POST \\\n https://login.sellsy.com/oauth2/access-tokens \\\n -d '{\n\t\"grant_type\": \"authorization_code\",\n\t\"client_id\": \"YOUR_CLIENT_ID\",\n\t\"redirect_uri\": \"YOUR_REDIRECT_URI\",\n\t\"code_verifier\": \"YOUR_PKCE_CODE_VERIFIER\",\n\t\"code\": \"THE_CODE\"\n}'\n# Response\n{\n \"token_type\": \"Bearer\",\n \"expires_in\": 3600,\n \"access_token\": \"YOUR_ACCESS_TOKEN\",\n \"refresh_token\": \"YOUR_REFRESH_TOKEN\"\n}\n# Use API\ncurl -X GET \\\n 'https://api.sellsy.com/v2/teams' \\\n --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'\n```\n\nYou can request a new access token, from the refresh token previously retrieved:\n```bash\ncurl -X POST \\\n https://login.sellsy.com/oauth2/access-tokens \\\n -d '{\n\t\"grant_type\": \"refresh_token\",\n\t\"client_id\": \"YOUR_CLIENT_ID\",\n\t\"client_secret\": \"YOUR_CLIENT_SECRET\"\n\t\"refresh_token\": \"YOUR_REFRESH_TOKEN\"\n}'\n# Response\n{\n \"token_type\": \"Bearer\",\n \"expires_in\": 3600,\n \"access_token\": \"YOUR_NEW_ACCESS_TOKEN\",\n \"refresh_token\": \"YOUR_NEW_REFRESH_TOKEN\"\n}\n```\n\n### Client Credential Flow\nSee https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/\n\nOnly personal clients can use this authentication flow.\n\n**Token URL:** https://login.sellsy.com/oauth2/access-tokens\n\n#### Example:\n```bash\ncurl -X POST \\\n https://login.sellsy.com/oauth2/access-tokens \\\n -d '{\n\t\"grant_type\": \"client_credentials\",\n\t\"client_id\": \"YOUR_CLIENT_ID\",\n\t\"client_secret\": \"YOUR_CLIENT_SECRET\"\n}'\n# Response\n{\n \"token_type\": \"Bearer\",\n \"expires_in\": 3600,\n \"access_token\": \"YOUR_ACCESS_TOKEN\"\n}\n# Use API\ncurl -X GET \\\n 'https://api.sellsy.com/v2/teams' \\\n --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'\n```\n### Tokens expiration\n- **Authorization Code:** 10 min\n- **Access Token:** 24 hours\n- **Refresh Token:** 60 days" + } + }, + "apiBaseUrl": "https://api.sellsy.com/v2", + "apiVersion": "2.126.0", + "apiDescription": "Find out the [Postman collections](dist/postman/CollectionsApiV2.json) with the required [environment variables](dist/postman/Environment.json)\n\nFind out the [Changelog](changelog.html)\n# Errors\n\nThe errors are returned in JSON with the following format:\n```\n{\n \"error\": {\n \"code\": HTTP_CODE,\n \"message\": \"Error message\",\n \"context\": \"Error context code\"\n \"details\": {\n \"FIELD\": \"Error message\"\n }\n}\n```\n\nThe `details` field can contain an object that details the error. It is used in particular during validation to return the invalid fields\n\n\n| HTTP Code | Description |\n| ------------- | ------------- |\n| 400 | Validation and logic errors |\n| 401 | Authentification errors |\n| 402 | Quotas limit reached or limit of feature reached on your current plan |\n| 403 | Insufficient privileges |\n| 404 | Page not found |\n| 409 | A request conflicts with the current state of the server |\n| 413 | Payload is too large |\n| 429 | Quotas of requests reached (See quotas section) |\n| 5xx | Server errors |\n\n\n# Versioning\n\nThis API is versioned, the modifications carried out on this one should not generate regression if you respect the following recommendations:\n\n- A new field can be added, your code must authorize this\n- A new error code can be added, your code must deal with unknown errors\n- On lists, values can be added\n- A missing field is not equal to `null`\n\nTo target a specific **major** version of the API, just precise the number in the url: `{url}/v2/{endpoint}`\n\n# Quotas\n\nA limit on the number of requests per second, minute, day and/or month is applied to each user account.\n\nA 429 error will be sent if at least one of the quotas has reached zero.\n\nYou can know your remaining quota through the headers of the response:\n- `X-Quota-Remaining-By-Second`\n- `X-Quota-Remaining-By-Minute`\n- `X-Quota-Remaining-By-Day`\n- `X-Quota-Remaining-By-Month`\n\nThe quotas are counted on each request, even in the event of an error. On the scripts generating a lot of requests, it is therefore necessary to check these values before returning requests.\n\nA new 402 error code has created. This error appears when you try to create ressources like a pipeline or custom fields and the quota limit has been reached.\n\n# Pagination on list and search requests\nOn list and search requests, the pagination offset can be typed as either an int or a string, depending on the pagination method used.\n\nWe provide 2 ways to interact with the pagination.\n### 1. \"Seek\" method\nThe offset value represents the LAST object in the response list, it's the default one used.\n\n**We recommend to use the \"seek\" method, it has better performance and includes optimizations.**\n```\nGET {{url}}/comments?limit=1 {\n \"data\": [\n {\n \"id\": 1\n }\n ],\n \"pagination\": {\n \"limit\": 1,\n \"count\": 1,\n \"total\": 13,\n \"offset\": \"WyIxMSJd\"\n }\n}\n---\nGET {{url}}/comments?limit=1&offset=WyIxMSJd {\n \"data\": [\n {\n \"id\": 2\n }\n ],\n \"pagination\": {\n \"limit\": 1,\n \"count\": 1,\n \"total\": 13,\n \"offset\": \"SoIxNyJd\"\n }\n}\n```\n### 2. Numeric offset method\nThe second method, more classical, where the offset corresponds to the number of the result page, it must be explicitly specified in the first request.\n\n**We have applied a limit to the first 100 000 results on this method, for performance purposes.**\n```\nGET {{url}}/comments?limit=1&offset=0 {\n \"data\": [\n {\n \"id\": 1\n }\n ],\n \"pagination\": {\n \"limit\": 1,\n \"count\": 1,\n \"total\": 13,\n \"offset\": 0\n }\n}\n---\nGET {{url}}/comments?limit=1&offset=1 {\n \"data\": [\n {\n \"id\": 2\n }\n ],\n \"pagination\": {\n \"limit\": 1,\n \"count\": 1,\n \"total\": 13,\n \"offset\": 1\n }\n}\n```\n# Embed objects\nAdditional objects can be included in the result, and are specified on each endpoint under the `embed` parameter. Those objects may require different OAuth2 scopes than the main endpoint, and will automatically be `null` if the scopes are not respected. Usually, the scopes are listed in the description of the parameter.", + "apiTitle": "Sellsy API", + "endpoints": 225, + "sdkMethods": 463, + "schemas": 229, + "parameters": 1038, + "contactEmail": "api@sellsy.com", + "originalCustomRequest": { + "type": "GET", + "url": "https://api.sellsy.com/doc/v2/dist/sellsy.v2.latest.yaml" + }, + "customRequestSpecFilename": "sellsy.com.yaml", + "difficultyScore": 837, + "difficulty": "Very Hard" +} \ No newline at end of file diff --git a/sdks/db/spec-data/gov.bc.ca_bcgnws_3.x.x.json b/sdks/db/spec-data/gov.bc.ca_bcgnws_3.x.x.json index 610871939..705d6d091 100644 --- a/sdks/db/spec-data/gov.bc.ca_bcgnws_3.x.x.json +++ b/sdks/db/spec-data/gov.bc.ca_bcgnws_3.x.x.json @@ -19,5 +19,5 @@ "contactUrl": "https://www2.gov.bc.ca/gov/content?id=A3C60F17CE934B1ABFA366F28C66E370", "contactEmail": "geographical.names@gov.bc.ca", "difficultyScore": 39, - "difficulty": "Easy" + "difficulty": "Very Easy" } \ No newline at end of file diff --git a/sdks/db/spec-data/motaword.com_1.0.json b/sdks/db/spec-data/motaword.com_1.0.json index aab1334cc..843cdeddb 100644 --- a/sdks/db/spec-data/motaword.com_1.0.json +++ b/sdks/db/spec-data/motaword.com_1.0.json @@ -51,5 +51,5 @@ "schemas": 193, "parameters": 704, "difficultyScore": 563.5, - "difficulty": "Very Hard" + "difficulty": "Hard" } \ No newline at end of file diff --git a/sdks/publish.yaml b/sdks/publish.yaml index 1d32b0135..50101f775 100644 --- a/sdks/publish.yaml +++ b/sdks/publish.yaml @@ -8691,27 +8691,27 @@ publish: metaDescription: >- Melodie Music (www.melod.ie) is an Australian company that provides a simple solution for content creators seeking to find and license - high-quality music for their projects. + high-quality music for their projects. With Creator, Pro and Enterprise subscription options, their exclusive and meticulously curated catalogue of original music is accessible through an - online search platform equipped with AI-powered search tools. + online search platform equipped with AI-powered search tools. Founded by composers, musicians and sound designers with first-hand experience of the crucial role music plays in storytelling, Melodie delivers an intuitive, user-friendly music licensing platform that caters to the needs of content creators, while supporting the growth of the music - creators themselves. + creators themselves. - Learn more at www.melod.ie + Learn more at www.melod.ie - 2023 Acquisition International Awarded: *Best Music Platform Australia* + 2023 Acquisition International Awarded: *Best Music Platform Australia* - 2022 Startup City Awarded: *Top 10 Startups in Australia* + 2022 Startup City Awarded: *Top 10 Startups in Australia* 2021 TMN Nominated: "Music Publisher of the Year", "Sync/ Licensing Biz of the Year", "Music Tech Platform of the Year". @@ -8742,7 +8742,7 @@ publish: apiStatusUrls: inherit metaDescription: >- Goody is a new way to send personal and business gifts as easily as a text - message. + message. Our business gifting platform, Goody for Business, powers employee @@ -8790,28 +8790,28 @@ publish: Realcube is the cloud solution for smart and flexible digitilization in real estate management. Our API-first platform is here to revolutionize the real estate industry. It is a one-stop-shop for intelligent solutions - which are adaptive to every client's individual needs. + which are adaptive to every client's individual needs. Realcube's ecosystem offers a growing number of applications from our valuable and industry-leading partners which aggregate the customer's data. It is worth mentioning that we keep our customers' data privacy and - well-being as our top priority. - + well-being as our top priority. + At Realcube, we enable the real estate companies and their contractual partners to consolidate their data in our state-of-the-art platform. This creates a uniform database that gives access to asset managers and other management levels to all relevant information at all times, just a click - away! + away! Have we grabbed your interest in our innovative solution for your real - estate management? + estate management? - Book a free demo today! + Book a free demo today! - For more information feel free to visit our website or contact us at: + For more information feel free to visit our website or contact us at: info@realcube.com categories: @@ -8862,7 +8862,7 @@ publish: processes them for forwarding them to the front office in a homogeneous manner, increasing the efficiency and performance of e-merchants. The end consumer will thus benefit from a smooth shopping experience. - + Connectivity, technical know-how, support, agility and flexibility : these assets allow us to provide you with a real digital toolbox, modular and customizable, dedicated to the sales path, around 4 themes : @@ -8898,7 +8898,7 @@ publish: 🗣 @Bruno Teplier 🗣 @Faisal Nisar - + 📧 sales@gridbees.com categories: - e_commerce @@ -8915,7 +8915,7 @@ publish: metaDescription: >- Nanonets enables self-service artificial intelligence by simplifying adoption. Easily build machine learning models with minimal training data - or knowledge of machine learning. + or knowledge of machine learning. At Nanonets, we serve up the most accurate models. Always. @@ -8927,3 +8927,138 @@ publish: serviceName: false sdkName: nanonets-{language}-sdk clientName: Nanonets + from-custom-request_sellsy.com: + homepage: sellsy.com + company: Sellsy + developerDocumentation: api.sellsy.com/doc/v2/ + apiStatusUrls: inherit + metaDescription: >- + Sellsy is a CRM, invoicing and pre-accounting suite for optimized business + management and customer experience. A collaborative tool to give + marketing, sales and administrative teams the means to be effective! 🚀 + + + With 6,300 clients, Sellsy surrounds itself with almost 130 employees to + carry out its projects. Sellsy remains, above all, a French company + created by two entrepreneurs, Frédéric Coulais and Alain Mevellec, for + entrepreneurs. Since its creation in 2009, Sellsy has placed innovation at + the heart of its strategy, in order to offer companies simple, efficient + and secure digital solutions. + + + 👉 To learn more about Sellsy and its CRM suite, visit go.sellsy.com + categories: + - crm + - invoicing + serviceName: false + sdkName: sellsy-{language}-sdk + clientName: Sellsy + from-custom-request_rivery.io: + homepage: rivery.io + company: Rivery + developerDocumentation: api.rivery.io/documentation + apiStatusUrls: inherit + metaDescription: >- + Whether you're building out your data stack or transitioning to the cloud, + managing your data workflows to analyze your business can be a real + challenge. + + + Developing an in-house solution requires valuable resources and upkeep, + while integrating several tools adds new layers of complexity. + + + Rivery's SaaS platform provides a fully-managed solution for data + ingestion, data transformation, data orchestration, reverse ETL and more, + with built-in support for your data operations development and deployment + lifecycles. + + + Designed to be nimble for non-technical users and with advanced + capabilities for experts, Rivery enables you to manage data workflows as + the foundation of a modern data stack. + + + If you're looking to accelerate your time to value, get in touch today. + categories: + - data_transformation + - data_sync + serviceName: false + sdkName: rivery-{language}-sdk + clientName: Rivery + from-custom-request_secoda.co: + homepage: secoda.co + company: Secoda + developerDocumentation: docs.secoda.co/ + apiStatusUrls: inherit + metaDescription: >- + The all-in-one data management platform. Secoda is the first AI powered + data search, catalog, lineage, and monitoring platform to double your data + team's efficiency. + + + Data teams at companies like Panasonic, Mode, and Vanta use Secoda to + automate data discovery, documentation, and take the grunt-work out of + their day. + + + By automatically ingesting the metadata across all of your data sources, + Secoda makes it easy to make decisions from a single source of truth. + + + Built for users of the modern data stack, Secoda helps data teams take + control of their data sprawl and reliably scale their tech stacks. + + + With Secoda, data teams save time and enable revenue teams with better + data, faster. + categories: + - data_management + serviceName: false + sdkName: secoda-{language}-sdk + clientName: Secoda + from-custom-request_relysia.com: + homepage: relysia.com + company: Relysia + developerDocumentation: api.relysia.com/docs/static/index.html + apiStatusUrls: inherit + metaDescription: >- + Relysia is a blockchain as a service provider for any enterprise and + commercial companies and start-ups who wish to build their own blockchain + applications. + + + You can use our APIs as building blocks to pick and choose how advanced + you want your Bitcoin platform to be. + + + With over 50 blockchain related APIs, you can build any application you + wish. With Relysia API, wallet creation, transactions, data storage, + tokens, NFTs and smart contracts are all easy to implement as they require + less than 10 lines of code. + + + We are simplifying Bitcoin application development. By providing our + scalable and robust infrastructure, we help businesses reduce their time + to market by over 90% allowing them to quickly iterate through ideas and + execution strategies to find their product market fit. + + + You can explore the Relysia API documentation at: + https://docs.relysia.com/. + + We also have a Swagger implementation for demonstration and testing + purposes available at: https://api.relysia.com/docs/. + + + Our services have empowered many entrepreneurs and companies to actualise + their blockchain ideas. Get in touch with us to explore Relysia API in + deeper detail. + + + Relysia by Vaionex Corporation + categories: + - blockchain + serviceName: false + sdkName: relysia-{language}-sdk + clientName: Relysia diff --git a/sdks/src/assign-category-to-api.ts b/sdks/src/assign-category-to-api.ts index 81477230d..dae6f8785 100644 --- a/sdks/src/assign-category-to-api.ts +++ b/sdks/src/assign-category-to-api.ts @@ -61,6 +61,7 @@ export const categoriesToMapTo = { "Online Courses", "Security & Identity Tools", "Server Monitoring", + "ELT (Extract, Load, and Transform)", ], "Lifestyle & Entertainment": [ "Fitness", diff --git a/sdks/src/collect-from-custom-requests.ts b/sdks/src/collect-from-custom-requests.ts index 6a13f104e..9d4319022 100644 --- a/sdks/src/collect-from-custom-requests.ts +++ b/sdks/src/collect-from-custom-requests.ts @@ -2343,6 +2343,22 @@ const customRequests: Record = { url: "https://api.rated.network/openapi.json", apiBaseUrl: "https://api.rated.network", }, + "sellsy.com": { + type: "GET", + url: "https://api.sellsy.com/doc/v2/dist/sellsy.v2.latest.yaml", + }, + "rivery.io": { + type: "GET", + url: "https://api.rivery.io/openapi.json", + }, + "secoda.co": { + type: "GET", + url: "https://api.secoda.co/api/schema/", + }, + "relysia.com": { + type: "GET", + url: "https://api.relysia.com/docs/json", + }, "realcube.com": { type: "GET", url: "https://api.realcube.com/api/v1/docs.json",